Mastering Java Web Services

Geared for experienced developers, Mastering Java Web Services is a five day, lab-intensive web services training course that covers the entire spectrum of technologies that enable Web Services in...

Read More
$2,395 USD GSA  $2,171.79
Course Code TT7380
Duration 4 days
Available Formats Classroom
6119 Reviews star_rate star_rate star_rate star_rate star_half
Course Image

Geared for experienced developers, Mastering Java Web Services is a five day, lab-intensive web services training course that covers the entire spectrum of technologies that enable Web Services in Java and JEE. This course focuses on what separates an ad hoc set of web services (NOT SOA) from a managed, vibrant, reusable catalog of enterprise services (definitely SOA). This course provides an overview of the entire spectrum from the promise of cloud computing to the grit of XML content. Students will gain practical, hands-on experience with implementations of the Java XML and Web Service APIs including JAXP, JAXB, JAX-WS 2.0, WSEE, and XWSS. In terms of Java, the focus is on using the JAX-WS 2.0 and JAXB APIs and implementations as the basic for generating and deploying web services and service clients. SOA and Web Services represent a groundbreaking evolution in distributed computing. The concepts are not altogether new, but the application of them, and the unanimous acceptance of core standards like HTTP, XML, SOAP, WSDL, and the various WS-* policies, has paved the way for XML Web Services and service-oriented architectures. An overreaching concern related to services is security. Various aspects of security are woven into this course, allowing students to see the entire spectrum of issues as well as solutions. These include encryption, digital signatures, authentication and authorization assertions, and recognized application security issues such as Cross-Site Scripting and Injection attacks.

Skills Gained

  • Understand and apply the basic concepts of SOA to the identification and design of web services
  • Understand the relationship between SOA and the entire spectrum of services from SOAP and RESTful services to microservices
  • Understand and apply the basic concepts of SOA to the identification and design of web services
  • Appreciate the concept of layered services including orchestration
  • Understand and intelligently discuss Web Services and the core technologies involved
  • Design, develop, and deploy real-world JEE Web Services
  • Expose existing Java components as XML Web Services
  • Write Java components that access remote Web Services hosted by a third party
  • Read and understand a WSDL document
  • Parse, process, and respond to a SOAP message
  • Understand the concepts behind REST and implement a REST-based web service
  • Implement handlers to inject cross-cutting solutions for security, logging, auditing, and other needs
  • Work with WS-Security to protect content, resources, and other assets
  • SOAP – Simple Object Access Protocol - A remote invocation (RPC) and messaging mechanism.
  • WSDL – Web Services Description Language – An XML language that describes the interface and semantics of a Web service.
  • REST- Representational State Transfer - A style of implementing web services that is gaining increasing acceptance and use
  • WS-I –Web Services Interoperability Profiles
  • WS-Security/XWSS – Web Services Security
  • JAX-WS 2.0 – Accessing Web services using Java
  • JAXB – Used for binding XML to Java, increasing interoperabiltiy between the two

Who Can Benefit

This is an intermediate level training course, designed for experienced Java developers and architects who need to identify, design, and implement web services. We will explore and apply the terminology, the specification, the processes and technologies specific to web services. Students should have 1-2 years of working knowledge with Servlets and JSPs, and should be familiar with XML, Namespaces, and XML Schema.

Course Details

Session: Exploring Web Services

Lesson: Web Services Overview

  • Web Services Architecturally
  • SOAP, RESTful, and Microservice
  • Spec and Standard Evolution
  • Web Services Interoperability Organization
  • .NET Platform & .NET Web Services
  • Java and Web Services

Lesson: Web Services, Java, and JEE

  • XML Signature
  • XML Encryption
  • JAXP, JAXB, and JAX-WS
  • JEE and Web Services
  • Web Services Stacks at a Glance

Lesson: Web Services Quickstart

  • “Typical” Web Services Stack
  • How Stack is Used on the Service-Side
  • How Stack is Used on the Client-Side
  • Debugging Web Services

Session: Foundation of Web Services

Lesson: XML Review: Namespaces, & Schema

  • XML Separates Structure, Content and Format
  • XML Namespaces
  • Namespaces Best Practices
  • W3C XML Schemas

