Course Number: JAVA.064
Duration: 5 days (full-day sessions) OR Weekend/Evening sessions
Training Overview: This course will give you a thorough understanding and solid hands-on experience of the current Web services architecture, state of the art in developing interoperable web services on the Java EE platform and the technologies that support Web services such as JAX-WS, JSR-181, SOAP, WSDL, and the WS-I Basic Profile. JAX-WS is central to the course, and we cover both WSDL-driven and Java-driven development paths, as well as message handlers and attachment support. With the new Provider and Dispatch APIs, it's now much easier to integrate SAAJ, JAXB, and JAXP code into services and clients, and we explore these strategies in depth as well. This course will also review SOA (Service Oriented Architecture) and BPEL (Business Process Execution Language) as applicable to the industry applications using Web Services.
Location and Pricing: Most of our courses are conducted online OR at our training facility and are customized to meet our students needs. We also provide customized onsite training at our clients' locations. Pricing for an online course depends on if its a weekend/evening course or a full day course. The weekend/evening courses are most cost-effective as they are spread over a period of weeks giving you ample time to complete the hands-on exercises. To receive a customized proposal that will fit your schedule and price quote, please contact us 
Training Prerequisites: All attendees must be experienced Java developers with hands-on grasp of object-oriented principles. Prior Java EE development experience is recommended but not required. Attendees must be able to read XML documents and to write well-formed XML by hand.
Training format: This class is 60% lecture, 40% hand on with one-on-one dedicated time-slots with the instructor.
Training Materials: All students receive a copy of related courseware / material.
Software Needed on Each Student PC:
- Any operating system that supports Java 1.5.0 or later
- Java SE SDK 1.5, 1.6, or later
- Java IDE of your choice (We will advise on specific versions of the software required based on your standard development and production environments.)
- Additional software - please contact us for a detailed setup sheet
Training Objectives:
- Be able to describe the interoperable web services architecture, including the roles of SOAP and WSDL.
- Build JAX-WS services and clients that take full advantage of the automated data binding of JAXB.
- Understand the importance of the WS-I Basic Profile for interoperable web services.
- Use lower-level SOAP and XML APIs for services and/or clients.
- Customize data binding by specifying specific type mappings or altering method or parameter names.
- Expose session beans as web services.
- Incorporate binary data, such as images, into service and client code.
- Secure web services
- SOA (Service Oriented Architecture) and BPEL (Business Process Execution Language) concepts and constructs
Training Outline:
- 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 Interface
- Implementing a Provider
- JAXB Without WSDL
- Integrating JAXP
- The Dispatch 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
- Security
- Java EE Security / Role Based Security
- Securing Web Services with BASIC Authentication
- Transport Security / HTTPS
- Securing Web Services with HTTPS
- WSS (WS-Security) Overview
- SOA and BPEL
- Introduction to SOA
- Composite applications
- Services and SOA
- What is and Why BPEL?
- Orchestration vs. Choreography
- BPEL vocabulary
- Scopes of BPEL
- BPEL and Java technology
- Final Overview
|