Training

Popular Courses

Browse Our Free Resources

  • whitepapers
  • whitepapers
  • webinars
  • blogs

Our Locations

Training Centres

Vancouver, BC
Calgary, AB
Edmonton, AB
Toronto, ON
Ottawa, ON
Montreal, QC
Hunt Valley
Columbia

locations map

Calgary

550 6th Av SW
Suite 475
Calgary, AB
T2P 0S2

Toronto

439 University Av
Suite 820
Toronto, ON
M5G 1Y8

Vancouver

409 Granville St
Suite 902
Vancouver, BC
V6C 1T2

U.S. Office

436 York Road
Suite 1
Jenkintown, PA
19046

Other Locations

Dallas, TX
Miami, FL

 

Home > Training > Service Oriented Architecture (SOA) > SOA Skills Development > SOA for Developers >

WA1789 Designing and Developing RESTful Services Training and Courseware (Coming Soon)

When all you have is a hammer…everything looks like a nail.  Although many of the services in active use are SOAP or at least XML-based, an increasing number of services take a RESTful approach to data transmission.  Representational state transfer (REST) is a style of software architecture that differs from the more traditional Remote Procedure Call (RPC) style of data transmission, instead emphasizing the importance of defining and retrieving representations of resources.
This course explores the principles, practices, and application of REST as a software architecture methodology.  While much of the learning could be applied to any REST compatible implementation, emphasis will be placed upon the design and development of RESTful Web Services.

This hands-on course is aimed at architects and developers that want to learn how to design and develop RESTful services that fully comply with the full range of the RESTful design methodology.  Students will learn to define and work with such REST elements as resources, components, and connectors.  Furthermore, emphasis will be placed upon the definition of a REST interface and the management of multiple representations for a given resource.  All concepts are reinforced through detailed, hands-on labs in a vendor-neutral context.

Topics

 
  • Primer on REST
  • Working with Resources
  • Components, Interfaces, and Representations
  • The Role of Connectors
  • RESTful Services
  • REST vs RPC
  • REST vs SOAP
  • One Resource, Many Representations
  • REST and the Web

What you will learn

 

After completing this course, the student should be able to:

  • Understand the REST style of software architecture
  • Describe the advantages and disadvantages of applying RESTful design strategies to various scenarios
  • Design, develop, and deploy REST services
  • Explain the principles of RESTful software architecture
  • Identify the key elements involved in a software system that applies the tenets of REST
  • Compare and contrast REST with RPC, SOAP, and other similar communication strategies
  • Understand the importance of Resources and Identifiers and how to properly define and manage them
  • Describe the application of RESTful software design within modern enterprise systems
  • Demonstrate the application of RESTful service design through hands-on application of all concepts and principles explored during the course

Audience

 

This course is applicable for Architects, Developers, and Software Testers that need to understand, design, develop, or otherwise work with REST-style software services.

Prerequisites

 

An understanding of basic web architecture and the HTTP protocol.  Prior experience with RPC-style services such as Web services, Java RMI, COM objects, etc. is helpful, but not required.

Duration

  2 days.

Course Outline

1. Primer on REST

  • Objectives
  • Background on REST
  • Defining REST
  • Principles of RESTful Architecture
  • Sample REST service request
  • Sample REST service response
  • Key elements
  • Advantages
  • Disadvantages
  • Summary

2. Working with Resources

  • Objectives
  • What constitutes a resource?
  • Resource Examples
  • Resource Identifiers
  • Web Resources
  • Defining the Service Interface
  • REST and MIME Types
  • REST and Various HTTP Methods
  • Resource Management Best Practices
  • Summary

3. Components, Interfaces, and Representations

  • Objectives
  • Understanding REST Components
  • Initiating a REST request
  • Responding to a REST request
  • Understanding REST Interfaces
  • Standard HTTP Interfaces
  • Non-Web Interfaces
  • Understanding REST Representations
  • Common Representation Types
  • HTML Example
  • XML Example
  • JSON Example
  • Binary Example
  • Pulling It All Together
  • Summary

4. The Role of Connectors

  • Objectives
  • What constitutes a connector?
  • The role of connectors
  • Common connector types
  • Common connector layering strategies
  • Connector Example #1
  • Connector Example #2
  • Summary

5. RESTful Services

  • Objectives
  • Creating a REST Service
  • Step 1: Resource definition
  • Step 2: Resource identification
  • Step 3: Defining state representations
  • Step 4: Creating a REST interface
  • Step 5: Connector Layering
  • Step 6: Server-side work
  • Step 7: Client-side work
  • Putting REST into action
  • Summary

6. REST vs RPC

  • Objectives
  • Defining REST
  • Defining RPC
  • Operations vs Resources
  • Where RPC shines
  • Where REST shines
  • Selecting an appropriate solution
  • Summary

7. REST vs SOAP

  • Objectives
  • Defining REST
  • Defining SOAP
  • RPC SOAP vs REST
  • Document SOAP vs REST
  • Where SOAP shines
  • Where REST shines
  • Selecting an appropriate solution
  • Summary

8. One Resource Many Representations

  • Objectives
  • HTML
  • XML
  • JSON
  • Binary (image)
  • Summary

9. REST and the Web

  • Objectives
  • RESTful web resources
  • Prominent uses of REST on the Internet
  • Blending REST with traditional Web applications
  • The role of REST in AJAX-style Web 2.0 solutions
  • Applying REST in your next Web solution
  • Summary
We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.
Outline Course Outline

Buy on-site and customized class

*Your name:

*Your e-mail:

*Phone:

*Company name:

Additional notes:

We have received your message. A sales representative will contact you soon.

Thank you!.