8297  Reviews star_rate star_rate star_rate star_rate star_half

Programming Java SOAP and REST Web Services - WebSphere 8.5 / Eclipse

This course covers how to implement web services with WebSphere 8.5 using the most recent Java standards, JAX-WS for SOAP web services and JAX-RS for REST web services. Since it is possible to use...

Read More
$2,720 USD
Duration 5 days
Course Code WA2171
Available Formats Classroom

Overview

This course covers how to implement web services with WebSphere 8.5 using the most recent Java standards, JAX-WS for SOAP web services and JAX-RS for REST web services. Since it is possible to use both styles of web services, even within the same application, this course will show the student the strengths of both styles and how to properly implement both types of web services.

  • Testing web services is also more difficult than "normal" web applications so this course covers tools and techniques used to test web services in the labs.
  • This course will be particularly useful for those looking to upgrade existing JAX-RPC Java web services and who want to know the different styles of web services now supported by WebSphere 8.5.
  • Labs are done using the new Eclipse tools for WebSphere.

Skills Gained

After completing this course, the student should be able to:

  • Confidently design XML schema and WSDL.
  • Tell the difference between different SOAP styles (document literal, RPC literal etc.)
  • Implement a Web Service using Eclipse and WebSphere 8.5.
  • Write a Web Services client using standard Java specifications.
  • Secure JAX-WS web services.
  • Understand the REST style of software architecture
  • Describe the advantages and disadvantages of applying RESTful design strategies to various scenarios
  • Implement RESTful services using the JAX-RS Java specification
  • Create JAX-RS services that use various types of request/response content
  • Compare and contrast REST with RPC, SOAP, and other similar communication strategies
  • Use various techniques to implement clients of RESTful services
  • Apply Java EE security to JAX-RS services

Who Can Benefit

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: WA1278 Introduction to Java Using Eclipse
  • 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.

Course Details

Outline

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
  • Samples using Regular Expressions
  • 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. 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 Example – Create
  • REST Example – Retrieve
  • REST Example – Update
  • REST Example – Delete
  • REST Example – Client Generated ID
  • SOAP Equivalent Examples
  • REST Example – JSON
  • 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
  • Request and Response Body Structure
  • Example Operation Interface Document
  • Formal (Machine-Readable) Specifications
  • Formal (Machine-Readable) Specifications (cont'd)
  • 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

Lab Exercises

  • Lab 1. Configure the Development Environment
  • Lab 2. Introduction To Web Services
  • Lab 3. Creating An XML Schema
  • Lab 4. JAXB Programming
  • Lab 5. Create A Bottom Up Web Service
  • Lab 6. Creating A WSDL File
  • Lab 7. Creating A Top-Down Web Service
  • Lab 8. Developing A Web Service Client
  • Lab 9. Monitoring SOAP Messages
  • Lab 10. Controlling JAXB Mappings
  • Lab 11. Develop EJB Based Service
  • Lab 12. Handle Web Service Faults
  • Lab 13. Managed Service Client
  • Lab 14. Getting Setup for WS-Security
  • Lab 15. Message Integrity using WS-Security
  • Lab 16. Message Confidentiality
  • Lab 17. Develop a Simple RESTful Service
  • Lab 18. Extracting Information from a HTTP Request
  • Lab 19. Designing a RESTful Service
  • Lab 20. Add Support for XML Format
  • Lab 21. Add Support for JSON
  • Lab 22. Build the Order Web Service
  • Lab 23. Complete the Order Service
  • Lab 24. Developing a JAX-RS Client
  • Lab 25. Securing RESTful Services

Schedule

FAQ

Does the course schedule include a Lunchbreak?

Classes typically include a 1-hour lunch break around midday. However, the exact break times and duration can vary depending on the specific class. Your instructor will provide detailed information at the start of the course.

What languages are used to deliver training?

Most courses are conducted in English, unless otherwise specified. Some courses will have the word "FRENCH" marked in red beside the scheduled date(s) indicating the language of instruction.

What does GTR stand for?

GTR stands for Guaranteed to Run; if you see a course with this status, it means this event is confirmed to run. View our GTR page to see our full list of Guaranteed to Run courses.

Does Ascendient Learning deliver group training?

Yes, we provide training for groups, individuals and private on sites. View our group training page for more information.

What does vendor-authorized training mean?

As a vendor-authorized training partner, we offer a curriculum that our partners have vetted. We use the same course materials and facilitate the same labs as our vendor-delivered training. These courses are considered the gold standard and, as such, are priced accordingly.

Is the training too basic, or will you go deep into technology?

It depends on your requirements, your role in your company, and your depth of knowledge. The good news about many of our learning paths, you can start from the fundamentals to highly specialized training.

How up-to-date are your courses and support materials?

We continuously work with our vendors to evaluate and refresh course material to reflect the latest training courses and best practices.

Are your instructors seasoned trainers who have deep knowledge of the training topic?

Ascendient Learning instructors have an average of 27 years of practical IT experience and have also served as consultants for an average of 15 years. To stay current, instructors spend at least 25 percent of their time learning new, emerging technologies and courses.

Do you provide hands-on training and exercises in an actual lab environment?

Lab access is dependent on the vendor and the type of training you sign up for. However, many of our top vendors will provide lab access to students to test and practice. The course description will specify lab access.

Will you customize the training for our company’s specific needs and goals?

We will work with you to identify training needs and areas of growth.  We offer a variety of training methods, such as private group training, on-site of your choice, and virtually. We provide courses and certifications that are aligned with your business goals.

How do I get started with certification?

Getting started on a certification pathway depends on your goals and the vendor you choose to get certified in. Many vendors offer entry-level IT certification to advanced IT certification that can boost your career. To get access to certification vouchers and discounts, please contact info@ascendientlearning.com.

Will I get access to content after I complete a course?

You will get access to the PDF of course books and guides, but access to the recording and slides will depend on the vendor and type of training you receive.

How do I request a W9 for Ascendient Learning?

View our filing status and how to request a W9.

Reviews

vary good online learning. instructor is vary good the way he explained every thing.

Course was great and informative. The instructor had a good flow and was very personable.

Great and very intuitive. Better than the traditional hit the wrong button/lose points.

The instructor really took his time and made sure I was able to understand the concepts.

Great class I learned a great deal from the material. There would seem to a large amount that I need to learn about.