views:

52

answers:

1

We are working on a project that comprises of several windows services, data access layer component and a web site for user interface. The project also comprises of a web server (which will also run as a service and host the website).

Now the goal is to integrate all the components and services together such that the components are able to interact with each other and have a single instance of (some) components (like the DAL as it is used by all the services).

The technology that we are using is .NET 3.5 (c#).

Any suggestions for a suitable architecture for the project which would be easy to incorporate and suffice all the requirements.

A: 

Take a look at this post I gave yesterday. In such a layered architecture you could reuse the businesslogic and DAL dlls for your web app as well as for your web service.

The only difference is what you plug on top of that architecture. The advantage: Your business logic (since it resides in a separate layer) will be exactly the same in the case of your web service and web app.

http://stackoverflow.com/questions/2187497/where-to-put-restrictions-on-entities-when-separating-business-layer-from-data-la/2187535#2187535

Juri
Your post suggests the same architecture as we are planning to use. However, we thought that since our service layers and DAL are already created and no interfaces are defined it would mean a lot of work. Moreover, the presentation layer is tightly coupled to the presentation layer (wrong at our part), hence defining new interfaces and decoupling is a little difficult. Probably, we will go with the same architecture using a DI (planning to use Ninject)
Gaurav