Enterprise Integration Zone is brought to you in partnership with:

I'm an Enterprise Software Architect working predominantly on integration solutions in the financial software arena. Core competencies include Java, Message Driven Architectures, Spring, Spring Integration and data storage technologies. Matt is a DZone MVB and is not an employee of DZone and has posted 13 posts at DZone. You can read more from them at their website. View Full User Profile

Spring and C24 iO - Accelerating Enterprise Data Services Deployment

  • submit to reddit
The focus for this series of blog articles is to explore the coupling between SpringSource's Spring Integration framework and C24s Integration Objects (iO) product. The primary driver for this showcase of two technologies is to demonstrate a significant potential time-to-market advantage for building, delivering and deploying Enterprise Data Services solutions.

SpringSource's Spring Integration is a framework and extension of the de facto standard EIP patterns described by Gregor Hohpe & Bobby Woolf [Enterprise Integration Patterns, ISBN 0321200683, Addison-Wesley, 2004]. Spring Integration also provides a veneer (via XML namespacesor Java code) over common Spring Core APIs and significantly, a messaging capability within and between applications.

C24 Integration Objects (iO) is a high-performance integration tool that, through model construction, supports Java binding capability and through transformation construction, supports transformations between models. C24 is a strategic SpringSource partner and well recognised in the finance industry as a leading integration tool provider - due primarily to the vast array of financial messaging models supported, low latency processing and the graphical modelling capability of C24 iO Studio. Furthermore, C24 iO models can be constructed as semantically rich components in order to employ strict validation against customisable rules that go far beyond capabilities of technologies such as the XML Schema Definition (XSD) language constraint model.

Together with C24, SpringSource have built two custom namespaces for C24's iO product that together, provide capability for a closely-coupled integration between Spring, Spring Integration and iO. The first namespace, c24-spring-core provides a facility to use C24 iO models directly within any Spring or Spring Integration application. The second namespace, c24-spring-integration, provides a facility to use C24 iO models within Spring Integration flows. This brings a time-to-market advantage for clients who wish to take advantage of C24 iO and a robust integration framework - in many cases, very little custom Java code is necessary to get operational flows deployed.

The focus of the following series of articles is to present key aspects of Spring Integration and C24 iO as high-performance, key, integration technologies. Additionally, and most significantly, an exploration will be undertaken of capabilities of the two technologies (Spring & iO) coupled together in order to deliver a client integration solution that forms the basis of a financial application installation.
A single sample project is used through the series, mainly to demonstrate code and configuration around a single business theme. This sample project is based on an operational flow built to process SWIFT FIN messages, all of the source code and configuration will be made available in the set of references that will appear as the last article in the series. 

Part 1 in the series provides some background information regarding C24 iO as a tool, it's core capabilities and relationship with the Spring container.

Part 2 details the capabilities that have been provided by C24 iO for building integration flows and, through example, explores the use of C24 iO within those flows.

Part 3 demonstrates a typical Spring Integration based solution that uses C24 iO to provide binding-transform and transformation capability. Because this flow is not contrived, it demonstrates many of the issues that have to be tackled during design and implementation of integration projects that use the Spring Integration framework.

Part 4 is all about testing integration flows. After having used Mockito on several large projects to test Spring Integration flows, an interesting testing strategy is presented.

Part 5 is a short post and is really a container for all of the reference material used and a guide to the sample project available from Github.

Published at DZone with permission of Matt Vickery, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


Fahmeed Nawaz replied on Tue, 2012/06/12 - 10:28am

I find the java driver's gridfs api is different to c#'s.
e.g: I can't open a exist file for overwrite. To do this, I should first delete the file, and creat a new file to write.
But I find in c#'s api, I can specify a FileMode when open a file.
So my question is how can I open a file for both write and read?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.