Web Services Architecture Training Course

Public Classroom

Summary

Web Services

Introduction to Web Services Architecture is a 2-day training course that teaches core design principles behind web services. The class starts with in intro to the two schools of thought in developing web services: the traditional, standards-based approach using SOAP and a more recent, conceptually simpler and more popular approach using REST (Representational State Transfer) principle. The majority of the course topics deal with REST based web services. The course covers design considerations, best practices, implementation examples, documentation, and management of web services across the enterprise.

Course Objectives

By the completion of the course you should be able to:

  • Understand what Web services are and how they are applied in today’s enterprise
  • Understand the concept of Service Oriented Architecture (SOA), its advantages and drawbacks compared to component based architecture
  • Have a solid background in the techniques and the methodologies used for describing web services
  • Have a basic understanding of SOAP, WSDL and service discovery used in the data transmission
  • Have a thorough understanding of RESTful Web services, principles behind them, data transmission over HTTP, their advantages and drawbacks
  • Understand the difference between SOAP and REST protocols
  • Have a general understanding of Web services security best practices
  • Have an understanding of Service Policies and Agreement associated with providing and consuming Web services
  • Have a solid overview of the Web services development lifecycle

Duration

2 days

Audience

This course is designed for enterprise architects, developers, and technical managers seeking to be introduced to web services technologies and understand their use and potential. Previous experience working with a programming language is helpful but not strictly required.

Pre-requisites

Understanding of overall client-server architecture is recommended. To benefit from the hands-on part of this course, students should have some basic understanding of programming concepts.

Outline

Day 1 – History, Theory, Methodology

  1. The Web of Services
    1. WWW & HTTP
    2. Pages, Apps, and Services
  2. API Considerations
    1. Private vs. Public
    2. API Audiences
    3. API Environment
  3. HTTP-Tunnel Style (SOAP)
    1. History
    2. Protocol Stack (WS-*)
    3. Common Implementation Model
    4. Advantages & Limitations
  4. HTTP-URI Style (CRUD)
    1. History
    2. Protocol Stack (HTTP-*)
    3. Common Implementation Model
    4. Advantages & Limitations
    5. Project: Details for a CRUD API
  5. HTTP-Hypermedia Style (REST)
    1. History
    2. Protocol Stack (HTTP-* + IANA)
    3. Common Implementation Model
    4. Advantages & Limitations
    5. Project: Details for a REST API
  6. Implementation Details
    1. Authentication
    2. Authorization
    3. Encryption
  7. Designing Web Services
    1. Defining the Service
    2. Mapping the Service to the Arch Style
    3. Project: Mapping A Sample Service

Day 2 – Implementation, Documentation, Management

  1. HTTP-CRUD Implementation Example
    1. The To-Do List Problem Domain
    2. Mapping The To-Do List to a URI-Style Service
    3. Server Considerations
    4. Client Considerations
    5. Project: To-Do CRUD Implementation
  2. Monitoring Web Services
    1. Key Questions
    2. Common Metrics
    3. Instrumenting your APIs
    4. Dashboards
  3. HTTP-REST Implementation Example
    1. The To-Do List Problem Domain Redux
    2. Mapping the To-Do List to a REST-Style Service
    3. Server Considerations
    4. Client Considerations
    5. Project: To-Do REST Implementation
  4. Documenting Web Services
    1. Contracts and Languages
    2. Machine-Readable and Human-Readable
    3. Example Developer Portals
    4. Project: Documenting To-Do List Service
  5. Managing Web Services
    1. Extending and Versioning
    2. Migrating and Sunsetting
  6. Summary
    1. The Web Service Paradigm
    2. The Importance of Architectural Style
    3. Implementation Details
    4. Documentation
    5. Long-term Management