The Web Services Container
Main Responsibilities of WSC <ul><li>Routing messages to appropriate call handlers for execution </li></ul><ul><li>Configu...
SOAP Processing Engine SOAP Engine Legacy Adaptors Web Services Container Custom Legacy Adaptors CORBA EJB Custom Custom T...
Web Service Container <ul><li>Driving question for WSC features: </li></ul><ul><ul><li>“ What type of configuration detail...
Web Services Container – Plugin points Web Services Container Deployment API Execution API (Java) Call Handler Usage Contr...
Invocation API <ul><li>Receives a SOAP message, and handles the dispatch of the call to a suitable handler. </li></ul><ul>...
Deployment Control Interface <ul><li>Web Service application deployment API </li></ul><ul><ul><li>Deploy app </li></ul></u...
Web Service Container Internals Web Service Container Execution Controller Authentication Authorization Activation Control...
Instantiation Policy Control <ul><li>Singleton instance </li></ul><ul><li>Instance per user </li></ul><ul><li>Instance per...
Resource Usage Controls <ul><li>Limit number of service instances. </li></ul><ul><li>Concurrency limits. </li></ul><ul><li...
Session management <ul><li>Session state storage </li></ul><ul><ul><li>possibly accessible across server farm for failover...
Application config <ul><li>All configuration is set on a per-application basis </li></ul><ul><li>App configuration defined...
Web Service Metadata catalog <ul><li>Service Definition – at several levels </li></ul><ul><ul><li>Abstract interface </li>...
Standard default implementations <ul><li>Provide a standard implementation able to wrap a standard Java class for ease of ...
Security credential propagation CapeConnect Server Import / map credentials from transport  (e.g. IIS) Export / map creden...
Inbound Security Propagation Web Server Servlet Engine CapeConnect SOAP Engine CCSOAP Servlet Trust relationship Transport...
Backend Security Propagation CapeConnect SOAP Engine SOAP Call Handler CORBA Call Handler EJB Call Handler CORBA Server EJ...
Upcoming SlideShare
Loading in …5
×

Web Services Container

2,637 views

Published on

