Internally, Tuscany uses a configuration model to represent the complete definition of an application that will be run. This model is loaded from various persistent artifacts (such as XML files, other configuration files, annotated Java classes, etc.) and used by the builders to create the actual runtime contexts that comprise the running application.

The configuration model is based on the SCA assembly model with additions for Tuscany-specific features and for each of the installed extensions. It should be stressed that although there is a natural similarity to the XML data model defined by the specification the configuration model is driven by the needs of the Tuscany implementation and its extensions.

The model can be described by the following UML:

The code for the core model is contained in the "model" module located at http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/model and all model object derive from the core AssemblyObject interface. We use interfaces to describe most model items and provide a factory that can be used to create instances; this is optional and it is possible (if not recommended) for extensions to add to the model using simple JavaBeans.

For a full description of the model please see the JavaDoc. Some common extension points in the model are:

Tuscany/TuscanyJava/Extending/ConfigurationModel (last edited 2009-09-20 22:47:17 by localhost)