3 arrows

Summer-Ready Savings: Up To $500 Off Training 


Mastering Java Web Services

  • Tuition USD $2,395 GSA  $2,171.79
  • Reviews star_rate star_rate star_rate star_rate star_half 4064 Ratings
  • Course Code TT7380
  • Duration 4 days
  • Available Formats Classroom

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

When does class start/end?

Classes begin promptly at 9:00 am, and typically end at 5:00 pm.

Does the course schedule include a Lunchbreak?

Lunch is normally an hour long and begins at noon. Coffee, tea, hot chocolate and juice are available all day in the kitchen. Fruit, muffins and bagels are served each morning. There are numerous restaurants near each of our centers, and some popular ones are indicated on the Area Map in the Student Welcome Handbooks - these can be picked up in the lobby or requested from one of our ExitCertified staff.

How can someone reach me during class?

If someone should need to contact you while you are in class, please have them call the center telephone number and leave a message with the receptionist.

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 ExitCertified deliver group training?

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

Does ExitCertified deliver group training?

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

I thought the course was informative and the tools to go over the material were very nice.

Thank Tech Data for sponsoring this course you really take care of your partners.

This course gave me a clearer understanding of the AWS cloud architecture.

ExitCertified was a great. They gave me all the materials and information I needed ahead of time to prepare for the course.

Great company -- easy to sign up and very organized. Loved my teacher and class overall.

0 options available

There are currently no scheduled dates for this course. If you are interested in this course, request a course date with the links above. We can also contact you when the course is scheduled in your area.

Contact Us 1-800-803-3948
Contact Us
FAQ Get immediate answers to our most frequently asked qestions. View FAQs arrow_forward