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

29
Oracle Web Services Wednesday Workshop 1 J2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation

Upload: others

Post on 08-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: J2EE APIs and Emerging Web Services StandardsJ2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation Oracle Web Services Wednesday Workshop 2 Agenda

OracleWeb Services WednesdayWorkshop

1

J2EE APIs and Emerging Web Services Standards

Session #4

Speaker Title

Oracle Corporation

Page 2: J2EE APIs and Emerging Web Services StandardsJ2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation Oracle Web Services Wednesday Workshop 2 Agenda

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

Page 3: J2EE APIs and Emerging Web Services StandardsJ2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation Oracle Web Services Wednesday Workshop 2 Agenda

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

Page 4: J2EE APIs and Emerging Web Services StandardsJ2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation Oracle Web Services Wednesday Workshop 2 Agenda

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

Page 5: J2EE APIs and Emerging Web Services StandardsJ2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation Oracle Web Services Wednesday Workshop 2 Agenda

OracleWeb Services WednesdayWorkshop

5

JAX-RPC Design Goals

J2EE App Server

Non-J2EEClient

J2EE App Server

Non-J2EEService

J2EEclient

J2EEservice

J2EEclient

J2EEservice

Page 6: J2EE APIs and Emerging Web Services StandardsJ2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation Oracle Web Services Wednesday Workshop 2 Agenda

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

Page 7: J2EE APIs and Emerging Web Services StandardsJ2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation Oracle Web Services Wednesday Workshop 2 Agenda

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

Page 8: J2EE APIs and Emerging Web Services StandardsJ2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation Oracle Web Services Wednesday Workshop 2 Agenda

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

Page 9: J2EE APIs and Emerging Web Services StandardsJ2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation Oracle Web Services Wednesday Workshop 2 Agenda

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.

Page 10: J2EE APIs and Emerging Web Services StandardsJ2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation Oracle Web Services Wednesday Workshop 2 Agenda

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

Page 11: J2EE APIs and Emerging Web Services StandardsJ2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation Oracle Web Services Wednesday Workshop 2 Agenda

D E M O N S T R A T I O N

JAX-RPC in Action

Page 12: J2EE APIs and Emerging Web Services StandardsJ2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation Oracle Web Services Wednesday Workshop 2 Agenda

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

Page 13: J2EE APIs and Emerging Web Services StandardsJ2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation Oracle Web Services Wednesday Workshop 2 Agenda

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

Page 14: J2EE APIs and Emerging Web Services StandardsJ2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation Oracle Web Services Wednesday Workshop 2 Agenda

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

Page 15: J2EE APIs and Emerging Web Services StandardsJ2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation Oracle Web Services Wednesday Workshop 2 Agenda

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

Page 16: J2EE APIs and Emerging Web Services StandardsJ2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation Oracle Web Services Wednesday Workshop 2 Agenda

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

Page 17: J2EE APIs and Emerging Web Services StandardsJ2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation Oracle Web Services Wednesday Workshop 2 Agenda

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.

Page 18: J2EE APIs and Emerging Web Services StandardsJ2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation Oracle Web Services Wednesday Workshop 2 Agenda

OracleWeb Services WednesdayWorkshop

18

WS-Reliability

ApplicationLayer

ApplicationLayer

SOAP NodeWith

ReliableMessaging

SOAP NodeWith

ReliableMessaging

Msg

SOAP Reliable Message

Ack

Acknowledgement Message

Sender Receiver

Page 19: J2EE APIs and Emerging Web Services StandardsJ2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation Oracle Web Services Wednesday Workshop 2 Agenda

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

Page 20: J2EE APIs and Emerging Web Services StandardsJ2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation Oracle Web Services Wednesday Workshop 2 Agenda

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

Page 21: J2EE APIs and Emerging Web Services StandardsJ2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation Oracle Web Services Wednesday Workshop 2 Agenda

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

Page 22: J2EE APIs and Emerging Web Services StandardsJ2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation Oracle Web Services Wednesday Workshop 2 Agenda

OracleWeb Services WednesdayWorkshop

22

Oracle Roadmap

TransportLayer

Security(SSL)

SAMLXKMS

WS-SECXML-DSIGXML-ENC

SessionPolicy

AuthorizationProvisioning

Today

Page 23: J2EE APIs and Emerging Web Services StandardsJ2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation Oracle Web Services Wednesday Workshop 2 Agenda

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

Page 24: J2EE APIs and Emerging Web Services StandardsJ2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation Oracle Web Services Wednesday Workshop 2 Agenda

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

Page 25: J2EE APIs and Emerging Web Services StandardsJ2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation Oracle Web Services Wednesday Workshop 2 Agenda

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

Page 26: J2EE APIs and Emerging Web Services StandardsJ2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation Oracle Web Services Wednesday Workshop 2 Agenda

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…

Page 27: J2EE APIs and Emerging Web Services StandardsJ2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation Oracle Web Services Wednesday Workshop 2 Agenda

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.

Page 28: J2EE APIs and Emerging Web Services StandardsJ2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation Oracle Web Services Wednesday Workshop 2 Agenda

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

Page 29: J2EE APIs and Emerging Web Services StandardsJ2EE APIs and Emerging Web Services Standards Session #4 Speaker Title Oracle Corporation Oracle Web Services Wednesday Workshop 2 Agenda

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