Building a Big very Big Application

Posts   
 
    
tecnocrata avatar
tecnocrata
User
Posts: 9
Joined: 24-May-2007
# Posted on: 27-Feb-2008 21:17:23   

I have many questions that I need to solve. I am developing to a set of enterprise applications all they will be in Oracle in a single data base and will exist schemes that separate the related tables for example Human Resources, Accounting, etc. to each one of these schemes it will be brief them using To, B, C, D ..... Z, by questions of order in my code I need to separate what generates in different Namespaces thus: MyCorp.A, MyCorp.B, MyCorp.C,….MyCorp.Z, etc. This it is the scene and I need to know whis is the best one practices, because my data base will grow to 1500 tables approximately, later could become a problem to my person to maintain resemblance amount of elements. 1. Will be good to use different or multiple archives .lgp by each scheme? 2. Each different file will allow me to generate namespaces that I need but when I must communicate two tables or two related entities how do it? 3. I have thought about using WCF as a DALService layer, but this brings more questions to me… Which will be the best option to relate them, if I want to maintain organized my namespaces? I will have code of the following way:

MyCorp.A.ProductEntity p = DalService_A.GetProductByID (3); 
EntityCollection< MyCorp.C.Order> or = DalService_C.GetOrdersByProduct (p);   

this is correct? Is it a good practice? 4. The DALService layers must among them know themselves? Could I do this?

MyCorp.A.ProductEntity p = DALService_B.GetProducByID (4);   

Remember that I have the same ProductEntity organization but in differents Namespaces (different .lgp files) 5. How do yousuggest to me to create the structure of a so great project?

jmeckley
User
Posts: 403
Joined: 05-Jul-2006
# Posted on: 27-Feb-2008 21:44:41   

I know LLBL cannot create namespace subsets within a given project. Your idea would work where specific departments are contained within different namespaces. however the llbl projects will then have no knowledge of each other be default (generated code) any interation between namespaces/projects will have to be coded by your team using partial classes.

if you are going for a distributed envorinment then you will want to use the Adapter pattern. breaking up the namespaces you will need different adapters as well. so the HR namespace will have an HR adapter and the Production namespace will have a corrisponding Prodution adapter. this is be design of the code generator.

have you heard of (reviewed) nhibernate? this is an open source project which is another ORM tool. nhibernate requires more configuration than LLBL, and i believe works "backwards" (domain to db, not db to domain).

one final thought. use LLBL as your DAL only and roll your own domain model. obviously more work then using LLBL all the way through, but you get the power to LLBL to access data and the flexibility to model your domain however you see fit. this would still require all the llbl objects within one project.

Walaa avatar
Walaa
Support Team
Posts: 14983
Joined: 21-Aug-2005
# Posted on: 28-Feb-2008 09:40:54   
tecnocrata avatar
tecnocrata
User
Posts: 9
Joined: 24-May-2007
# Posted on: 29-Feb-2008 15:49:53   

Well ... then your suggestion is to have everything introduced in a single file .lgp, exists a way to separate by namespaces the generated archives?

Thanks

Walaa avatar
Walaa
Support Team
Posts: 14983
Joined: 21-Aug-2005
# Posted on: 29-Feb-2008 16:11:55   

Both opinions are valid, as Frans (Otis) sugeested to use different lgp files/projects and you can re-use the same entity in more than one project.