j2ee apis and emerging web services standardsj2ee apis and emerging web services standards session...

Post on 08-Jun-2020

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

top related