The methodology of Enterprise Integration has advanced to Service Oriented Architecture (SOA) because of its ability to weave disparate applications and services to produce a business structure where data can flow as a business process. Environments have been built over time with diverse layers of applications. The development time and maintenance cost to manage these layers is driven down when integration components are built on standards. The most compelling standard in the integration space is Java Business Integration (JBI) which allows for the creation of a Service Oriented Architecture with interchangeable components that are vendor-independent.
Isn’t all development easier with a standard?
Not really. Don’t confuse the ease of using the standardized run-time components with the creation of those run-times. The creation of JBI run-time components is a whole new technology, with layered naming conventions and rules for each binding and service engine components. As with any new technology, JBI brings with it a sizable learning curve.
Plan time to learn JBI technology
Developers interested in JBI will need to reserve some time to learn. This type of exposure is mostly reviewing code snippets from existing open source JBI applications, like ServiceMix, and supplementing that learn-as-you-explore strategy with the 228 page JBI specification document publicly available from the Java Community Process organization. SOA integration experts, like Scott Ganyo with Moongate Technologies, agree that it can take a long time to learn the rules of the JBI spec nomenclature and nuances to code within the standard. While it is not brain surgery, even an experienced integration developer will need to devote targeted time to get up to speed.
The Holy Grail of Simplified Integration
So here is the hitch. Everybody is focused on SOA, and the push-point of that statement is everybody is everybody, from code crunchers to web designers.
The use of standards, like JBI, simplifies the combining of components but it is the ability to make those high-learning-curve standards accessible to all levels of coders that is the Holy Grail enterprises will be striving to acquire.
Less sophisticated audiences, one proven method
It is an early adopter assumption to think everyone using your product knows what they are doing. The first implementers of any new technology will cater to the most sophisticated users. But the SOA audience is as varied as the many applications they are trying to integrate, so this market will need a splay of products to cover different levels of expertise. A graphical interface, as we have seen successfully implemented in workflow and business process applications, is a proven method to simplify the design and implementation process. Just as BPEL maps out high-level business processes as a workflow, an intuitive graphical interface for the lower level integrations has a definite market for a technical user that wants to keep their distance from the detail specifications and simply drag and drop functionality.
Graphical Interfaces hide mundane details from developers
If vendors create graphical interfaces that generate standards-based code under the covers, a developer can avoid understanding the intimate details of the specification while still enjoying the benefits of developing a standards-based integration. A robust graphical interface allows each SOA developer to visualize the integration path and then simply click to define the properties in a fill-in-the-blank format. This expands the standards-based playing field to include a broader base of developers. The true beauty of the interface is to ultimately create standards based code so that the resulting run-time components integrate easily with other internally and externally developed components.
Graphical Interfaces are not always a priority
It is a certainty that more organizations will eventually go the graphical direction. First vendors develop the functionality and then they make it easier to reuse. While a couple of vendors have already started down a user-centric graphical path, an across-the-board improvement to robust graphical interfaces for integration will take a year or more.