Description: Description Developing SOAP and RESTful web services is fun. The combination of Spring Boot, Spring Web MVC, Spring Web Services and JPA makes it even more fun.Architectures are moving towards microservices. RESTful web services are the first step to developing great microservices. Spring Boot, in combination with Spring Web MVC (also called Spring REST) makes it easy to develop RESTful web services.There are two parts to this course – RESTful web services and SOAP Web Services.In the first part of the course, you will learn the basics of RESTful web services developing resources for a social media application. You will learn to implement these resources with multiple features – versioning, exception handling, documentation (Swagger), basic authentication (Spring Security), filtering and HATEOAS. You will learn the best practices in designing RESTful web services.
You will be using Spring (Dependency Management), Spring MVC (or Spring REST), Spring Boot, Spring Security (Authentication and Authorization), Spring Boot Actuator (Monitoring), Swagger (Documentation), Maven (dependencies management), Eclipse (IDE), Postman (REST Services Client) and Tomcat Embedded Web Server. We will help you set up each one of these.
While the use of SOAP Web Services is on the way down, there are still considerable number of web services using this approach.
In the second part of the course, you will learn the basics of implementing SOAP Web Services developing a few web services for a course management application. You will learn to use a Contract first approach – defining XSD (XML Schema Definition) for your requests and responses. You will learn about WSDL (SOAP Header, SOAP Body and SOAP Fault), XSD (XML Schema Definition) and JAXB (Java API for XML Binding). You will implementing three SOAP web services with exception handling and basic security (with WS Security).
In this part of the course, you will be using Spring (Dependency Management), Spring Web Services , Spring Boot, Spring Security (Authentication and Authorization), Swagger (Documentation), Maven (dependencies management), Eclipse (IDE), Wizdler (SOAP Services Chrome Plugin) and Tomcat Embedded Web Server. We will help you set up each one of these.
You will learn
What is a Web Service?
What is a RESTful Web Service?
How to implement RESTful Web Services with Spring and Spring Boot?
What are the best practices in designing RESTful Web Services?
How to design Resources and GET, POST and DELETE operations?
How to implement Validation for RESTful Web Services?
How to implement Exception Handling for RESTful Web Services?
What is HATEOAS? How to implement HATEOAS for a Resource?
What are the different approach in versioning RESTful Services?
How to use Postman to execute RESTful Service Requests?
How to implement basic authentication with Spring Security?
How to implement filtering for RESTful Services?
How to monitor RESTful Services with Spring Boot Actuator?
How to document RESTful Web Services with Swagger?
How to connect RESTful Services to a backend with JPA?
What is a SOAP Web Service?
What is WSDL (Web Service Definition Language)?
What is SOAP Header, SOAP Body and SOAP Fault?
What is an XSD (XML Schema Definition)?
How to write an XSD for your requests and responses?
What is JAXB (Java API for XML Binding)?
What is an Endpoint?
What is a Contract First approach?
What are the different steps in building SOAP Web Services with Spring Web Services & Spring Boot?
How to build different SOAP Web services for GetCourseDetailsRequest, GetAllCourseDetailsRequest and DeleteCourseDetailsRequest?
How to use Wizdler to execute SOAP Requests?
How to implement exception handling for SOAP Web Services?
How to implement basic security with WS Security for SOAP Web Services?
Step wise Details
RESTful Web Services
Step 01 – Initializing a RESTful Services Project with Spring Boot
Step 02 – Understanding the RESTful Services we would create in this course
Step 03 – Creating a Hello World Service
Step 04 – Enhancing the Hello World Service to return a Bean
Step 05 – Quick Review of Spring Boot Auto Configuration and Dispatcher Servlet – What’s happening in the background?
Step 06 – Enhancing the Hello World Service with a Path Variable
Step 07 – Creating User Bean and User Service
Step 08 – Implementing GET Methods for User Resource
Step 09 – Implementing POST Method to create User Resource
Step 10 – Enhancing POST Method to return correct HTTP Status Code and Location URI
Step 11 – Implementing Exception Handling – 404 Resource Not Found
Step 12 – Implementing Generic Exception Handling for all Resources
Step 13 – Exercise : User Post Resource and Exception Handling
Step 14 – Implementing DELETE Method to delete a User Resource
Step 15 – Implementing Validations for RESTful Services
Step 16 – Implementing HATEOAS for RESTful Services
Step 17 – Overview of Advanced RESTful Service Features
Step 18 – Internationalization for RESTful Services
Step 19 – Content Negotiation – Implementing Support for XML
Step 20 – Configuring Auto Generation of Swagger Documentation
Step 21 – Introduction to Swagger Documentation Format
Step 22 – Enhancing Swagger Documentation with Custom Annotations
Step 23 – Monitoring APIs with Spring Boot Actuator
Step 24 – Implementing Static Filtering for RESTful Service
Step 25 – Implementing Dynamic Filtering for RESTful Service
Step 26 – Versioning RESTful Services – Basic Approach with URIs
Step 27 – Versioning RESTful Services – Header and Content Negotiation Approaches
Step 28 – Implementing Basic Authentication with Spring Security
Step 29 – Overview of Connecting RESTful Service to JPA
Step 30 – Creating User Entity and some test data
Step 31 – Updating GET methods on User Resource to use JPA
Step 32 – Updating POST and DELETE methods on User Resource to use JPA
Step 33 – Creating Post Entity and Many to One Relationship with User Entity
Step 34 – Implementing a GET service to retrieve all Posts of a User
Step 35 – Implementing a POST service to create a Post for a User
Step 36 – Richardson Maturity Model
Step 37 – RESTful Services Best Practices
SOAP Web Services
Step 01 – Initialize a Spring Web Services application with Spring Boot
Step 02 – Overview of creating SOAP Web Service using Contract First Approach
Step 03 – Define Request and Response XML Structure
Step 04 – Define XML Schema Definition (XSD) for Request – GetCourseDetailsRequest
Step 05 – Define XML Schema Definition (XSD) for Respone – GetCourseDetailsResponse
Step 06 – More about XML Schema Definition and Implementing XSD Best Practices
Step 07 – Introduction to Java API for XML Binding (JAX
and Configuring JAXB 2 Maven Plugin
Step 08 – Configuring an Endpoint for GetCourseDetailsRequest
Step 09 – Spring Web Services Configuration – Message Dispatcher Servlet
Step 10 – Spring Web Services Configuration – Generating WSDL
Step 11 – Using Wizdler to execute SOAP Requests
Step 12 – Implementing a service – Course Details Service – backend with in memory array list
Step 13 – Implementing SOAP Web Service for GetAllCourseDetailsRequest
Step 14 – Quick introduction to different parts of a WSDL
Step 15 – Implementing SOAP Web Service for DeleteCourseDetailsRequest
Step 16 – Improving the DeleteCourseDetailsRequest – Using an Enum for Status
Step 17 – Exception Handling and SOAP Fault Responses
Step 18 – Implementing Security for SOAP Web Services with WS Security
Who is the target audience? You want to learn the basics of Web Services
You want to learn the terminology associated with Web Services
You want to learn to develop and design RESTful web services
You want to learn to develop and design SOAP web services
You have good experience with Java and want to see what more you can do with Java
You have good experience with Spring and want to use that knowledge
Requirements You should have working experience with Java.
We will help you install Eclipse and get up and running with Maven and Tomcat.
Last updated 4/2018