Home > SOA Tips > Guest Commentary > Perspectives on the JBI debate
SOA Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

GUEST COMMENTARY

Perspectives on the JBI debate


Eric Newcomer, Chief Technology Officer, IONA
07.25.2005
Rating: --- (out of 5)


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


It's good to see the current debate in the blogosphere around Java Business Integration (JBI). For one thing it's good because once we are seeing this kind of reaction and this level of attention in Don Box's blog it means JBI is starting to get some mindshare.

Don mentions Steve Vinoski's entry although that entry was actually primarily about Celtix. But because Celtix supports JBI we are inevitably drawn into this debate.

In response, the first question to ask is whether one container can fulfill every requirement. This is kind of like asking whether one computing language meets every developer's needs. The answers seem to be no and no.

If we can agree that multiple containers are necessary because one size fits all is not a good approach in software, then the next question is which containers do we need, and for what purpose(s).

JBI is aimed at messaging and integration, whereas EJB is really a transaction processing container. Sure EJB has support for "message beans" but these are in the context of transaction processing, a sort of messaging add on to the synchronous orientation of EJBs, like queuing is an add-on to popular TP monitors when applications needed both. This is not the same thing as a pure messaging solution since the queuing in these environments is always done within the context of the TP monitor environment and uses its development metaphors and APIs (i.e. not independent ones).

The answer to Don's question about JCA vs JBI is pretty much the same, that is, within the context of whether you are doing OLTP (Online Transaction Processing) or asynchronous messaging-based integration. If it's the former, use JCA since you are already using EJBs. If it's the latter, use JBI since you don't really need all the other EJB APIs. EJB and JBI containers can co-exist, just the way TP monitors and independent messaging systems have co-existed for years.

The JBI container model is needed because asynchronous m


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


RELATED CONTENT
Guest Commentary
Getting a grip on JavaFX 1.2 for Rich Internet Applications (RIA)
On the road to SOA – Part 1, Boubez on early insights
On the road to SOA – Part 2, Governance is fundamental
SpringSource approach to adding enterprise class management and deployment features to Tomcat
SOA Pattern of the Week (#6): Canonical Schema
Legacy: Can't Live With It, Can't Live Without It
Review of protocols for cloud services - Part 1
SOA and TOGAF: A Good Fit?
Using atomicity to gain SOA granularity
Too Many Servers: A Case for Enterprise Architecture and TOGAF 9

Application integration
Oracle Fusion Middleware 11g supports SCA, JavaServer Faces development
SOA specs for energy industry planned
Fusion SOA touted by Larry Ellison
Oracle offers composite SOA tooling
Oracle unveils SOA integration products
Is a lightweight ESB right for your SOA?
The hunt for XML interoperability
ESB-oriented architecture?
Microsoft baking in 'continuous integration'
SOA and SaaS fusion explored

Enterprise Application Integration (EAI)
Enterprise Service Bus(ESB) Tutorial
Second look at Oracle licenses in wake of Sun merger
JNBridge releases JNBridgePRO 4.1
What are chief criteria for analyzing "enterprise mashups"? Especially in relation to a "mainframe wrappering" project?
Crosscheck Networks acquires XML gateway maker Forum Systems
Oracle buys Sun for $7.4B
Enterprise architecture must focus on business value
The business side has silos too
On establishing the link between the business and SOA with modeling
COBOL apps moving to SOA: Rip-and-replace meets the recession
Enterprise Application Integration (EAI) Research

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
application integration  (SearchSOA.com)
IDEF  (SearchSOA.com)
interoperability  (SearchSOA.com)
XIPC  (SearchSOA.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary


essaging and integration functions need to be first class citizens of many applications, not simply add-ons to TP monitor style interactions. However, equating EJB and JBI is also not quite correct.

The EJB container is all about concentrating user transaction requests into a shared database. The application server is the modern TP monitor, and the EJB is where the transactional interaction with the database happens.

JBI has no concept of the three tiers the way application servers do (servlet = presentation tier, session bean = application logic tier, EJB = database server tier). JBI is a container designed to support plug-and-play relationships between integration components and messaging systems instead. While EJB is designed for application developers, JBI is designed for software vendors.

You can use an application server for integration, just like you can use a TP monitor, but it isn't designed for that, and it takes a lot more coding.

That's why EAI (Enterprise Application Integration) solutions were originally developed as distinct from TP monitors and became popular for a while. There's a big difference between technology designed to support online transactions against a shared database and technology designed to share data across disparate applications (which may or may not be online, transactional, off the shelf, or even in the same part of the world).

If you take the single container argument to its logical conclusion you end up with a single software system trying to meet both OLTP and integration requirements. While this is possible it does not seem practical. Costs and time to market can be significantly reduced using software systems specialized toward particular types of requirements.

Some of the biggest new trends at Microsoft (of which Don is certainly aware) are software factories and domain specific languages (DSL). This is very innovative work with significant potential. A major concept of DSL is that a single general purpose language is never going to be the best solution for all jobs.

The industry would benefit from the adoption of JBI (or something similar) since it promotes a best of breed approach to integration. IBM is unlikely to support that, of course, since they want to be your single software supplier. But for smaller vendors specializing in business process management, transaction management, security, transformation, or messaging for that matter, a container model oriented toward integration requirements makes it easier to combine their software with other vendors' software.

Where BEA is in all of this I'm not sure but it may be that they think they will be competing to become your single supplier as well, although the AquaLogic announcement makes it seem as if they are starting to move away from that idea.

JBI also makes perfect sense for open source, by the way, which may (come to think of it) contribute to some of the skepticism. Open source projects benefit from the ability to divide up work using a plug-in architecture. This is one of the features of the Celtix project, and one of the reasons Celtix supports JBI in addition to our own plug-in model.

The jury may still be out on whether or not JBI will succeed, and if it does whether it will achieve the level of adoption that EJB has, but at the recent JavaOne show the industry saw JBI off to a good start.

This article originally appeared in Eric Newcomer's weblog.

About the Author:
Eric Newcomer is Chief Technology Officer at IONA, where he leads the company's participation in industry standardization activities. Eric was a founding member of the XML Protocols Working Group at W3C, which produced SOAP 1.2. He is a former editor of the Web Services Architecture specification and is also co-author and editor of the Web Services Composite Application Framework (WS-CAF) set of specifications and co-chair of the WS-CAF technical committee at OASIS.


Rate this Tip
To rate tips, you must be a member of SearchSOA.com.
Register now to start rating these tips. Log in if you are already a member.




DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.



SOA Trends and Strategy - SOA Education, SOA Development, SOA Implementations
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2001 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts