MetaBoss
User Guides
Synopsis
Beginner's Guide
Configuration Guide
Design Studio Guide
Programming Model Guide
Testing Framework Guide
'How To ...' Guides
References
Synopsis
Design Model Reference
Design Model UML Profile
Test Schema Reference
MetaBoss design library
Run-time libraries API
Dev-time libraries API
HatMaker Example
Synopsis
Enterprise Model Description
Enterprise Model Reference
SystemTest Example
WebServices Example
Miscellaneous
About MetaBoss
Quality Assurance
Compatibility Notes
Acknowledgments
Glossary
Change Log
Version 1.4.0001
Built on 15 Dec 2005 22:31:47

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:

Release directory tree structure after sucessful build.

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.