Administrivia
Lecturer Adam Blum
Office Hours: Thursday 4:00pm-5:00pm South 303B
Course Description
Web services enable computer programs to communicate with each other across application, operating system, hardware and organizational boundaries via XML documents and open standard Internet protocols. This course covers the basic standards that enable web services: XML Schema, SOAP, WSDL, and UDDI. It describes proper design of web services and applications that use them within a service-oriented architecture. Programming techniques for implementation of web services are demonstrated, including coverage of tools for developing web services in the Windows/.NET and Java/J2EE environments. The roadmap and motivation of future web services standards is laid out. Over the course of the semester students will build a significant web service project and incrementally enhance it as new techniques and web service standards are learned.
Course Information
Course Dates: September 2 to December 16, 2004
Lecture Schedule: Thursday 5:00pm-8:00pm in 202 South Hall
Units: 3
Grading Option: Letter Grade only
Course Texts
Recommended
Java Web Services in a Nutshell, Kim Topley. .
Programming .NET Web Services, Alex Ferrara and Matthew MacDonald. O'Reilly, 2002.
Expert Service-Oriented Architecture in C#: Using the Web Services Enhancements 2.0, Jeffrey Hasan. APress, 2004.
Optional
UDDI: Building Registry-Based Web Services Solutions, Naresh Apte and Toral Mehta. Prentice-Hall, 2003.
Course Work
September 2 : Thursday
This discusses the overall roadmap of topics for the course. Describes what web services are and what they are for. Provides a brief introduction to SOAP and WSDL. It also introduces the concept of the projects and their basic structure.
Resources
September 9 : Thursday
Detailed discussion of the SOAP and WSDL specifications. Includes several examples of each. Also demonstrates the Google and Amazon web services APIs and describes their WSDL definitions
Resources
September 16 : Thursday
This lecture describes at a high level that various styles of web services: RPC, document, wrapped and message-oriented. We then concentrate on showing how to both build and use simple RPC style web services. We demonstrate this using Visual Studio (consuming an existing web service from xmethods.net and creating a new web service), Systinet WASP and Apache Axis. The demonstrations are not fully contained in the slides.
Resources
Due on December 9
September 23 : Thursday
Asynchronous and Message Style Web Services
This lecture describes how to build more advanced, coarse-grained, asynchronous web services with direct control of the XML payloads. Specifically this class:
- - will show how to build and consume asynchronous web service with .NET and Java web service products
- - describes how to build message style web services with Java tools (Axis and Systinet) and .NET
- - present API alternatives for creating and consuming XML documents for web services payload
- - describe some general design guidelines for more scalable, performant web services
Required Readings
Keep up with Web service styles (and uses), Mitch Gitman [Online]
Recommended Readings
Create Web services using Apache Axis and Castor, Kevin Gibbs [Online]
Horses for Courses: Services, Objects, and Loose Coupling - Integration without compromise , Jim Webber and Savas Parastatidis [Online]
Resources
September 30 : Thursday
Guest lecture from Fred Carter, chief architect at leading web services management vendor, Amberpoint (Oakland, CA). Fred will discuss common performance, reliability and security management needs in enterprise use of web services. He will also describe the current state of the propose WSDM standard for web service management.
Guest Lecturer: Fred Carter
Resources
October 7 : Thursday
Web Services Registries and UDDI
This class first describes the requirements for a web service registry, and why a location to publish (possibly internally only) the availability of a web service is crucial to realizing the promise of web services. We then detail how UDDI was originally built to address these requirements. We present the current design of the UDDI V3 specification in detail. We describe various technical notes that are additive to the UDDI specification to make it work well with other web service standards. Future plans for UDDI are summarized.
Optional Readings
of UDDI: Building Registry-Based Web Services Solutions [Textbook]
Resources
October 21 : Thursday
This class shows how to create web services with: - confidentiality - encryption via WS-Security and XML Encryption - integrity - signing via WS-Security and XML Signature - compliance with security policies - negotiated via WS-Policy and WS-SecurityPolicy We also describe methods of securing your web service assuming that you do not have the ability to use a WS-Security supporting SOAP implementation.
Resources
October 28 : Thursday
November 4 : Thursday
We describe several development platforms to enable building applications running on wireless devices to connect to web services running on servers in the enterprise or elsewhere. Technologies from Sun and IBM are demonstrated. Standards such as J2ME and MIDP are discussed.
Resources
November 11 : Thursday : Veterans Day
November 18 : Thursday
December 2 : Thursday
Service Oriented Architectures
Guest lecture from Adam Bosworth on web services design and building service oriented architectures. If there is time remaining, I will also present a lecture on "Best Practices for Service-Oriented Architectures" that should act as a good summary of many of the topics which we have discussed over the semester.
Guest Lecturer: Adam Bosworth
Resources
December 9 : Thursday
last updated on 2004-10-11 by Adam Blum

