Topics |
|
|
|
What you will learn |
|
After completing this course, the student should be able to:
|
|
Audience |
|
This course is applicable for Architects and Developers that need to design and develop SOAP web services using JAX-WS and RESTful web services using JAX-RS. |
|
Prerequisites |
|
Experience with Java programming is required. Experience with Eclipse/RAD is useful but not required. For those that might need this Java or Eclipse/RAD experience the following course is suggested:
An understanding of basic web architecture and the HTTP protocol. Prior experience with RPC-style services such as Web services, Java RMI, COM objects, etc. is helpful, but not required. |
|
Duration |
|
5 days. |
Outline for Programming Java SOAP and REST Web Services - WebSphere 8.0 / RAD 8.0 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. Introduction to Schema
- What is an XML Schema?
- Instance Documents
- A Simple Instance Document
- Creating a Schema File
- Defining a Simple Element
- Defining a Complex Element
- Defining Element Attributes
- Referring to an Element From Another Element
- Adding Restrictions
- Putting It All Together
- Referring to a Schema from an XML Document
- Global Elements vs. Local Elements
- Summary
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. 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 7. 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 8. 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 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. Managed Web Service Client Binding
- Using a Packaged WSDL
- Managed Web Service Clients
- Injecting the Service Port Directly
- Web Service Administration Tasks
- Configure Endpoint URL in Consumer Side
- Configure Endpoint URL in Provider Side
- Publishing WSDL File
- Working with Policy Sets
- Stopping a Service Listener
- Summary
Chapter 13. 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 14. REST Services
- Many Flavors of Services
- Understanding REST
- Principles of RESTful Services
- REST Resource Examples
- SOAP Equivalent Examples
- REST vs SOAP Communication
- More REST vs SOAP
- REST vs SOAP Summary
- Famous RESTful Services
- Additional Resources
- Summary
Chapter 15. Introduction to JAX-RS
- The JAX-RS Specification
- The Resource Class
- A Bunch of Annotations
- @Path
- Using Path Parameters
- HTTP Method Binding
- More Complex Paths
- Configuring JAX-RS for Deployment
- Summary
Chapter 16. JAX-RS Data Injection
- Sources for Injected Data
- Path Parameters
- Query Parameters
- HTML Form Input
- Cookies
- Matrix Parameters
- HTTP Headers
- Default Values
- Parameter Conversion
- Custom Types
- Summary
Chapter 17. Designing a RESTful Service
- Introduction
- The Design Methodology
- Ingredients of a Service Operation Interface
- What Constitutes a REST Resource
- Resource Identifiers
- MIME Types
- HTTP Methods
- Example Operation Interface Document
- Summary
Chapter 18. JAX-RS Content Types
- Internet Media Types
- Use of Media Type in REST
- The @Consumes Annotation
- Content Negotiation
- The @Produces Annotation
- The MediaType Class
- JAXB
- Dynamic Content Negotiation
- Summary
Chapter 19. Building Complex JAX-RS Responses
- HTTP Response Status Codes
- Introduction to the JAX-RS Response Class
- Using the Response and Response.ResponseBuilder Classes
- Example: Conditional HTTP GET
- Returning Cookies
- Cookies in Response Headers
- Reading Cookies
- Returning an Exception
- ExceptionMappers
- Summary
Chapter 20. Clients of JAX-RS Services
- Java Web Service Clients
- Apache HttpClient
- More Apache HttpClient Code
- JAX-RS Implementation Client Libraries
- RESTEasy Example
- HATEOAS
- Building Links with UriBuilder and UriInfo
- Using Atom Links for State Transitions
- WADL
- WADL Example
- Summary
Chapter 21. Securing JAX-RS Services
- HTTP Basic Authentication
- Example Client
- The WWW-Authenticate and Authorization Headers
- Java EE Security Roles
- Integration with Web Container Security
- Java EE Security Annotations
- SecurityContext
- Restrictions Based on Content Type
- Summary
Chapter 22. REST vs. SOAP
- Defining REST
- The Six REST Architectural Style Constraints
- The Four REST Interface Constraints
- Hypermedia Examples
- Defining SOAP
- RPC SOAP vs. REST
- Document SOAP vs. REST
- Where SOAP Shines
- Where REST Shines
- Selecting an Appropriate Solution
- Summary
10/16/2023 - 10/20/2023
10:00 AM - 06:00 PM
Eastern Standard Time
USD $2,720.00
10/30/2023 - 11/03/2023
10:00 AM - 06:00 PM
Eastern Standard Time
USD $2,720.00
12/18/2023 - 12/22/2023
10:00 AM - 06:00 PM
Eastern Standard Time
USD $2,720.00