Topics

 
  • Motivation behind Web Services
  • Buisness problems ideally suited for a Web Services based solution
  • SOAP
  • WSDL
  • REST
  • Advanced Web Service Specifications (WS-Security, WS-RM, etc)

What you will learn

  After completing this course, the student should be able to:
  • Determine if Web Services is a right fit for a specific problem
  • Define the two main web service types: SOAP and REST
  • Understand some of the core technologies of web services

Audience

  Architects and project managers who will like to get introduced to the technology and understand its use and potential. This is not a programming course.

Prerequisites

  Some idea of clients server computing. There is no programming experience required.

Duration

  1 day

Outline for Introduction to Web Services Training

Chapter 1 - Introduction to Web Services

  • A Conceptual Look at Services
  • Defining Services
  • Service Communication Analogy
  • Three Key Service Questions
  • Connecting the Dots
  • SOA: Runtime Implementation
  • What Is a Web Service?
  • Enterprise Assets as Services
  • Typical Development Workflow
  • Advantages of Web Services
  • Web Service Business Models
  • Example: Internal System Integration
  • Example: Business Process Externalization
  • Web Services Standards
  • Binding via SOAP
  • SOAP in Protocol Stack
  • SOAP Structure
  • SOAP Message Architecture
  • Applying SOAP
  • Interface via WSDL
  • WSDL Structure
  • Applying WSDL
  • Locating a Service
  • UDDI Overview
  • UDDI Terminology
  • UDDI Structure
  • Applying UDDI
  • WS-I Overview
  • WS-I Deliverables
  • Summary

Chapter 2 - Web Services Description Language (WSDL)

  • WSDL Overview
  • WSDL Syntax Overview
  • <definitions>
  • <import>
  • <types>
  • <message>
  • <portType>
  • <operation>
  • <binding>
  • <service>
  • Summary

Chapter 3 - Simple Object Access Protocol (SOAP)

  • SOAP Overview
  • SOAP in Protocol Stack
  • SOAP Document Components
  • Example SOAP Request Document
  • Example SOAP Response Document
  • The <Envelope> Element
  • The <Header> Element
  • The <Body> Element
  • SOAP Communication Style
  • Communication Style Example
  • Setting the Style in WSDL
  • RPC/Encoded Style
  • RPC/Literal Style
  • Document/Literal Style
  • Document/Literal Wrapped Style
  • Summary

Chapter 4 - Overview of Advanced Web Service Specifications

  • Advanced Web Service Features
  • MTOM
  • How MTOM Differs from Previous Approaches
  • WS-Addressing
  • WS-RM
  • WS-Atomic Transaction (WS-AT)
  • Overview of Web Services Security (WS-Security)
  • WS-Secure Conversation
  • WS-Policy
  • Summary

Chapter 5 - REST Services

  • Many Flavors of Services
  • Understanding REST
  • Principles of RESTful Services
  • REST Example – Create
  • REST Example – Retrieve
  • REST Example – Update
  • REST Example – Delete
  • REST Example – Client Generated ID
  • SOAP Equivalent Examples
  • REST Example – JSON
  • REST vs SOAP Communication
  • More REST vs SOAP
  • REST vs SOAP Summary
  • Famous RESTful Services
  • Additional Resources
  • Summary

Chapter 6 - REST vs. SOAP

  • Defining REST
  • The Six REST Architectural Style Constraints
  • The Four REST Interface Constraints
  • Hypermedia Examples
  • Defining SOAP
  • RPC SOAP vs. REST
  • Document SOAP vs. REST
  • Where SOAP Shines
  • Where REST Shines
  • Selecting an Appropriate Solution
  • Summary

Chapter 7 - Clients of JAX-RS Services

  • Java Web Service Clients
  • Apache HttpClient
  • More Apache HttpClient Code
  • JAX-RS Implementation Client Libraries
  • RESTEasy Example
  • HATEOAS
  • Building Links with UriBuilder and UriInfo
  • Using Atom Links for State Transitions
  • WADL
  • WADL Example
  • Summary

Appendix A - Getting Started with XML

  • Unstructured Text Document
  • An Employee Document
  • What is XML ?
  • Why Study XML?
  • Data and Document Structure
  • Elements
  • First XML
  • Another Example of XML
  • Well-formed vs. Valid XML Document
  • Presentation Style
  • Goals of XML
  • Usage of XML
  • Summary

Appendix B - SOA Fundamentals

  • Defining Service Oriented Architecture (SOA)
  • Putting SOA in Context
  • SOA As an Alignment Strategy
  • The SOA Umbrella
  • What’s a Service?
  • Service Actors
  • SOA in Action
  • Business Process Management
  • BPM & Workflow
  • SOA Governance
  • SOA Governance Model
  • SOA Job Role Impact
  • SOA Re-Organization
  • What Makes a Good Design?
  • Is SOA a New Concept?
  • Enterprise Computing Evolution
  • What about Microservices?
  • SOA Is Perfect…NOT!
  • Service Characteristics
  • When Do I Need a Service?
  • About Services in SOA
  • Contract-Driven Software
  • SOA Standards
  • Service Implementation
  • Summary

Appendix C - Web Services Security (WS-Security)

  • The Challenges
  • Public Key Infrastructure (PKI)
  • Digital Signature
  • Certificates
  • Overview of Web Services Security
  • SOAP Message Security
  • Message Integrity
  • Message Confidentiality
  • Symmetric Encryption Example
  • Authentication Using Identity Token
  • Authentication
  • Transport Level Security
  • Audit Tracking
  • Identity Assertion Using SAML
  • SAML SOAP Example

Appendix D - Securing REST Services

  • RESTful Security - Ideal Approach
  • RESTful Security - Practical Approach
  • Protecting the QueryString
  • REST and Access IDs
  • AWS and HMAC
  • Securing Resources
  • REST Security Concerns
  • Comprehensive REST Security
  • Summary