web services / e-services week #1. summary what is a web service web services architectures web...

34
Web services / e- Services Week #1

Upload: stewart-park

Post on 27-Dec-2015

222 views

Category:

Documents


1 download

TRANSCRIPT

Web services / e-Services

Week #1

Summary

• What is a Web service• Web services architectures• Web services development• Web services in the future• Web services engineering• e-Services

Web service definitions• W3C definition

A web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, tipically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards

• “Computer” - IEEE Computer Society JournalWeb services are Web-based applications composed of coarse-grained

business functions accessed through the Internet• IBM

Web services are self-contained, modular applications that can be described, published, located and invoked over a network, generally, the Web

What is a web service

• Functions– A collection of operations– Machine-to-machine interaction

• Invoked / Accessed– Well defined interface

• Over a network (needs HTTP protocol)– Intranet– Web

• Loosely coupled– The service requester has no knowledge of the technical details

of the provider’s implementation

Why Web services

• Logical evolution of object-oriented techniques to e-business

• Promoting interoperability by minimizing the requirements for shared understanding– Common program-to-program communications model– Web services are platform and language independent

• Enabling just-in-time integration– Services are bound dinamically at runtime– Systems are self-configuring, adaptive and robust

• Reducing complexity by encapsulation– All components of an application are services

• Enabling interoperability of legacy applications

Evolutionary or revolutionary?

Web services are to be viewed as an evolutionary step towards software interoperability

• Before Web services:– Common Object Request Broker Architecture (CORBA)– Distributed Component Object Model (DCOM)

• Reasonable protocols for server-to-server communications; weaknesses in client-server communications on the Internet

• Use of non-standard protocols

Web services lifecycle

• A Web service needs to be created and its interface 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 interactions

Web services architectures

• Web services– W3C standard– A universal client/server architecture – Allows disparate systems to communicate with each other

without using proprietary client libraries• Each vendor or standards organization defines Web

services in a sligthly different way– Architectural stackNot all architectures of Web services are full interoperable

W3C Conceptual Web services stack

S E

C U

R I T

Y

M A

N A

G E

M E

N T

Communications

HTTP, SMTP, FTP, …B

ase T

ech

nolo

gie

s: X

ML, D

TD

, Sch

em

a

Base T

ech

nolo

gie

s: XM

L, D

TD

, S

ch

em

a

Processes

Discovery, Aggregation, Choreography, …

Descriptions

Web services Description (WSDL)

Messages

SOAP Extension

Reliability, Correlation, Transaction, …

SOAP

IBM Conceptual Web services stack

Service Flow

Service Discovery

Service Publication

Service Description

XML–Based Messaging

Network

WSFL

Static -> UDDI

Static -> UDDI

WSDL

SOAP

HTTP, FTP, email, etc.

Secu

rity

Managem

en

t

Quality

of S

erv

ice

IBM Conceptual Web services stack

Service Flow

Service Discovery

Service Publication

Service Description

XML–Based Messaging

Network

WSFL

Static -> UDDI

Static -> UDDI

WSDL

SOAP

HTTP, FTP, email, etc.

Secu

rity

Managem

en

t

Quality

of S

erv

ice

XML–Based messaging

• Exchange structured data between network applications• Allows software running on disparate operating systems, and

environments to make RPCs• Simple Object Access Protocol (SOAP)

– W3C standard– Built over XML

Service Requestor

Service Provider

Application

Web service

SOAP

Network Protocol

SOAP

Network Protocol

SOAP message

Envelope

IBM Conceptual Web services stack

Service Flow

Service Discovery

Service Publication

Service Description

XML–Based Messaging

Network

WSFL

Static -> UDDI

Static -> UDDI

WSDL

SOAP

HTTP, FTP, email, etc.

Secu

rity

Managem

en

t

Quality

of S

erv

ice

Service description

• The service provider defines all the specifications to invoke the Web service– Interface– Operations and messages

• The requestor and the provider don’t have to be aware of each other’s underlying platform

• Use of Web Service Description Language (WSDL)– W3C standard (it was proposed by Microsoft and IBM)– Based on XML documents

IBM Conceptual Web services stack

Service Flow

Service Discovery

Service Publication

Service Description

XML–Based Messaging

Network

WSFL

Static -> UDDI

Static -> UDDI

WSDL

SOAP

HTTP, FTP, email, etc.

Secu

rity

Managem

en

t

Quality

of S

erv

ice

Service publication

Makes a Web service description available to a service requestor

• Direct publishing– The service provider sends the service description directly to the

service requestor– E-mail attachment, FTP site, CD-ROM distribution,…

• Service description repository– Local cache of service descriptions

• Universal Description Discovery and Integration specification (UDDI)– Copyrigth by Accenture, Fujitsu-Siemens, HP, Intel, IBM,

Microsoft, Oracle, SAP, Sun Microsystems,…– Organization for the Advanced of Structured Information

Standards (OASIS) standard– A UDDI registry can be thought as a DNS for business

application

IBM Conceptual Web services stack

Service Flow

Service Discovery

Service Publication

Service Description

XML–Based Messaging

Network

WSFL

Static -> UDDI

Static -> UDDI

WSDL

SOAP

HTTP, FTP, email, etc.

Secu

rity

Managem

en

t

Quality

of S

erv

ice

Service discovery

Acquires the service description and consumes it• Acquiring

– With the direct publishing approach, the service requestor caches the service description at design time

– The service requestor retrieves a service description at design time or runtime from a service description repository (UDDI)

• Consuming– The service requestor processes the description to invoke the

service• At design time or runtime

