Summary
Java Business Integration (JBI) is the JCP standard for integrating heterogeneous enterprise systems in Java. A more recent, and some would claim, competing effort in enterprise integration is the Service Component Architecture (SCA) proposed by IBM and BEA. Tom Barrett sorts out the similarities and differences between these two standards.
Advertisement
Java Business Integration, defined in JSRs 208 and 312,
is a JCP standard aimed to streamline the enterprise integration market: Ostensibly, the goal of the JBI effort was to define for "business integration what Java EE has been for enterprise software."
Lately, another enterprise integration standard has been emerging, backed primarily by IBM and BEA: the Service Component Architecture (SCA). Those in the enterprise integration business, a field already ripe with acronyms, are confounded by the various standards purporting to make enterprise integration easier, including JBI and SCA, according to Sun's Tom Barrett.
In a recent blog post, SCA Raining on the JBI Parade?, Barrett explains the similarities and differences between JBI and SCA, placing these standards in the broader context of enterprise integration patterns.
Barrett sets the stage for the emergence of JBI and SCA:
Without JBI, there is no easy way to rip out a BPEL engine, for example, from an Enterprise Service Bus (ESB) and replace it with a better one from a different vendor. Sun and the Java Community Process (JCP) wanted “to do for integration what J2EE did for application development.” The hope has been to encourage an ecosystem that supports plug-and-play for integration components in a SOA world. This would, in turn, offer customers freedom of choice and combat vendor lock-in.
Right before Java One 2005, the JBI Java Specification Request (JSR 208) came up for final vote. IBM and BEA, key expert group members, abstained. IBM commented:
“IBM abstains because the JBI specification doesn't represent a sufficient step forward in terms of what we believe our customers need, and above what they can already do. Many technologies and open specifications are available to the Java programmer today with more compelling interoperability and better mechanisms for component composition.”
Wow. That let some big air out of the JBI balloon set for launch at Java One 2005. Some suspected the beginning of major schism in the JCP that moves the Java platform forward. Can you imagine what J2EE (now Java EE) would have been like if IBM and BEA had not supported it from the outset?
Although JBI has been making progress, according to Barrett it did not live up to its early expectations in terms of a following and impact:
Enthusiasm for JBI has not ramped up like we saw for J2EE in its early days. It seems that attention is diverted elsewhere. That elsewhere is a movement called Service Component Architecture (SCA) spearheaded by IBM and BEA...
As JBI is developed and promoted through the JCP, SCA is nurtured through a relatively new group called Open Service Oriented Architecture (OSOA) collaboration. Their goal is "defining a language-neutral application model that meets the needs of enterprise developers who are developing software that exploits Service Oriented Architecture characteristics and benefits."
So, IBM and BEA rained on the JBI parade in 2005 and have been working on something called SCA. How important is this? Is it really a competitor to JBI?
In the rest of his blog post, Barrett explains how these standards fit in with patterns of enterprise integration, and whether they are complementary or competing.
What do you think of JBI's impact on the enterprise integration field to date?