lundi 12 septembre 2016

SOA How many Tiers/Layers a project must/should have

I know may be 100s of time this question has been asked in different fourm but still i am don't know the correct answer. May be it has no correct answer but still i would like to ask again "How many layers should a SOA Project should have?"

I think 3 Layer Architecture is good start. Servicelayer-->Businesslayer-->Datalayer

Servicelayer

Service Contracts DLL --> Service Implementation DLL --> Service IIS Host *.svc Dll

Business Layer

Business managers implementation dll -> Manager Interfaces dll

DataLayer

Repositorys Implementation -> Repository Interfaces

i think two implementation strategies here

A

In this solution Business is central element which know Service contracts and Data layer and process business requirements on Repository responses (which are DB Entities) and send Service Contract back to service ? is this correct?

B

Business should have own Business Objects which it return to Service layer where service layer map business object to service contracts. Is this correct?

In both cases Service know Business, Business know Service and Data.

What is the correct way of implementation ? Why do we need Business and Data layer Interfaces DLL's if we dont want to use DI in each layer and don't want to expose any of these dll to out world? Service will be exposed through WSDL.

I want a most agile solution with least maintenance burden. I think each DLL layer bring more complexity, dependency and maintenance burden with it.

I will thankful for your best practice experiences.

Thanks in advance sezanawa

Aucun commentaire:

Enregistrer un commentaire