Web Services Architecture: Deepti Agarwal

Download Report

Transcript Web Services Architecture: Deepti Agarwal

Web Services Architecture
- Deepti Agarwal
Web Services Architecture
1
The Definition..
• A Web service is a software system identified by a
URI, whose public interfaces and bindings are
defined and described using XML. Its definition
can be discovered by other software systems.
These systems may then interact with the Web
service in a manner prescribed by its definition,
using XML based messages conveyed by internet
protocols.
• At a high level, a Web service is two, or more,
software agents exchanging information using
Message oriented communication.
Web Services Architecture
2
Why Web Services?
The use of Web Services on the World Wide
Web is expanding rapidly as the need for
application-to-application communication
and interoperability grows. These Web
services provide a standard means of
communication among different software
applications, running on a variety of
platforms and/or frameworks.
Web Services Architecture
3
Broad Usage
• Exchange of programming objects or invocation
of software functions over a network : Distribute
Components and Application Integration
• Exchange of electronic business documents over a
network : B2B
• Accessing human readable documents and posting
requests for information, products, or services via
the HTTP protocol : WWW
Web Services Architecture
4
Web service Activities
1.
2.
3.
4.
5.
A Web service needs to be created, and its
interfaces and invocation methods must be defined.
A Web service needs to be published to one or
more intranet or Internet repositories for potential
users to locate.
A Web service needs to be located to be invoked
by potential users.
A Web service needs to be invoked to be of any
benefit.
A Web service may need to be unpublished when it
is no longer available or needed.
Web Services Architecture
5
A different outlook
• Web Services are self-contained, modular
applications that can be described, published,
located, and invoked over a network,
generally, the World Wide Web.
.
• The Web Services architecture describes
three roles: service provider, service
requester and service broker; and three basic
operations: publish, find and bind. A network
component can play any or all of these roles.
Web Services Architecture
6
Web services Components
Web Services Architecture
7
How do Web services work?
Service “A”
Service “B”
Internet
Web Services
Protocols and
Registry
(or internal private
Internet, or Virtual
Private Network
between business
partners)
Web Services Architecture
Web Services
Protocols and
Registry
8
WSA as Distributed Computing
Application “A”
CORBA, EDI
APPC, COM,
and other
predecessor
Distributed
Computing
Architectures
Programmers need to tell Application “A”
where to find Application “B” (hardwiring
the two applications together for
communicating purposes.)
Application “B”
This connection may require maintenance
over the course of its lifetime – again using
human application developer resources.
Programs communicate only if application
developers tell them to…
Traditional Tightly Coupled Program to Program Communications
Web Services Architecture
9
WSA as Distributed Computing
This application requests another
application to perform a service. The
registry service helps find cooperative
applications. (no programmer)
Application
If a known cooperating application is not
available a registry helps find another
suitable service application. (no longterm programmer maintenance)
Module A:
A Registry
Service
Locates
a compatible
application
service
Module B:
Module C:
Module D:
Web Services Loosely-Coupled Program-to-Program
Communications
Web Services Architecture
10
3 stack WSA diagram
Web Services Architecture
11
3 stack WSA diagram
• Wire stack : those pieces that represent what is sent during a
given exchange, the combination of the data, the envelope
and all other metadata necessary for the successful
transmission of a message.
• Description Stack: the collection of specifications that
provide the formal definition of the format, use, or
application, of the specs in the “Wire” stack. Like XML
Schemas, Service Description, Process Flow Orchestration.
• Discovery Stack: provide a means for manual or automated
searching and discovery of the components in the other two
stacks. Inspection and Discovery.
Web Services Architecture
12
Service-oriented application
protocols
Web Services Architecture
13
Service-oriented application
protocols
• Web services are software components that are
developed using specific technologies from three
primary technology categories:
– An XML-based description format (for example, WSDL).
– An application messaging protocol (for example, SOAP).
– A collection or transport protocol (for example, HTTP).
• In each of these categories, there are proprietary
(vendor- or platform-specific) technologies as well as
open (vendor- or platform-independent) technologies
available.
Web Services Architecture
14
Domain of Web service protocols
Web Services Architecture
15
Domain of Web service protocols
• Enterprise Web services: WSDL description is
essential.
• Internet Web services are enterprise Web services
that MUST only use ONE of open application
messaging or transport protocols.
• XML Web services are Internet Web services that
MUST use XML-based messaging protocol over a
narrow range of transport protocols. Specifically, XML
Web services will only send SOAP messages, and
only send them over HTTP, SMTP, or raw TCP/IP
connections.
Web Services Architecture
16
What does WSA use?
• SOAP (Simple Object Access Protocol): A remote procedure call
method for invoking applications.
• WSDL (Web Services Description Language): A template/interface
definition language for defining how applications can "talk" to
each other and facilitate mapping to back end systems.
• XML (Extensible Markup Language): A means of presenting
format/syntax.
• UDDI (Universal Description, Discovery, and Integration): Its an evolving
registry/directory standard.
***.
• HTTP (HyperText Transfer Protocol): An Internet communications
protocol.
***
***Not formal Web services standards.
Web Services Architecture
17
Features
• Interoperability:
Any Web service can interact with any other Web service.
Converting between CORBA, DCOM and other protocols is over
with SOAP. And because Web services can be written in any
language (even COBOL!), developers do not need to change
their development environments in order to produce or consume
web services.
.
• Just-in-time integration:
They can be dynamically composed into applications with a
service-based look-up at runtime, instead of the traditional static
binding.The dynamic nature of the collaborations allow the
implementations to be platform- and programming languageneutral. Enables loose coupling between applications.
Web Services Architecture
18
Features (contd..)
• Ubiquity:
Web services communicate using HTTP and XML. Therefore,
any device which supports these technologies can both host
and access Web services.
.
• Reduces complexity by encapsulation:
System complexity is reduced when application designers do
not have to worry about implementation details of the services
they are invoking. Encapsulation is key to coping with
complexity, Flexibility and scalability, Extensibility.
Web Services Architecture
19
Features (contd..)
• Low barrier to Entry.
Free toolkits from vendors like IBM and Microsoft allow
developers to quickly create and deploy Web services. In
addition, some of these toolkits allow pre-existing COM
components and JavaBeans to be easily exposed as Web
services.
.
• Industry Support.
All of the major vendors are supporting SOAP and the
surrounding Web services technology. For example, the
Microsoft .NET platform is based on Web services, thereby
making it very easy for components written in Visual Basic to be
deployed as Web services, and consumed by Web services
written using IBM VisualAge, and vice-versa.
Web Services Architecture
20
Challenges Faced
Discovery
Scalability
Reliability
Accountability
Manageability
Security
Transactions
Testing
Web Services Architecture
21