Platform
Architecture
The supporting infrastructure of the present invention shown in Figure 6 consists of hardware and software employed within a Hosting Service Provision Environment which includes a Firewall, SSL Accelerators, Load Balancers, Web servers and Database Servers.

The design of the Pengower Application Platform is based upon the model view controller pattern in which the display of the model data, the model itself and the processing of the model are all handled by separate areas of the model. The Application Platform provides the mechanism for action processing, database access, Memory Cache management, display processing, Meta Application Template import/export management, version control, general access, End User license management, End User authentication, End User session time-out management, error management, Meta Application Template selection, application instantiation and integration with Remote Machines through a Web-Services Application Programmatic Interface.
The process that describes how the application platform environment operates and interacts with the external environment is outlined below (Figure 7).

To access an Application via the browser, the End Users are provided with an Application and view-specific URL which takes them to the login page of the appropriate application and view. They are then required to input user name and password and these details are then matched against the stored user account information to check whether they are valid for this particular application and view.
If the End User details are valid the Application is loaded into Memory Cache and the Main Model Code provides the Display Processor with a Rendering Directive from the Meta Application Template that contains information it then uses to generate all the necessary interface controls in HTML and produce the required view of the Application for the End User.
All End User-driven Application actions that require communication with the server and are triggered by End User activity on the Browser are passed into the system, using Https encryption across the Internet. Together with an authentication string that includes the End User identification information, view identification information and the time of the last Action Request, the Action Request is passed to the Action Processor. The Action Processor contains all the abstracted platform action processors or classes, and the action request will instantiate the appropriate action class which will process the Action Request. In some cases the Action Processor will also request additional data from the Memory Cache or Database that is required before the action request can be completed.
As well as Action Requests being triggered by End User activity on the Browser, they can also be triggered by Remote Machines across the Internet via the Web Services API or by an Application view start action which is performed every time a specific view of that Application is started as defined in the Meta Application Template definition.
The Main Code contains the data access code and the logic layer classes which are an embodiment of the n-tier Application Architecture of this invention and which mirror the description of the Meta Application Design Tool. When the Action Request has been completed, the Main Code passes the output to the Display Processor in the form of a Rendering Directive, which tells the Display Processor how to display the output in the Browser. From time to time, in order to complete the rendering process the Display Processor may require additional information about what to display, and this is provided by the Main Code.

