MetaBoss Programming Model Guide.
Introduction.
What is MetaBoss Programming Model ?
MetaBoss contains a number of code generators, which are used to produce
a set of SQL scripts, Java code and other source files based on the Design Model.
All these generators producing code adhering to a certain set of programming principles and coding patterns.
We refer to combination of these programming principles and coding patterns as MetaBoss Programming Model.
There are, of course, other programming models around. J2EE, CORBA, .NET and other technologies
are all recommending and some times enforcing certain coding patterns. MetaBoss Programming Model, while
building on good aspects of other models, has some unique and interesting features of its own. This guide
will take you through the model in detail.
Major design goals behind MetaBoss Programming Model.
MetaBoss Programming Model is pursuing following goals:
- To create understandable, well documented code, which is easy to follow. Give special attention to
"plug in" points - the places where handcoded parts of the system are connecting to the generated code.
- Have a clear boundary between generated and handcoded parts of the system, so repeatable
generation does not affect handcoded parts, and modifications to handcoded parts do not require
repeat of generation.
- Organise "plug in" points in a way that minimises necessity to change handcoded parts of code
following changes to Design Model.
- Make it possible to change technology, say from CORBA to J2EE, without modifying any handcoded parts of the system.
This is achieved by completely hiding or, at the very least, abstracting out technology related parts of the
system (e.g. Database access, Distribution, Transaction management etc.).
Normally the internals of the generated code are very seldom looked at (for as long as it works!).
But with MetaBoss it takes two - human programmer and code generator - to produce a working system and this is why
it is important that generator produces code, which human can easily read, understand and attach his/her work to.
|
Copyright © 2000-2005 Softaris Pty.Ltd. All Rights Reserved. MetaBoss is the registered trademark of Softaris Pty.Ltd. Java, Enterprise JavaBeans, JDBC, JNDI, JTA, JTS, JCA and other Java related APIs are trademarks or registered trademarks of Sun Microsystems, Inc. MDA, UML, MOF, CORBA and IIOP are trademarks or registered trademarks of the Object Management Group. Microsoft, .NET and C# are trademarks or registered trademarks of the Microsoft Corporation. All other product names mentioned herein are trademarks of their respective owners.
|