j2ee apis and emerging web services standardsj2ee apis and emerging web services standards session...
TRANSCRIPT
OracleWeb Services WednesdayWorkshop
1
J2EE APIs and Emerging Web Services Standards
Session #4
Speaker Title
Oracle Corporation
OracleWeb Services WednesdayWorkshop
2
Agenda
J2EE APIs for Web ServicesJAX-RPC
– Introduction– Architecture– Server Programming Model – Client Programming Model
J2EE Web Services deployment model
J2EE APIs for Web ServicesJAX-RPCEmerging Web Services Standards
OracleWeb Services WednesdayWorkshop
3
Why J2EE APIs for Web Services
Standard APIs for creating and invoking Web services in Java/J2EEPortability across J2EE platform vendors Interoperability with standards compliant Web services, and WS-I BP compliancesSimplicity for developing and deploying Web servicesExtensibility of basic Web services runtime Reusability of Existing J2EE artifacts as Web Services runtime
OracleWeb Services WednesdayWorkshop
4
J2EE APIs for Web Services
DescriptionJava APIsfor XML
Java API for XML Registries
Java API for XML Remote Procedure CallJAX-RPC
SAAJ
Java API for XML Data Binding
Java API for XML Data Binding
JAXP
JAXB
JAXR
Java API for XML Parsing
Stateless Session EJB Endpoint ModelEJB 2.1
Web Services Deployment ModelJSR 109
OracleWeb Services WednesdayWorkshop
5
JAX-RPC Design Goals
J2EE App Server
Non-J2EEClient
J2EE App Server
Non-J2EEService
J2EEclient
J2EEservice
J2EEclient
J2EEservice
OracleWeb Services WednesdayWorkshop
6
JAX-RPC Architecture
TransportProtocol (SOAP)
Server Side JAX-RPCRuntime System
JAX-RPC API JAX-RPC APIClient Side JAX-RPC
Runtime System
Stub
Service Endpoint
WSDL description
WSDL<->Java Mapping
Service Client
Dispatch
Container Tie
OracleWeb Services WednesdayWorkshop
7
WSDL/XML Java Mapping
exceptionfault
value typecomplex type
Java types or std. classesschema built-in types
methodoperation
remote interfaceport/portType
javax.xml.rpc.Serviceservice
JavaWSDL
OracleWeb Services WednesdayWorkshop
8
JAX-RPC Message Handlers
SOAP Request
SOAP Request
Han
dler
A
Han
dler
B
Han
dler
1
Han
dler
2
JAX-RPC Service
Endpoint
Handler chain
OracleWeb Services WednesdayWorkshop
9
JAX-RPC Programming Model
Service definition interfaces must follow RMI conventionsNo remote references are allowed.All objects are passed by copy.
OracleWeb Services WednesdayWorkshop
10
Developing JAX-RPC Web Services
javax.rmi.Remote
Service endpointInterface
ServiceLifeCycleInterface
Service Implementation
Class
WSDL to Java
Standard Standard
Generated
Your Code
D E M O N S T R A T I O N
JAX-RPC in Action
OracleWeb Services WednesdayWorkshop
12
JAX-RPC Client Invocation Models
Generated StubsGenerated Stubs
Dynamic ProxyDynamic Proxy
Dynamic InvocationInterface
Dynamic InvocationInterfaceJA
X-R
PC A
PIs
JAX-
RPC
API
s
ClientJAX-RPCRuntime
SOAP/HTTP
HandlerChain
Webservicesclient.xml
OracleWeb Services WednesdayWorkshop
13
Business Use Case
Let’s assume you want to build a new PO processing system
– You already have a Web service exposing relevant Inventory functionality of your ERP system
– You also want to leverage a Credit Web serviceYou want to expose a new PO processing Web service
– Internally uses the Inventory Web service and the Credit Web service to verify eligibility
OracleWeb Services WednesdayWorkshop
14
Business Example
ClientClientPO ServicePO Service
Credit Credit ServiceService
Inventory Inventory ServiceService
Make Order
Check Credit
Check Inventory
Inventory Inventory ServiceService
Inventory Status
Credit Credit ServiceService
Credit Status
Confirm Order ConsolidateResults
OracleWeb Services WednesdayWorkshop
15
Web Services Standards Stack
QualityQualityof Serviceof Service
Orches-tration
Complex WSComplex WS
HTTPHTTP, BEEP, IIOP, JMS, SMTP, BEEP, IIOP, JMS, SMTPXMLXML
SOAPSOAPWSDLWSDLUDDIUDDI
TransportTransport
MessagingMessaging
DescriptionDescriptionDiscoveryDiscovery
OracleWeb Services WednesdayWorkshop
16
Web Services Standards/Tech Stack
HTTP, BEEP, IIOP, JMS, SMTPHTTP, BEEP, IIOP, JMS, SMTPXMLXML
SOAPSOAPWSDLWSDLUDDIUDDI
TransportTransport
MessagingMessaging
DescriptionDescriptionDiscoveryDiscovery
Reliable Reliable MessagingMessaging SecuritySecurity QualityQuality
of Serviceof Service
OracleWeb Services WednesdayWorkshop
17
Web Services Reliability Requirements
Motivation: transport independence, intermediariesAt-Least-Once semanticsAt-Most-Once semantics (no duplicates)Exactly-Once semanticsGuaranteed Message Ordering, within a context delimited using a group id.
OracleWeb Services WednesdayWorkshop
18
WS-Reliability
ApplicationLayer
ApplicationLayer
SOAP NodeWith
ReliableMessaging
SOAP NodeWith
ReliableMessaging
Msg
SOAP Reliable Message
Ack
Acknowledgement Message
Sender Receiver
OracleWeb Services WednesdayWorkshop
19
Security Requirements
Identification - Who are you?Authentication - How do I know it is you?Authorization - Are you allowed?Integrity - Is the data untampered?Confidentiality - Did anyone read it?Auditing - Can you show what happened?Non-Repudiation - Can you prove it happened
OracleWeb Services WednesdayWorkshop
20
How to Achieve Security
Transport-level security– HTTP authentication– Digest authentication– Secure Socket Layer
End-to-End, or Message-Level, or Application-Level security
– WS-Security with XML DSig/Encryption
OracleWeb Services WednesdayWorkshop
21
WS-Security
SOAP extensions to implement integrity and confidentiality.Describes how to exchange signed and encrypted messages Addresses same-domain and cross-domain secure messagingBuild on SOAP, WSDL, XML DSig, XML Enc and SSL/TLSDesigned to support PKI, Kerberos, SAML, XrML, Basic/Digest, SSL
OracleWeb Services WednesdayWorkshop
22
Oracle Roadmap
TransportLayer
Security(SSL)
SAMLXKMS
WS-SECXML-DSIGXML-ENC
SessionPolicy
AuthorizationProvisioning
Today
OracleWeb Services WednesdayWorkshop
23
Web Services Standards/Tech Stack[New Layer]
HTTP, BEEP, IIOP, JMS, SMTPHTTP, BEEP, IIOP, JMS, SMTPXMLXML
SOAPSOAPWSDLWSDLUDDIUDDI
TransportTransport
MessagingMessaging
DescriptionDescriptionDiscoveryDiscovery
Reliable Reliable MessagingMessaging SecuritySecurity
Transactions Transactions &Coordination&Coordination
QualityQualityof Serviceof Service
Choreography:Choreography:BPEL4WS,WSCI,BPSS..BPEL4WS,WSCI,BPSS..
Orches-tration
OracleWeb Services WednesdayWorkshop
24
Orchestration Example
WS
Clie
nt
Cre
dit
WS
Serv
ice
Partn
er L
inks
& R
efer
ence
s
Service Partners
Customer
checkCredit()
createPO()1
XPATH(PO)
Inv
WS
PO
2
Item
checkInv()
XPATH(PO)
3
InvConfirm CreditConfirm
replyToPO()4
OracleWeb Services WednesdayWorkshop
25
Orchestration Challenges
Coordinate asynchronous communication with services and the customerCorrelate message exchanges between participating partiesImplement parallel processing of activities and their synchronization
OracleWeb Services WednesdayWorkshop
26
Different Terminology
Other terms often used in the same context– Web Service Composition– Web Service Choreography– Web Service Coordination– Web Service Conversations– Web Service Collaborations
Different people prefer different terminologies, but basically they’re all talking about…
OracleWeb Services WednesdayWorkshop
27
Specifications OverviewBusiness Process Execution Language for Web Services (BPEL4WS)
– Combination of IBM’s WSFL and MSFT’s XLANGWS-Coordination/Transaction
– Used by BPEL4WS to provide support for long running business transactions (activities)
Web Service Choreography Interface (WSCI)Business protocols, such as ebXML, RosettaNet, etc.
OracleWeb Services WednesdayWorkshop
28
Overview of Business Protocols
SOAP w/ MIME
ebMS (based on SOAP w/
attachments)
XMLDigSig
Reg/Rep
Core Library / Core Components
CPP/CPA
BPSS
ebXML
RNBD, RNTDBusiness Document Definitions
S/MIMEWS-Security, XMLDigSig,
SAML, …
Payload Security
BPEL4WS, BPML, XPDL, …
Internal Business Process Definitions
<= (see ebXML)Collaboration Profile & Agreement
SOAP w/ MIME, DIME
SOAP, WS-Coordination/
Transaction, …
UDDI
Web Services (Orchestration)
Registry and Repository
RNO / MIMETransport, Packaging
RNIFProtocol, Messaging
PIPBusiness Collaboration Definitions
RosettaNet
OracleWeb Services WednesdayWorkshop
29
Web Services Standards Stack
HTTPHTTP, BEEP, IIOP, JMS, SMTP, BEEP, IIOP, JMS, SMTPXMLXML
SOAPSOAPWSDLWSDLUDDIUDDI
TransportTransport
MessagingMessaging
DescriptionDescriptionDiscoveryDiscovery
Reliable Reliable MessagingMessaging SecuritySecurity
Grid Grid ServicesServices
Transactions Transactions &Coordination&Coordination
QualityQualityof Serviceof Service
Choreography:Choreography:BPEL4WSBPEL4WS,WSCI,BPSS..,WSCI,BPSS..
Orches-tration
Integration Integration A2AA2Ai, i, B2BB2Bi :i :ebXMLebXML,, RosettaNetRosettaNet
Complex WSComplex WS