Introduction

The Raccoon Framework is a framework that has been built above and around the EAI Solution chosen for the projects that I have worked with, i.e. TIBCO Active Enterprise.

This framework is a tool that has been built and designed in accordance with the methodology that we used on our EAI projects. The Raccoon Framework is therefore a tool to enforce and assist projects in the application of this methodology.

This framework brings the features briefly summarized hereafter.

NDM Generator and Mappings

Within the context of the EAI methodology that we apply, during the detailed conception, architects usually come out with Network Data Models. I prefer the french word, format pivot, as it is more explicit.

The network data model is the representation of a business object for the company or project. During the detailed conception steps these business objects are specified in the modeling tool that the project is using. For example the business object can be conceived within a UML tool like Rational Rose or TogetherJ.

This model then has to be downcast into the data models of the software that is being used. These representations can be:

Tool Representation Raccoon Module Raccoon Package
Rational Rose XMI Data Model Raccoon XMI Generator raccoon.core.tools.generator.xmi
Castor XML Castor XML Mapping file Raccoon Castor Generator raccoon.core.tools.generator.castor
Java Java Beans (getters/setters/adders) Raccoon Java Source Generator raccoon.core.tools.generator.java
TIBCO Metadata Active Enterprise Schema Raccoon Repository Generator raccoon.tibco.tools.generator.repository
TIB/Adapter for File (TAF) TAF Configuration Raccoon TAF Generator raccoon.tibco.tools.generator.taf

Now these various physical models all relate to the same conceptual model: the Business Object (BO). In order to guarantee consistency between these models the Raccoon Framework provides Source Generators.

Source Generators

A source generator is a component that takes a given representation of a business object and generates the destination model definition. Most of the source generators have been built per request and are listed in the preceding table. For example: the Repository Generator will take any kind of input (Java Bean for example) and will generate the corresponding AE Schema in the TIB/Repository. The reverse operation is also possible.

These are, but not limited to:

  • Meta Data Parser : given a meta data source (Rational Rose UML Class diagram, Castor XML Mapping File, ...) this tool generates the other elements (java source code, AE Schema, TIB/Adapter for File records, Castor XML Mapping file, ...).
  • Mapper Parser : given a meta mapper source (Excel mapping file, XML mapping file, TIB/Mapper export, ...) this tool generates the associated report (TIB/Mapper definition within TIB/Integration Manager, HTML report file containing the definitions of all mappings undertaken, ...)

Report Generators

A report generator is a tool that does a code review and provides an extensive list of any potential issues that may be encountered.

Currently the report generators that have been implemented in the Raccoon Framework are:

  • Integration Manager Mapper Analyzer Analyzes any TIB/IM Mappers and generates a synthetic HTML report for impact analysis.
  • BW Analyzer Given a TIBCO Business Works Designer project, this tool does a complete code review of the Process Definitions and generates either an XML report or a PDF document.

Development Framework

Historically speaking, this is the first component that designed and developped and currently quite widespread (at least in Paris anyway). People like Francesco CROCIANI, Samuel TEXEIRA, initially participated during the construction of this element.

Standard Transport API

Offers a uniform API to the java developers, allowing them to build a custom application that can run as an independent TIB/Adapter SDK application or a Custom Task within TIB/Integration Manager just by configuring the appropriate Raccoon configuration file.

Standard Logging

With respect to the proliferation of logging tools and their associated files, Raccoon offers a single standard API to allow application logging. This Logging service will, depending on the configuration, send the application logs to:

  • TIB/Integration Manager trace utility if the component is running in IM.
  • TIB/Adapter SDK trace utility if the component is running as a standalone bespoke application.
  • Log4j/JDK 1.4 log files if the application is running in another environment. In order to centralize the logs produced Raccoon has an appender for Log4j and for the JDK 1.4 logger that will send the logs over TIB/Rendezvous.

Standard Configuration

[Under construction]

Automated Unit and Integration Testing for all EAI enabled modules

Commonly referred to as Raccoon UiTest, this module brings non-regression testing capabilities to TIB/Rendezvous and all TIB/Rendezvous enabled components. This module is the foremost feature of the Raccoon Framework and is used to generate a report file at the end of the tests that is similar to the JUnit report produced with Maven. Currently we’re using this framework to do none-regression testing of:

  • TIB/Integration Manager process diagrams.
  • TIB/Adapter for File configurations (publication and subscription services).
  • Bespoke built applications.
However it is possible to test additional components such as TIB/Message Broker or TIB/BusinessWorks.

Production Framework

Contains various utilities for production environments.

Monitoring tools

[Under construction]

Administrative tools

[Under construction]