GI402 Java Web Services.
Course currently not scheduled
List of currently scheduled courses click here
This class prepares Java programmers to develop interoperable Java Web services and using SOAP, WSDL, and XML Schema. Students get an overview of the interoperable and Java-specific Web services architectures, and then learn the standard APIs for SOAP messaging and WSDL-driven, component-based service development. Both document-style and RPC-style messages and services are covered in depth.
Topics
- Overview of Web Services
- Why Web Services?
- Service-Oriented Architecture
- HTTP and XML
- Simple Object Access Protocol (SOAP)
- Web Service Description Language (WSDL)
- Universal Description, Discovery and Integration (UDDI)
- The WS-I Basic and Related Profiles
- REST
- Web Services for Java EE
- Hosting Web Services: Scenarios
- Invoking Web Services: Scenarios
- Web Services for Java EE (WS4JEE)
- The Automated Approach: JAX-WS and JAXB
- Manual Options: SAAJ and JAXP
- Portable Web-Services Metadata
- Service Registries: JAXR
- The Simple Object Access Protocol
- Messaging Model
- Namespaces
- SOAP over HTTP
- The SOAP Envelope
- The Message Header
- The Message Body
- SOAP Faults
- Attachments
- The Java API for XML Binding
- The Need for Data Binding
- XML Schema
- Two Paths
- JAXB Compilation
- Mapping Schema Types to Java
- Java-to-XML Mapping Using Annotations
- Marshaling and Unmarshaling
- Working with JAXB Object Models
- In-Memory Validation
- Web Services Description Language
- Web Services as Component-Based Software
- The Need for an IDL
- Web Services Description Language
- WSDL Information Model
- The Abstract Model -- Service Semantics
- Message Description
- Messaging Styles
- The Concrete Model -- Ports, Services, Locations
- Extending WSDL -- Bindings
- Service Description
- The Java API for XML-Based Web Services
- Two Paths
- How It Works: Build Time and Runtime
- The Service Endpoint Interface
- Working from WSDL
- Working from Java
- RPC and Document Styles
- One-Way Messaging
- Binary Protocols
- WSDL-to-Java Development
- The @WebService Annotation
- Generated Code
- Compilation and Assembly
- Deployment
- Runtime Behavior
- Scope of Code Generation
- More JAXB: Mapping Collections
- More JAXB: Mapping Enumerations
- Client-Side Development
- Stubs and Proxies
- Generated Code
- Locating a Service
- Invoking a Service
- Java-to-WSDL Development
- The @WebMethod, @XmlParam, and Related Annotations
- Scope of Code Generation
- More JAXB: Mapping Inheritance
- Controlling the XML Model
- Controlling the WSDL Description
- JAX-WS Best Practices
- Which Way to Go?
- Interoperability Impact
- Portability Impact
- Polymorphism in Web Services
- Web Services as Java EE Components
- lifecycle Annotations
- Context Interfaces
- The @WebServiceRef Annotation
- Provider and Dispatch APIs
- Stepping Down
- The Provider<T> Interface
- Implementing a Provider
- JAXB Without WSDL
- Integrating JAXP
- The Dispatch<T> Interface
- Building Clients
- The SOAP with Attachments API for Java
- The SAAJ Object Model
- Parsing a SOAP Message
- Reading Message Content
- Working with Namespaces
- Creating a Message
- Setting Message Content
- Message Handlers
- Handling SOAP Headers
- Servlet Endpoint Context
- MessageContext and SOAPMessageContext
- Message Handlers and Handler Chains
- Processing Model and Patterns
- Client-Side Handlers
- EJBs as Web Services
- Enterprise JavaBeans
- Three Tiers for Java EE
- EJB3 and JAX-WS
- Session Beans as Web Service Endpoints
- The Bean's Service Endpoint Interface
- SOAP as an EJB Protocol
- Pitfalls
- Handling Binary Content
- The WS-I Attachments Profile
- Using base64Binary
- MIME Attachments
- JAX-WS Support
- MTOM and XOP
- SAAJ Support
- Conclusion