RESTful Web Services with JAX-RS

4.4 out of 5 (84 reviews)  

JAV-190 (3 Days)
Request Pricing for RESTful Web Services with JAX-RS

JAX-RS Training Overview

Accelebrate's Restful Web Services with JAX-RS training teaches attendees REST principles and how to build RESTful services using the JAX-RS 2.0 API. 

Location and Pricing

Accelebrate courses are taught as private, customized training for groups of 3 or more at your site. In addition, we offer live, private online training for teams who may be in multiple locations or wish to save on travel costs. To receive a customized proposal and price quote for private on-site or online training, please contact us.

In addition, some courses are available as live, online classes for individuals. See a schedule of online courses.

JAX-RS Training Objectives

All students will learn how to:

  • Understand the purpose and role of web services in general, and how they are architected to expose business systems and processes over the web
  • Understand the concepts and principles of REST and HTTP applications
  • Expanded knowledge of HTTP, including its full set of methods and their intended uses, important headers, response codes, and content types
  • Understand REST APIs, including resource identifiers and the URI namespace, resources and subresources, and WADL
  • Understand configuration, deployment, and the runtime environment, including per-request and singleton objects, options for dependency injection, etc.
  • Understand how HTTP requests get dispatched to service methods
  • Understand content negotiation and the importance of Accept and Content-Type headers, and how they impact method dispatching
  • Bind request inputs to method parameters, including path parameters, query parameters, and headers
  • Exchange business data by communicating in HTTP entities in both XML and JSON format
  • Handle errors using Java exceptions and appropriate HTTP response codes
  • Integrate JAX-RS services with other Java EE technologies like servlets, EJB, and CDI, and how JAX-RS fits into the larger Java EE landscape
  • Write browser clients using Ajax-JavaScript
  • Write Java clients using the JAX-RS 2.0 Client API, including standalone clients and server-side components invoking remote services
  • Secure RESTful resources

JAX-RS Training Outline

Expand All | Collapse All | Printer-Friendly

Introduction
Web Services Overview
  • Definition
    • Legacy Systems
    • Benefits of Web Services
    • Architecture
  • Standards and Portability
    • XML and Related Standards
    • JSON
    • HTTP
  • SOAP-Based Services
    • Overview
    • SOAP Messages, Requests, and Responses
    • WSDL
    • Java APIs and Programming Models
Introduction to REST
  • Overview and Principles
    • REST Characteristics
    • Resources and Operations
    • REST Principles
  • Requests and Responses
    • REST APIs
    • URI Templates
    • GET, POST, PUT, DELETE
    • Safe and Idempotent Methods
  • Comparison of REST and SOAP
Introduction to JAX-RS
  • APIs and Implementations
    • JAX-RS Overview, Annotations
    • JAX-RS Implementations
  • Runtime Environment
    • Application Server, Servlet-Only Container
    • Architectural and Implementation Perspectives
    • Configuring the Application
  • Applications, Resources, and Providers
    • JAX-RS Applications
    • Resource Classes and @Path
    • Provider Classes and @Provider
    • Default Lifecycles
    • The Application Class and rest-path
  • Ajax-JavaScript Clients
    • Overview
    • Classic vs. Ajax Interactions
    • Working with Ajax-JavaScript
Resources and Requests
  • Resources and Subresources
    • Root Resource Classes, Resource Methods, Subresource Methods
    • @GET, @POST, @PUT, @DELETE
    • Subresource Locators
    • Naming Conventions and Rules
    • Dispatching Requests to Methods
  • Binding Request Data
    • Request Data Injection and Conversion
    • Default Values
    • Fields vs. Method Parameters
  • Context-Based Injection
    • Injection via @Context
    • Context-Injectable Types
    • Context Injection from the Web Container
    • Fields vs. Method Parameters
HTTP Entities
  • Complex Content and Entities
    • Working with Complex Content
    • @Consumes and @Produces
    • Content Negotiation
    • Standard Entity Providers
  • Working with JSON
    • Returning Data as JSON
    • Working with JSON in JavaScript
    • Processing JSON Responses
  • Working with XML
    • JAXB and Mapping to XML
    • Returning Data as XML
    • Working with XML on the Client
    • Customizing Content, Custom Media Types
    • Working with Collections
  • XML vs. JSON
Responses
  • Response Class
    • Return Types and HTTP Response Codes
    • Appropriate Responses for HTTP Methods
    • Choosing the Right Response
  • Error Handling
    • Exception Mappers
    • WebApplicationException
    • Response vs. Thrown Exception
    • Error Responses
  • Subresource Locators
    • Motivation and Uses
    • Locating the Locator
    • Initializing the Subresource
  • Binary Content
    • File, InputStream, StreamingOutput
    • Using StreamingOutput
