Java Web Services Development

This course begins by introducing essential Web service concepts, and describes how to create and consume simple SOAP-based Web services. The course also explains the important role of WSDL in describing Web service interfaces. The course then digs deeper into Web service standards, techniques, and APIs. You will learn how to handle Web service faults; maximize integration options; use headers to provide Web service metadata; customize Java-to-object serialization formats; and invoke Web services programmatically by using JAX-WS. The course also describes how to create and consume RESTful Web services, and explains how to access RESTful Web services by using JAX-RS.

What you will learn:

  • Creating and consuming SOAP-based Web services
  • Marshalling Java objects and binary data
  • Creating and accessing SOAP headers
  • Handling faults
  • Defining asynchronous and one-way operations
  • Implementing REST-based Web services
  • Securing Web services

Audience:

This training course is aimed at developers and designers tasked with creating Web-service based solutions.

Prerequisites:

At least 6 months Java programming experience.
Familiarity with enterprise development would be an advantage

Course outline:

Web Services - Essentials:

  • The role of Web services
  • Overview of SOAP and REST
  • Conveying SOAP over HTTP
  • RPC vs. Document formatting
  • SOAP Encoded vs. Literal serialization
  • Java Web services state-of-play

Creating and Consuming a Web service in Java:

  • Overview of the Java Web Services Stack (Metro)
  • Creating a Java Web service
  • Generating a Web service proxy
  • Calling a Web service from a client application
  • SOAP Encoded vs. Literal serialization

Describing Web Services with WSDL:

  • Overview of WSDL
  • Understanding WSDL services and ports
  • Bindings
  • Messages
  • Schema

SOAP Payloads:

  • Overview of JAXB
  • Simple marshalling
  • Custom marshalling
  • Unmarshalling
  • Using JAXB in a Web service

Web Service Operations:

  • Message exchange patterns
  • Parameter passing modes
  • One-way messaging

Web Service Techniques:

  • Exception handling
  • SOAP faults
  • Implementing asynchronous Web methods

SOAP Handling:

  • Overview of handlers
  • Defining logical handlers
  • Defining SOAP handlers
  • Accessing transport headers

Binary Payloads:

  • Overview of binary data and SOAP
  • Returning base64-encoded binary data
  • Specifying the MIME type
  • Optimizing binary data transfer

Web Services in Java Enterprise Applications:

  • Overview of Java Enterprise Edition
  • Example Java EE application
  • The role of Web services in Java EE

RESTful Web Services:

  • Overview of RESTful Web services
  • Overview of the Java API for XML RESTful Web Services (JAX-RS)
  • Creating a RESTful Web Service

More on RESTful Web Services:

  • URI path templates
  • Accessing additional HTTP info
  • RESTful design patterns

Web Service Security:

  • Transport-level security
  • Message-level security
  • Overview of WSIT security
  • Common administrative steps
  • Transport-level user authentication
  • Username authentication with symmetric keys
  • Mutual certificates security
  • Transport security (SSL)
  • SAML authorization over SSL

Andy Olsen - author of the course

Andy is a freelance consultant and instructor based in the UK, working mostly in the City of London and Oxford. Andy has been working with .NET since the Beta 1 days and has extensive experience in many facets of .NET development including WCF, WPF, WF, ASP.NET MVC Web development, and mobile applications. Andy has designed and written many Microsoft Official Curriculum courses in the last decade, and has been engaged as author and technical reviewer with Apress on some of their biggest selling books.

Other relevant courses