Publication date : 05/10/2024

Course : Developing Web Services in Java

Practical course - 5d - 35h00 - Ref. DSJ
Price : 2710 € E.T.

Developing Web Services in Java




You'll understand the benefits and challenges of Web Services for application integration (EAI). You'll learn about XML, SOAP and REST communication mechanisms. You'll learn how to create, deploy, provision and use Web Services using JAX-WS (SOAP) and JAX-RS (REST).


INTER
IN-HOUSE
CUSTOM

Practical course in person or remote class
Available in English on request

Ref. DSJ
  5d - 35h00
2710 € E.T.




You'll understand the benefits and challenges of Web Services for application integration (EAI). You'll learn about XML, SOAP and REST communication mechanisms. You'll learn how to create, deploy, provision and use Web Services using JAX-WS (SOAP) and JAX-RS (REST).


Teaching objectives
At the end of the training, the participant will be able to:
Discover the main Web Services technologies (REST, SOAP, WSDL, UDDI)
Handling XML data via the SAX, DOM and JAXB APIs
Develop SOAP-based Web services using the JAX-WS API
Develop REST Web services using the JAX-RS API
Securing Web services

Intended audience
Developers and project managers who need to implement Web Services using the Java language.

Prerequisites
Good knowledge of Java. Basic knowledge of XML. Experience in Java development required.

Practical details
Hands-on work
A comprehensive exercise will enable you to set up a complete architecture based on Web Services: definition, development, deployment, configuration and securing of Web Services.

Course schedule

1
Introduction to Web Services

  • Define the role of Web Services and the benefits of using them.
  • Background on n-tier architectures, distributed applications and components.
  • Web Services approach, what is a Web Service? Purpose, principle.
  • Web Services and EAI, A2A, B2C, B2B.
  • Key Web Services technologies (REST, SOAP, WSDL, UDDI).
  • Service-oriented architecture (SOA).
  • The role of XML and the Java platform.
  • Examples using Web Services.
Exercise
Application examples, how to invoke a Web Service.

2
A reminder of XML and Java APIs

  • The place of XML in relation to Web Services.
  • Tag languages, XML application domains, the document concept, objectives.
  • Data exchange, XML and SOAP.
  • Requirements for creating SOAP requests and handling responses.
  • Data models: XML Schema.
  • XML parsers (SAX and DOM APIs) and other APIs.
Hands-on work
Manipulate XML data via the SAX, DOM and JAXB APIs. Process XML information exchanged via the SOAP protocol.

3
SOAP/WSDL and REST Web Services

  • Description of the SOAP protocol.
  • From XML to SOAP, anatomy of a SOAP message, SOAP envelope.
  • Error handling with SOAP Fault.
  • Transmission of MTOM binary content.
  • The Web Services Description Language (WSDL).
  • Web Services referencing, solutions : UDDI, WS-Inspection, OSS governance solutions (Mule Galaxy)...
  • Use, architecture, roles for Web services, publication and localization, security.
  • REST principles and how to implement them.
Hands-on work
Send SOAP requests. Interpreting responses. Deploy a Web Service.

4
Web Services description language

  • Understand how to describe a Web Service in XML.
  • Introduction to WSDL. Anatomy of a WSDL document.
  • WSDL and Java.
Hands-on work
Create a WSDL file describing a Web Service.

5
Setting up Web Services with SOAP/WSDL and REST

  • Programming tools for creating and using Web Services.
  • Building Web Services and clients with JAX-WS. Types supported by JAX-WS and JAX-RS.
  • wsgen tools.
  • Open Source SOAP project from the Apache group.
  • Using SOAP in RPC contexts.
  • Web Services from mobile terminals. Possibilities and restrictions.
Hands-on work
Programming SOAP/WSDL and REST exchange Web Services. Use of JAX-WS and JAX-RS Java APIs.

6
Publish and search Web Services

  • The role of directories in Web Services applications. Role and limits of UDDI.
  • The difference between runtime and design-time directories.
  • Make Web Services available via UDDI directories.
  • UDDI programming, UDDI data structure.
  • JAXR overview and architecture.
  • Create and run a JAXR client, access the registry, query and manage data.
  • Using WSDL descriptions with UDDI.
Hands-on work
Publish a Web Service file to a UDDI directory. Search for Web Services.

7
CXF, JAX-WS RI and Axis projects

  • Mechanisms of the main new-generation SOAP toolkits.
  • Project architecture and components, CXF, JAX-WS RI and Axis.
  • Installation, configuration and deployment of SOAP/WSDL services.
  • Consume and publish Web Services, XML/Java data mapping.
  • Use of JAX-WS specific annotations (JSR 224) and annotations for Java/XML mapping.
  • Using Java: obtain the WSDL of a deployed service and build a WSDL.
  • Tools: TCPMon, SOAP Monitor, SOAP UI version OSS.
Hands-on work
Set up a complete SOAP/WSDL-based inter-application communication solution using one of these implementations.

8
Jersey project for REST services

  • Mapping mechanisms between Java and the REST world.
  • Jersey project architecture and components.
  • Install, configure and deploy REST services.
  • Consume and publish REST Web Services.
  • Use of JAX-RS specific annotations (JSR 311) and annotations for Java/XML mapping.
  • How to use JAX-RS and Jersey to publish REST Services? Alternative implementations to Jersey (Restlet...).
  • Tools: TCPMon, SOAP Monitor, SOAP UI version OSS.
Hands-on work
Implementation of a complete REST-based inter-application communication solution thanks to Jersey.

9
Securing Web services

  • Authentication, authorization, encryption.
  • XML digital signatures, XML data encryption, Java toolkit, key management.
  • Custom authentication: SOAP headers.
  • SOAP security extension.
  • Web Services Security Specifications (WS-Security).
Hands-on work
Global application security.


Dates and locations

Last places available
Guaranteed date, in person or remotely
Guaranteed session
From 1 to 5 June 2026
FR
Remote class
Registration
From 23 to 27 November 2026
FR
Remote class
Registration

REMOTE CLASS
2026 : 1 June, 23 Nov.