Visão Geral
Uma visão abrangente das ferramentas e técnicas necessárias para desenvolver serviços da Web interoperáveis usando qualquer um dos ambientes de desenvolvimento populares e plataformas de servidor de aplicativos. Os alunos aprendem os principais padrões - SOAP, WSDL e o WS-I Basic Profile - e a arquitetura Java que evoluiu para construir serviços e clientes interoperáveis. JAX-WS é central para o curso, e abordamos os caminhos de desenvolvimento orientados por WSDL e orientados por Java, bem como manipuladores de mensagens e suporte a anexos. Com as novas APIs Provider e Dispatch, agora é muito mais fácil integrar o código SAAJ, JAXB e JAXP em serviços e clientes, e também exploramos essas estratégias em profundidade.
Conteúdo Programatico
Chapter 1. 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
Chapter 2. 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
Chapter 3. The Simple Object Access Protocol
- Messaging Model
- Namespaces
- SOAP over HTTP
- The SOAP Envelope
- The Message Header
- The Message Body
- SOAP Faults
- Attachments
Chapter 4. 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
Chapter 5. 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
Chapter 6. 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
Chapter 7. 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
Chapter 8. Client-Side Development
- Stubs and Proxies
- Generated Code
- Locating a Service
- Invoking a Service
Chapter 9. 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
Chapter 10. 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
Chapter 11. Provider and Dispatch APIs
- Stepping Down
- The Provider
- Interface
- Implementing a Provider
- JAXB Without WSDL
- Integrating JAXP
- The Dispatch
- Interface
- Building Clients
Chapter 12. 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
Chapter 13. Message Handlers
- Handling SOAP Headers
- Servlet Endpoint Context
- MessageContext and SOAPMessageContext
- Message Handlers and Handler Chains
- Processing Model and Patterns
- Client-Side Handlers
Chapter 14. Handling Binary Content
- The WS-I Attachments Profile
- Using base64Binary
- MIME Attachments
- JAX-WS Support
- MTOM and XOP
- SAAJ Support