web services architecture1 - deepti agarwal. web services architecture2 the definition.. a web...

21
Web Services Architectu re 1 Web Services Architecture - Deepti Agarwal

Upload: jacob-richards

Post on 11-Jan-2016

218 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose

Web Services Architecture 1

Web Services Architecture

- Deepti Agarwal

Page 2: Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose

Web Services Architecture 2

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.

Page 3: Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose

Web Services Architecture 3

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.

Page 4: Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose

Web Services Architecture 4

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

Page 5: Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose

Web Services Architecture 5

Web service Activities

1. A Web service needs to be created, and its interfaces and invocation methods must be defined.

2. A Web service needs to be published to one or more intranet or Internet repositories for potential users to locate.

3. A Web service needs to be located to be invoked by potential users.

4. A Web service needs to be invoked to be of any benefit.

5. A Web service may need to be unpublished when it is no longer available or needed.

Page 6: Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose

Web Services Architecture 6

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.

Page 7: Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose

Web Services Architecture 7

Web services Components

Page 8: Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose

Web Services Architecture 8

How do Web services work?

Web Services Protocols and

Registry

Service “A” Service “B”

Web Services Protocols and

Registry

Internet(or internal private Internet, or Virtual Private Network between business

partners)

Page 9: Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose

Web Services Architecture 9

WSA as Distributed Computing

CORBA, EDIAPPC, COM,

and other predecessor Distributed Computing

Architectures

Application “A” Application “B”Programmers need to tell Application “A” where to find Application “B” (hardwiring the two applications together for communicating purposes.)

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

Page 10: Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose

Web Services Architecture 10

WSA as Distributed Computing

Application

A Registry Service Locates

a compatible application

service

Module A:

Module D:

Module C:

Module B:

This application requests another application to perform a service. The registry service helps find cooperative applications. (no programmer)

If a known cooperating application is not available a registry helps find another suitable service application. (no long-term programmer maintenance)

Web Services Loosely-Coupled Program-to-Program Communications

Page 11: Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose

Web Services Architecture 11

3 stack WSA diagram

Page 12: Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose

Web Services Architecture 12

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.

Page 13: Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose

Web Services Architecture 13

Service-oriented application protocols

Page 14: Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose

Web Services Architecture 14

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.

Page 15: Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose

Web Services Architecture 15

Domain of Web service protocols

Page 16: Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose

Web Services Architecture 16

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.

Page 17: Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose

Web Services Architecture 17

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.***Not formal Web services standards.

Page 18: Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose

Web Services Architecture 18

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 language-neutral. Enables loose coupling between applications.

Page 19: Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose

Web Services Architecture 19

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.

Page 20: Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose

Web Services Architecture 20

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.

Page 21: Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose

Web Services Architecture 21

Challenges Faced

DiscoveryDiscoveryDiscoveryDiscovery

ReliabilityReliability

SecuritySecurity

TransactionsTransactions

ScalabilityScalability

ManageabilityManageability

AccountabilityAccountability

TestingTesting