IBM Conceptual Web services stack

Service Flow

Service Discovery

Service Publication

Service Description

XML–Based Messaging

Network

WSFL

Static -> UDDI

Static -> UDDI

WSDL

SOAP

HTTP, FTP, email, etc.

Secu

rity

Managem

en

t

Quality

of S

erv

ice

Service flow

• Choreography / Aggregation for W3C• Web services are composable

– The workflow will provide choreography for automatic interaction between Web services

• W3C / IBM and Microsoft / Sun and Oracle are competing for the standard definitions of this layer

• Work in progress

IBM Conceptual Web services stack

Service Flow

Service Discovery

Service Publication

Service Description

XML–Based Messaging

Network

WSFL

Static -> UDDI

Static -> UDDI

WSDL

SOAP

HTTP, FTP, email, etc.

Secu

rity

Managem

en

t

Quality

of S

erv

ice

SecurityThere are four basic security requirements:• Confidentiality is the property that information is not made available or

disclosed to unauthorized individuals, entities, or processes, and guarantees that the contents of the message are not disclosed to unauthorized individuals

• Authorization is the granting of authority, which includes the granting of access based on access rights and guarantees that the sender is authorized to send a message

• Data integrity is the property that data has not been undetectably altered or destroyed in an unauthorized manner or by unauthorized users thereby insuring that the message was not modified accidentally or deliberately in transit

• Proof of origin is evidence identifying the originator of a message or data. It asserts that the message was transmitted by a properly identified sender and is not a replay of a previously transmitted message. This requirement implies data integrity

IBM Conceptual Web services stack

Service Flow

Service Discovery

Service Publication

Service Description

XML–Based Messaging

Network

WSFL

Static -> UDDI

Static -> UDDI

WSDL

SOAP

HTTP, FTP, email, etc.

Secu

rity

Managem

en

t

Quality

of S

erv

ice

Management

Management in this case means that a management application can discover the existence, availability and health of the Web service infrastructure, Web services and service registries

• It must be possible to manage Web services at all levels of the conceptual Web services stack

• The management interfaces should operate at the service level, and not at the relatively low level of the infrastructure– Basic reporting of Web services infrastructure availability– Information about performance, availability, events of Web

services

IBM Conceptual Web services stack

Service Flow

Service Discovery

Service Publication

Service Description

XML–Based Messaging

Network

WSFL

Static -> UDDI

Static -> UDDI

WSDL

SOAP

HTTP, FTP, email, etc.

Secu

rity

Managem

en

t

Quality

of S

erv

ice

Quality of Service

• In XML-Based Messaging level– Reliable messaging : Ability of an infrastructure to deliver a

message once, and only once, to its intended target or to provide a definite event, possibly to the source, if the delivery cannot be accomplished

• In service description level– Maximun duration after the requestor expects the provider to

respond

• In service composition or service flow level– Expected execution time, timeout values,…

• The Quality of Service issues and solutions for Web Services are still emerging

Summary

• What is a Web service• Web services architectures• Web services development• Web services in the future• Web services engineering• e-Services

Web Services developmentThe development and deployment of Web services do not

require a particular technology in the underlying platform• A common text editor can be used to develop Web

services• There are several development tools that allow to easily

develop Web services– Net Beans Oracle J2EE– Microsoft Visual Studio .NET– IBM WebSphere Studio or Eclipse IDE with WSDK– …

Summary

• What is a Web service• Web services architectures• Web services development• Web services in the future• Web services engineering• e-Services

Considerations

• Web services standard today permits application-to-application interoperability– Server-to-server communications– Client-server communications

• The coordination of a set of Web services working towards a common end is an open issue– Transaction-based applications

References (1)• “Web Services Computing: Advancing Software Interoperability”

“Computer” IEEE Computer Society Journal October 2003 (Jen-Jao Chung, Kwei-Jay Lin, Richard G. Mathieu)

• “Turning Software into a Service” “Computer” IEEE Computer Society Journal October 2003 (Mark Turner, David Budgen, Pearl Brereton)

• “Web Services architecture overview” IBM Web Services Architecture Team - September 2000 - http://www-106.ibm.com/developerworks/web/library/w-ovr/

• “Web Services Conceptual Architecture (WSCA 1.0)” Heather Kreger – IBM Software Group – May 2001 - www-306.ibm.com/software/solutions/webservices/pdf/WSCA.pdf

• “Web Services Architecture” – W3C Working Group – February 2004 – (David Booth, Hugo Haas, Francis McCabe, Eric Newcomer, Michael Champion, Chris Ferris, David Orchard) – http://www.w3.org/TR/2004/NOTE-ws-arch-200040211/

References (2)• “Web Services Architectures” – Tect – Judith M. Myerson• “Service-Oriented Architecture expands the vision of Web services, Part 1”

– IBM Corporation – Mark Colan – www-106.ibm.com/developerworks/ library/ws-soaintro.html

• “Service-Based Software: The Future for Flexible Software” – Keith Bennett, Paul Layzell, David Budgen, Pearl Brereton, Linda Macaulay, Malcolm Munro

• “Modeling for E-Service Creation” Cecile Peraire and Derek Coleman• “Semantic Web services and Web services standards” – Sinuhé Arroyo,

Christoph Bussler and Rubén Lara – EEE04 – http://deri.semanticweb.org/• “Component-Based Software Engineering” – Wilhelm Hasselbring• “Cisco eServices Architecture – Cisco IPCC Express Edition” Cisco

Systems – http://www.cisco.com/en/US/products/sw/custcosw/ps1846/products_administration_guide_chapter09186a00900eeac8.html