1 / 30

SCA Bindings Simon Holdsworth Piotr Przybylski

SCA Bindings Simon Holdsworth Piotr Przybylski. Agenda. SCA Bindings Overview Bindings TC Charter Bindings Web Services Binding JMS Binding JCA Binding. SCA Bindings - Overview. Bindings describe the access mechanism used to provide or access a service. SCA Bindings - Overview.

soren
Download Presentation

SCA Bindings Simon Holdsworth Piotr Przybylski

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SCA BindingsSimon HoldsworthPiotr Przybylski

  2. Agenda • SCA Bindings Overview • Bindings TC Charter • Bindings • Web Services Binding • JMS Binding • JCA Binding

  3. SCA Bindings - Overview Bindings describe the access mechanism used to provide or access a service

  4. SCA Bindings - Overview Example SCA Composite with bindings: Composite reference EIS Payroll service Hire JCA binding reference Security Web service binding Messaging System JMS binding

  5. SCA Bindings - Overview • Binding elements define details of interaction • Location • E.g. HTTP URL, JMS Queue • Configuration • E.g. JMS Connection, JCA Interaction • Binding specs define how policy intents are satisfied

  6. SCA Bindings - TC Charter • Specifications • Web service, JMS and JCA bindings • Updates from other specs, e.g. pub/sub model • Compliance • Definition and tests • Potential additional binding specifications • HTTP with REST and other patterns • FTP, SMTP, others • Relationships with other standards • WS-*, WS-I, JMS URI, etc.

  7. SCA Bindings – Other TCs • SCA binding • Defined by SCA assembly spec • Non-interoperable, intra-domain wiring • No additional configuration • The default if no other binding specified • EJB binding • Allows interaction with J2EE components • Integrate a session bean into an SCA assembly • Expose services to clients using EJB programming model. <binding.sca/> <binding.ejb uri=“corbaname:...” ebj-version=“EJB3”/>

  8. Web Service Binding

  9. SCA Bindings - Web Service • Make an SCA service available as a web service • Allow an SCA reference to invoke a web service • WSDL-based • Either references existing WSDL binding and/or port elements or • Defines how one is generated (based on WS-I BP 1.1) • Relies on or defers to existing standards • WSDL, SOAP, WS-Addressing

  10. SCA Bindings - Web Service • References typically use an existing WSDL document • Refer to port element to identify a specific service • Refer to binding element to identify a kind of service • Then specify service location by EPR or URI <binding.ws wsdlElement=“...#wsdl.port(...) wsdlLocation=“http://...” /> <binding.ws wsdlElement=“...#wsdl.binding(...) uri=“http://...”/> Composite reference Web Service Provider Provider’s WSDL document

  11. SCA Bindings - Web Service • Services may allow the WSDL binding to be generated • Based on service’s interface • May specify a URI or EPR or use the default <binding.ws/> Composite service Web Service Provider SCA service’s generated WSDL document

  12. SCA Bindings - Web Service • Services may use an existing WSDL binding element • In cases where specific WSDL binding subelements needed <binding.ws wsdlLocation=“http://...” wsdlElement=“...#wsdl.binding(...)/> Composite service Web Service Provider SCA service’s WSDL document Existing WSDL with required binding elements

  13. JMS Binding

  14. SCA Bindings - JMS • Make an SCA service available to JMS messaging applications • Allow an SCA reference to communicate with JMS messaging applications • May refer to existing JMS resources, or defines details of JMS resources to be created • Definitions document contains reusable connection metadata • Required JMS header values may be specified

  15. SCA Bindings - JMS • References typically use existing JMS resources • Spec does support creation of resources as well • Specified via URI, binding sub elements or definitions file: <binding.jms requestConnection=“defs:BackEndDefs”/> <definitions targetNamespace=”http://example.org”> <binding.jms name=”BackEndDefs”> <destination name=”BackEndQueue” create=”never”/> <connectionFactory name=”BackEndQueueCF” create=”never”/> </binding.jms> </definitions> Composite reference Back End Queue

  16. SCA Bindings - JMS • Services may use existing JMS resources or have new ones created • Specified via URI, binding sub elements or definitions file: <binding.jms> <destination name=”OrderQueue” create=”ifNotExist”/> <activationSpec name=”OrderQAS” create=”ifNotExist”/> </binding.jms> Composite service Order Queue

  17. SCA Bindings - JMS • Callback and and conversation support • JMS Binding specifies the protocol • Via new JMS header properties for callback queue, conversation start, ID and max idle time, • Operation Selection and Data Binding • Maps between JMS Message and WSDL operation • Default behaviour specified, allows communication between JMS reference and service

  18. JCA Binding

  19. SCA Bindings - JCA Provides connectivity with the services provided by the Enterprise Information Systems (EIS) external to the SCA Connectivity based on the Resource Adapters compliant with the Java EE Connector Architecture Requires implementation of Common Client Interface Does not define EIS Bindings between different SCA runtimes within SCA system, for example Java EE and EIS based runtimes.

  20. SCA Bindings - JCA Make an SCA Service available to external EIS system Allow an SCA reference to communicate with external EIS system Two sets of configuration parameters, connection and interaction allow for reuse and reconfiguration Connection - location of the services Interaction - provided to invoke one specific service available at the endpoint Binding properties depend on the used Resource Adapter

  21. SCA Bindings - JCA References define services available to invoke from the composite Allows to use existing resources to access these services as well as supports creation of resources Connection configuration can be specified via URI, binding sub elements or definitions file Existing Connection Factory lookup name: <binding.jca uri=“java:comp/env/EIS”/>

  22. SCA Bindings - JCA • New resources in the definitions file <binding.jca connectionInfo =“defs:serviceInfo”/> <definitions targetNamespace=”http://example.org”> <binding.jca name=”serviceInfo”> <jca.outbound.connection managed="true"> <resourceAdapter name="connector.file.FAResourceAdapter"> <property name="logDrive">D</property> </resourceAdapter> <connection name="FAFactory” create="always"> <property name="host">localhost</property> </connection> … EIS Composite Reference

  23. SCA Bindings - JCA • Interaction configuration can be specified by binding sub elements or definitions file <definitions targetNamespace=”http://example.org”> <binding.jca name=”serviceInfo”> <jca.outbound.interaction> <connectionSpec name="FAConnectionSpec"> <property name="userid">SYSAD</property> </connectionSpec> <interactionSpec name="FAInteractionSpec“/> <operation name="hello"> <interactionSpec> <property name="fileMode">read</property> </interactionSpec> </operation> </jca.outbound.interaction> </binding.jca> …

  24. SCA Bindings - JCA Services define how the EIS system may invoke composite Allows to use existing resources to access these services as well as supports creation of resources Connection configuration can be specified via URI, binding sub elements or definitions file <binding.jca> <jca.inbound.connection> <resourceAdapter name="FAResourceAdapter"> <property name="logDrive">D</property> </resourceAdapter> <activationSpecname="FAActivationSpec“ create=“always”> <property name="directory_type">temp</property> <property name="drive">C</property> </activationSpec> </jca.inbound.connection> …

  25. SCA Bindings - JCA • Interaction configuration can be specified by binding sub elements or definitions file <binding.jca> <jca.inbound.interaction> <listener>MyInboundListener</listener> <inboundOperation name="hello" nativeOperation="TXPN"/> <inboundOperation name="bye" nativeOperation="ETXPRN"/> </jca.inbound.interaction> </binding.jca> … Composite EIS Service

  26. SCA Bindings - JCA Binding properties Customize connection or interaction properties without modifying definitions file Specifying property values in the bindings or composite <definitions targetNamespace=“…”> <connectionSpec name=“FileConnectionSpec"> <property name="password" source="$PWD"/> <property name=“user" source="$userid"/> </connectionSpec> <binding.jca uri=“eis/MCF“ connectionInfo="JCA_Svc"> <property name=”PWD”>SYSAD</property> <property name=”userid” source=”$UID”/> </binding.jca> … <composite … > <property name=”UID”>SYSAD</property> </composite> …

  27. SCA Bindings - JCA • Callback and conversations are not supported by the JCA Bindings • EIS accessible through adapters have capabilities to support either one of these capabilities • Operation Selection and Data Binding • The lack of the data interface in CCI prevents from specifying default behavior • A contract between JCA Binding and data binding provided is required for the binding to operate

  28. Summary

  29. SCA Bindings - Summary Web Service, JMS bindings OSOA specifications submitted JCA binding OSOA specification being finalised Other bindings HTTP, possibly others, no existing submission Conformance and test Not defined in OSOA specs

  30. Questions?

More Related