My Account Log in

3 options

RESTful java web services : a pragmatic guide to designing and building RESTful APIs using Java / Bogunuva Mohanram Balachandar.

EBSCOhost Academic eBook Collection (North America) Available online

View online

Ebook Central College Complete Available online

View online

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Balachandar, Bogunuva Mohanram, author.
Language:
English
Subjects (All):
Web site development--Computer programs.
Web site development.
Physical Description:
1 online resource (1 volume) : illustrations
Edition:
Third edition.
Place of Publication:
Birmingham, England : Packt Publishing, 2017.
System Details:
text file
Biography/History:
Bogunuva Mohanram Balachandar: Bogunuva Mohanram Balachandar works as associate director for a leading American multinational corporation, listed in NASDAQ-100 that provides digital, technology, consulting, and operations services. He has extensive experience in the design and development of multiple enterprise application integration projects, using various tools and technologies such as Oracle SOA Suite, Oracle Service Bus, Oracle AIA, IBM WebSphere Process Server, web services, RESTful services, Business Process Execution Language (BPEL), IBM WebSphere MQ, TIBCO EMS, Java, JMS, and Spring Integration. He is certified in SOA, web services, and cloud technologies and has over 16 years of IT industry experience in software design and development. Prior to joining his current employer, he worked with IBM, Accenture, and Wipro.
Summary:
Master core REST concepts and create RESTful web services in Java About This Book Build efficient and secure RESTful web APIs in Java.. Design solutions to produce, consume and visualize RESTful web services using WADL, RAML, and Swagger Familiarize the role of RESTful APIs usage in emerging technology trends like Cloud, IoT, Social Media. Who This Book Is For If you are a web developer with a basic understanding of the REST concepts and envisage to get acquainted with the idea of designing and developing RESTful web services, this is the book for you. As all the code samples for the book are written in Java, proficiency in Java is a must. What You Will Learn Introduce yourself to the RESTful software architectural style and the REST API design principles Make use of the JSR 353 API, JSR 374 API, JSR 367 API and Jackson API for JSON processing Build portable RESTful web APIs, making use of the JAX-RS 2.1 API Simplify API development using the Jersey and RESTEasy extension APIs Secure your RESTful web services with various authentication and authorization mechanisms Get to grips with the various metadata solutions to describe, produce, and consume RESTful web services Understand the design and coding guidelines to build well-performing RESTful APIs See how the role of RESTful web services changes with emerging technologies and trends In Detail Representational State Transfer (REST) is a simple yet powerful software architecture style to create lightweight and scalable web services. The RESTful web services use HTTP as the transport protocol and can use any message formats, including XML, JSON(widely used), CSV, and many more, which makes it easily inter-operable across different languages and platforms. This successful book is currently in its 3rd edition and has been used by thousands of developers. It serves as an excellent guide for developing RESTful web services in Java. This book attempts to familiarize the reader with the concepts of REST. It is a pragmatic guide for designing and developing web services using Java APIs for real-life use cases following best practices and for learning to secure REST APIs using OAuth and JWT. Finally, you will learn the role of RESTful web services for future technological advances, be it cloud, IoT or social media. By the end of this book, you will be able to efficiently build robust, scalable, and secure RESTful web services using Java APIs. Style and approach Step-by-step guide to designing and develop...
Contents:
Intro
Title Page
Copyright
Credits
About the Author
Acknowledgments
About the Reviewer
www.PacktPub.com
Customer Feedback
Table of Contents
Preface
Chapter 1: Introducing the REST Architectural Style
The REST architectural style
Introducing HTTP
HTTP versions
Understanding the HTTP request-response model
Uniform resource identifier
Understating the HTTP request methods
Representing content types using HTTP header fields
HTTP status codes
The evolution of RESTful web services
The core architectural elements of a RESTful system
Data elements
Resources
URI
The representation of resources
Generic interaction semantics for REST resources
The HTTP GET method
The HTTP POST method
The HTTP PUT method
The HTTP DELETE method
Hypermedia as the Engine of Application State
Connectors
Components
The description and discovery of RESTful web services
Java tools and frameworks for building RESTful web services
Summary
Chapter 2: Java APIs for JSON Processing
A brief overview of JSON
Understanding the JSON data syntax
Basic data types available with JSON
Sample JSON file representing employee objects
Processing JSON data
Using JSR 353 - Java API for processing JSON
Processing JSON with JSR 353 object model APIs
Generating the object model from the JSON representation
JSON value types
Generating the JSON representation from the object model
Processing JSON with JSR 353 streaming APIs
Using streaming APIs to parse JSON data
Using streaming APIs to generate JSON
Using the Jackson API for processing JSON
Processing JSON with Jackson tree model APIs
Using Jackson tree model APIs to query and update data
Processing JSON with Jackson data binding APIs
Simple Jackson data binding with generalized objects.
Full Jackson data binding with specialized objects
Processing JSON with Jackson streaming APIs
Using Jackson streaming APIs to parse JSON data
Using Jackson streaming APIs to generate JSON
Using the Gson API for processing JSON
Processing JSON with object model APIs in Gson
Generating the parameterized Java collection from the JSON representation
Processing JSON with Gson streaming APIs
Reading JSON data with Gson streaming APIs
Writing JSON data with Gson streaming APIs
Java EE 8 enhancements for processing JSON
Using the JSR 374 - Java API for JSON Processing 1.1
Understanding the JSON Pointer
Processing JSON using JSON Pointer
Understanding the JSON Patch
Processing JSON using JSON Patch
Using the JSR 367 - Java API for JSON Binding
Processing JSON using JSON-B
Chapter 3: Introducing the JAX-RS API
An overview of JAX-RS
JAX-RS annotations
Specifying the dependency of the JAX-RS API
Using JAX-RS annotations to build RESTful web services
Annotations for defining a RESTful resource
@Path
Annotations for specifying request-response media types
@Produces
@Consumes
Annotations for processing HTTP request methods
@GET
@PUT
@POST
@DELETE
@HEAD
@OPTIONS
Annotations for accessing request parameters
@PathParam
@QueryParam
@MatrixParam
@HeaderParam
@CookieParam
@FormParam
@DefaultValue
@Context
@BeanParam
@Encoded
Annotation inheritance
Returning additional metadata with responses
Understanding data binding rules in JAX-RS
Mapping the path variable with Java types
Mapping the request and response entity body with Java types.
Using JAXB to manage the mapping of the request and response entity body to Java objects
Building your first RESTful web service with JAX-RS
Setting up the environment
Building a simple RESTful web service application using the NetBeans IDE
Adding CRUD operations on the REST resource class
Client APIs for accessing RESTful web services
Specifying a dependency of the JAX-RS client API
Calling REST APIs using the JAX-RS client
Simplified client APIs for accessing REST APIs
Chapter 4: Advanced Features in the JAX-RS APIs
Understanding subresources and subresource locators in JAX-RS
Subresources in JAX-RS
Subresource locators in JAX-RS
Dynamic dispatching
Request matching
JAX-RS response builder explained
Exception handling in JAX-RS
Reporting errors using ResponseBuilder
Reporting errors using WebApplicationException
Reporting errors using application exceptions
Mapping exceptions to a response message using ExceptionMapper
Introducing validations in JAX-RS applications
A brief introduction to Bean Validation
Building custom validation constraints
What happens when Bean Validation fails in a JAX-RS application?
Supporting custom request-response message formats
Building custom entity provider
Marshaling Java objects to the CSV representation with MessageBodyWriter
Marshaling CSV representation to Java objects with MessageBodyReader
Asynchronous RESTful web services
Asynchronous RESTful web service client
Server-sent events
Managing an HTTP cache in a RESTful web service
Using the Expires header to control the validity of the HTTP cache
Using Cache-Control directives to manage the HTTP cache
Conditional request processing with the Last-Modified HTTP response header
Conditional request processing with the ETag HTTP response header.
Conditional data update in RESTful web services
Understanding filters and interceptors in JAX-RS
Modifying request and response parameters with JAX-RS filters
Implementing server-side request message filters
Postmatching server-side request message filters
Prematching server-side request message filters
Implementing server-side response message filters
Implementing client-side request message filters
Implementing client-side response message filters
Modifying request and response message bodies with JAX-RS interceptors
Implementing request message body interceptors
Implementing response message body interceptors
Managing the order of execution for filters and interceptors
Selectively applying filters and interceptors on REST resources by using @NameBinding
Dynamically applying filters and interceptors on REST resources using DynamicFeature
Understanding the JAX-RS resource life cycle
Chapter 5: Introducing JAX-RS Implementation Framework Extensions
Jersey framework extensions
Dynamically configuring JAX-RS resources during deployment
A quick look at the static resource configurations
Modifying JAX-RS resources during deployment using ModelProcessor
What is the Jersey model processor and how it works?
A brief look at the ModelProcessor interface
Building Hypermedia As The Engine Of Application State (HATEOAS) APIs
Programmatically building entity body links using JAX-RS APIs
Programmatically building header links using JAX-RS APIs
Declaratively building links using Jersey annotations
Specifying the dependency to use Jersey declarative linking
Enabling the Jersey declarative linking feature for the application
Declaratively adding links to the resource representation
Grouping multiple links using @InjectLinks.
Declaratively building HTTP link headers using @InjectLinks
Reading and writing large binary objects using Jersey APIs
Building RESTful web services for storing images
Building RESTful web service for reading images
Generating a chunked output using Jersey APIs
Jersey client API for reading chunked input
Supporting server-sent events in RESTful web services
Understanding the Jersey server-side configuration properties
Monitoring RESTful web services using Jersey APIs
RESTEasy framework extensions
Caching using RESTEasy
Cache-control annotations
Client-side caching
GZIP compression/decompression
Multipart content handling
Chapter 6: Securing RESTful Web Services
Securing and authenticating web services
HTTP basic authentication
Building JAX-RS clients with basic authentication
Securing JAX-RS services with basic authentication
Configuring the basic authentication
Defining groups and users in the GlassFish server
HTTP digest authentication
JWT authentication
JSON Web Token (JWT) overview
Using JWT to secure RESTful services
Securing RESTful web services with OAuth
Understanding the OAuth 1.0 protocol
Building the OAuth 1.0 client using Jersey APIs
Understanding the OAuth 2.0 protocol
Understanding the grant types in OAuth 2.0
Building the OAuth 2.0 client using Jersey APIs
Authorizing the RESTful web service accesses via the security APIs
Using SecurityContext APIs to control access
Using the javax.annotation.security annotations to control access
Using Jersey's role-based entity data filtering
Input validation
Key considerations for securing RESTful services
Chapter 7: Description and Discovery of RESTful Web Services
The need for an interface contract
Web Application Description Language.
Overview of the WADL structure.
Notes:
Includes index.
Description based on online resource; title from PDF title page (EBC, viewed December 15, 2017).
OCLC:
1017754230

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account