SCA Bindings Simon Holdsworth Piotr Przybylski
Agenda n SCA Bindings Overview l Bindings TC Charter n Bindings l Web Services Binding l JMS Binding l JCA Binding
SCA Bindings - Overview Bindings describe the access mechanism used to provide or access a service
SCA Bindings - Overview Composite service reference Hire Security Payroll Web service binding JCA binding JMS binding EIS Messaging System Example SCA Composite with bindings:
SCA Bindings - Overview n Binding elements define details of interaction l Location n E.g. HTTP URL, JMS Queue l Configuration n E.g. JMS Connection, JCA Interaction n Binding specs define how policy intents are satisfied
SCA Bindings - TC Charter n Specifications l Web service, JMS and JCA bindings l Updates from other specs, e.g. pub/sub model n Compliance l Definition and tests n Potential additional binding specifications l HTTP with REST and other patterns l FTP, SMTP, others n Relationships with other standards l WS-*, WS-I, JMS URI, etc.
SCA Bindings – Other TCs n SCA binding l Defined by SCA assembly spec l Non-interoperable, intra-domain wiring l No additional configuration l The default if no other binding specified n EJB binding l Allows interaction with J2EE components l Integrate a session bean into an SCA assembly l Expose services to clients using EJB programming model. <binding.ejb uri=“corbaname:...” ebj-version=“EJB3”/>
Web Service Binding
SCA Bindings - Web Service n Make an SCA service available as a web service n Allow an SCA reference to invoke a web service n WSDL-based l Either references existing WSDL binding and/or port elements or l Defines how one is generated (based on WS-I BP 1.1) n Relies on or defers to existing standards l WSDL, SOAP, WS-Addressing
Composite SCA Bindings - Web Service n References typically use an existing WSDL document l Refer to port element to identify a specific service l Refer to binding element to identify a kind of service n Then specify service location by EPR or URI Provider’s WSDL document reference Web Service Provider <binding.ws wsdlElement=“...#wsdl.port(...) wsdlLocation=“ /> <binding.ws wsdlElement=“...#wsdl.binding(...) uri=“
Composite SCA Bindings - Web Service n Services may allow the WSDL binding to be generated l Based on service’s interface l May specify a URI or EPR or use the default SCA service’s generated WSDL document Web Service Provider service
Composite SCA Bindings - Web Service n Services may use an existing WSDL binding element l In cases where specific WSDL binding subelements needed SCA service’s WSDL document Web Service Provider <binding.ws wsdlLocation=“ wsdlElement=“...#wsdl.binding(...)/> service Existing WSDL with required binding elements
JMS Binding
SCA Bindings - JMS n Make an SCA service available to JMS messaging applications n Allow an SCA reference to communicate with JMS messaging applications n May refer to existing JMS resources, or defines details of JMS resources to be created l Definitions document contains reusable connection metadata n Required JMS header values may be specified
Composite SCA Bindings - JMS n References typically use existing JMS resources n Spec does support creation of resources as well l Specified via URI, binding sub elements or definitions file: reference Back End Queue
Composite SCA Bindings - JMS n Services may use existing JMS resources or have new ones created l Specified via URI, binding sub elements or definitions file: Order Queue service
SCA Bindings - JMS n Callback and and conversation support l JMS Binding specifies the protocol l Via new JMS header properties for callback queue, conversation start, ID and max idle time, n Operation Selection and Data Binding l Maps between JMS Message and WSDL operation l Default behaviour specified, allows communication between JMS reference and service
JCA Binding
SCA Bindings - JCA n Provides connectivity with the services provided by the Enterprise Information Systems (EIS) external to the SCA n Connectivity based on the Resource Adapters compliant with the Java EE Connector Architecture l Requires implementation of Common Client Interface n Does not define EIS Bindings between different SCA runtimes within SCA system, for example Java EE and EIS based runtimes.
SCA Bindings - JCA n Make an SCA Service available to external EIS system n Allow an SCA reference to communicate with external EIS system n Two sets of configuration parameters, connection and interaction allow for reuse and reconfiguration l Connection - location of the services l Interaction - provided to invoke one specific service available at the endpoint n Binding properties depend on the used Resource Adapter
SCA Bindings - JCA n References define services available to invoke from the composite n Allows to use existing resources to access these services as well as supports creation of resources l Connection configuration can be specified via URI, binding sub elements or definitions file l Existing Connection Factory lookup name:
Composite SCA Bindings - JCA EIS D localhost … n New resources in the definitions file Reference
SCA Bindings - JCA n Interaction configuration can be specified by binding sub elements or definitions file SYSAD read …
SCA Bindings - JCA n Services define how the EIS system may invoke composite n Allows to use existing resources to access these services as well as supports creation of resources l Connection configuration can be specified via URI, binding sub elements or definitions file D temp C …
SCA Bindings - JCA n Interaction configuration can be specified by binding sub elements or definitions file MyInboundListener … Composite Service EIS
SCA Bindings - JCA n Binding properties l Customize connection or interaction properties without modifying definitions file l Specifying property values in the bindings or composite SYSAD … SYSAD …
SCA Bindings - JCA n Callback and conversations are not supported by the JCA Bindings l EIS accessible through adapters have capabilities to support either one of these capabilities n Operation Selection and Data Binding l The lack of the data interface in CCI prevents from specifying default behavior l A contract between JCA Binding and data binding provided is required for the binding to operate
Summary
SCA Bindings - Summary n Web Service, JMS bindings l OSOA specifications submitted n JCA binding l OSOA specification being finalised n Other bindings l HTTP, possibly others, no existing submission n Conformance and test l Not defined in OSOA specs
Questions?