Elmer Carías

Hi,
I¡¯m Elmer Carias a software architect in an goverment in El Salvador, Central America, we are developing distribuited applications modeling with UML and contruction with ASP .Net, we use Visual Studio 2003,
If you can help me, i have a problem with how configure the calls between various assemblies,
We are developing three applications, for each application we use a solutions & projects like that:
Application Z (Its a application for common tables that we have an applications running in another language(VFoxPro 3.0, Power Builder)
Solution Generic
-Bussiness Entity Layer Project Z(Its an Assembly created with a VB Class Library Project, here i create classes for each entity and classes for entity¡¯s collections; this assembly is used for all applications, y put thath in the GAC for shared this classes)
-Data Access Layer Project Z(Its an Assembly created with a VB Class Library Project)
-Bussiness Layer Project Z(Its an Assembly created with a VB Class Library Project)
Application A
Solution A
-Data Access Layer Project A(Its an Assembly created with a VB Class Library Project)
-Bussiness Layer Project A(Its an Assembly created with a VB Class Library Project)
-User Interface Processing Project A(Its an Assembly created with a VB Class Library Project)
-Web User Controls Project A(Its an Assembly created with a VB Class Library Project with Web Custom Controls to reuse in another applications, like DropDownLists by table in our database, etc)
-Presentation Layer Project A(Its a VB Web Project)
-Service Facade Layer Project A(Its a VB Web Service Project)
Application B
Solution B
-Data Access Layer Project B(Its an Assembly created with a VB Class Library Project)
-Bussiness Layer Project B(Its an Assembly created with a VB Class Library Project)
-User Interface Processing Project B(Its an Assembly created with a VB Class Library Project)
-Web User Controls Project B(Its an Assembly created with a VB Class Library Project with Web Custom Controls to reuse in another applications, like DropDownLists by table in our database, etc)
-Presentation Layer Project B(Its a VB Web Project)
-Service Facade Layer Project B(Its a VB Web Service Project)
In all projects the projects Reference EL "Z"(Bussiness Entity Layer) for use that classes for communications between layers.
In the construction phase at the Application B we have need to use an Entity that the data is putted in PowerBuilder Application then we make a method in DAL "Z" and a method in BL "Z" to encapsulate the database access and add a reference to DLL in BL "B" Project, declare an instance for Bussiness Class of BL "Z" and use the method.
In another Bussiness Class for the Application A, we need update an status of a registry of entity that is in the scope for Application "B" and add reference to BL "B" DLL
But in another Bussiness Class for the Application "B" , i need to use a Method for a Bussiness Class in the Application "A" ........ WOW ..... in this moment if i add a reference o make an cross reference and its not easy to mantain.
We try adding one Web Service Facade for each application to not make cross reference between Assemblies, but the time processing are increased,
What is the better option for make that i read about Master Data Management, but i can¡¯t found any Code Example about that, if you can help me,
Thanks and regards
Elmer Carias
FISDL(Fondo de Inversion Social para el Desarrollo Local) de El Salvador
Tel: (503) 2244-1297
Cel: (503) 7207-5871



Re: Architecture General N-tiers and common Bussiness entities ---- cross reference between assemblies

Doga Oztuzun

maybe Martin Fowler's seperated interface pattern can help you.. check it.

regards