|
Cotsec Introduction
Introduction
Cotsec is an application
generation framework. The Cotsec framework
can currently generate:
- Data editing forms for databases, XML files and
properties files
- J2EE Struts JSPs bound to Enterprise Javabeans
(database editor)
- J2EE Swing applications bound to Enterprise
Javabeans (database editor)
- .NET ASPX (ASP) pages in C# bound to database
web services
- .NET Windows Forms pages in C# bound to database
web services
- Eclipse SWT editors
- Enterprise Javabeans (EJB 2.0 CMP beans)
- Website menus
- J2EE packages such as EARs, WARs, EJB-Jars and CARs
- .NET bindings to the .NET framework servers
It includes tools that are essential to an application
generator including:
- A templating framework that provides
- "no code" generator definitions
(new generators can be constructed without requiring
code to be written)
- Simple textual editing of code templates
- Template inheritance
- Template fragment handling
- Context loader framework that allows programmatic
extensibility of the framework
- Language abstractions (mappings from standardised
types to language types such as Java or SQL)
- A metadata framework that abstracts key information
from the application (attribute names, descriptions,
user interface control types, etc)
- Tight integration with the Eclipse editor framework,
including metadata editors and editors of key properties
for an application
- Create Cotsec metadata from SQL databases, Java
properties files or existing Javabeans
The "Hello
world" introductory application introduces
many of the concepts behind Cotsec
Cotsec applications are
typically generated by:
- Defining a datamodel within a database using a database
modelling tool (or attaching to an existing database)
- Other data sources include:
- Javabeans
- Java properties files
- XML files
- Creating a metadata model from the database
- Generating an application from the metadata

Extract metadata model from
database, properties or Javabean
This abstraction of the source of the metadata allows
a common editor framework for many different types of
data.
The metadata consists of information that is core to
any application:
- Names of attributes (database columns,
object properties, etc)
- Types of these attributes (string, integer,
date, etc)
- Descriptions of these attributes (short
descriptions, long descriptions, tooltips, etc)
- Preferred user interface representations
(text box, combo box, tree control, etc)
Note that all of the metadata information above is
language agnostic. Much of the information can be re-used
for forms, menus and reports.
|