sca bindings simon holdsworth piotr przybylski. agenda n sca bindings overview l bindings tc charter...

30
SCA Bindings Simon Holdsworth Piotr Przybylski

Upload: constance-whitehead

Post on 04-Jan-2016

231 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 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

SCA Bindings

Simon Holdsworth

Piotr Przybylski

Page 2: 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

Agenda

SCA Bindings Overview

Bindings TC Charter

Bindings

Web Services Binding

JMS Binding

JCA Binding

Page 3: 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

SCA Bindings - Overview

Composite A

ComponentAService

BindingWeb ServiceSCAJCAJMSSLSB…

BindingWeb ServiceSCAJCAJMSSLSB…

ComponentB

Interface- Java interface- WSDL PortType

Interface- Java interface- WSDL PortType

Wire WireWire

Reference

Propertysetting

Properties

Bindings describe the access mechanism used to provide or access a service

Page 4: 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

SCA Bindings - Overview

Composite

service

reference

reference

Hire

Security

Payroll

Web service binding

JCA binding

JMS binding

EIS

Messaging System

Example SCA Composite with bindings:

Page 5: 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

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

Page 6: 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

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.

Page 7: 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

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”/>

Page 8: 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

Web Service Binding

Page 9: 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

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

Page 10: 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

Composite

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

Provider’s WSDL document

reference

Web ServiceProvider

<binding.ws wsdlElement=“...#wsdl.port(...) wsdlLocation=“http://...” />

<binding.ws wsdlElement=“...#wsdl.binding(...) uri=“http://...”/>

Page 11: 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

Composite

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

SCA service’s generatedWSDL document

Web ServiceProvider

service

<binding.ws/>

Page 12: 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

Composite

SCA Bindings - Web Service

Services may use an existing WSDL binding element In cases where specific WSDL binding subelements needed

SCA service’s WSDL document

Web ServiceProvider

<binding.ws wsdlLocation=“http://...” wsdlElement=“...#wsdl.binding(...)/>

service

Existing WSDL with required binding elements

Page 13: 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

JMS Binding

Page 14: 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

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

Page 15: 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

Composite

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:

reference

Back End Queue

<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>

Page 16: 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

Composite

SCA Bindings - JMS

Services may use existing JMS resources or have new ones created

Specified via URI, binding sub elements or definitions file:

Order Queue

<binding.jms> <destination name=”OrderQueue” create=”ifNotExist”/> <activationSpec name=”OrderQAS” create=”ifNotExist”/></binding.jms>

service

Page 17: 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

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

Page 18: 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

Page 19: 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

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.

Page 20: 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

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

Page 21: 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

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”/>

Page 22: 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

Composite

SCA Bindings - JCA

EIS

<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>…

<binding.jca connectionInfo =“defs:serviceInfo”/>

New resources in the definitions file

Reference

Page 23: 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

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> …

Page 24: 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

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>…

Page 25: 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

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 ServiceEIS

Page 26: 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

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>…

Page 27: 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

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

Page 28: 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

Summary

Page 29: 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

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

Page 30: 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

Questions?