Training » All Courses » Web Services » Web Services with Apache Axis

Course Summary

Web Services with Axis class teaches students how to build web services and web service clients using Java technologies and Apache Axis, the most popular JAX-RPC implementation. The class starts off with a quick introduction to XML, SOAP, and WSDL before diving into the development of web service clients, and end-points using Java/Axis APIs and tools.

Duration

4 days.

Objectives

  • Understand the connection between web services and Service Oriented Architecture (SOA)
  • Understand the difference between document-styled services and RPC
  • Become proficient in technologies used as the foundation of web services: XML, Namespaces, Schema, SOAP, WSDL and UDDI
  • Learn common design patterns and best practices for architecting highly interoperable web services
  • Learn how to implement web services using Apache Axis
  • Understand how to map WSDL/Schema elements to Java objects
  • Understand Web services security and reliability

Audience

This course is designed for software developers and architects who wish to learn how to design, build, deploy, and consume web services through Java and Apache Axis technologies.
To benefit from this course, the students need to be proficient in Java and principles of object-oriented design and development. Previous familiarity with XML, SOAP, WSDL, web services, and SOA can be beneficial, but is not required.

Instructors

Additional Notes

This course is currently based on Apache Axis 1.4.

Apache™ and Tomcat™ are a trademark of The Apache Software Foundation and are used with permission.

Outline

Web Service Overview

  • Service Oriented Architecture (SOA)
  • SOA and Web Services
  • Web Service Learner Example
  • Web Service Standards
  • Standards and Standard Managers

XML Syntax

  • W3C and the XML Specification
  • XML Vs. HTML
  • XML Syntax: The Bricks
  • Elements
  • Attributes
  • XML Miscellaneous
  • Well-Formed

XML Namespaces

  • XML Name Conflicts
  • Qualified and Unqualified Names
  • Global and Local Scope

XML Schema

  • XML Schema Specifications
  • A Simple Schema Example
  • XML Schema and Namespaces
  • The Schema Document
  • Schema Root Element
  • Element Definitions
  • Complex Element Definitions
  • Attribute Definitions
  • Element and Attribute References
  • Abstract Data Types
  • Target Namespaces
  • Importing vs. Including Schemas
  • Validating Documents

Advanced XML Schema

  • Non-atomic Simple Types
  • Restrictions or Facets
  • Extensions
  • Groups
  • Defining the type of Element Content
  • Any
  • Commenting Schema

Schema Best Practices and Patterns

  • Designing Good Schemata
  • Design Goals
  • Naming Conventions
  • Enumerations
  • Element vs. Type
  • Element vs. Attribute
  • Global vs. Local
  • Qualified vs. Unqualified
  • Default Namespace
  • Miscellaneous Schema Design Tips and Conventions
  • Common Schema Design Patterns

SOAP

  • SOAP Specification
  • SOAP Basics
  • The SOAP Envelope
  • The SOAP Header
  • The SOAP Body
  • SOAP Faults
  • SOAP and Protocols

WSDL

  • WSDL Specification
  • portType
  • message
  • types
  • WSDL Concrete
  • binding
  • Style and Use
  • service
  • How is WSDL Used?
  • WS-I Testing Tools

XML to Java Mapping

  • How does WSDL and Schema map to Java?
  • WSDL Definition Mapping
  • WSDL portType Mapping
  • Type Mapping

UDDI

  • UDDI Servers
  • Is a UDDI registry required?
  • Registry System
  • BusinessEntity
  • BusinessService
  • BindingTemplate
  • tModel
  • PublisherAssertion
  • Interacting with a UDDI Registry

Java Web Service APIs

  • Java and XML Processing
  • JAX-RPC
  • JAXP
  • JAXR
  • JAXB
  • JAXM
  • SAAJ
  • JAX-WS and the New Java Web Service Stack
  • Enterprise Web Services

Axis

  • Axis JWS Web Services
  • Building a Java Service Consumer with Axis
  • JWS Pros/Cons
  • Axis Custom Deployment Web Services
  • Understanding Axis Custom Deployment Options
  • Web Service Scope
  • Web Service Types
  • Java Bean Mapping

Advanced Axis

  • Axis Handlers and Chains
  • Axis MessageContext
  • Axis TCP Monitor (TCPMon)
  • SOAP Monitor

Versioning

  • Classifying Changes
  • Handling Backward Compatible Change
  • Handling Non-Backward Compatible Change
  • Behavioral Change
  • WSDL Versioning

Future of Web Services

  • Web services - are we there yet?
  • WS-* Specifications
  • WS-Security
  • WS-ReliableMessaging
  • WS-Addressing

DOM and SAX (Appendix)

  • Document Object Model Specifications
  • DOM Interfaces
  • Begin Working with DOM
  • The Document Interface
  • The Node Interface
  • The NodeList Interface
  • The NamedNodeMap Interface
  • Event-Based Parsing
  • SAX
  • Creating a Simple Java SAX Application
  • Limitations of SAX
  • Benefits of SAX
  • Benefits of DOM