By default, a method called onMessage is called on the bound component, but if the
component only has one method, then that will be called instead. Properties specify-
ing the method to call can also be added to incoming messages.
Although it's another binding, in practice the JMS binding has some different char-
acteristics from the web services and EJB bindings, and you may end up thinking
about the asynchronous nature of the JMS binding when you're designing your com-
ponent. For example, you may want to specify callbacks in your component definition
to allow two-way communication. If you're connecting to an external queue, you may
need to adjust the message format used by SCA to align with what's already in place.
You can specify the wire format, extra headers, and operation properties. You can also
use message selectors to filter incoming messages.
SCA is an extremely powerful and versatile technology for enterprise OSG i integra-
tion. After reading this section and section 10.6, you may be reeling slightly at how
versatile SCA is and how many possibilities there are. It's a big topic, so we can only
skim the surface of it here. If you're interested in learning more, we recommend Tus-
cany SCA in Action by Simon Laws, Mark Combellack, Raymond Feng, Haleh Mahbod,
and Simon Nash (Manning, 2011).
But wait—there are even more possibilities to consider. Not only is there more
than one way of integrating your application using SCA , there's a range of technolo-
gies beyond SCA that can be used for integration. Apache CXF , which worked so well
as a remote services implementation in section 10.4, is intended to be a more general
integration platform. Like SCA , it supports a range of component implementations
and standardized communications protocols, such as web services, and JMS . CXF itself
is a product supporting a range of standards, rather than a standard supported by a
number of products, as SCA is. The primary orientation of CXF is web services, so it
supports fewer languages and communication protocols than SCA .
Integrating using an ESB
A range of other integration technologies is available that falls into the general cate-
gory of Enterprise Service Buses, or ESB s. As the name suggests, ESB s are intended to
provide an adaptable asynchronous communications channel between loosely cou-
pled enterprise components. Mediations allow conversions between a range of mes-
sage formats and wire protocols (see figure 11.4).
ESBs and SCA
ESBs and SCA are designed to address similar problems—how can a technologically
diverse set of applications be knit together into a functioning system without lots of
hand-cranking and manual gluing? Importantly, though, an ESB is an architectural pat-
tern, rather than a specific standard like SCA. As a technology, ESBs predate SCA,
and many established ESBs started making use of SCA in some form or another after
its introduction. Some ESBs are based on SCA, whereas others support SCA compo-
nents as another type of deployable artifact.
Search WWH ::