Web Services Demystified An Introduction to Web Services
Web Services Demystified An Introduction to Web Services (60 minutes) Andy Scott Jumar Solutions Europe Limited Session: Gen 203 Monday 31 st March 2003 (13: 30 -14: 30)
Web Services Introduction Characteristics of Web Services: • • • Independent Standardised Loosely Coupled (Service Based Architecture) Automated Machine-Machine Communication Discovery
Web Services Introduction Standards: • • • XML (Extensible Markup Language) HTTP (Hyper. Text Transfer Protocol) SOAP (Simple Object Access Protocol) WSDL (Web Services Description Language) UDDI (Universal Description, Discovery and Integration)
Web Services Introduction Service Oriented Architecture: 1. Service Lookup Client Registry 2. Lookup Response 3. Service Invocation 4. Service Response Machine 1 Machine 2 Machine 3 Service A Service C Service A Service B
Web Services Introduction Primary Business Drivers: • • Application Integration Enterprise to Enterprise Connectivity Cost Reduction Marketing & Selling Web Services to Other Companies
Web Services Introduction Primary Technical Drivers: • • • Service-Oriented Architecture Industry Standard Platform Independence Consolidation & Abstraction Break-through Firewalls
Web Services. NET or J 2 EE? Comparison Criteria: • • • Service Description Service Implementation Service Publishing, Discovery, & Binding Service Invocation & Execution Architectures, Frameworks, Security Cost etc.
Java Web Services Stack Java Support for Web Services HTTP/S J 2 EE / JSP Containers UDDI 4 J, JAX-R, WSIL 4 J WSDL 2 Java, Axis SOAP / XML RPC JAX-RPC, Axis XML Document Processing JAX-P, Axis Java Platform
Web Services & XML Core XML Features: • • • XML Namespaces XML Schema XML Document Processing via DOM & SAX JAXP (Java API for XML Processing) XML Protocols (XML-RPC & SOAP)
XML Protocols - SOAP Basic Concepts: • • • SOAP Sender & SOAP Receiver SOAP Message Path & Nodes SOAP Message Exchange Model SOAP Message Processing Rules
SOAP Message Structure SOAP Envelope SOAP Header SOAP Block POST <web address to post to> Content-Type: application/soap (text/xml) Content-Length: nnnn Optional SOAPAction: <SOAP action defined in WSDL> element <env: Envelope xmlns: env=http: //www. w 3. org/2001/06/soap-envelope> <env: Header> SOAP Block … </env: Header> SOAP Body SOAP Block <env: Body> Mandatory element … </env: Body> </env: Envelope> SOAP Block
WSDL Structure <definitions /> WSDL Specification: http: //www. w 3. org/TR/wsdl <types /> What data types? <message /> <port. Type /> What do you do? “An XML format for describing network services as a set of endpoints operating on messages containing either document-oriented or procedure -oriented information” What do you do? <binding /> How? Interface Definition <service /> Where? Which language do you speak? How do I talk to you? Interface Implementation WSDL Document Where are you?
WSDL Elements <wsdl: definitions> <wsdl: message> <wsdl: port. Type> <wsdl: binding> <wsdl: service> <wsdl: import> <types>
UDDI A framework for publication of web services Universal Description Discovery Integration http: //www. uddi. org
UDDI Diagrammatic UDDI Registry Software Companies, Standards Bodies etc. SOAP Publish URL Businesses, Web Service Publishers Save UDDI Cloud Services SOAP Response WSDL Document Repository Business Data Request WSDL Document Service Data Inquiry URL SOAP Query Consumer
UDDI Directory Organisation White Pages – Business Index Yellow Pages – Category Index Green Pages – Web Services Offered
UDDI Programming • Public Test UDDI Registries – Example: https: //uddi. ibm. com/testregistry/registry. html • UDDI for Java API (UDDI 4 J) – IBM Web Services Toolkit • Hierarchical Model of the UDDI Registry • Isolation from UDDI SOAP API • Private Test UDDI Registries – Restricted to Intranet/Extranet – Lightweight UDDI Server • Example: IBM Websphere SDK for Web Services (WSDK)
Web Services Examples • Publishing Web Services with Axis – JWS Instant Deployment (Java Web Service) – WSDD Custom Deployment (WS Deployment Descriptor) • Using WSDL with Axis – Append ? wsdl to URL – Java 2 WSDL – WSDL 2 Java
Advantage Gen Web Services 2 Phase Migration: a) Interim solutions – expose external tools & utilities & build appropriate ‘hooks’ b) Native support incorporated into toolset Examples of Interim Capabilities: – – Active. X / COM client solutions Gen servers to utilise SOAP instead of CFB CA Plug-In WS EJB consumption
Web Services - Challenges • • No ‘meta-data’ specification No ‘business transaction protocol’ Service granularity WS Security – Single ‘sign-on’ – End to end security – Trust • Performance • Further automation required
Questions? Thank you for Attending!
- Slides: 21