Web Services Development in Java
Course: WSDVJ
Duration: 5 Days
Level: II
Course Summary
This course provides a detailed approach to developing interoperable web services on the Java EE platform. Students learn the key standards for SOAP-based services in Java. JAX-WS and JAXB are used to develop Web Services. Main topics include SOAP, WSDL, and both WSDL-driven and Java-driven development paths for JAX-WS, as well as client-side development. Complex data types, using JAXB to marshal and unmarshal data, are also included.
« Hide The Details
Topics Covered In This Course
Overview of Web Services
- Why Web Services?
- Service-Oriented Architecture
- SOAP
- WSDL
- The SOAP Vision
- UDDI
- The WS-I Basic Profile
- Security Considerations
Web Services for Java EE
- Hosting Web Services: Scenarios
- Web Services for Java EE
- JAX-WS and JAXB
- Web-Services Metadata
- WSDL-to-Java and Java-to-WSDL Paths
- Provider and Dispatch APIs
- SAAJ and JAXP
The Java API for XML Binding
- The Need for Data Binding
- XML Schema
- Two Paths
- JAXB Compilation
- Mapping Schema Types to Java
- Java-to-XML Mapping Using Annotations
- Marshaling and Unmarshaling
- Working with JAXB Object Models
The Simple Object Access Protocol
- Messaging Model
- Namespaces
- SOAP over HTTP
- The SOAP Envelope
- The Message Header
- The Message Body
- SOAP Faults
- Attachments
Web Services Description Language
- Web Services as Component-Based Software
- The Need for an IDL
- Web Services Description Language
- WSDL Information Model
- The Abstract Model -- Service Semantics
- Message Description
- Messaging Styles
- The Concrete Model -- Ports, Services, Locations
- Extending WSDL -- Bindings
- Service Description
The Java API for XML-Based Web Services
- Two Paths
- How It Works: Build Time and Runtime
- The Service Endpoint Interface
- Working from WSDL
- Working from Java
- RPC and Document Styles
- One-Way Messaging
- Binary Protocols
WSDL-to-Java Development
- The @WebService Annotation
- Generated Code
- Scope of Code Generation
- Parameter Order
- More JAXB: Mapping Collections
- More JAXB: Mapping Enumerations
- Applying JAXB Customizations
Client-Side Development
- Stubs and Proxies
- Generated Code
- Locating a Service
- Invoking a Service
- The @WebServiceRef Annotation
Java-to-WSDL Development
- Generating the WSDL and Schema
- The @WebMethod, @XmlParam, and Related Annotations
- More JAXB: Mapping Inheritance
- Controlling the XML Model
- Controlling the WSDL Description
- JAXB Customizations with @XmlJavaTypeAdapter
Spring Framework Considerations
- Overview
- Wiring a Web Service
- Class Usage
- Testing from End to End with SoapUI
- Troubleshooting options
What You Can Expect
At the end of this course, students will be able to:
- Describe the web services architecture, including the roles of SOAP and WSDL in component-based services.
- Understand the importance of the WS-I Basic Profile for interoperable web services.
- Build JAX-WS services and clients that take full advantage of the automated data binding of JAXB.
- Build WSDL-to-Java and Java-to-WSDL services, with equal facility.
- Manage XML content using XML Schema and JAXB.
- Understand SOAP standards and security options for industry best practices.
Who Should Take This Course
This course is designed for Java programmers.
Recommended Prerequisites
Students should have strong Java programming skills and some XML usage.
Training Style
Instructor led with 50% lecture and 50% lab.
« Hide The Details
Related Courses
Code |
Course Title |
Duration |
Level |
|
RWSJE |
RESTful Web Services Development |
5 Days |
I |
Details |
JAVAXML |
Development With Java's XML APIs |
2 Days |
II |
Details |
JAVAWS |
Developing Java Web Services |
5 Days |
II |
Details |
SOAPWS |
Programming SOAP Web Services With JAX-WS |
5 Days |
II |
Details |
Every student attending a Verhoef Training class will receive
a certificate good for $100 toward their next public class taken
within a year.
You can also buy "Verhoef Vouchers" to get a discounted rate for a
single student in any of our public or web-based classes.
Contact your account manager or our sales office for details.
|