3.0 M2 Release Notes
Release Date: August 7, 2009
New Features:
Binding Component Marshaller Framework
All Binding Components now include a framework to allow custom marshalling between native over-the-wire formats and the NormalizedMessage format. The custom marshaller classes may specify endpoint configuration settings that can be configurable in the component wizard.
File Component Read Marshaller
 |
ChainbuilderESB comes pre-packaged with a set of marshallers for each Binding Component including source code that can be used as an example for custom marshaller classes.
Marshaller classes included in ESB Project
 |
Binding Component Error Handler Framework
A new Error Handler framework is now included in all Binding Component's Consumer endpoint configuration. This framework allows for custom processing when an error occurs in the consumer processing logic in both the request creation and response processing. The error handler can be used to perform notification, auditing, resource cleanup, etc in the event of an error condition. The error handler is configured on the Consumer CCSL Configuration page of the component wizard.
Error Handler Configuration
 |
Improved Classloader
The Java Classloader behavior has been improved to make it easier to build and deploy projects that rely on third party jar files (JDBC driver files, etc). In this release any necessary jar files can be placed in the project's lib/optional folder. Any jar files placed in this folder will be automatically added to the classpath used by the IDE build/deploy process and testers as well as at runtime. This also eliminates the need to manually copy dependent jar files into the apache-servicemix/lib/optional folder on the server.
Improved Map Editor and Tester
The Map Editor now includes line numbers in both the editor and tester views. Now, if an error occurs within a Map, this line number will be included in the error message to make it easier to track down the problem. If an error occurs while running the tester, the offending operation will automatically be highlighted.
Map Editor with Line Numbers
 |
Map Error with Line Number
 |
Map Tester with Error Highlighted
 |
Auto Start Flag in Consumer Endpoints
All Consumer endpoints now have a configuration setting called Auto Start. By default, it is enabled to force the consumer logic to start automatically when the Service Assembly is started. If Auto Start is disabled on an endpoint, it will not be started when the Service Assembly starts, instead the user can start it manually in the Admin Console.
Auto Start Flag in Component Wizard
 |
New Features (Professional Edition Only):
IDE Embedded Server Instances of ServiceMix and Admin Console
The IDE now includes server configurations to run an instance of ServiceMix and Tomcat with the Admin Console within the Eclipse IDE environment. These server instances run independently of the main service instances and are used by the Component Flow Editor's new tester functionality.
IDE Embedded Server Instances
 |
Component Flow Editor Tester
The Component Flow Editor now includes testing capabilities to run a service assembly project without deploying to the console. When the tester is started, the service assembly is deployed to the Server instance embedded in the IDE. A sample message is read from the specified file and sent to any consumer endpoint in the flow.
Flow Tester - Select Test Data and Endpoint
 |
If the selected consumer uses an In-Out Message Exchange Pattern, the resulting message will be displayed when the message completes the flow.
Flow Tester - Display the Result
 |
The graphical view of the flow will also show the path the message flowed through by highlighting the endpoints in green. The state of the message at each endpoint can also be viewed by mouse-over of each green endpoint.
Flow Tester - Grapical View with Mouse Over Details
 |
Soap Tester
The Component Flow Editor also includes a SOAP tester that works similarly to the Flow tester. The main difference is the tester will form a SOAP message and send it over HTTP to a web service server endpoint in the flow for a complete end to end test. Once completed, the flow is highlighted in the same way as described above to see the path the request took as well as the state of the request at each endpoint. The SOAP tester can also be used to invoke an external web service not implemented in ChainbuilderESB. This can be useful to verify the functionality of a web service being called from ChainbuilderESB.
Soap Tester - Select the Web Service
 |
Soap Tester - Provide Sample Data
 |
Soap Tester - View the Result
 |
SFTP and SMB Support in the FTP Component
The FTP Binding Component has been enhanced to support two additional modes, SFTP and SMB. SFTP provides file transfer capabilities over an encrypted SSH session. SMB provides connectivity for Windows file shares as well as Samba servers in UNIX environments. In both additional modes, the FTP component functions in the same way as in the base FTP mode, but uses the appropriate underlying protocol. The component can operate in its default base mode to read/write files on a remote system as well as in advanced script mode. The existing FTP sript commands can be used without change in the SFTP and SMB modes as the component will automatically execute the correct behavior based on the chosen protocol.
FTP Wizard with SFTP and SMB modes
 |
Improved Support for Third Party JBI Components
Many changes have been made to make it easier to use third party JBI components in the ChainbuilderESB environment. A new 'Third Party' custom component wizard is included to allow an existing JBI component to be used within the ChainbuilderESB Component Flow Editor. This allows manual configuration of the third part component endpoint while providing integration with the other Chainbuilder ESB components.
The Custom Component Project Wizard has been enhanced to allow custom UI wizards to be built for existing JBI components. The API provides a wizard to be written that can gather the properties for an endpoint and generate the deployment artifacts in the format used by the third party component.
Another wizard has also been provided to repackage existing JBI components to include the ChainbuilderESB CCSL library. This wizard injects the functionality common to all ChainbuilderESB components such as UPOCS, SMAT and Error logging to the Error Database.