- Class#1
- Web
services overview
- Class#2 - SOAP
- Class#3 - XML schema, WSDL,
SOAP/WSDL tool demo
- Class#4 - UDDI, J2EE and Web Services, soapclient.com
Demo
- Class#5 - JAX-RPC
Basics
- Class#6 - SSL, Web application security, JAX-RPC
security
- Class#7
- Advanced JAX-RPC
- Class#8
- Document-driven Web services using JAX-RPC
- Class#9
- SAAJ, JAXR, CoffeeBreak E-Commerce
Application
- Class#10
- Web
Services
Security, Identity Management and Liberty
- Class#11
- Web Services Interoperability
and WS-I
- Class#12
- JAXP, SAX, DOM, JAXB
- Class#13 - SOA (Service Oriented Architecture), Java
Business Integration
(JBI), BPEL, ebXML, UBL
- Class#14
- Web services best practices
and design guidelines, Web services performance
- Class#15
- Overview of all ongoing Web
services standards
Schedule
- Class #1
- A few words from
Sang Shin
- In class #1, we are going to learn the
concept and
architecture of
Web services first and then we will talk a bit on core Web services
standards, mainly SOAP, WSDL, and UDDI. In classes #2 and #3, we
will be talking about these three core standards in more detail but
I want you to
get
some sense on what they are so that, when you are reading articles on
Web services, you know what they are.
- Presentation material
- Introduction of the course and logistics (1
hour)
- Web
services Overview (2 hours):
- Pre-class reading
- Assignment
- Objective
- Getting some sense of what is
currently going on in
Web services as a technology
- Task
- Read one of the articles mentioned in the
resources area
or find any web services article you could find in the web
services related websites and post one paragraph summary to the
class alias.
- Things to be submitted
- Nothing to be submitted individually.
- Class #2
- A few words from
Sang Shin
- In
class #2, we will learn SOAP (Simple Object Access Protocol) which is
the most basic Web services standard/technology in rather detail.
- We will talk a little bit on XML
Namespace as well.
- You
will also
download and play around with J2EE 1.4 SDK and J2EE 1.4 tutorial for
the first time (if you
have not done so yet). You will use "J2EE 1.4 SDK and J2EE
1.4 tutorial" for doing
the course work. Detail information on where to go to
download and how to install/configure these software is provided in the
homework.
- Even though we will not learn about
JAX-RPC until class #4, I am giving you a homework of building and
deploying "simple" JAX-RPC sample application that comes
with J2EE 1.4 tutorial as a homework. This is so to get you
exposed to JAX-RPC as soon as possible.
- Presentation material
- XML Namespace (0.25 hour)
- SOAP
(Simple Object Access Protocol) (2 hours):
- Web
services demo (0.5 hour)
- Getting product information from Amazon.com
through Web
services
- Code
review and building and deploying
"simple" JAX-RPC application that come with J2EE 1.4 SDK (0.5 hour)
- Pre-class reading
- Homework assignment
- Class #3
- A few words from Sang Shin
- In class
#3, we will
learn the concepts and internal structures of WSDL
- Along with
SOAP,
understanding WSDL is very important so I
strongly encourage you to pay an extra attention to WSDL
- In order
to define the data types of WSDL effectively, you will also need to
understand the XML
schema, so you will learn about the XML schema first before we talk
about WSDL in class #3
- You will
also learn what
rpc/literal and doc/literal messaging styles mean - this is a still a
source of confusion among developers.
- In the
homework, you will create a simple WSDL document either by using your
favorite editor or Cape
Clear's SOA
Editor
- Presentation material
- XML
Schema Tutorial (30 minutes)
- WSDL
(Web Services Description Language) (90 minutes)
- Pre-class reading
- Homework assignment
- Class #4
- A few words from
Sang Shin
- In class #4, we will talk about UDDI.
In my opinion, UDDI is not as important as WSDL or SOAP so it does
receive less attetion than WSDL/SOAP in this course.
- In
class#4, we also talk about
Web services support over J2EE 1.4, the goal of which is to give you a
big picture from the context of J2EE
- We might
also spend a bit
on Web application architecture in the beginning since most Web
services
applications are built and deployed in the form of Web
applications.
- You will
be required to spend some time playing around with UDDI browser of
soapclient.com. This is a good tool for understanding how SOAP,
WSDL, and UDDI are working together.
- Finally, we will spend some time
learning Ant as well. If your organization is developing a
reasonably good size Java application, it is highly likely that you
will use Ant for your build environment. So it is a good idea to
get exposure to Ant. By the way, the "asant" command you used so
far in doing a few homework exercises is special version of ant command
in which J2EE 1.4 SDK specific environment variables are set first
before calling ant command.
- Presentation material
- UDDI
(Universal Description, Discovery and Integration) (45 minutes)
- Web
Application Archiecture (20 minutes) - we will talk about it only
when needed
- Web Services support over J2EE (40 minutes)
- SOAP,
WSDL, UDDI live demo using UDDI browser of www.soapclient.com (15 minutes)
- Ant Overview (1 hour):
- Pre-class reading
material
- Homework assignment
- Class #5
- A few words from
Sang Shin
- In
class#5, we
will learn about the architecture and programming models of
JAX-RPC. As was mentioned, JAX-RPC is the core
Java API
for Web services over J2EE platform. And we will spend two
sessions (class#5
and #7) learning JAX-RPC. (By the way, JAX-RPC is now changed to
JAX-WS from version 2.0)
- Even
though it contains "RPC" as part of its name, JAX-RPC handles both RPC
and document-style web services.
- Presentation material
- JAX-RPC basics (90 minutes)
- JAX-RPC
code review (20
minutes)
- We will look
at the sample Web services codes that come with J2EE 1.4 tutorial
- Tools demo
- SOAPScope
(4-day evaludation
period, runs on only on Windows) demo (10
minutes)
- SOAPTest
(evalation period, runs on Linux/Windows/Solaris) demo (10 minutes)
- Cape Clear's
NetTool (freely downloadable Java program, runs on
Windows/Linux/Solaris)
- Pre-class reading
- Homework assignment
- NetBeans corner
- I explained how to build, deploy, and run <j2eetutorial14_install>/j2eetutorial14/examples/jaxrpc/helloservice
sample application of J2EE 1.4 tutorial here as
part of the homework.
- Class
#6
- A few words from Sang Shin
- We are also going to talk on SSL since
understanding SSL is
important in understanding Web services security
- Web services security in its current form
leverages the same security scheme of Web application
architecture. So we are learning Web application security.
- Presentation materials
- SSL (45 minutes)
- Web application security: We
might or might not
going to talk about this during the face-to-face class, but please scan
through the
slides if you want to understand Web application security schemes better
- Pre-class reading
- Homework assignment
- A few words from Sang Shin
- We are going to learn advanced features of
JAX-RPC such as message handlers, session management, life cycle
management and so on
- The topic of "Document-driven Web services
programming using JAX-RPC" is separated out and
moved to Class #8
- Presentation materials
- Advanced JAX-RPC (2 hours)
- Pre-class reading
- Homework assignment
- A few words from Sang Shin
- In this session, we are going to spend time on
learning various document-driven Web services programming techniques
using JAX-RPC
- We are going to use sample programs that Sameer
Tyagi has written as part of his "Patterns and Strategies for Building
Document-Based Web services" article. The instruction on how to
download and configure this file is explained as part of homework.
- NetBeans 4.1 final version will have some of
Sameer Tyagi's sample codes as ready-to-install NetBeans projects (as
part of Blueprints catalog).
- We will also go over one more time on the issue
of how "style" and "use" attributes of WSDL documents affect the SOAP
messages. We will use the WSDL presentation.
- Presentation materials
- Document driven Web services programming using
JAX-RPC (120 minutes)
- Class
#9
- A few words from Sang Shin
- In this class, we are going to learn the
other two (and less important than JAX-RPC) Java APIs for Web services,
SAAJ and
JAXR.
- Presentation material
- JAXR
(Java API for XML registry) (1 hour)
- Coffee
Break Web Service Code Example from J2EE 1.4 Tutorial (0.5 hour)
- Pre-class reading
- Class #10
- A few words
from Sang Shin
- In this session, we will talk about various
Web services
security standards first
- JAX-RPC supports both transport and message
level
security. Since we talked about transport level security in Class
#5, we will talk only on message level security
- Presentation material
- Web services security (2 hours)
- JAX-RPC Message level Web services security
(15 minutes)
- Identity
Management and Liberty Project (30 minutes)
- Pre-class reading
- Homework
assignment
- Class #11
- A few words from Sang Shin
- This week's topic of discussion is Web
services
interoperability. Since most of the current Web services
interoperability issues are dealt with by the works of WS-I, the
contents are created from the specifications from WS-I.
- Presentation material
- WS-I (15 minutes)
- WS-I Basic profile 1.0 (1 hour)
- WS-I Usage
scenario (30 minutes)
- WS-I sample application architecture (15
minutes)
- WS-I testing tools (monitor and analyzer) (15
minutes)
- Pre-class reading
- Homework
assignment - Optional homework since there is some problem in the
homework instruction
- Class #12
- A few words from Sang Shin
- As we talked about document-driven Web
services will gain
more popularity as we move forward. And parsing, transformation,
and databinding of XML documents will be useful for general document
management. Now since most people have some familiarity with SAXa
dn DOM, I will quickly go over them.
- I am in the process of creating contents on
how to use JAXB
along with JAX-RPC for document-driven Web services
- Presentation material
- Pre-class reading
- Homework
assignment
- Class #13
- Presentation material
- SOA and JBI
- BPEL (We are going to use BPEL Overview
presentation from Oracle)
- ebXML
(Electronics Business XML) (60 minutes)
- UBL (30 minutes)
- Web
services collaboration & choreography
- RosettaNet
(From EDIX Education website) (30 minutes)
- Pre-class reading
- Pre-class
listening
- Assignment - HW#13A Optional
- Objective
- Participate in ebXML Registry Open Source
project
- Task
- Things to be submitted
- This is optional so nothing needs to be
submitted
- Presentation material
- Fast Web services (45 minutes)
- Pre-class reading
- Assignment
- Presentation material
- Emerging Web Services Standards (1 hour)
- Pre-class reading
- Assignment