What Is It?
AspectSchema is a new open source project being hosted on SourceForge.net that
is being run by Kimanzi Mati.
AspectSchema is a C/C++ library that is intended to be cross-platform.
AspectSchema has the following functions:
| * |
To create UIs based on XML
Schema definitions.
The idea is to automate web forms generation (e.g. HTML and XForms) as well as
the accompanying client-side code (e.g. JavaScript). After the UIs are generated
the UI designer can modify them for presentation purposes without breaking the
dependent code that makes the UI and client-side work.
|
| * |
To create client-side code for the generated UI elements based on XML
Schema definitions and extra code.
The idea is to provide event handler code that gets executed on the UI elements
that represent the XML Schema entities. Whereas the XML Schema provides the definition
of the data, this code provides the behaviour. Hence, this is an Object-Oriented system.
However, because the behavioural code is associated with the XML Schema entities,
any change on them changes the behaviour of all the UI elements that are associated
with those elements. This is a simple system of Change Once, Effect Many Places and
is a key element of Aspect Oriented Programming-- hence the name AspectSchema
for this project.
|
| * |
To create server-side code for the generated UI elements based on XML
Schema definitions and extra code.
The idea is to generate web services code or web pages that perform
operations initiated by client requests. At the very least, this will
be boiler plate code that can be customized by server-side developers.
|
Dependencies
Operating System
The AspectSchema library will be written in C/C++ so that the source code should compile under a variety of compilers and operating systems. However, the initial OS targeted will be Win32.
APIThe AspectSchema APIs will be C/C++ APIs and also XML APIs that are accessible via HTTP. This will enable a wide variety of tools and systems to use AspectSchema programmatically to generate UIs and code. So this will make AspectSchema a valuable part of code generation in an XML context.
Benefits
| * |
Reduced UI/code development cost in time and money
Faster and easier generation of UIs that can then be customized by
web designers with none or little coding by programmers
|
| * |
Reduced UI/code maintenance cost in time and money
Changing the bindings for an XML Schema entity
automatically changes the UI, validation and other behaviour throughout all
applications. One change for many areas-- the benefits of Aspect Oriented Programming!
|
| * |
Improved code quality
Fewer errors in code and faster development cycles
|
| * |
Standardization of software component generation
A standard means of generating UIs and the client-side event code and the server-side
services has the effect of enabling users to re-use standard "best practices".
|
Updates to this Site
This project is at the conceptual phase so there is no source code yet for
publication. It will be forthcoming soon.
This site will be updated in the next few days with whatever code and documentation
artefacts exist for this project.