java - Generally on Large J2EE web application, clearly separate application by modules. Possible use of business delegate pattern -
Before asking "general" questions, I want to present some excerpts in my high level general understanding of the business representative. Pattern:
"You want to hide customers with the complexity of remote communication with business service components Are. "
"You want to use business-level components from your presentation-level components and clients, such as Devices, Web Services, and Rich Clients."
Let's say that You have a large JBEE web application when I mean bigger, I mean this application has been developed for many years and by many different people and departments. This system was not well prepared for development. Right now, the application is configured with a web application.
It would be better if the application was more modular but it is not a code or a piece of library can bring the whole system down and tested and used in other ways to prevent it, but ideally This is just a monolithic web application.
Here's my question; How do you avoid this kind of design in general J2EE app, where the application grows and grows and a separate app can bring everything down.
I am not familiar with EJB and do not plan to use them for anything very serious. But, the concept of business daylit and service locator pattern looks like a good fit.
Let's say that you have a set of screens (same web app) to manage shopping cart screens (the same web app) and user account. In your web-level (some type of MVC methodology), it seems that you can get a business-specific interface near a locator, every module invokes those interfaces and if something goes wrong in that module It does not kill the other code. Let's say that the shopping cart module (for whatever reason) fails, the user account screen still works.
In a healthy software development environment, the application "grows and grows" because business people change And ask for new features and usually there is nothing wrong in it.
Forget about scalability problem and focus, in the problem of design, leads to a very painful maintenance.
What you need to do is different in your application module that makes business people (and users) understandable that every module of your system should have a clear business that reflects the application domain is.