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 Configuration Guide

MetaBoss Installation

Installation of the MetaBoss itself is quite simple:

  1. Download the latest binary archive, which is usually named like MetaBoss-MM.mm.bbbb.zip, where "MM" is a major version number, "mm" is a minor version number and "bbbb" is a build number.

  2. Extract all contents of the archive to any location you like. Given that Windows has a 255 character limitation on total length of file path and name, the recommended location on Windows is a root directory (e.g. C:\). The root directory in archive is also named MetaBoss-MM.mm.bbbb, where "MM" is a major version number, "mm" is a minor version number and "bbbb" is a build number. So, if you have extracted files properly, you should now see this directory. For example if you chosen C:\ location and have extracted files from MetaBoss-1.2.0234.zip, you should now be able to see c:\MetaBoss-1.2.0234 directory. All MetaBoss's files are stored in various subdirectories of this directory.

  3. Set up METABOSS_HOME environment variable and point it to the directory you have just extracted MetaBoss to (eg. c:\MetaBoss-1.2.0234 directory).

  4. Download and install Java 2 Platform Standard Edition (J2SE) Development Kit (in case if you do not have it already). The J2SE JDK is required for practically all MetaBoss related activities with the exception of reading the documentation. The J2SE JDK is available free of charge from http://java.sun.com. Please refer to Compatibility Notes for version information. MetaBoss includes a number of batch files and scripts where JAVA_HOME environment variable is required. All these files execute either METABOSS_HOME/bin/setenvironment.bat or METABOSS_HOME/bin/setenvironment.sh or METABOSS_HOME/examples/HatMaker/setenvironment.bat or METABOSS_HOME/examples/AlmaMater/setenvironment.bat. You will need to change the value of JAVA_HOME in these files to point at the exact location and version of the JDK you have installed.

  5. That's all !

Following third party products may need to be installed before you can use MetaBoss:

  • Java 2 Platform Enterprise Edition (J2EE) Development Kit.
    The J2EE JDK is required only for building systems targeting j2ee deployments. This includes building MetaBoss's own examples. It is not required for modelling work. The J2EE JDK is available free of charge from http://java.sun.com. Please refer to Compatibility Notes for version information. The file build.properties in METABOSS_HOME/examples/HatMaker directory contains sun_j2ee_lib property setting. It needs to be set to the exact location of the j2ee.jar which is a part of J2EE JDK

  • Apache Ant Build Tool.
    The Ant is required to for building systems and testing them. It is not required for modelling work. Ant is available free of charge from http://www.apache.org. Please refer to Compatibility Notes for version information. MetaBoss examples include a number of batch files and scripts where ANT_HOME, ANT_ARGS environment variables are required. All these files execute METABOSS_HOME/examples/AlmaMater/setenvironment.bat or METABOSS_HOME/examples/HatMaker/setenvironment.bat. You will need to change the value of ANT_HOME in there to point at the exact location and version of the Ant you have installed.

  • Oracle Database.
    The Oracle is one of the available database choices. The database is required for testing and running the systems. Some times matching JDBC driver is required during building of the systems (only in cases where code generator uses driver's non-standard proprietory features). Database is not required for modelling work. Oracle is available for development and evaluation purposes free of charge from http://www.oracle.com. Please refer to Compatibility Notes for version information. MetaBoss example includes a number of batch files, ant scripts and property files where Oracle JDBC driver and Oracle database connection information is defined. You will need to change all these files to point at the exact location and version of the JDBC driver and/or Oracle database server you have installed.

  • MySQL Database.
    The MySQL is one of the available database choices. The database is required for testing and running the systems. Some times matching JDBC driver is required during building of the systems (only in cases where code generator uses driver's non-standard proprietory features). Database is not required for modelling work. MySQL is available for non-commercial use free of charge from http://www.mysql.com. Please refer to Compatibility Notes for version information. MetaBoss example includes a number of batch files, ant scripts and property files where MySQL JDBC driver and MySQL database connection information is defined. You will need to change all these files to point at the exact location and version of the JDBC driver and/or MySQL database server you have installed.

  • JBoss J2EE Application Server.
    The J2EE Application Server is required only for deploying and testing J2EE deployments. This includes deploying MetaBoss's own example application. It is not required for modelling work. JBoss is available free of charge from http://www.jboss.com. Please refer to Compatibility Notes for version information. MetaBoss example includes a number of batch files, ant scripts and property files where JBoss client libraries and JBoss server connection information is defined. You will need to change all these files to point at the exact location and version of the JBoss server you have installed.

MetaBoss Configuration Basics

MetaBoss is configurred via a number of property files, located in the METABOSS_HOME/config directory. All files with extension .properties are loaded at the startup of any tool in the MetaBosss suite. These files are simple text files, which contain "key=value" entries. This format is a standard property file format in Java world. There is, however, something a little different about MetaBoss's property files. It is possible in MetaBoss property files to define value of one property as derived from values of any number of other properties.

Consider the property definition in the example fragment of property file below:

#
# Semicolumn separated path to look for the component implementations.
#
com.metaboss.naming.component.ComponentImplPath=${MetaBoss.Home}/plugins


When MetaBoss reads this property definition it "compiles" it. This means that it will attempt to resolve ${MetaBoss.Home} symbolic reference by looking up property named "MetaBoss.Home" and substituting ${MetaBoss.Home} with actual value of the property named "MetaBoss.Home".

The purpose of the particular property together with its possible values is normally documented in the comment directly above the property itself.

Note For Developers

If you are developing custom tool and would like this tool to have access to the MetaBoss configuration properties, you can use com.metaboss.util.MetaBossSpecificUtils class located in the MetaBossCore.jar. All you have to do is to call setupSystemProperties() method as early as possible in your main() routine. After this call all properties are available via Java standard System properties mechanism.

package mypackage;

import com.metaboss.util.MetaBossSpecificUtils;
/**
* This is the main class of the custom utility.
* It accesses MetaBoss configuration properties
*/
public class MyUtility
{
    public static void main( String [] args)
    {
        // Read metaboss installation specific properties as early as practical
        MetaBossSpecificUtils.setupSystemProperties();
        ...........................................
        ...........................................
        // Access property
        String lBuildDate = System.getProperty("com.metaboss.release.id.builddate","unknown");
        ...........................................
        ...........................................
    }
}