3.6 futureDecide™ / ERDP Customization

futureDecide™ / ERDP architecture provides built-in support for extensive service-specific customization.  In the broad scheme of things, there are two basic approaches to serving up web content. One approach is to have a web server that serves up pre-coded html files from one or more directories. Those html files can be hand-coded, or generated by a web site creation tool like FrontPage. The second major approach is where the web pages are dynamically created on the fly by web server code. In this approach, the web-pages never really exist as pages or files: the html code is created on the fly and streamed to a browser.

futureDecide™ / ERDP technology is of the second type (as is every other major “industrial strength” web application such as are used in banking, travel bookings, online shopping, etc.) Virtually all interfaces and pageviews are dynamically generated in real-time.

A partial list of ingredients involved in that dynamic generation include:

  1. Java server page (jsp) files that are in effect “smart templates”, each of which represents a page view or interface
  2. Service Properties that define variables relevant to a particular service
  3. Content files in Xtensible Markup Language (xml) format that define data to be gathered for a particular service
  4. Report templates that are written in a scripting language known as “velocity”
  5. User-specific data saved to or loaded from the database

The reason for this complexity is that the server needs to be able to generate a pageview that looks one way to one client or user, looks completely different to another client or user, all from the same codebase.  To support this flexibility, the data architecture is carefully structured so that we know in advance not just how to get data into the database, but how to get it back out in a way that supports those outputs.

The need to support delivering different content from the same codebase to multiple users simultaneously introduces some customization constraints.  If the desired customization cannot be achieved from existing content file formats, we may be able to introduce new formats subject to the requirement to preserve backwards-compatibility with existing code, and to priorities and budget constraints.