Lesson: XML in Java - JAXP and JAXB

  • JAXP: Java API for XML Processing
  • Security Concerns Relative to Parsing
  • JAXB: Binding XML to Java

Session: Binding – SOAP/REST

Lesson: SOAP Overview

  • Anatomy of a SOAP Message
  • SOAP and HTTP
  • SOAP Messaging
  • Remote Procedure Calls
  • SOAP With Attachments
  • The SOAP Envelope
  • SOAP Data Model

Lesson: REST Overview

  • REpresentational State Transfer
  • REST Characteristics
  • REST Elements
  • REST Architectural Principles
  • REST and HTTP
  • REST/HTTP: Representation-Oriented
  • REST Design Principles

Session: Description and Discovery

Lesson: WSDL Overview

  • Describing Web Services
  • WSDL in Practice
  • WSDL/SOAP Namespaces
  • WSDL Anatomy

Lesson: Discovery

  • Issues With Broadly Scoped Discovery
  • UDDI Registries
  • Tools That Support Discovery

Session: Web Services in Java – JAX-WS

Lesson: JAX-WS Overview

  • JAX-WS Architecture
  • JAX-WS Features
  • Web Service Annotations
  • JAX-WS Programming Model
  • JAX-WS Handlers

Lesson: Working with JAX-WS

  • JAX-WS Development Process
  • Bottom-up Building of a Web Service
  • Top-Down Building of a Web Service
  • Types of JAX-WS Clients

Lesson: Handlers

  • JAX-WS and Handlers
  • Handler Life Cycle
  • Configuring Handlers
  • Understanding SAAJ

Lesson: Working With Attachments

  • SOAP With Attachments
  • Sending Binary Data
  • Optimized Serialization
  • WS-I Attachment Profile
  • swaRef
  • Enabling MTOM in JAX-WS
  • Attached and In-line
  • JAX-WS and swaRef

Session: Implementing REST with JAX-RS

Lesson: Designing RESTful Services

  • Effectively Designing RESTful Services
  • Best Practices for Endpoint Definition
  • Using Query Parameters
  • Working with HTTP GET and DELETE
  • Working with HTTP PUT
  • Working with HTTP POST
  • Best Practices for HTTP Methods
  • Handling Additional Operations

Lesson: Overview of JAX-RS

  • JAX-RS Implementations
  • JAX-RS Service Class
  • JAX-RS Service Lifecycle Options
  • Consuming RESTful Services

Lesson: @Path: URI Matching

  • @Path Annotation
  • @Path Expressions
  • @Path and Regular Expressions
  • HTTP Method Annotations

Lesson: Injection Using JAX-RS

  • Parameters
  • Working with @PathParam
  • Header and Cookie Values Can be Injected
  • Working Programmatically with URI

Lesson: Handling Exceptions

  • REST/HTTP 1.1 Error Response Codes
  • Overview of Exception Handling in JAX-RS
  • JAX-RS's WebApplicationException

Lesson: Handling Content

  • JAX-RS Built-In Content Handlers
  • Content Marshaling
  • Using JAXB With JAX-RS
  • Working With JSON
  • Content Negotiation (Conneg)

Session: Advanced Web Services Topics

Lesson: Web Services for JEE (WSEE)

  • WSEE Server Programming Model
  • WSDD
  • WSEE Client Programming Model

Lesson: Transactions in Web Services: WS-TX

  • SOA's Challenge of Handling Transactions
  • WS-Transaction (WS-TX)
  • WS-Coordination
  • WS-AtomicTransaction
  • WS-BusinessActivity

Session: Security - WS-Security and Defenses

Lesson: XML Signature and Encryption

  • XML Challenges
  • XML Signature
  • XML Signature Usage
  • XML Encryption
  • XML Encryption Usage

Lesson: WS-Security

  • Transport-Level Security
  • Message-Level Security
  • Web Services Security Roadmap
  • WS-Security Enables Interoperability
  • Networking Devices Usage

Lesson: Securing Untrusted Input

  • Input Data Attacks
  • Protecting a Web Service
  • Tenacious D
  • Responding to Error State
Contact Us 1-800-803-3948
Contact Us
FAQ Get immediate answers to our most frequently asked qestions. View FAQs arrow_forward