What is a Web Service? Distributed Computing Model Distributed Computing Model Loosely Coupled, Course Grained Standard HTTP Transport Sync/Async Programming Model XML for Transport Described by XML Metadata Described by XML Metadata Discovered via Lookup Discovered via Lookup
Web Services Advantages Programming Language Independent Programming Language Independent Platform Independent Platform Independent Firewall Friendly Firewall Friendly Sync RPC and Async messaging Sync RPC and Async messaging Simple to implement Simple to implement
Web Services Stack Common Internet Protocols (TCP/IP, HTTP, SMTP, FTP) Common Internet Protocols (TCP/IP, HTTP, SMTP, FTP) Data Representation (XML) Data Representation (XML) Data Format Specification (XML Schema, DTD, RDF, WDDX, XMLP) Data Format Specification (XML Schema, DTD, RDF, WDDX, XMLP) Web Services (SOAP, ebXML) Web Services (SOAP, ebXML) Service Description (WSDL) Service Description (WSDL) Service Discovery (UDDI) Service Discovery (UDDI) Service Integration/Workflow (WSFL?) Service Integration/Workflow (WSFL?)
Web Services Pack Tomcat Tomcat JAX PACK JAX PACK JAXP (Processing) JAXB (Binding) JAX-RPC (RPC) JAXM (Messaging) JAXR (Registry) JavaServer Faces (JSR-127) JavaServer Faces (JSR-127)
Other Java Initiatives JSR XML Trust Services API JSR XML Trust Services API JSR XML Digital Signature API JSR XML Digital Signature API JSR XML Encryption API JSR XML Encryption API JSR Implementing Enterprise Web Services JSR Implementing Enterprise Web Services JSR JAVA APIs for WSDL JSR JAVA APIs for WSDL
Web Services Issues Security Security Authentication Authentication Business Process Flow (WFSL) Business Process Flow (WFSL) Performance Performance