At the core of a service-oriented architecture is the concept of a service, a unit of functionality accomplished by an interaction between computing devices. An export defines the external interface (or access point) of a module, so that SCA components within the module can provide their services to external clients. An import defines an interface to services outside a module, so the services can be called from within the module. You use protocol-specific bindings with imports and exports to specify the means of transporting the data into or out of the module.
External clients can invoke SCA components in an integration module over a variety of protocols (such as HTTP, JMS, MQ, and RMI/IIOP) with data in a variety of formats (such as XML, CSV, COBOL, and JavaBean). Exports are components that receive these requests from external sources and then invoke WebSphere® ESB components using the SCA programming model.
An SCA component might want to invoke a non-SCA external service that expects data in a different format. An import is used by the SCA component to invoke the external service using the SCA programming model. The import then invokes the target service in the way that the service expects.
The SCA binding, which is the default, lets your service communicate with services in other SCA modules. You use an import with an SCA binding to access a service in another SCA module. You use an export with an SCA binding to offer a service to other SCA modules.
For more information about SCA bindings, see SCA bindings.
A Web service binding lets you access an external service using interoperable SOAP messages and qualities of service. The Web service binding can use a transport protocol of either SOAP/HTTP (SOAP over HTTP) or SOAP/JMS (SOAP over JMS). You can also use Web service bindings to include an unreferenced attachment as part of the SOAP message.
The HTTP binding lets you access an external service using the HTTP protocol, where non-SOAP messages are used, or where direct HTTP access is required. This binding is used when you are working with Web services that are based on the HTTP model (that is, services that use well-known HTTP interface operations such as GET, PUT, DELETE, and so on).
The EIS (enterprise information system) binding, when used with a JCA resource adapter, lets you access services on an enterprise information system or make your services available to the EIS.
Java™ Message Service (JMS), generic JMS, and WebSphere MQ JMS (MQ JMS) bindings are used for interactions with messaging systems, where asynchronous communication through message queues is critical for reliability.
The JMS binding lets you access the WebSphere-embedded JMS provider.
The generic JMS binding lets you access a non-IBM vendor messaging system.
The MQ JMS binding lets you access the JMS subset of a WebSphere MQ messaging system. You would use this binding when the JMS subset of functions is sufficient for your application.
The WebSphere MQ binding lets you communicate with MQ native applications, bringing them into the service oriented architecture framework and providing access to MQ-specific header information. You would use this binding when you need to use MQ native functions.
The Enterprise Java Bean (EJB) import binding lets SCA components invoke services provided by J2EE business logic running on a J2EE server.