Who Can Benefit
Students who can benefit from this course are:
- Java Developers building business components and web clients
- Java Developers interested in preparing for the Sun Certified Java Web Services Developer examination
Prerequisites
- Demonstrate some knowledge of the declarative programming concepts used in the Java EE technology and be able to create simple Java EE applications
- Create a Java web service
- Demonstrate proficiency with XML and interpret XML documents
- Display experience with the Java programming language and distributed programming (multi-tier architectures)
Skills Gained
- Identify the building blocks of web services
- Analyze the Java web services technology and platform
- Describe Service-Oriented Architecture (SOA)
- Describe web services as a realization of SOA
- Describe Java technologies for web services development
- Implement web services using Java API for XML Web Services (JAX-WS)
- Implement web services using Java API for XML Restful Services (JAX-RS)
- Implement an Enterprise JavaBeans (EJB) endpoint as a web service using JAX-WS and JAX-RS
- Explain and monitor SOAP messages
- Apply SOAP With Attachments API for Java (SAAJ) in web services
- Explain the Web Services Description Language (WSDL) and create a WSDL file
- Develop web service clients for JAX-WS- and JAX-RS-based web services
- Describe and implement various web services-based design and deployment patterns
- Describe and apply various best practices for designing web services
Course Content
Module 1 - Introduction to Web Services
- Explore the need for web services
- Define a web service and describe the motivation behind developing and using web services in business software
- Describe the characteristics of a web service
- Describe the two major approaches to developing web services
- Describe the advantages of developing web services within a JavaEE container
Module 2 - JAX-WS-based Web Services
- Understand how to create web services using JAX-WS:
- Bottom-up, starting from Java classes
- Top-down, starting from WSDL descriptions
- Understand how to deploy web services providers using JavaSE
- Understand how to create and deploy simple web services clients using JavaSE
Module 3 - SOAP and WSDL
- Understand the basic structure of a SOAP message, and how it is encapsulated by transports
- Understand how WSDL defines a web service, including its message representation and transport mechanism
- Understand the different styles of SOAP messages that a web service can use, and their trade-offs
- Customize a web service to control the style of SOAP message that that web service will use
Module 4 - JAX-WS and JavaEE
- Understand how to deploy POJO web services to a web container
- Understand how to define a web service in terms of an Enterprise Java Bean
- Understand how to deploy an EJB web service to an EJB container
- Describe the benefits associated with implementing a web service as an EJB
Module 5 - Implementing More Complex Web Services Using JAX-WS
- Apply JAXB to pass complex objects to and from a web service
- Understand how to map Java exceptions from a web service endpoint to SOAP faults
- Understand how to inject attributes into JAX-WS web service endpoints
- Describe JAX-WS artifacts that can be injected and how to use them
Module 6 - JAX-WS Web Service Clients
- Understand how to create web service clients using JAX-WS
- Understand how to create web service clients using JAX-WS that support asynchronous interactions
Module 7 - Introduction to RESTful Web Services
- Understand what RESTful Web Services are
- Understand the five principles behind RESTful Web Services
- Understand the advantages and disadvantages of a RESTful approach
Module 8 - JAX-RS-based Web Services
- Understand how the five principles of RESTful web services map to JAX-RS constructs
- Understand how to implement REST web services using JAX-RS
- Understand how to deploy REST web services using Jersey, an implementation of JAX-RS
Module 9 - JAX-RS-based Web Service Clients
- Understand how to create JAX-RS clients using URL and HttpURLConnection
- Understand how to create JAX-RS clients using the Jersey Client API
Module 10 - JAX-RS and JavaEE
- Understand how to deploy POJO web services to a web container
- Understand how to define a web service in terms of an Enterprise Java Bean
- Understand how to deploy an EJB web service to an EJB container
- Describe the benefits associated with implementing a web service as an EJB
Module 11 - Implementing More Complex Web Services Using JAX-RS and Jersey
- Understand how to produce and consume custom types
- Define JAX-RS web services that provide results by linking to other resources
- Understand how to manage exceptions
- Define JAX-RS web services in terms of resources and sub-resources
- Understand the different scopes defined by JAX-RS for web services endpoints
Module 12 - Trade-Offs Associated with the Java Web Services APIs
- Understand the trade-offs involved in the choice to implement a web service using either JAX-WS or JAX-RS technology
Module 13 - Web Services Design Patterns
- Describe web services-based design patterns
- Describe web services-based deployment patterns
Module 14 - Best Practices and Design Patterns for Use with JAX-WS
- Describe JAX-WS-specific design patterns
- Recognize and apply best practices associated with implementing web services using JAX-WS
Module 15 - Best Practices and Design Patterns for Use with JAX-RS
- Describe JAX-RS-specific design patterns
- Recognize and apply best practices associated with implementing web services using JAX-RS
Module 16 - Trade-Offs Associated with the Java Web Services APIs
- Understand the trade-offs involved in the choice to implement a web service using either
- JAX-WS or JAX-RS technology
Module 17 - Web Services Design Patterns
- Describe web services-based design patterns
- PAOSInteractions
- Asynchronous Interaction
- JMS Bridge
- Describe web services-based deployment patterns
- HTTP Load Balancer
- Container Cluster
Module 18 - Best Practices and Design Patterns for Use with JAX-WS
- Describe JAX-WS-specific design patterns
- Recognize and apply best practices associated with implementing web services using JAX-WS
Module 19 - Best Practices and Design Patterns for Use with JAX-RS
- Describe JAX-RS-specific design patterns
- Recognize and apply best practices associated with implementing web services using JAX-RS




