Why Multi-Tier Architecture?
With the maturing of programming models and the need for absolute AGILITY in the business environment, it has become of paramount importance to separate the database layer (Model), the User Interface/User Experience (View) and business unique logic (Controller), to facilitate very rapid response to maintenance requests.
In old style heritage applications, all three these elements were present in large, monolithic programs, which made maintenance quite complex, slow and error prone. This approach also caused business unique functionality, which very often provided competitive advantage, to be “lost” in the code, due the sheer size of these programs. These programs, although providing tremendous functionality, have become extremely difficult to maintain.
Another fundamental consideration is that single instances of discrete functionality should be available for re-use. In heritage applications a lot of duplication of core business rules occurred (for example, VAT calculations, handling fee calculations, etc.), simply due to constraints in early programming models. Identifying all these occurrences and maintaining them cohesively is extremely time consuming and error prone.
Separating the database functions, leveraging latest database technology (data validations, constraints, triggers), from delivery channels (UI/UX) and encapsulating business unique rules delivers a highly AGILE application, whilst unleashing the “hidden” value of the investment in heritage systems.
As a result of this separation and encapsulation process, IT development teams can become dramatically more responsive to business changes, supporting their business in becoming more AGILE and competitive.
Open Access (OA) – The Future
It is very important to understand that with the AO technology and Roadmap we believe that two initiatives hold incredible promise for the platform: ROA (Rational Open Access for RPG) and the OA Metadata Open Standard.
By enriching the underlying Metadata, attributes such as standard icons, behaviour, URL’s, fonts, colours, etc. can be gradually added to the Metadata and gradually populated throughout the database and be dynamically used to improve the UI/UX, including reporting, etc. Again this provides for dramatic improvement in productivity, facilitating a much more AGILE delivery platform.
The AO Product and Roadmap facilitates the leveraging of the Open Access philosophy.
- Migrate ISAM data to SQL engine, one file, one library, one database or one system at a time (we have DELIBERATELY followed this approach to allow installations to become familiar and confident with the process). No LVLID changes!!!
- Phase 1 above continuously focuses to provide a gradual, non-disruptive process. AO Foundation handles the data duplication dynamically below the covers and facilitates running parallel databases concurrently, mirroring DDS to DDL and DDL to DDS to each other. That means that both the ISAM and SQL constructs are in sync all the time.
- AOF then generates a single (or multiple) data dictionary, which facilitates the GRADUAL clean-up of the metadata and resulting tables and also facilitating the enrichment of the new sanitised metadata ala OA Metadata Open Standard and exposing that gradually into the production database.
- AOF exposes long file and field names with minimum fuss as aliases, which immediately changes the perception of the database to the outside world, as it now LOOKS modern to non-technical users who could not relate to our short file and field names. It is amazing how something so small can change perceptions so dramatically.
- The gradual consolidation and sanitising of the database will continue as long as users feel there is additional ROI to be gained.
- The AO product provides standard IO Server and Trigger generators out of the box, which allows customers to GRADUALLY change their access methods.
- A separate, parallel project is then launched, to gradually modernise those application functions that generate the bulk of the transactions, removing database relationship code and dropping those relationships into the DB2 engine. The same process is repeated with validation code. This reduces the actual code that needs to be maintained by about 80%, depending on coding standards and techniques.
- AO gradually facilitates the full implementation of true multi-tier architecture.
- AO facilitates the true recovery of those business rules that can be best described as “competitive advantage”, allowing these discrete business rules to become re-usable components.
- AOF facilitates the implementation of leveraging ROA on all UI/UX interfaces, providing multi-channel (any delivery channel) delivery to all re-constructed applications.