Programming REST Web Services with JAX-RS 2.0 - Wildfly / JBossDeveloper Studio Training in Trenton
We offer private customized training for groups of 3 or more attendees.
|
||
Course Description |
||
This JAX-RS 2.0 training course covers the design principles of REST
architecture along with the details of how to implement these services
with JAX-RS 2.0. This will allow students who take the course to
implement RESTful services using Java standards that will be portable to
many different Java environments. --- 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 uses the
Wildfly server and Eclipse. Wildfly is the open source project for the
JBoss Enterprise Application Platform and was renamed from JBoss
Application Server (JBoss AS) for this version. Wildfly 8 supports Java
EE 7 and JAX-RS 2.0, the version covered in this course.
Course Length: 2 Days
Course Tuition: $990 (US) |
Prerequisites |
|
Experience with Java programming is required. Experience with Eclipse is useful but not required. 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. |
Course Outline |
Chapter 1. REST Services
- Many Flavors of Services
- Understanding REST
- Principles of RESTful Services
- REST Resource Examples
- SOAP Equivalent Examples
- REST vs SOAP Communication
- More REST vs SOAP
- REST vs SOAP Summary
- Famous RESTful Services
- Additional Resources
Summary
Chapter 2. Introduction to JAX-RS
- The JAX-RS Specification
- New In JAX-RS 2.0
- The Resource Class
- Configuring JAX-RS for Deployment
- Implementing Service Versioning with Configuration
- A Bunch of Annotations
- @Path
- Using Path Parameters
- Path Parameters
- HTTP Method Binding
- More Complex Paths
Summary
Chapter 3. Other JAX-RS Data Injection
- Sources for Injected Data
- Query Parameters
- HTML Form Input
- Cookies
- Matrix Parameters
- HTTP Headers
- Default Values
- Parameter Conversion
- Parameter Encoding
- Custom Types
- Bean Validation
Summary
Chapter 4. Designing a RESTful Service
- Introduction
- The Design Methodology
- Ingredients of a Service Operation Interface
- What Constitutes a REST Resource
- Resource Identifiers
- MIME Types
- HTTP Methods
- Example Operation Interface Document
- Web Application Description Language (WADL)
- WADL Support
Summary
Chapter 5. JAX-RS Content Types
- Internet Media Types
- Common Media Types
- Use of Media Type in REST
- The @Consumes Annotation
- Content Negotiation
- The @Produces Annotation
- The MediaType Class
- JAXB
- Dynamic Content Negotiation
Summary
Chapter 6. Building Complex JAX-RS Responses
- HTTP Response Status Codes
- Introduction to the JAX-RS Response Class
- Using the Response and Response.ResponseBuilder Classes
- Building a Location for an Entity
- Returning Cookies
- Cookies in Response Headers
- Reading Cookies
- Returning an Exception
- ExceptionMappers
Summary
Chapter 7. Clients of JAX-RS Services
- Java Web Service Clients
- JAX-RS 2.0 Client Libraries
- JAX-RS 2.0 Client Example
- Client Instances
- WebTarget
- Building and Invoking Requests
- WADL
- WADL Example
- JAX-RS Implementation Client Libraries
- RESTEasy Example
Summary
Chapter 8. Securing JAX-RS Services
- HTTP Basic Authentication
- Example Client
- The WWW-Authenticate and Authorization Headers
- Java EE Security Roles
- Integration with Web Container Security
- Java EE Security Annotations
- SecurityContext
- Restrictions Based on Content Type
Summary
Chapter 9. Hypermedia and REST Services (HATEOAS)
- HATEOAS
- Using Hypermedia
- Building Links and Targets
- Using Atom Links for State Transitions
Summary
Chapter 10. Caching and Asynchronous Interaction
- Caching and REST Services
- Approaches to Caching
- HTTP Cache Headers
- Example: Conditional HTTP GET
- Conditional Updates
- Asynchronous Interaction
- Futures and Callbacks
- Server Asynchronous Response Processing
Summary
|
Course Directory [training on all levels]
- .NET Classes
- Agile/Scrum Classes
- Ajax Classes
- Android and iPhone Programming Classes
- Blaze Advisor Classes
- C Programming Classes
- C# Programming Classes
- C++ Programming Classes
- Cisco Classes
- Cloud Classes
- CompTIA Classes
- Crystal Reports Classes
- Design Patterns Classes
- DevOps Classes
- Foundations of Web Design & Web Authoring Classes
- Git, Jira, Wicket, Gradle, Tableau Classes
- IBM Classes
- Java Programming Classes
- JBoss Administration Classes
- JUnit, TDD, CPTC, Web Penetration Classes
- Linux Unix Classes
- Machine Learning Classes
- Microsoft Classes
- Microsoft Development Classes
- Microsoft SQL Server Classes
- Microsoft Team Foundation Server Classes
- Microsoft Windows Server Classes
- Oracle, MySQL, Cassandra, Hadoop Database Classes
- Perl Programming Classes
- Python Programming Classes
- Ruby Programming Classes
- Security Classes
- SharePoint Classes
- SOA Classes
- Tcl, Awk, Bash, Shell Classes
- UML Classes
- VMWare Classes
- Web Development Classes
- Web Services Classes
- Weblogic Administration Classes
- XML Classes
Java Uses & Stats
Difficulty
|
Popularity
|
Year Created 1995 |
Pros
Most Commonly Used:
Great Career Choice:
Android Apps Development:
It Can Run On Any Platform:
Great Supporting IDE's: |
Cons
Uses a Lot of Memory:
Difficulty in Learning:
Slow Start Up Times:
Verbose and Complex Code:
Commercial License Cost: |
Java Job Market |
Average Salary
|
Job Count
|
Top Job Locations
New York City |
Complimentary Skills to have along with Java
- If you are an experienced Java developer, learning a complimentary language to Java should come much more naturally. As an example JetBrains recently created the Kotlin programming language which is officially supported by Google for mobile development. Kotlin compiles to Java bytecode and runs on the JVM; it's purported to address many of Java's shortcomings... |