Enterprise Components




Architectural Philosophy

The architecture has four primary tenets:

  1. Business Analysts define a model of the application.
  2. The application is compiled from the model. This translates the model into a runnable application.
  3. Form layout and design is flexible and automatic (via layout managers). This approach ensures a consistency of form layout across the entire application.
  4. The developed application runs in Standard architectural environments. This increases the applicability of the application, as well as minimising the learning curve.

Business Analysts model the application

Current development issues: In current approaches to application development, Business Analysts (BA's) talk with business people and interpret their requests into a requirements document that a programmer then changes into code. There are a number of issues with this process:

  • Speed of requirements extraction
  • Fully documenting the requirements
  • Speed of development from the requirements document
  • Accuracy of meeting the requirements document by the developer
  • Keeping the requirements in sync with the developed code

by shifting the focus of developers from creating applications to creating tools to easily create applications, in many instances the requirements that are created by the BA becomes the final application in a far more direct step.

Design tool: Requirements definition for common requests (forms, menus, reports or business rules) is done by BA's in an easy to use design tool. Once documented in the tool, the application is generated immediately, providing the business user with immediate feedback on their requests.


Business analysts define an application model
This model is then compiled into an applications

Developers are then focussed on:

  • Adding new control features such as
    • Tree controls, drag and drop controls
    • New menu styles
    • New features to the Cotsec toolset
  • Extending the architecture to cover new business requirements
  • Using the architecture to create new applications that the business can use (e.g. content management, CRM)

Code generation

The application model is compiled into a runnable application. This has a number of benefits including:

  • Compile time check of the model
  • The model can be compiled into multiple target environments
  • The compiled application will have no bugs if the tool has no bugs - exhaustive testing of all generated applications is not required - only of the tool

The model can be compiled into
different application environments

 

Form layout managers

Cotsec uses automated layout managers that use the model information about the form and underlying controls to create forms in the target environments. Within the web environment for example, Cotsec Forms creates user interface web pages that also include automatic Javascript validation, as well as "back end" server validation - a task that usually requires considerable coding effort.

Advantages:

  • Whole of site form style enforced
  • Site form style can be changed quickly
  • Lower application (website) maintenance
  • Form layout will be reasonable no matter what the target environment

Commonly used architectural components

Enterprises current use a range of application architectures such as Database Servers, Operating Systems and Application Servers.

All Cotsec components will compile Application Models into architectures that are in common use within Enterprise environments. Cotsec has been designed with the ability to rapidly re-target new application environments using existing Application Models.

Some example target environments include:

  • Java J2EE (EJB CMP 2.0)
  • Apache Struts
  • Two tier database-Swing application
  • Eclipse.org SWT (for the Eclipse framework)

Cotsec environments include the generation of performance analysis tools on a per-environment basis to provide metrics on an environment by environment basis.

New target environments can be easily defined within the Cotsec Model Compiler framework.