Java EE 8 Design Patterns and Best Practices
上QQ阅读APP看书,第一时间看更新

The benefits of the Business Delegate pattern

According to the old J2EE architecture, the benefits of a Business Delegate included:

  • Hiding the details of the underlying business service. In the case of remote services, using the Business Delegate makes naming and looking up services transparent to the presentation tier.
  • Handling business-service exceptions. The Business Delegate can catch service exceptions that have a technical meaning and translate them into a more friendly exception, generating application exception level to the client. For instance, Business Delegate could translate the eventual remote exceptions generated by a business service into a specific application exception.
  • A Business Delegate can transparently carry out a new retry of a failed service execution and hide the problem from the client.
  • In addition, a Business Delegate can cache references to remote business services in order to improve performance. Calling a remote service is a costly operation, and the repetition of remote service calls can greatly increase network traffic.

However, as new scenarios have arisen, things have evolved in the world of distributed application development. The JEE architecture has been changing in accordance with this. As modern mobile applications and web clients developed, new client applications, with rich JavaScript frameworks, have been emerging. As a consequence, the Business Delegate is seen as a bridge or door between the presentation tier (where technologies such as Servlet, JSP, and the JSF mechanism reside) and the business tier (where technologies such as EJB reside).