RESTful Web Services Development

Course:   RWSJE
Duration:   5 Days
Level:   I
On our website at:   http://www.verhoef-training.com/courses/RWSJE.html
 
Course Summary

This course teaches students how to develop, deploy and secure Web services. Eclipse features that streamline Web services development and deployment are covered in depth. SOAP and RESTful web services are included. The concepts taught in this course are reinforced by hands-on lab exercises.

Topics Covered In This Course

Java/Eclipse Review

  • Java Development
  • Tools
  • Perspectives and Editors
  • Server Configurations
  • Debugging Tools
  • Project Properties

Web Services Basics

  • Service-Oriented Architecture (SOA)
  • What are Web Services?
  • Web Services Advantages
  • Interactions and Component
  • Web Services Standards: XML, SOAP, WSDL and UDDI
  • Web Services Interoperability (WS-I)
  • Java Web Services Developer Pack (Java WSDP)

Web Service Development

  • Development Approaches
  • Runtime Environments: Apache Axis2, Weblogic, and IBM WebSphere
  • WS-I Compliance
  • Creating a Web Service from a JavaBean
  • Exposing a Stateless Session Bean as a Web Service
  • Creating an Axis2 Web Service
  • Generated Files
  • Testing the Web Service
  • Defining Deployment: webservices.xml, ibm-webservices-bnd.xmi and ibmwebservices-ext.xmi
  • Editing WSDL
  • Using the Web Services Explorer

SOAP

  • SOAP Processing Model
  • SOAP Messages
  • SOAP Message Elements (Envelope, Header, Body and Fault)
  • Communication Styles (Document Style & RPC Style)
  • Encoding
  • Java/SOAP Mappings
  • SOAP Bindings
  • Error Handling
  • SOAP Implementations

TCP/IP Monitor

  • Overview
  • TCP/IP Monitor Configuration
  • Controlling the Monitor
  • Using the TCP/IP Monitor View
  • Examining Requests and Responses
  • Examining SOAP Messages

WSDL

  • Overview
  • Java/WSDL Mapping
  • Abstract vs. Concrete Descriptions
  • WSDL Document Structure
  • WSDL Elements (Types, Ports, Services, Messages, Operations and Port Types)
  • Bindings and Extensibility Elements
  • WSDL Style/Use
  • Service and Port Definitions
  • Binding to a Service (Early vs. Late Binding)

UDDI

  • Overview
  • Registries
  • UDDI Interactions
  • UDDI Data Model
  • UDDI4J
  • UDDI Clients

Web Services Explorer

  • Overview of the Publishing Process
  • Web Services Explorer Functions
  • Launching the Web Services Explorer
  • Accessing a UDDI Registry
  • Publishing a Business Entity, Business Service and Service Interface
  • Locating Web Services

JAX-RPC

  • Overview
  • JAX-RPC Model
  • Service Endpoint Definition
  • Development Steps
  • The Service Life Cycle Interface
  • Service Deployment
  • Java/XML Mappings
  • Web Service Clients (Static Stub, Dynamic Proxy and Dynamic Invocation Interface)
  • The javax.xml.rpc.Service Interface
  • Handlers
  • Data Type Mapping
  • JAX-RPC Implementations

Web Services Client Development

  • Web Service Client Wizard
  • Generating a Proxy
  • Client Types
  • Generating Sample JSPs
  • Testing the Proxy
  • Generated Files
  • Using the Generated Proxy
  • Web Services Client Editor

Axis2

  • History
  • Engine
  • Framework
  • Handler Chains
  • Services
  • Deployment Options (JWS and WSDD)
  • Mapping Tools (Java2WSDL and WSDL2Java)
  • Generated Files
  • Development Process
  • Handlers
  • Clients
  • Custom Type Mapping
  • TCP Monitor Tool (tcpmon)

Web Services for JEE

  • JEE Architecture
  • Port Definition
  • Managing Ports
  • Requirements for Exposing Session Beans and Java Classes
  • Service Implementation Bean Lifecycle
  • Container Responsibilities
  • Web Services Deployment Descriptor (webservices.xml)
  • JAX-RPC Mapping
  • Client Development
  • Client Deployment Descriptors
  • Security

Application Assembly Overview

  • Application Assembly and Packaging
  • Deployment Descriptors
  • Bindings

Web Services Security Concepts

  • Web Service Security Risks
  • Encryption and Decryption
  • Cryptography
  • Certificates
  • Digital Signatures
  • Security: Message Level vs. Transport Level
  • SSL/TLS
  • WS-Security

Defining Web Services Security

  • App Server Security Model for Web Services
  • WS-Security Authentication
  • Enabling Authentication
  • Message Integrity Using XML Signatures
  • Configuring Integrity
  • WS-Security Confidentiality
  • Configuring Confidentiality

Deploying Web services in an Application Server

  • Architecture
  • Administrative Console
  • Web Services Support
  • Creating Required Resources
  • Deploying a Web Service to an Application Server
  • Managing Deployed Applications

SOAP Messages with Attachments

  • The Need for SOAP Attachments
  • Attachments vs. Encoding
  • MIME defined
  • MIME Header Fields
  • Multipart/Related Content Type
  • SOAP Message Package
  • Referencing Attachments
  • Related Java APIs
  • JAX-RPC Mappings: MIME to Java
  • WSDL MIME Binding

RESTful Web Services

  • The Big picture
  • RESTful Events and Event Handlers
  • An Example RESTful Service

Appendix: XML Basics

  • The History of XML
  • XML Documents: Markup and Data
  • XML Document Components and Structure
  • XML Tags
  • Well-Formed XML
  • Elements and Attributes
  • Names and Name Tokens
  • Namespaces
  • Entities and Escape Sequences
  • CDATA Sections and Comments

Appendix: Namespaces

  • The Need for Namespaces
  • Declaring Namespaces
  • Qualified Names
  • Namespace Scoping
  • Default Namespaces

Appendix: Validating XML With DTDs

  • Approaches to Validation
  • DOCTYPE Declaration
  • Element Declarations and Element Content
  • Modifiers
  • Mixed Content
  • Attribute Declarations
  • Entities
  • Notation Declarations
  • Validating vs. Non-Validating Parsers

Appendix: Validating XML With XML Schemas

  • XML Schema Structure
  • Element Declarations
  • Built-in Data Types
  • Creating and Extending Types
  • Defining Restrictions
  • List Types and Union Types
  • Anonymous Types
  • Complex Types
  • Occurrence Constraints
  • Defining Attributes and Attribute Groups
  • Global Elements & Attributes
  • Declaring Mixed Content
What You Can Expect

At the end of this course, students will be able to:

Who Should Take This Course

Programmers, Analysts and Managers who are interested in the development and deployment of Web Services.

Recommended Prerequisites

Java or C# programming experience and familiarity with XML.

Training Style

Instructor led with 50% lecture and 50% lab.

Related Courses
Code Course Title Duration Level
RESTJ
RESTful Web Services Development with Java
3 Days
II
Details
WSCS
Building Web Services Using Visual C#
3 Days
II
Details
JAVAWS
Developing Java Web Services
5 Days
II
Details
WSDVJ
Web Services Development in Java
5 Days
II
Details
SOAPWS
Programming SOAP Web Services With JAX-WS
5 Days
II
Details
JAXIS
AXIS2 - Java Web Services
5 Days
III
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.