Solution options

The solution options are as follows:

  • The logical separation of the application into different tiers (client, presentation, business logic, integration and EIS tier) allows a system to be flexible and easily maintained. When there are any changes in presentation, it will be done at the presentation tier, and it will not affect the other tiers. If there are any business logic changes, only EJB component business logic get changed, and it will not affect other tiers, and vice versa.
  • MVC pattern leverages command patterns at the web tier (JSF backing bean classes) for handling web events. Therefore, when new functionalities are added to the system, it will not affect the existing system. We can easily create a new web action by developing a new backing bean class and configure it in a faces-config.xml file. Even modifying the existing functionality becomes easier by changing the respective backing bean classes.
  • Object orientation like encapsulation, inheritance, low coupling, and high cohesion are leveraged in application design. Any changes to subsystems will have less impact on systems which are using it as long the interfaces remain the same.
  • Independence of interface from implementation permits the substitution of different implementations for the same functionality.
  • Design applications consisting of layers or areas of concern that clearly demarcate the UI, business processes, and data access layers.
  • Design cross-layer dependencies by using abstractions instead of concrete classes, and minimize dependencies between tiers, layers, and components.
  • Define and establish a proper communication protocol, model, and format.
  • Design pluggable architecture that facilitate easy maintenance, and improves testing processes
  • Architect interfaces to provide plug-in architecture to maximize flexibility and extensibility.
  • Leverage built-in container and platform functions and features wherever possible instead of custom application.
  • Architecture to have high cohesion and low coupling in order to maximize flexibility and facilitate reusability.
  • Establish methodology to manage dynamic business processes and dynamic business rules, by using workflow engine for dynamic business processes.
  • Solution business components to implement the rules if only the business rule values tend to change; or implement an external source, such as a business rules engine, if the business decision rules tend to change.
  • Invest in automation suites for QA as the system are created and deployed. This will pay off as a QA of the system's functionality, and as documentation on what the various parts of the system do and how they work in collaboration.
  • Provide artifacts to explains the structure of the application. Proper documentation includes architecture diagrams, interfaces, class diagrams, sequence diagrams, and coding guidelines, are the key criterion for maintainable IT systems.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset