SE201 - Constructing Services in Java

Download the course description

Overview
Java is a language known for its power and flexibility, if not always its clarity. Many options have been proposed for developing Services in Java, but few follow a standard API, and there is little guidance about which approach is right for which scenario. As standards advance, new tools and frameworks become available, and developer tools struggle to keep up, it can be difficult to determine the best way to use Java to create Services.

This course teaches developers how to build services in Java, in particular through using the Apache Axis2 Framework. The course covers all of the basics of Web services and how to create them, how to consume them, how to debug them, and how to monitor them. Some of the more important WS-* specifications are covered and how they are applied. It also examines the various options presented to Java developers, and how to pick the best fit for your project. Design and implementation issues are addressed, and important policy considerations are discussed.

Objectives
Understand the basic concepts of services
Understand the basic web services technology stack
Understand the various Java Web Services tools and frameworks
Understand how to create basic service providers
Understand how to create basic service consumers
Understand the different data binding techniques use when implementing services
Understand the different message exchange patterns
Understand the basic principles of publishing services
Understand the various WS-* specifications and how they are utilized
Understand how to monitor and debug services
Understand how to test services
Understand the best practices in Java service oriented development

Audience
This course is designed for software developers who need to build, test and deploy the actual services.

Prerequisites
Service Oriented Design Course
Familiarity with Java and XML Familiarity with Eclipse IDE

Duration
1-4 days depending on development environment.

Outline

  1. Web Services Overview
    • Review of WS-I Basic Profile
    • Review of important WS-* standards
  2. Why create services in Java
    • A history of Java
    • Web Services and Java Core Concepts
    • Overview of Available Java Web Services tools and frameworks
    • Reason for using Axis2
  3. Overview of Axis2 Web Service Development
    • Services Oriented Design review
    • Services Oriented Design artifacts
    • Overview of Axis2 toolset
  4. Generating a Simple Service Provider
    • Review of Contract First Development
    • Working with WSDL documents
    • Generating Axis2 Service Skeletons
    • Understanding WSDL to Java Conversion Parameters
    • Examining Generated code
    • Overview of where Service Implementation needs to take place
  5. Building and Deploying a Simple Service Provider
    • Utilizing Generated Build Scripts
    • Overview of Default Data Binding
    • Basic Axis2 Administration
    • Deploying a Service Provider Archive to Axis2
    • Inspecting Deployed Service Provider via Axis2 Admin
  6. Invoking a Simple Service
    • Generating an Axis2 Client Stub
    • Inspection of Generated Code
    • Utilizing Generated Build Scripts
    • Utilizing Generated Test Case
    • Consuming the Simple Service Provider
  7. Axis2 Data Bindings
    • Overview of AxiOM
    • Overview of Axis Data Binding
    • Overview of XMLBeans Binding
    • Overview of JiBX Binding
    • Pros and Cons
  8. Messaging Exchange Patterns
    • Utilizing Asynchronous Service Invocations
    • Consumer-based Threading
    • Service Provider to Consumer Callback
    • Asynchronous messaging using JMS
  9. Error Handling
    • Understanding Web Service Faults
    • Creating a useful Fault in the Service Provider
    • Gracefully handle Faults in a Service Consumer
  10. Alternative Means of Service Provide Creation
    • Exposing existing interfaces
    • Axis2-wrapped POJOs
    • Pros and Cons
  11. Services Publishing
    • Overview of UDDI
    • Pros and Cons of Service Publishing
    • Publishing Subscriptions
  12. Security and Policy
    • Protecting Services with WS-Security
    • Using WS-Security Policy
    • Integration with existing security
  13. Transactions
    • Review of WS-Atomic Transaction
    • Review of WS-Business Activity
    • Local Transactions versus Distributed Transactions
  14. Testing
    • Generating Test Cases based upon Service Contract
    • Executing Test Cases
    • Discussion of positive and negative testing
    • Testing Best Practices
  15. Summary
    • Review of Key Issues
    • Commonly referenced Best Practices
    • Industry Consortium Overview
    • Industry Standard XML Vocabularies
    • Useful Tools

More Information

For more information about this course, please submit an inquiry and we will contact you to discuss your needs.

Return to the course list