Published in: Technology
1 Comment
0 Likes
Statistics
Notes
  • Find coupons for your hosting. Get a promo deal before you purchase hosting http://vpsnet.wordpress.com/2010/05/03/vps-net-review/
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total views
2,637
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
26
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Web Services Container

  1. 1. The Web Services Container
  2. 2. Main Responsibilities of WSC <ul><li>Routing messages to appropriate call handlers for execution </li></ul><ul><li>Configuring execution steps based on app config data </li></ul><ul><li>Control of execution context </li></ul>
  3. 3. SOAP Processing Engine SOAP Engine Legacy Adaptors Web Services Container Custom Legacy Adaptors CORBA EJB Custom Custom Transports Custom Security / Session Control Custom Message Interceptors Java class
  4. 4. Web Service Container <ul><li>Driving question for WSC features: </li></ul><ul><ul><li>“ What type of configuration details should a user be able to change?” </li></ul></ul>
  5. 5. Web Services Container – Plugin points Web Services Container Deployment API Execution API (Java) Call Handler Usage Controller Metadata Catalog Session Management Activation Policy Session Data Storage Java class Security Providers
  6. 6. Invocation API <ul><li>Receives a SOAP message, and handles the dispatch of the call to a suitable handler. </li></ul><ul><li>Based around the current Message Dispatcher / Call Dispatcher interfaces in CapeConnect 3.0 </li></ul><ul><li>The details of how to handler a particular call are delegated to an appropriate call handler. </li></ul><ul><li>Call handlers can be written by partners and plugged in to the WSC. </li></ul><ul><li>Invocation pipeline is completely stateless, for maximum throughput. </li></ul>
  7. 7. Deployment Control Interface <ul><li>Web Service application deployment API </li></ul><ul><ul><li>Deploy app </li></ul></ul><ul><ul><li>Undeploy app </li></ul></ul><ul><ul><li>Reload app </li></ul></ul><ul><ul><li>Publish app [to UDDI/WSDL] </li></ul></ul><ul><li>Deployment API is exposed as a SOAP web service </li></ul><ul><li>Remote deployment by sending a jar as a MIME attachment. </li></ul>
  8. 8. Web Service Container Internals Web Service Container Execution Controller Authentication Authorization Activation Control Session Management Interceptor Control Call Handler Provider Provider Storage Provider Provider Interceptor(s) Application MetaData
  9. 9. Instantiation Policy Control <ul><li>Singleton instance </li></ul><ul><li>Instance per user </li></ul><ul><li>Instance per session </li></ul><ul><li>Instance per call [completely stateless] </li></ul>
  10. 10. Resource Usage Controls <ul><li>Limit number of service instances. </li></ul><ul><li>Concurrency limits. </li></ul><ul><li>Possibly billing data collection. </li></ul>
  11. 11. Session management <ul><li>Session state storage </li></ul><ul><ul><li>possibly accessible across server farm for failover </li></ul></ul><ul><li>Session timeout policy </li></ul><ul><li>Web Service accessible session data </li></ul><ul><ul><li>E.g. “cookie”-like context data </li></ul></ul>
  12. 12. Application config <ul><li>All configuration is set on a per-application basis </li></ul><ul><li>App configuration defined in an XML descriptor file (like EJB DD) </li></ul><ul><li>Typical configuration items: </li></ul><ul><ul><li>Serializers and type mappings </li></ul></ul><ul><ul><li>Activation policy </li></ul></ul><ul><ul><li>Security policy </li></ul></ul><ul><ul><li>WSDL generation properties </li></ul></ul><ul><ul><li>UDDI publishing properties </li></ul></ul><ul><li>Some potential to intercept JSR-109 </li></ul>
  13. 13. Web Service Metadata catalog <ul><li>Service Definition – at several levels </li></ul><ul><ul><li>Abstract interface </li></ul></ul><ul><ul><ul><li>E.g. data type definitions, abstract operation types </li></ul></ul></ul><ul><ul><li>Protocol specific interface </li></ul></ul><ul><ul><ul><li>E.g. SOAPAction values for each operation </li></ul></ul></ul><ul><ul><ul><li>AKA “Concrete” interface definition </li></ul></ul></ul><ul><ul><li>Bound interface </li></ul></ul><ul><ul><ul><li>E.g. port definitions with endpoint URL(s) </li></ul></ul></ul><ul><ul><li>Published interface </li></ul></ul><ul><ul><ul><li>E.g. UDDI service key / UUID, Published name </li></ul></ul></ul>
  14. 14. Standard default implementations <ul><li>Provide a standard implementation able to wrap a standard Java class for ease of use. </li></ul><ul><li>More sophisticated users can access full details of the call environment. </li></ul><ul><li>Partners can provide a custom call handler plugin for specific legacy integration </li></ul><ul><li>Advanced partners can provide operation plugins (e.g. session management) to customize behaviour. </li></ul>
  15. 15. Security credential propagation CapeConnect Server Import / map credentials from transport (e.g. IIS) Export / map credentials for call (e.g. WLS) Custom authenticator plugin Custom authorization plugin
  16. 16. Inbound Security Propagation Web Server Servlet Engine CapeConnect SOAP Engine CCSOAP Servlet Trust relationship Transport HTTP Basic or Digest Authentication, SSL Client-side Certificate, etc. Messaging Protocol / Re-authentication Credential import through: SOAP Basic or Digest Authentication, SAML SOAP Headers, etc.
  17. 17. Backend Security Propagation CapeConnect SOAP Engine SOAP Call Handler CORBA Call Handler EJB Call Handler CORBA Server EJB Server SOAP Server EJB Call Handler EJB Server Proxy Bean SOAP Credentials CSIv2 Credentials EJB Native Credentials User Bean Re-establish Credentials

×