Note that there are some explanatory texts on larger screens.

plurals
  1. POGenerally on Large J2EE web application, clearly separate application by modules. Possible use of business delegate pattern
    text
    copied!<p>Before I ask my "general" question, I wanted to present some quotes to my high-level general understanding of the business delegate pattern:</p> <p>"You want to hide clients from the complexity of remote communication with business service components."</p> <p>"You want to access the business-tier components from your presentation-tier components and clients, such as devices, web services, and rich clients."</p> <p>Lets say you have large J2EE web application. When I mean large, I mean that the application has been developed for several years and by many different people and departments. The system wasn't designed well for growth. Right now, lets say the application is configured with one web application.</p> <p>It would have been great if the application were more modular. But it isn't. One piece of code or library can bring down the entire system. Testing and other means are used to prevent this, but ideally this is just one monolithic web application.</p> <p>Here is my question; how do you normally avoid this type of design with J2EE apps, where the application grows and grows and one separate application can bring down everything.</p> <p>I am not familiar EJBs and don't plan on using them for anything too serious. But, the concept of the Business Delegate and Service Locator Pattern seems like a good fit.</p> <p>Lets say you have a shopping cart screen (same web app) and a set of screens for managing a user account (same web app). In your web-tier (some kind of MVC action method), it seems you could have a Locator that will get the business specific interface, invoke those interfaces per module and if something goes wrong with that module then it doesn't kill other code. Lets say the shopping cart module fails (for whatever reason), the user account screen still works.</p> <hr>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload