At my company, we develop off-the-shelf web applications. Although our applications work as they are - in many cases, often we get complex setup requests. We have a problem trying to do this in a structured way. Individual functions should not depend on the settings. We are currently browsing Spring Web Flow, and it looks like it can handle some of what we need.
For example, we have online shopping, and we have a request from a client, which at the time of checking the order of the shopping basket must be recorded in the proprietary registration system. With SWF, you can inherit our common validation flow using ClientX Checkout Flow and extend it with the states necessary to execute a custom log entry. This script seems to be handling well. This means that we can keep our overall validation flow as it is and extend it with custom functions in accordance with the Open / Closed principle. Our team can add functionality to the Generic Checkout Flow in time, and this can be distributed by the client without changing the extension. However, sometimes customers request that our pages be customized. For example,In our online shopping application, a customer requests a function with several currencies. In this case, you need to change the view, as well as the stream (controller). Is there a technology that would allow me to expand the general view and not change it? So far, only two solutions with most boilerplate views (JSP, Struts, Velocity, etc.) seem to have been
- to have a specific presentation version for each client. This obviously leads to an explosion of adoption
- to make the application customizable depending on the parameter (if then several codes are used), which leads to a code explosion - a number of configuration conditions that must be checked on each page
What would be the best solution in this case? There are probably some other tuning cases that I cannot remember. Maybe there is a component-based technology that would allow me to extend a certain basic look, and that makes sense. What are typical solutions to the problem of custom web applications?
source
share