An overview of the Fornax-Platform
This document gives you a compact overview of the Fornax-Platform. There are many perceptions to see the Fornax-Platform in. Therefore this document is splitted into 3 parts. Every part describes one of the perception with some explanations.
About the Fornax-Platform
The Fornax-Platform is an open platform to develop components and tools related to the Model-Driven Software Development - MDSD in short. Based on the powerful openArchitectureWare generator framework we provide a large number of components.
The Fornax-Platform provides infrastructure and tools to enable the powerful development of such components. Additionally, a large community with much knowledge about MDSD and software engineering supports you if you have questions or problems related to this approach.
The Fornax-Platform is based on open source tools like Subversion, Maven, or Eclipse. All components will be released under a well-known open source license, commonly a license based on the Apache License, Version 2.
Components used by the Fornax-Platform

As you can see, the Fornax-Platform uses only well-known components which are used by many other open source projects, too.
- Subversion
Subversion (SVN) is our source control management (SCM) tool. All sources will be committed to this SCM to ensure the integrity of the projects. We decided to use Fisheyeas a web interface to this SCM. You can access our SVN repository at http://fisheye3.cenqua.com/browse/fornax.
- Eclipse
Eclipse is one of the best IDEs available. Since the availability of many plugins simplifies the development process we recommend this IDE as primary development tool.
- Maven2
We use Maven2 as the build management system. It is more powerful than Ant, because we splitted the projects into small units. Maven2 supports - out of the box - the management of dependent projects and it has a mature dependency-resolving mechanism.
- Confluence
To get the best collaboration within and between projects hosted at the Fornax-Platform, we decided to use a wiki as a collaboration platform. Confluence is successfully used by Codehaus to establish a wiki platform, so we chose that. Additionally to this, Atlassian (this wiki solution's software manufacturer) offers an open source license.
- JIRA
JIRA is a tracking tool to tracks issues, tasks and more. It is a powerful project management tool. It comes frome the same software manufacturer as Confluence and offers an open source license, too.
These components support us to setup a stable and rich development platform with many features.
Recommended development tools

There are some recommendations regarding the development tools you should use to get the most out of the Fornax-Platform. Please note that these are only recommendations - they are not a must.
- Eclipse
Since openArchitectureWare (oAW) provides powerful plugins for the Eclipse platform you can easily work with this generator framework. Additionally, Eclipse has powerful plugins for Subversion, Maven, and JIRA.
- Maven2
To reduce the amount of configuration and knowlegedge about the build process we decided to enable Maven for the build process. With the parent POM feature (commonly used configuration can be stored in a centralized file) we successfully reduced the amout of configuration per project.
Additionally to this we have developed some plugins to use the Confluence wiki as a place for automatically generated reports like team, SCM, issues and depenedency graphs.
- openArchitectureWare (oAW)
openArchitectureWare is the most powerful generator framework available. Supporting multiple metamodels (JavaBeans, EMF, UML 1, UML 2, ...) you are free to decide what you want to do. A well-done support for development with Eclipse simplifies working with oAW.
- Mylar
Here is a quote from the Mylar project page:
Mylar is a task-focused UI for Eclipse that reduces information overload and makes multi-tasking easy. It does this by making tasks a first class part of Eclipse, and integrating rich and offline editing for repositories such as Bugzilla, Trac, and JIRA. Once your tasks are integrated, Mylar monitors your work activity to identify information relevant to the task-at-hand, and uses this task context to focus the Eclipse UI on the interesting information, hide the uninteresting, and automatically find what's related. This puts the information you need to get work done at your fingertips and improves productivity by reducing searching, scrolling, and navigation. By making task context explicit Mylar also facilitates multitasking, planning, reusing past efforts, and sharing expertise.
With Mylar you can track the resolving of an issue. You can record all changes you do to resolve the issue and commit all changes to the Subversion repository. Adding the issue number to the commit message enables JIRA to show all commits done for this issue. Each commit is linked to our Subversion web interface (see http://www.fornax-platform.org/tracker/browse/CJB-5?page=com.atlassian.jira.plugin.ext.subversion:subversion-commits-tabpanel).
Structure of the current projects hosted by the Fornax-Platform

The Fornax-Platform has a well-defined project structure. This structure groups projects with similar backgrounds or targets into folders. So each user can find the projects and associated information easily.
- Fornax-Internals
The Fornax-Internals groups projects needed for internal purposes. "Internal" means that these tools are used for administration and the build process. Generally the use of these tools is transparent for the projects.
- Cartridges
- Cartriges provides templates, extensions, code and more to solve a special problem. Often support for a specific framework will be provided (e.g. Spring, Hibernate, or EJB3). But functional problems can be solved with a cartridge. This group is usually the one containing the most projects, because there are so many use cases and it offers the most benefits for development.
- Transformers
openArchitectureWare (oAW) offers a powerful transformer mechanism. This simplifies the development of powerful model2model transformers.
- Toolsupport
Here are projects that offer support for special tools and frameworks. As of now there is a Maven2 plugin for the openArchitectureWare generator framework to seamlessly integrate the code generation phase into the build process.
- ...
We are open for new projects. If you are interested, please contact us.
Conclusion
This document lighted the Fornax-Platform from three different perceptions. Hopefully it answered some questions. If you have further questions, please feel free to contact us.
Yesterday I finally came to downloading the release jars on torrent search engine http://www.picktorrent.com. Not completely approved yet, dependencies in the projects are too high at the moment to get all required artifacts together. I will work on an aggregator pom soon and finally publish updated examples here.