Java Web Services Part 2
4.7 (65 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,161 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Java Web Services Part 2 to your Wishlist.

Add to Wishlist

Java Web Services Part 2

Master advanced web services concepts and implement them in easy steps
Bestselling
4.7 (65 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,161 students enrolled
Last updated 8/2017
English
Current price: $10 Original price: $20 Discount: 50% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 3 hours on-demand video
  • 9 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Develop a simple SOAP service and client
  • Learn what WS Security is
  • Master the four security concepts - Authentication Confidentiality Integrity and Non Repudiation
  • Implement SOAP Web Services security using Apache CXF and WSS4J
  • Implement Username Token Profile authentication on client and the provider
  • Understand Encryption and Decryption
  • Learn how to use the java keytool
  • Generate and use keys/certificates
  • Implement Encryption and Decryption
  • Sign the SOAP messages and ensure message integrity
  • Enable Timestamps to prevent replay attacks
  • And much more in the future on this agile style and incremental course
View Curriculum
Requirements
  • Complete my Java Web Services Course on UDemy
  • Or Should Have Apache CXF and SOAP and REST Web Services Knowledge
Description

This course is a continuation of my "Java Web Services" course which is the most popular course on that topic on UDemy as well as on the internet.

Are you interested in learning and implementing advanced Web Services concepts such as Security ? Then this course is for you.This is a incremental course.I will adding several new topics such as OAuth,Async Communication and more relevant topics that are not covered in the Java Web Service course.

Do you want to learn the four key security areas and address them in your SOAP Web Services?

This course will simplify things with concepts and step by step implementations . By the end of it you will:

1. Understand the four key security areas

2. Use the WS-Security standard to secure your services

3. Implement Authentication

4. Understand what Encryption is and why it is required

5. Learn how to use the java keytool to generate security key pairs

6. Implement Encryption and Decryption both on the web service client and web service provider

7. Learn what , why and how to sign soap messages 

8. Prevent replay attacks by enabling Timestamps

9. And many more advanced SOAP and REST web services topics in the near future

Who is the target audience?
  • Students who have completed my Java Web Services Course on UDemy
  • or Students with strong SOAP and REST web services knowledge
  • Student who want to master the security concepts and implementation
  • Students who want to learn and implement advanced web services concepts
Students Who Viewed This Course Also Viewed
Curriculum For This Course
74 Lectures
02:56:51
+
SOAP Web Service Creation
9 Lectures 22:48
Simple Usecase
00:46

Create the Project
02:32

<properties>

<cxf.version>3.1.9</cxf.version>

</properties>

<build>

<plugins>

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-compiler-plugin</artifactId>

<version>3.2</version>

<configuration>

<source>1.8</source>

<target>1.8</target>

</configuration>

</plugin>

<plugin>

<artifactId>maven-war-plugin</artifactId>

<version>2.1</version>

<configuration>

<webXml>src/main/webapp/WEB-INF/web.xml</webXml>

</configuration>

</plugin>

</plugins>

<finalName>sumws</finalName>

</build>

<dependencies>

<dependency>

<groupId>org.apache.cxf</groupId>

<artifactId>cxf-rt-frontend-jaxws</artifactId>

<version>${cxf.version}</version>

</dependency>

<dependency>

<groupId>org.apache.cxf</groupId>

<artifactId>cxf-rt-transports-http</artifactId>

<version>${cxf.version}</version>

</dependency>

<dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-core</artifactId>

<version>3.2.0.RELEASE</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-context</artifactId>

<version>3.2.0.RELEASE</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-web</artifactId>

<version>3.2.0.RELEASE</version>

</dependency>

</dependencies>

Add Maven Dependencies
03:13

Create the WS Endpoint
04:03

Mark with JAXB Annotations
02:42

Mark with JAX-WS Annotations
01:40

Configure the endpoint
03:26

Configure the cxf servlet
01:59

Deploy and Run
02:27
+
SOAP Web Service Client Creation
4 Lectures 11:37
Create the client Project
02:01

<properties>

<cxf.version>3.1.9</cxf.version>

</properties>

<build>

<plugins>

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-compiler-plugin</artifactId>

<version>3.2</version>

<configuration>

<source>1.8</source>

<target>1.8</target>

</configuration>

</plugin>

<plugin>

<groupId>org.apache.cxf</groupId>

<artifactId>cxf-codegen-plugin</artifactId>

<version>${cxf.version}</version>

<executions>

<execution>

<id>generate-sources</id>

<phase>generate-sources</phase>

<configuration>

<sourceRoot>${basedir}/src/generated</sourceRoot>

<wsdlOptions>

<wsdlOption>

<wsdl>${basedir}/src/main/resources/sumService.wsdl</wsdl>

</wsdlOption>

</wsdlOptions>

</configuration>

<goals>

<goal>wsdl2java</goal>

</goals>

</execution>

</executions>

</plugin>

</plugins>

<finalName>sumwsclient</finalName>

</build>

<dependencies>

<dependency>

<groupId>org.apache.cxf</groupId>

<artifactId>cxf-rt-frontend-jaxws</artifactId>

<version>${cxf.version}</version>

</dependency>

<dependency>

<groupId>org.apache.cxf</groupId>

<artifactId>cxf-rt-transports-http</artifactId>

<version>${cxf.version}</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-core</artifactId>

<version>3.2.0.RELEASE</version>

</dependency>

<dependency>

<groupId>org.apache.cxf</groupId>

<artifactId>cxf-rt-ws-security</artifactId>

<version>${cxf.version}</version>

</dependency>

<dependency>

<groupId>commons-httpclient</groupId>

<artifactId>commons-httpclient</artifactId>

<version>3.1</version>

</dependency>

<dependency>

<groupId>commons-codec</groupId>

<artifactId>commons-codec</artifactId>

<version>1.9</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-context</artifactId>

<version>3.2.0.RELEASE</version>

</dependency>

<dependency>

<groupId>junit</groupId>

<artifactId>junit</artifactId>

<version>4.4</version>

</dependency>

</dependencies>

Generate the Stubs
02:53

Create the client and test
04:41

Enable CXF logging
02:02
+
SOAP WS Standards Concepts
3 Lectures 08:34
Why WS Standards
01:37


WS Security and Apache CXF
02:38

SOAP WS - Standard Concepts
3 questions
+
WS Security - Authentication
11 Lectures 22:12
What is Username Token Profile?
01:00

Steps to Configure Username Token Profile
00:30

<dependency>

<groupId>org.apache.cxf</groupId>

<artifactId>cxf-rt-ws-security</artifactId>

<version>${cxf.version}</version>

</dependency>

<dependency>

<groupId>commons-httpclient</groupId>

<artifactId>commons-httpclient</artifactId>

<version>3.1</version>

</dependency>

<dependency>

<groupId>commons-codec</groupId>

<artifactId>commons-codec</artifactId>

<version>1.9</version>

</dependency>

Update the maven dependencies
01:46

Configure User Name Token Profile
03:47

Create and configure the PasswordCallbackHandler
05:09

Run the application on the server
01:24

Update Client Maven Dependencies
01:02

Retrieve the CXF Client Proxy
01:16

Create the WSSJ Interceptors Programmatically
01:39

Configure the properties
02:19

Run the test
02:20

WS Security - Authentication
2 questions
+
Encryption and Decryption Concepts
4 Lectures 12:52

The Java keytool
01:22

Generate a key pair using the keytool
05:23

Export the public certificate
02:04

Encryption and Decryption Concepts
3 questions
+
WS Security - Confidentiality(Encryption/Decryption)
16 Lectures 34:41
Steps to enable Encryption
00:43

keytool -genkey -keyalg RSA -sigalg SHA1withRSA -validity 600 -alias myservicekey -keypass skpass -storepass sspass -keystore serviceKeystore.jks -dname "cn=Bharath"

keytool -genkey -keyalg RSA -sigalg SHA1withRSA -validity 600 -alias myclientkey  -keypass ckpass -storepass cspass -keystore clientKeystore.jks -dname "cn=Bharath"

Create the Key Pairs
06:20

keytool -export -rfc -keystore clientKeystore.jks -storepass cspass -alias myclientkey -file MyClient.cer

keytool -export -rfc -keystore serviceKeystore.jks -storepass sspass -alias myservicekey -file MyService.cer

Export the public keys
03:03

keytool -import -trustcacerts -keystore serviceKeystore.jks -storepass sspass -alias myclientkey -file MyClient.cer -noprompt

keytool -import -trustcacerts -keystore clientKeystore.jks -storepass cspass -alias myservicekey -file MyService.cer -noprompt

Import the certificates
02:07

The trustcacerts Flag
01:15

Copy the keystores to projects
01:05

Configure Encryption Action and Properties
01:49

Create the property file
02:48

Update the PasswordCallbackHandler
00:44

Add decryption action
01:27

Create the property file
01:08

Update the PasswordCallbackHandler
00:25


What just happened?
01:32

Enable encryption on the Server
02:37

Enable Decryption on the client
04:22
+
WS Security - Integrity (Signatures)
6 Lectures 10:12
What are Signatures?
02:27

Configure Signature on the client
01:59

Configure to check for signature on the Server
01:46

Run the test and verify the signature
00:45

Sign the message on the server
01:14

Verify the signature on the client
02:01

Integrity
2 questions
+
WS Security - Non Repudiation (Timestamp)
4 Lectures 07:02
What is a Timestamp?
01:53

Enable Timestamp on the Client and Provider
01:26

Run a Test
02:07

Time to Live
01:36

Timestamp
2 questions
+
Securing parts of the message
5 Lectures 14:47
Introduction
01:22

Encrypt the Signature Part on the Client
04:09

Encrypt the Signature Part on the Provider and Test
04:07

Use Timestamp Part in the Signature
04:14

Download the completed projects
00:55
1 More Section
About the Instructor
Bharath Thippireddy
4.5 Average rating
5,142 Reviews
31,522 Students
10 Courses
Java Architect and Popular Instructor - 30,000 + students

I have 13 + years of Software design and development Experience. While working for companies like Oracle, HP, TCS, Siemens and NCR I have architected applications using Java, JEE, Java Script and SOA technologies.

I love learning new things both in technology and personal development and I love sharing them - "Sharing is learning!”. I have mentored students in class room trainings as well as in the corporate world both in India as well as in USA.I also share my adventures on my website and YouTube channels.

I have spoken on technical topics at several agile conferences. While in India I also voluntarily teach interview and soft skills at Vivekananda Kendra.

I am a Sun Certified Developer, Web Component Developer, Business Component Developer, Web Services Developer.