MessageForge's GoalsThe framework was conceived and created during the development of an online trading system for a major bank on Wall Street. The project made heavy use of TIBCO/RV . The current version of MessageForge provides support for JMS and TIBCO/RV . The framework is used in production at multiple Wall Street banks and commercial products. Both JMS and TIBCO/RV have a well crafted API that enables development teams to quickly get started. However, on large scale projects, it quickly becomes critical that message definitions are kept in sync. with the application code. In addition, there is a need to provide the following services to the development team:
Making message definitions transparent
MessageForge accomplishes this goal by providing a well-defined
Automatic generation of JAVA classes from XML definitionsThe XML message definitions are processed by a code-generator to automatically generate JAVA classes. Application developers use the JAVA classes to code. Any mismatch between the application code and the message is caught at compile time. Providing a type-safe messaging JAVA APIThe framework generates message classes from the XML definitions. Application developers use the JAVA classes to code. Any mismatch between the application code and the message is caught at compile time. Providing run-time message validation
Fields within messages can have various constraints. For example, a field can
be declared
Providing services to marshal/unmarshal messages
A number of
Uniform message definitions across all tiersThe framework requires Java 1.3 or higher. All the tiers of a distributed application can work with the same message definitions and type-safe classes. High performanceAny framework, by definition, will introduce some processing overhead. This framework was tested extensively and much effort was devoted to ensuring that performance is not compromised. Since this framework was first used to build a mission-critical trading system, suffice to say that the framework does not impose undue burden on application performance. |