MetaBoss Beginner's Guide
Release directory contents
Overview
The directory we are describing here is created during the build and
located at ${metaboss_home}/examples/AlmaMater/Release path. It contains all components of the release
and can simply be archived and delivered to consumers. The structure of the Release directory
is shown below:
We will now describe all subdirectories one-by-one.
dbscripts/mysql
This subdirectory contains database scripts used for maintenance of the database where
courses information is stored. MetaBoss generates two scripts: 'create all' and 'delete all' for each
domain realised at the particular type of the database. Because we have only one domain in our example ('Courses') and we have
only specified one type of database ('mysql') we only have the mysql subdirectory and it only has two files
in it: DBScript_AlmaMater_CRS_Courses_CreateFromScratch.sql
and DBScript_AlmaMater_CRS_Courses_DeleteAll.sql
docs/javadoc
This subdirectory contains standard HTML based Java API documentation generated
with javadoc tool (javadoc is part of JDK) over the source files generated by MetaBoss.
File index.html is the entry into this documentation pack.
The Generated Source Description chapter in this guide provides in-depth description of the generated code.
docs/metadoc
This subdirectory contains HTML based application model documentation generated
with MetaBoss generator. It provides navigable application model reference and is quite useful for reviewing the models
or sharing design information. File index.html is the entry into this documentation pack.
The Using MetaBoss Design Studio to model the system or
Using Poseidon for UML to model the system
chapters in this guide provide in-depth description of this example's application model.
docs/xmi/metaboss
This subdirectory contains the model in XMI:MetaBoss format (That means that
it is XMI file which uses MetaBoss metamodel).
File Model.xml is the model file.
You can use MetaBoss Design Studio to read this model.
docs/xmi/uml
This subdirectory contains the model in XMI:UML format (That means that
it is XMI file which uses UML metamodel). This is the industry standard format and one can use large variety of UML modelling tools to read this model.
File AlmaMater.xmi is the model file.
You can use Poseidon 2.2.1CE to read this model.
lib
This subdirectory contains java archives used to run server and client parts of the system:
- BSAlmaMaterCRS.jar is the business services interface module which contains the "outermost" layer of the
system - the interfaces to the Business Services. This is the only module the client software needs to compile with.
- BSAlmaMaterCRSImpl.jar is the business services implementation module. It is is used on the server side of the Business Services.
- BOAlmaMaterCRSImpl.jar is the domain business objects implementation module. It is is used on the server side of the Business Services.
maintenance
This subdirectory contains test scripts, which are used to perform predictable maintenance tasks
such as populating systems with data or cleaning up system's database. The scripts are generated by MetaBoss generator
for each domain in the model. Later on in this guide we will see how these scripts are used during testing.
The scripts are generated into the three subdirectories:
- populateall
this directory contains data population scripts.
There is a separate script file (simple
text file in XML format) for every entity and every many-to-many association from every domain in the model.
The script files are specially named to ensure that they are executed by the MetaBoss test engine in certain order
(the test engine sorts files by name in the ascending alphabetic order and than executes them in that order).
This is important in cases where entities have composite association between them and owner entity must
be created before the children.
- datatemplates
this directory contains an example of the datafiles which should be
prepared before running populate scripts. The populate scripts described above do not contain embedded entity data - they
contain external data file inclusion statements instead. This approach clearly separates the data with the scripts
and allows to have different datasets for various testing purposes. The files in this subdirectory are empty templates (ie. they
show the XML structure of the data file but do not have the data). The user is expected to copy template files from this
directory into some other directory and fill them with the actual data.
- deleteall
this directory contains data cleaning scripts.
There is a separate script file (simple
text file in XML format) for every entity from every domain in the model.
The script files are specially named to ensure that they are executed by the MetaBoss test engine in certain order
(the test engine sorts files by name in the ascending alphabetic order and than executes them in that order).
As opposed to the data population scripts, the certain order is not really necessary when deleting data
(eg. all child entities will be deleted automatically when the owner entity is deleted). However
it is still nice to have a predictable rather than chaotic order of execution, so the scripts are named in a way
opposite to the populate scripts. This means that the entity which is created last in the populate process will be
deleted first in the deletion process.
|