Fornax-Platform View a printable version of the current page. Export Page as PDF
  An overview
 
 Browse Space
General


Projects


Latest News
Latest News
(The 15 most recent blogposts in space Fornax-Platform.)


Global Reports
Find all pages that arent linked from anywhere.
Find all undefined pages.
Feed for new pages.
Added by Thorsten Kamann, last edited by Rainer Klute on May 19, 2009  (view change) show comment

Labels:

internals internals Delete
fornax fornax Delete
subversion subversion Delete
maven maven Delete
m2 m2 Delete
projectinfo projectinfo Delete
openarchitectureware openarchitectureware Delete
emf emf Delete
plugins plugins Delete
overview overview Delete
Enter labels to add to this page:
Wait Image 
Looking for a label? Just start typing.

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.

  1. 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.
  2. Cartridges
  3. 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.
  4. Transformers
    openArchitectureWare (oAW) offers a powerful transformer mechanism. This simplifies the development of powerful model2model transformers.
  5. 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.
  6. ...
    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.

Article Rating: 8.0 (1 voters)
2 3 4 5 6 7 8 9

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.

Posted by Anonymous at Jan 21, 2010 15:07 | Reply To This