Web Services Container

17
The Web Services Container

Transcript of Web Services Container

Page 1: Web Services Container

The Web Services Container

Page 2: Web Services Container

Main Responsibilities of WSC

Routing messages to appropriate call handlers for execution

Configuring execution steps based on app config data

Control of execution context

Page 3: Web Services Container

SOAP Processing Engine

SOAPEngine

LegacyAdaptors

Web ServicesContainer

CustomLegacyAdaptors

CORBA

EJB

CustomCustomTransports

Cus

tom

Secu

rity

/Se

ssio

nC

ontr

ol

Cus

tom

Mes

sage

Inte

rcep

tors

Javaclass

Page 4: Web Services Container

Web Service Container

Driving question for WSC features:

“What type of configuration details should a user be able to change?”

Page 5: Web Services Container

Web Services Container – Plugin points

Web ServicesContainer

DeploymentAPI

ExecutionAPI (Java)

CallHandler

Usa

geC

ontr

olle

r

Met

adat

aC

atal

ogSe

ssio

nM

anag

emen

t

Act

ivat

ion

Poli

cy

SessionDataStorage

Javaclass

SecurityProviders

Page 6: Web Services Container

Invocation API

Receives a SOAP message, and handles the dispatch of the call to a suitable handler.Based around the current Message Dispatcher / Call Dispatcher interfaces in CapeConnect 3.0The details of how to handler a particular call are delegated to an appropriate call handler.Call handlers can be written by partners and plugged in to the WSC.Invocation pipeline is completely stateless, for maximum throughput.

Page 7: Web Services Container

Deployment Control Interface

Web Service application deployment API

Deploy appUndeploy appReload appPublish app [to UDDI/WSDL]

Deployment API is exposed as a SOAP web serviceRemote deployment by sending a jar as a MIME attachment.

Page 8: Web Services Container

Web Service Container Internals

Web Service Container

ExecutionController

Authentication

Authorization

Activation Control

Session Management

Interceptor Control

Call Handler

Provider

Provider

Storage Provider

Provider

Interceptor(s)

ApplicationMetaData

Page 9: Web Services Container

Instantiation Policy Control

Singleton instance

Instance per user

Instance per session

Instance per call [completely stateless]

Page 10: Web Services Container

Resource Usage Controls

Limit number of service instances.

Concurrency limits.

Possibly billing data collection.

Page 11: Web Services Container

Session management

Session state storagepossibly accessible across server farm for failover

Session timeout policy

Web Service accessible session dataE.g. “cookie”-like context data

Page 12: Web Services Container

Application config

All configuration is set on a per-application basisApp configuration defined in an XML descriptor file (like EJB DD)Typical configuration items:

Serializers and type mappingsActivation policySecurity policyWSDL generation propertiesUDDI publishing properties

Some potential to intercept JSR-109

Page 13: Web Services Container

Web Service Metadata catalog

Service Definition – at several levels

Abstract interfaceE.g. data type definitions, abstract operation types

Protocol specific interface E.g. SOAPAction values for each operationAKA “Concrete” interface definition

Bound interfaceE.g. port definitions with endpoint URL(s)

Published interfaceE.g. UDDI service key / UUID, Published name

Page 14: Web Services Container

Standard default implementations

Provide a standard implementation able to wrap a standard Java class for ease of use.

More sophisticated users can access full details of the call environment.

Partners can provide a custom call handler plugin for specific legacy integration

Advanced partners can provide operation plugins (e.g. session management) to customize behaviour.

Page 15: Web Services Container

Security credential propagation

CapeConnectServer

Import / map credentials from transport (e.g. IIS)

Export / map credentials for call (e.g. WLS)

Cus

tom

auth

enti

cato

rpl

ugin

Cus

tom

auth

oriz

atio

npl

ugin

Page 16: Web Services Container

Inbound Security Propagation

Web Server

Servlet Engine

CapeConnect SOAP Engine

CCSOAP Servlet

Trustrelationship

Transport

HTTP Basic or Digest Authentication,SSL Client-side Certificate, etc.

MessagingProtocol /

Re-authentication

Credentialimport

through:

SOAP Basic or Digest Authentication,SAML SOAP Headers, etc.

Page 17: Web Services Container

Backend Security Propagation

CapeConnect SOAP Engine

SOAPCall Handler

CORBACall Handler

EJBCall Handler

CORBAServer

EJBServer

SOAPServer

EJBCall Handler

EJB Server

ProxyBean

SOAPCredentials

CSIv2Credentials

EJB Native Credentials

UserBean

Re-establish Credentials