Objectives |
|
This class combines lecture with hands-on experience, and open ended discussion that will help the developer quickly understand how to program SOAP web service applications using Java EE 6. Upon completion of the course, students will:
|
|
Topics |
|
|
|
Audience |
|
Java EE developers who will like to learn about how to build a SOAP Web Services based solution. This class covers many advanced topics that will help them build a solution appropriate for a large business. |
|
Prerequisites |
|
Participants should already have an understanding of Java programming. For those that require Java experience before this course the following course is suggested:
|
|
Duration |
|
Five days |
Outline for Programming Java EE 6 SOAP Web Services with JAX-WS - JBoss / Eclipse Training
Chapter 1. Overview of Java Web Services
- A Conceptual Look at Services
- Defining Services
- Benefits of Web Services
- Many Flavors of Services
- Java Web Service Implementation Choices
- Future of JAX-RPC
- Java SOAP Web Services with JAX-WS
- Java REST Web Services with JAX-RS
- REST vs SOAP Summary
- Java and XML with JAXB
- Java Web Service Clients
- Summary
Chapter 2. Basic XML Schemas
- What is XML Schema ?
- Goals of Schema
- Converting DTDs to Schema
- Recall: Namespaces
- The equivalent schema
- Sample instance document
- Documents Needed
- XML Schema Namespaces
- Link Documents to Schemas
- Inline element declarations
- Schema Data Types
- Schema Type Definitions
- Schema Simple Data Types
- Primitive Data Types
- Simple Types
- Facet – Restrictions on Element Content
- Using the Facet
- More Samples
- Define Simple Element Type
- Element Declaration
- Element Occurrence Indicators
- Complex Type
- Attribute Declaration
- Attribute Declarations
- Occurrence of Attributes
- Value Constraints on Attributes
- Sequence Element
- Element Choices
- Express any order
- Annotations
Chapter 3. The Java Architecture for XML Binding (JAXB)
- Introduction to JAXB
- Overview of Data Binding
- JAXB Architecture
- Binding Example
- Binding Framework Example
- Java and XML Mapping Overview
- Namespace and Package Name Mapping
- Simple Type Mapping
- Complex Type Mapping
- Customizing Complex Type Mapping
- Property Accessor Customization
- Property Mapping Customization
- XML Element Mapping
- Mapping Java Enums
- Mapping Collections
- Generating Java Class and Schema
- Marshalling and Unmarshalling
- Summary
Chapter 4. Introduction to JAX-WS
- What is JAX-WS?
- Advantages of JAX-WS
- Why Do We Need a Programming Model?
- Basic Java to WSDL Mapping
- Developing a Service Provider
- The Service Implementation Class
- The Service Endpoint Interface (SEI)
- Service Implementation Options
- Developing a Consumer
- Static Client Development
- The Service Class
- The BindingProvider Interface
- Summary
Chapter 5. Web Services Description Language (WSDL)
- WSDL Overview
- WSDL Syntax Overview
- <definitions>
- <import>
- <types>
- <message>
- <portType>
- <operation>
- <binding>
- <service>
- Summary
Chapter 6. JAX-WS Mapping Details
- Introduction to Mapping in JAX-WS
- Top-down and Bottom-up Mapping
- WSDL to Java Mapping
- XML Data Type to JavaBean Mapping
- Mapping <portType> to the SEI
- Mapping the SOAP <binding>
- Customizing WSDL to Java Mapping
- Java to WSDL Mapping
- JavaBean to XML Mapping
- Mapping SEI to <portType>
- Mapping Java Method to <operation>
- Input Parameter Mapping
- Method Output Mapping
- Bare Input and Output Mapping
- RPC Literal Style
- Service Provider Annotation
- Web Service Provider Example
- Service Provider Annotations
- JAX-WS Clients
- Synchronous and Asynchronous Calls
- Summary
Chapter 7. Simple Object Access Protocol (SOAP)
- SOAP Overview
- SOAP in Protocol Stack
- SOAP Document Components
- Example SOAP Request Document
- Example SOAP Response Document
- The <Envelope> Element
- The <Header> Element
- The <Body> Element
- SOAP Communication Style
- Communication Style Example
- Setting the Style in WSDL
- RPC/Encoded Style
- RPC/Literal Style
- Document/Literal Style
- Document/Literal Wrapped Style
- Summary
Chapter 8. Web Services Interoperability (WS-I)
- Introduction
- Goal
- What Comes out of WS-I?
- WS-I Tools
- Profiles
- WS-I Messaging
- Messaging Highlights
- Service Description
- Service Description Highlights
- Service Publication/Discovery
- Security
- .NET Interoperability
Chapter 9. Advanced JAX-WS API
- Publishing a Web Service
- Web Service Context
- Message Context
- Working With Raw XML
- Raw XML: Server Side
- XML Handling Strategies
- Raw XML: Client Side
- Summary
Chapter 10. Building an EJB Based Web Service
- Introduction
- Why Use EJB as Service Implementation?
- Implementing EJB Web Service
- Using a Service Endpoint Interface (SEI)
- Summary
Chapter 11. Error Handling
- Introduction
- Fault
- Designing Faults
- System Problems
- Business Rule Violation
- Summary
Chapter 12. JBoss Web Services and Clients
- JBoss Web Service Deployment
- Routing Web Service Requests
- JBoss Web Service Deployment Descriptor
- Writing Portable Web Service Clients for JBoss
- Using a Packaged WSDL
- Managed Web Service Clients
- JBoss @WebServiceRef Customization
- JBoss Web Service Tools
- Summary
- Reference
Chapter 13. Overview of Java Persistence API
- Data Persistence
- Java Persistence API
- Entities
- Session EJB vs JPA Entities
- Entities
- Persisting and Retrieving Data
- Accessing Entities
- EntityManager & Persistence Unit
- Persistence Context
- Entities - Example
- persistence.xml – Hibernate Provider
- persistence.xml – Open JPA Provider
- persistence.xml - Toplink
- Entity Instance Lifecycle
- Creating EntityManager in Session EJB
- Creating EntityManager in a Plain Java Class
- Working With the EntityManager Interface
- Transaction Basics
- Summary
Chapter 14. Using MTOM for Binary Data
- What is MTOM?
- How MTOM Differs from Previous Approaches
- Role of XML-binary Optimized Packaging (XOP)
- Example of MTOM Messages
- Enabling MTOM on a JAX-WS Service
- Enabling MTOM on a Client
- Summary
Chapter 15. Advanced JBoss Web Service Features
- JAX-WS + WS-*
- Apache CXF Support for WS-*
- Implementation Choices
- Using WS-Policy for Advanced Features
- Using Apache CXF API for Advanced Features
- Using Apache CXF Configuration for Advanced Features
- So Which to Use?
- Supplying Apache CXF Configuration File
- Using jbossws-cxf.xml File
- Installing Spring Modules for JBossWS
- Setting Classpath Dependencies
- Summary
Chapter 16. Web Services Security (WS-Security)
- The Challenges
- Public Key Infrastructure (PKI)
- Digital Signature
- Certificates
- Overview of Web Services Security
- SOAP Message Security
- Message Integrity
- Message Confidentiality
- Symmetric Encryption Example
- Authentication Using Identity Token
- Authentication
- Transport Level Security
- Audit Tracking
- Identity Assertion Using SAML
- SAML SOAP Example
Chapter 17. Interoperability of WS-Security
- Interoperability Challenges
- Recall WS-Security
- Platform Run-Time Issues
- Hints
- Recall: WS-I
- Basic Security Profile v1.0
- Using Basic Security Profile 1.0
- BSP 1.0 Details
- BSP 1.0 Highlights
- Summary
Chapter 18. WS-Addressing
- What is WS-Addressing?
- WS-Addressing and Long Running Services
- Other Uses of WS-Addressing
- WS-Addressing SOAP Header Elements
- Example Client SOAP Request
- Example Callback SOAP Request
- Writing JAX-WS Clients to use WS-Addressing
- Enabling Asynchronous Service Requests
- Using WS-Addressing from the Client
- Providing an AsyncHandler to Handle Callbacks
- WS-Addressing Headers in SOAP Messages
- WS-Addressing Sequence of Events
- Asynchronous "Polling"
- Endpoint References
- Associating Actions with WSDL Operations
- Faults
- Security and Firewall Issues
- Summary
Chapter 19. WS-ReliableMessaging
- The Problem with HTTP
- Enter WS-ReliableMessaging
- When to Use Reliable Messaging?
- How Does WS-RM Work?
- Importance of Persistence
- The Problem With Firewall
- How Does WS-MakeConnection Work?
- Using WS-MakeConnection
- Summary
Chapter 20. Web Services Handlers
- Handlers
- Basic Handler Behavior
- Basic Steps
- JBoss Note
- Handler Classes
- LogicalHandlers
- Protocol Handlers
- Sample Handler
- Getting Message Details
- Inbound and Outbound
- Handler Configuration File
- Sampler Handler.xml
- Specify the Handler Chain
- Sample: Using A Handler
- Executing
- Summary
Chapter 21. Best Practices
- Architecture Best Practices
- Data Format Best Practices
- Security Best Practices
- Programming Model Best Practices
- Summary