Tài liệu Module 1: The Need for Web Services - Pdf 84



Contents
Overview 1
Evolution of Distributed Applications 2
Problems with Traditional Distributed
Applications 4
Introducing Web Services 15
The Web Technology Stack and .NET 18
The .NET Alternatives to Web Services 20
Common Web Service Scenarios 22
Review 24

Module 1: The Need for
Web Services
Information in this document, including URL and other Internet Web site references, is subject to
change without notice. Unless otherwise noted, the example companies, organizations, products,
domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious,
and no association with any real company, organization, product, domain name, e-mail address,
logo, person, places or events is intended or should be inferred. Complying with all applicable
copyright laws is the responsibility of the user. Without limiting the rights under copyright, no
part of this document may be reproduced, stored in or introduced into a retrieval system, or


.NET Framework, alternate options for implementing distributed applications
using the .NET Framework are discussed to better define what kinds of
solutions Web Services are appropriate for.
After completing this module, students will be able to:
!
Describe the evolution of distributed applications.
!
Identify the problems with traditional distributed application architectures
and technologies.
!
Describe Web Services and briefly explain how they address the design
problems in traditional distributed applications.
!
List the alternate options for distributed application development.
!
Identify the kinds of scenarios where Web Services are an appropriate
solution.

Materials and Preparation
This section provides the materials and preparation tasks that you need to teach
this module.
Required Materials
To teach this module, you need the Microsoft PowerPoint
®
file 2524A_01.ppt.
Preparation Tasks
To prepare for this module:
!
Read all of the materials for this module.

distributed applications. Acknowledge that there are other distributed
application architectures, but explain that the intent of this section is to
understand the architectural issues, and not the specific pros and cons of
each architectural pattern. Explain how the Web has provided a new
environment in which distributed applications can be developed and some
of the benefits and challenges of the Web.
!
Introducing Web Services
Briefly describe what Web Services are. Emphasize the fact that the
underlying technologies for Web Services are Internet technologies. Explain
how Web Services evolved to overcome the problems with existing
distributed application architectures. Avoid getting into an extensive
discussion of the features of Web Services.
!
The Web Technology Stack and .NET
Explain that the .NET Framework provides classes that map to each level in
the technology stack. Explain the trade-offs in implementing a solution at
various levels of the technology stack. Use the explanation to guide the
students to the conclusion that only in limited circumstances should they
consider reimplementing a solution at a higher level of the technology stack.
Tell the students in most circumstances, they should take advantage of the
productivity gains and robustness of the infrastructure provided by the .NET
Framework.
!
The .NET Alternatives to Web Services
Explain that the .NET Framework supports many patterns for building
distributed applications, with Web Services being just one type. Many
students will be interested especially in .NET remoting. Be sure to contrast
the tighter coupling of .NET remoting solutions vs. the loose coupling of
Web Service solutions.

evolution of distributed applications and the limitations of existing distributed
application architectures.
This module begins by examining how the architecture and technologies related
to distributed applications evolved. Then the problems inherent in each of the
existing distributed application architectures are explained. Next, Web Services
and the role they play in the context of distributed application architectures are
described. The module then goes on to describe the Web technology stack and
the support provided by the Microsoft
®
.NET Framework for each of the
technologies in the stack. Also, some of the .NET alternatives to Web Services
are briefly described. The module concludes with a discussion on some of the
common scenarios in which it is appropriate to use Web Services.
After completing this module, you will be able to:
!
Describe the evolution of distributed applications.
!
Identify the problems with traditional distributed application architectures
and technologies.
!
Describe Web Services and briefly explain how they address the design
problems in traditional distributed applications.
!
List the alternate options for distributed application development.
!
Identify the kinds of scenarios where Web Services are an appropriate
solution.

Topic Objective
To provide an overview of

involved sitting in front of a terminal and interacting with a mainframe.
Although the terminals could be spread across multiple buildings or even
physically located off-site, there was a central computer that performed all the
processing and stored all the data.
What Is a Distributed Application?
With the advent of the mini-computer and the personal computer, decentralizing
both processing and data storage became desirable. However, because the data
processing and storage was no longer centralized, it did not mean that the
application was not logically a single application. If that is the case, then what
is a distributed application? A distributed application is an application whose
processing requirements may be satisfied by multiple physical computers, and
whose data may be stored in many physical locations, but whose logical
function is not determined by the physical topology used to implement the
application.
Topic Objective
To describe the evolution of
distributed applications.
Lead-in
Before the advent of the
personal computer, it could
be argued that the notion of
distributed applications did
not exist.
Module 1: The Need for Web Services 3 Why Do We Need Distributed Applications?
Let us look at the driving forces behind the move to decentralize processing and
data storage:
!

Distributed Applications and the Web
Although the Internet had existed for more than twenty years, it was only in the
mid nineties that the possibility of the Internet providing significant
infrastructure for building distributed applications was realized. Simple text-
based protocols were developed as a primary means for communicating service
requests and sending data on the Internet. The widespread adoption of such
protocols made the Internet a viable platform for distributed applications.
Instead of relying on competing and often proprietary technologies, Web
standards would form the foundation for distributed applications for the Web.
4 Module 1: The Need for Web Services "
""
"

Problems with Traditional Distributed Applications
!
Distributed Application Design Considerations
!
RPC-Based Architectures
!
Message-Based Architectures
!
Web Standards

*****************************
ILLEGAL FOR NON
-
TRAINER USE

!
Server Failures or Loss of Server Response
!
Client Failures
!
Retrying a Call
!
Security
!
Synchronizing Clocks Between Multiple Computers

*****************************
ILLEGAL FOR NON
-
TRAINER USE
******************************
Let us look at some of the common problems that need to be considered when
designing a distributed application.
!
Different operating systems support different data types. Sometimes, there is
not a 100 percent compatibility of data types across different operating
systems. Therefore, you must consider how to handle data types that are not
compatible across different systems.
!
Because components of distributed applications are often remote, there are
more points of failure. Failure of any one point can cause the entire
distributed application to fail. Therefore, you must consider how to handle
server failures and loss of server response.
!
If a server is storing state on behalf of a client, and the client fails, then you

Many operations rely on time stamping. For example, it is not acceptable for
a server to acknowledge that it received a purchase order before the
purchase order was placed. This kind of a problem can arise if the clocks on
the client and server computers are not synchronized. Therefore, you need to
decide how you will ensure that the clocks on the various computers that
communicate in a distributed application will be synchronized.

Module 1: The Need for Web Services 7 RPC-Based Architectures
!
What Is an RPC?
#
RPCs are calls made to procedures or functions that
resides on a remote system
!
Synchronous Function Calls
!
Problems with RPC-Based Architectures

*****************************
ILLEGAL FOR NON
-
TRAINER USE
******************************
RPC-based architectures were one of the first candidates for the solution to the
distributed applications design problems.
What Is an RPC?
A remote procedure call (RPC) is a call made to a procedure or function that

architecture.
Lead-in
Remote Procedure Call-
based architectures were
one of the first candidates
for the solution to the
distributed applications
design problems.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status