Spring Powers LogicBlaze Component-Based ESB
LogicBlaze is bringing the power of the Spring framework to ESBs (Enterprise Service Buses), bringing a wide-open approach to component-based integration for all sorts of legacy and SOA architectures. See how Spring's ability to let architects and devs design and build Java apps through abstraction could let devs do up-the-stack integration ?for protocols and transports, data, application logic and even business logic.
LogicBlaze is bringing the power of the Spring framework to ESBs (Enterprise Service Buses), bringing a wide-open approach to component-based integration for all sorts of legacy and SOA architectures.
Based on LogicBlaze's work on the Open Source ESB dubbed ServiceMix ESB, the company's engineers are using Spring's ability to provide devs abstractions for designing and building Java apps to extend the capability of devs to use ESBs to do integration through the stack ?including baseline protocols and transports, data, application logic and even business logic. The company this month is bringing that insight to Eclipse, with a pledge to develop tools for business integration middleware that would plug into Eclipse.
[Notably, LogicBlaze is also working with Iona Technologies on an Open Source implementation on the Java Business Integration (JBI) spec, which would bring ESBs the capability to integrate at the business rules level].
IDN speaks in-depth with LogicBlaze ERO Tom Miura, and his engineering staff to get more details on how Spring brings a new dimension to ESBs.
An Integration Developer News interview
With Tom, Miura, CEO
IDN: What about Spring is attractive to you for supporting an ESB architecture?
Miura: We have a lot of nice features in ServiceMix, and one of the reasons is that we use Spring so [developers] can configure and wire the flows using a Spring syntax. That means they can also extend that syntax, and make their own components using a Spring deployment descriptor.
IDN: If I were to describe the overall appeal of Spring to LogicBlaze, and to ESBs in general, what would that be?
Miura: Spring's biggest appeal is the core Spring. All the declarative stuff that Spring does is nice, but the core Spring has dependencies [sic] which have simplified the programming model of applications and services tremendously, and that has allowed us to externalize all the configuration complexities in the Spring metadata.
IDN: Spring and Hibernate get talked a lot in the context of J2EE app servers, but not so much for ESBs?
Miura We're going to definitely change that context for Hibernate and Spring in EJBs. One area where we think there will be a lot of attention will be in JBI [Java Business Integration]. There are 2 ways to deploy JBI components the way they are defined in the spec. Sid files and config files. To package stuff can be pretty hairy and complex. So, we have [in the ServiceMix ESB] a simple way to do that with just one XML file that you can specify all that integration. And that sets the stage for us to capture that capability in our tooling, and we will also support Eclipse tools that support JBI artifacts.
IDN: Does this ease-of-configuration also mean you have templates for configuration, or something similar. It would seem that if Spring can provide ease-of-use abstraction, you could extend that capability?
Miura Exactly right. We already ship templates for helping architects and developers in how to do the basics ?such as getting to web services, getting out to JMS, doing a transformation, etc. We put tooling offering will integrate a lot of those aspects.
IDN: And how is that accomplished?
Miura: Basically, you it's all from the ability to using Spring to extend almost any aspect of the container.
IDN: On that note, how important is Spring to letting you support a mixed flavor of connection inside the ESB, all the way up-the-stack to application and business logic, that is?
Miura: What's going to help that is JBI is a standard. The things that let you connect different environments are the JBI components, this likes file system, files to file system, buses to messaging buses, and the ability to use [standard connectors] JCAs to talk to SAP and CICS. So, we will have components that will talk any-to-any,. Beyond that, we can turn all that into a 'logical service model?where JBI can route stuff between components and route stuff and do transformation.
IDN: And, I guess that also is where it gets easier to write components?
Miura: Yes. It will be simpler to write components, so people will not be put off by how complicated it is. In integration there is always somebody doing something differently, so there will always be some custom code, and so we will try to make this as simple as possible.
IDN: To some extend, you also seemed to say Spring gives you the ability to treat code logic as an aspect, even though you are not an aspect head?
Miura: Definitely. Traditionally, what we allow you to do is 'Spring deployment?in ServiceMix [ESBs]. So, you have an opportunity to tweak the implementations of objects used by ServiceMix to do routing, dispatching and stuff like that. You get ultimate control of the container and you can change the way the container behaves, which would be tough to do with an already running container that have deployed.
IDN: And you can do it without learning Aspect-Oriented Programming (AOP)?
Miura: Absolutely, we have built a little layer on top of Spring XBean (formerly GBean from Geronimo). This simple library will take an XSD validatable schema and transform it into a Spring configuration, which will let you have a safely typed config schema for example. So, it's ServiceMix, but under the covers it turns in into Spring beans. Not everyone will be changing the way the container behaves, but there are a lot of folks that get upset at how the container behaves. So, now you have an option.