Frequently Asked Questions

This document attempts to answer some of the more frequently asked questions regarding various aspects of The Raccoon Framework. These questions are typically asked over and over again on the mailing lists, as a courtesy to the developers, we ask that you read this document before posting to the mailing lists.


  1. What is Raccoon?
  2. Why is this called Raccoon?
  3. Who can join in?
Building Raccoon
  1. How do I build Raccoon?
  2. How do I download the latest CVS tarball?
Raccoon and TIBCO Software related questions
  1. What is the Raccoon CDF (Common Data Format) model?
  2. Do all Raccoon modules use the CDF (Common Data Format) model?
  3. Is the Raccoon CDF model compatible with all TIBCO Products?


What is Raccoon?
The Raccoon Framework contains various utilities that are issued from field experience, basically this framework contains what we consider best practices for TIBCO Software and any EAI enabled project.
Currently this framework offers the following utilities:
Distributed Unit and Integration Testing Framework: commonly refered to as the the Raccoon UiTest suite. The Raccoon UiTest provides tool to enable distributed, non-regression testing of any EAI enabled solution. The current implementation handles testing of TIB products (TIB/Integration Manager, TIB/Business Works, TIB/Adapter for File, TIB/Adapter for MQSeries, ...).

However extending this suite to allow testing for any other MOM shouldn't be much of an issue as the Raccoon Framework has been designed to be highly flexible and MOM agnostic.
Bespoke Application Testing: enables developpers to test their custom applications. For example a Custom Task for TIB/Integration Manager.
Source Generators: this is the nexus between the various worlds. Currently, for example, Raccoon is capable of extracting a class definition from Rose and generating the following files: the java source (fully documented and nicely formatted), the TIB/Repository class definition, the Castor XML mapping file, the TIB/Adapter for File record definition.

Naturally, all these are bijective, so The Raccoon Framework is capable of generating a java source code from an TIB/Repository class definition.
Please see the Home page and Overview documents for more detail.
Who can join in?
Anyone that is working on an EAI project is most welcome to join us. Raccoon is a framework aimed at easing the life of people who work with messaging components. However you don't have to use an EAI solution to use Raccoon, there are people that are only interested in the Castor utility for example.
Currently if you're using JMS and are interested in writing jUnit extensions (unit testing and integration testing) you are most welcome to join us. Of course there are many projects and ideas on hand, people are welcome to express their ideas and to pitch in anytime.
Why is this called Raccoon?
At the time that i was looking for a name for this project, i was using extensively Castor XML for a few things ...

So the idea was to find a name that was close to Castor in nature and i thought that Raccoon would be a nice fit between Castor and Cactus (too many c's if you ask me ;o)).

Although some people think that the Raccoon is creature that is a nuisance, i kind of liked it. As Bruno BELLAMY drew me a nice mascot for the project, Raccoon become the official name and it was kept over time.

Who have worked previously with me on other projects, the Raccoon Framework was previously called the EAI Core Framework. Raccoon v1.0 is in fact the EAI Core Framework v2.0

Building Raccoon

How do I build Raccoon?
Raccoon uses Maven for its build system. So you should be able to build Raccoon just like any other Maven enabled project. Please see the Maven documentation for details.
How do I download the latest CVS tarball?
Every night the CVS repository is extracted and a tarball is generated. You can download the tarball that is automatically generated by clicking here

Raccoon and TIBCO Software related questions

What is the Raccoon CDF (Common Data Format) model?
The common data format is a generic definition of how an MTree, TibrvMsg or AEObject should be constructed, if you wish can see the CDF as a Raccoon DTD/XSD for MTree/TibrvMsg/AEObject messages and even XML files. Quite often the common data format is also refered to as the Network Data Model (NDM)
The reason for this is that in pure Rv mode there is no format definition of a message ... take a look at Message Broker 3 and Integration Manager, have them publish a sequence ... the sequences aren't compatible because they aren't generated the same way ...

However it is true that the use of the AE3.0 message format imposes a message format, but the Raccoon Framework takes it one step further: it imposes a format that allows bi-directionnal conversion of TibrvMsg instances into valid java bean instances.
Do all Raccoon modules use the CDF (Common Data Format) model?
Yes, it is the default data format employed by Raccoon modules that are TIB enabled, however this functionnality may be changed at will by reconfiguring Raccoon and implementing the BadhnAti interface.
Is the Raccoon CDF model compatible with all TIBCO Products?
If you're working in Rv mode and not in Ae mode the Raccoon CDF is compatible with Message Broker 3.x, it isn't compatible with Integration Manager v2.x. In majority, the components of Active Enterprise v3.x are compatible with Message Broker and not with Integration Manager v2.x in Rv mode. Integration Manager v3.x never existed, they jumped directly to IM v4.x
If you're working in Ae mode than the Raccoon CDF is compatible with all AE components that support the AE v3.0 & v5.0 message format definition. We've never tested support for AE v2.0 messages, but it should work though.
The Raccoon CDF in Ae mode is compatible with Active Enterprise v4.x and v5.x products, in Rv mode it depends on the adapter used.