A quick poll... how are people organising their apps?
An app im building at the moment:
1) SQL Backend with SPs.
2) COM+ Data Access Objects that make use of the MS Data Access Application Block thingy to call the SPs, and return custom Business Entities that internally contain scalar values, or a strongly typed dataset (depending on the type of data the application handles is instance or set based), which is passed between layers. If required, these can serialise to XML / SOAP.
Authorisation checking is performed in this layer - e.g. you can never get to data without being authorised and if neccessary that can be done close to a security database.
3) One or more COM+ Business Logic Objects that call the DAO's and handle transactions.
4) A facade that handles authentication as required and then calls the relevant BLO.
And then slap on a webservice, webforms or winforms client GUI.
Any better ways of organising this? The downside of the above is the custom business entities have to be given a strong name and installed in the GAC on the Data Access, Business Object and Client tiers.
An app im building at the moment:
1) SQL Backend with SPs.
2) COM+ Data Access Objects that make use of the MS Data Access Application Block thingy to call the SPs, and return custom Business Entities that internally contain scalar values, or a strongly typed dataset (depending on the type of data the application handles is instance or set based), which is passed between layers. If required, these can serialise to XML / SOAP.
Authorisation checking is performed in this layer - e.g. you can never get to data without being authorised and if neccessary that can be done close to a security database.
3) One or more COM+ Business Logic Objects that call the DAO's and handle transactions.
4) A facade that handles authentication as required and then calls the relevant BLO.
And then slap on a webservice, webforms or winforms client GUI.
Any better ways of organising this? The downside of the above is the custom business entities have to be given a strong name and installed in the GAC on the Data Access, Business Object and Client tiers.
Comment