|
Architectural Philosophy
The architecture has four primary tenets:
- Business Analysts define a model
of the application.
- The application is compiled from
the model. This translates the model into a runnable
application.
- Form layout and design is flexible
and automatic (via layout managers). This approach
ensures a consistency of form layout across the entire
application.
- 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.
|