Java Client API
  • Java Client - Options and Ingredients
  • Building and Sending the Request
  • Consuming the Response
  • Options for the Response Data
  • Asynchronous Requests
Integration with Java EE
  • Integration with EJB
  • CDI - Contexts and Dependency Injection
    • Activation, Scopes, and JAX-RS Lifecycles
    • Injection in CDI-Enabled JAX-RS Applications
    • Enhanced Java EE Lifecycle
Security
  • Java EE Security Overview
    • Security Requirements in JAX-RS
    • Declarative, Role-Based Security
    • Security Constraints
    • Annotation-Based Security
  • Authentication
    • Configuration
    • Authentication Models: Basic, Digest, Client-Cert
  • Programmatic Security
    • SecurityContext
    • Client Security
  • HTTPS
Conclusion
Request Pricing for RESTful Web Services with JAX-RS

Lecture percentage

40%

Lecture/Demo

Lab percentage

60%

Lab

Course Number:

JAV-190

Duration:

3 Days

Prerequisites:

Attendees must be experienced in Java and preferably familiar with XML, Java web applications, and other Java EE standards. Familiarity with Ajax, JavaScript, and JSON is also beneficial, but not required.

Training Materials:

All attendees receive comprehensive courseware.

Software Requirements:

  • JDK 1.8 or later
  • Eclipse IDE (other IDEs can be accommodated upon request)
  • Wildfly or JBoss EAP
  • Modern web browser
  • Related lab files that Accelebrate provides

Contact Us:

Accelebrate’s training classes are available for private groups of 3 or more people at your site or online anywhere worldwide.

Don't settle for a "one size fits all" public class! Have Accelebrate deliver exactly the training you want, privately at your site or online, for less than the cost of a public class.

For pricing and to learn more, please contact us.

Contact Us Train For Us

Have you read our Google reviews?

Toll-free in US/Canada:
877 849 1850
International:
+1 678 648 3113

Fax: +1 404 420 2491

925B Peachtree Street, NE
PMB 378
Atlanta, GA 30309-3918
USA

Subscribe to our Newsletter:

Never miss the latest news and information from Accelebrate:

Microsoft Gold Partner

Please see our complete list of
Microsoft Official Courses

Recent Training Locations

Alabama

Birmingham

Huntsville

Montgomery

Alaska

Anchorage

Arizona

Phoenix

Tucson

Arkansas

Fayetteville

Little Rock

California

Los Angeles

Oakland

Orange County

Sacramento

San Diego

San Francisco

San Jose

Colorado

Boulder

Colorado Springs

Denver

Connecticut

Hartford

DC

Washington

Florida

Fort Lauderdale

Jacksonville

Miami

Orlando

Tampa

Georgia

Atlanta

Augusta

Savannah

Hawaii

Honolulu

Idaho

Boise

Illinois

Chicago

Indiana

Indianapolis

Iowa

Cedar Rapids

Des Moines

Kansas

Wichita

Kentucky

Lexington

Louisville

Louisiana

New Orleans

Maine

Portland

Maryland

Annapolis

Baltimore

Frederick

Hagerstown

Massachusetts

Boston

Cambridge

Springfield

Michigan

Ann Arbor

Detroit

Grand Rapids

Minnesota

Minneapolis

Saint Paul

Mississippi

Jackson

Missouri

Kansas City

St. Louis

Nebraska

Lincoln

Omaha

Nevada

Las Vegas

Reno

New Jersey

Princeton

New Mexico

Albuquerque

New York

Albany

Buffalo

New York City

White Plains

North Carolina

Charlotte

Durham

Raleigh

Ohio

Akron

Canton

Cincinnati

Cleveland

Columbus

Dayton

Oklahoma

Oklahoma City

Tulsa

Oregon

Portland

Pennsylvania

Philadelphia

Pittsburgh

Rhode Island

Providence

South Carolina

Charleston

Columbia

Greenville

Tennessee

Knoxville

Memphis

Nashville

Texas

Austin

Dallas

El Paso

Houston

San Antonio

Utah

Salt Lake City

Virginia

Alexandria

Arlington

Norfolk

Richmond

Washington

Seattle

Tacoma

West Virginia

Charleston

Wisconsin

Madison

Milwaukee

Alberta

Calgary

Edmonton

British Columbia

Vancouver

Manitoba

Winnipeg

Nova Scotia

Halifax

Ontario

Ottawa

Toronto

Quebec

Montreal

Puerto Rico

San Juan

© 2013-2020 Accelebrate, Inc. All Rights Reserved. All trademarks are owned by their respective owners.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.