The goal
of this course is to provide students with the knowledge and skills
that are required to develop Extensible Markup Language (XML) Web services-based
solutions to solve common problems in the distributed application domain.
The course focuses on using Microsoft Visual Studio® .NET and Microsoft
ASP.NET to enable students to build, deploy, locate, and consume Web
services. This course is intended for experienced software developers
who have previously built component-based applications.
AT COURSE COMPLETION
After completing this course, students will be able to:
- Explain
how Web services solve problems encountered with traditional approaches
to designing distributed applications.
- Describe
the architecture of a Web services-based solution.
- Describe
the underlying technologies of Web services and explain how to use
the Microsoft .NET Framework to implement them.
- Implement
a Web service consumer by using Visual Studio .NET.
- Implement
a simple Web service by using Visual Studio .NET.
- Publish
and deploy a Web service.
- Secure
a Web service.
- Implement
caching in a Web service.
- Evaluate
the trade-offs and issues that are involved in designing a real-world
Web service.
- Implement
nonstandard Web services such as Hypertext Markup Language (HTML)
screen scraping and aggregating Web services.
PREREQUISITES
Before attending this course, students must have:
- Familiarity with
C# or Microsoft Visual Basic® .NET.
- Programming in C++,
Java, or Microsoft Visual Basic.
- An understanding
of how to read and write XML documents.
- Experimented with
simple C# applications.
- Developed distributed
applications by using Visual Basic, Java, or C++.
COURSE OUTLINE
Module 1: The Need for XML Web Services
- Describing the evolution
of distributed applications.
- Describing Web services
and briefly explaining how they address the design problems in traditional
distributed applications.
- Listing the alternate
options for distributed application development.
- Identifying the kinds
of scenarios where Web services are an appropriate solution.
Module
2: XML Web Service Architectures
- Identifying how Web
service architectures are a type of service-oriented architecture.
- Describing the elements
of a Web service architecture and explaining their roles.
- Describing the Web
service programming model.
Module
3: The Underlying Technologies
of XML Web Services
- Describing the structures
of an HTTP request and response.
- Issuing HTTP POST
and GET requests and processing the responses by using the .NET Framework.
- Describing data types
by using the XML Schema Definition language (XSD).
- Explaining how to
control the way a .NET Framework object is serialized to XML.
- Describing the structures
of a Simple Object Access Protocol (SOAP) request and response.
- Issuing a SOAP request
and processing the response by using the .NET Framework.
Module
4: Consuming XML Web Services
- Explaining the structure
of a Web Service Description Language (WSDL) document.
- Explaining the Web
services discovery process.
- Locating service
contracts by using Disco.exe.
- Generating Web service
proxies by using Wsdl.exe.
- Implementing a Web
service consumer by using Visual Studio .NET.
- Invoking a Web service
synchronously and asynchronously by using a Web service proxy.
Module 5:
Implementing a Simple XML Web Service
- Creating a Web service
project.
- Implementing Web
service methods, exposing them, and controlling their behavior.
- Managing state in
an ASP.NET-based Web service.
- Debugging Web services.
Module
6: Publishing and Deploying XML
Web Services
- Explaining the role
of UDDI in Web services.
- Publishing a Web
service in a UDDI registry by using the UDDI SDK.
- Searching a UDDI
registry to locate Web services by using the UDDI SDK.
- Explaining the various
options for publishing a Web service on an intranet.
- Explaining some of
the options for modifying the default configuration of a Web service.
Module
7: Securing XML Web Services
- Identifying the differences
between authentication and authorization.
- Explaining how to
use the security mechanisms that Microsoft Internet
- Information Services
(IIS) and Windows provide for authentication.
- Using SOAP headers
for authentication in a Web service.
- Using role-based
security and code access security for authorization in a Web service.
- Encrypting the communication
between a Web service consumer and a Web service.
Module
8: Designing XML Web Services
- Identifying the restrictions
that are imposed on data types by the various Web services protocols.
- Explaining how the
use of Application and Session state can affect the performance and
scaling of Web services.
- Explaining how to
use output and data caching to improve Web service performance.
- Implementing caching
in a Web service.
- Explaining how asynchronous
Web service methods can improve performance.
- Explaining the need
for instrumenting Web services.
- Identifying the components
of a Web service that can be versioned.
- Explaining how to
implement a virtual Web service by using screen scraping.
- Implementing a Web
service that uses multiple Web services.
- Identifying the trade-offs
in the techniques that are used for exposing aggregated Web services
Module
9: Global XML Web Services Architecture
- Describe limitations
inherent to the specifications with which today’s Web services
are built.
- Describe the design
principles and specifications of Global XML Web services Architecture
(GXA).
- Describe Web service
application scenarios made possible by Web Services Routing Protocol
(WS-Routing) and Web Services Referral Protocol (WS-Referral).
- Explain how to use
Web Services Security Language (WS-Security) and Web Services License
Language (WS-License) to perform authentication and authorization
for Web services.
- Design Web services
that anticipate and can leverage the features that GXA will offer
when released.