Bij het bedrijf waar ik werk is ons 'core' team al enkele jaren bezig met 1 grote java web applicatie. Vanwege de grote van het geheel vroeg ik me af of het niet beter is om de applicatie op te delen in aparte sub projecten. Elk sub-project zou dan een .jar kunnen genereren die in de main applicatie als lib gebruikt wordt.
Sommige van die sub-projecten kunnen dan complete standalone dingen worden, zoals een eigen editor die we hebben. Deze hoeft (natuurlijk) nix van het hoofdproject te gebruiken. Het voordeel van deze in een apart project en .jar zetten is dat we hem eventueel zo kunnen re-usen in een project(je) dat we voor een klant doen.
Wat minder duidelijk wordt het als we grote stukken bussiness logica hebben, die logischer wijs een enkele 'unit' vormen, maar wel dependencies hebben op andere onderdelen van de applicatie. Deze staan nu in aparte packages. Ze zouden naar aparte projecten kunnen waardoor de code dan weer in aparte jars komt, maar kwa dependencies is er dan eigenlijk geen verschil met toen ze in aparte packages in het main project zaten.
Een voordeel van die laatste situatie zou kunnen zijn dat iemand die in 'unit' A werkt, iets minder snel geneigd zal zijn om iets in 'unit' B te gaan veranderen als dat betekent dat je helemaal een .jar overniew moet deployen. Hoewel dat in de praktijk niet meer dan een ant scriptje runnen is, zou er wellicht toch iets van een psychologische grens zijn.
Een heel ander probleem kom je tegen bij het opdelen van JSP pagina's. Deze kun je niet makkelijk in .JARs stoppen. Een oplossing zou zijn om deze ook via ant te deployen naar het main project.
Zijn er hier mensen die ervaring hebben met het opdelen van een grote web applicatie in kleinere stukken? Onder groot versta ik btw een slordige 400.000 regels (java + sql + jsp + xml files).
Sommige van die sub-projecten kunnen dan complete standalone dingen worden, zoals een eigen editor die we hebben. Deze hoeft (natuurlijk) nix van het hoofdproject te gebruiken. Het voordeel van deze in een apart project en .jar zetten is dat we hem eventueel zo kunnen re-usen in een project(je) dat we voor een klant doen.
Wat minder duidelijk wordt het als we grote stukken bussiness logica hebben, die logischer wijs een enkele 'unit' vormen, maar wel dependencies hebben op andere onderdelen van de applicatie. Deze staan nu in aparte packages. Ze zouden naar aparte projecten kunnen waardoor de code dan weer in aparte jars komt, maar kwa dependencies is er dan eigenlijk geen verschil met toen ze in aparte packages in het main project zaten.
Een voordeel van die laatste situatie zou kunnen zijn dat iemand die in 'unit' A werkt, iets minder snel geneigd zal zijn om iets in 'unit' B te gaan veranderen als dat betekent dat je helemaal een .jar overniew moet deployen. Hoewel dat in de praktijk niet meer dan een ant scriptje runnen is, zou er wellicht toch iets van een psychologische grens zijn.
Een heel ander probleem kom je tegen bij het opdelen van JSP pagina's. Deze kun je niet makkelijk in .JARs stoppen. Een oplossing zou zijn om deze ook via ant te deployen naar het main project.
Zijn er hier mensen die ervaring hebben met het opdelen van een grote web applicatie in kleinere stukken? Onder groot versta ik btw een slordige 400.000 regels (java + sql + jsp + xml files).
It's shocking to find how many people do not believe they can learn, and how many more believe learning to be difficult.