chapter 1 web services basics logy & t ser

37
Slide 1.1 Chapter 1 Web Services Basics ology Web Services Basics echno vices: s & T e Serv ciples Web Princ Mike P. Papazoglou [email protected] Michael P. Papazoglou, Web Services, 1 st Edition, © Pearson Education Limited 2008

Upload: others

Post on 11-Jun-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chapter 1 Web Services Basics logy & T Ser

Slide 1.1

Chapter 1Web Services Basics

olog

y Web Services Basicsec

hno

vice

s:s

& T

eS

erv

cipl

esW

eb

Prin

c

Mike P. [email protected]

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

Page 2: Chapter 1 Web Services Basics logy & T Ser

Slide 1.2

TopicsTopics

• Introduction – definitions• Software as a service • Where can services be used?• Characteristics of web services• Characteristics of web services• Web services interfaces and implementations• Service-oriented architecture• Web services technology stackWeb services technology stack• Quality of service• Impact and shortcomings of Web services

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

Page 3: Chapter 1 Web Services Basics logy & T Ser

Slide 1.3

Service Oriented ParadigmService-Oriented Paradigm

• The service-oriented paradigm to programming utilizes services as the constructs to support the development of rapid low cost and easy composition of distributedrapid, low-cost and easy composition of distributed applications.

• A Web service is a programmatically available• A Web service is a programmatically available application logic exposed over the Internet.– Any piece of code and any application component deployed on aAny piece of code and any application component deployed on a

system can be transformed into a network-available service. • Services reflect a new ‘service-oriented’ approach to

programming, based on the idea of composing applications by discovering and invoking network-available services rather than building new applications or by invokingrather than building new applications or by invoking available applications to accomplish some task.

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

Page 4: Chapter 1 Web Services Basics logy & T Ser

Slide 1.4

What are Web Services?A Web service: a self-describing, self-contained software

module available via a network, which completes tasks,module available via a network, which completes tasks, solves problems, or conducts transactions on behalf of a user or applicationpp

Web services perform encapsulated business functions such as:

1. a self-contained business task – a funds withdrawal or funds deposit service;

2. a full-fledged business process – the automated purchasing of office g p p gsupplies;

3. an application – a life insurance application or demand forecasts and pp ppstock replenishment; or

4. a service-enabled resource – access to a particular back-end

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

4. a service enabled resource access to a particular back end database containing patient medical records.

Page 5: Chapter 1 Web Services Basics logy & T Ser

Slide 1.5

What are Web Services?What are Web Services?

• Can be mixed and matched to create a complete process:– Enable integration with decreased human interaction, e.g., create

complete enterprise processes, such as supply chain management, procurement, logistics, etc.

B th d t i t i ti li ti– Both new and extensions to existing applications• Available to a variety of clients (platform independent)

( )• Pricing (rating) model determines subscriber rates based on subscription and usage events, e.g., calculate charges for services based on the quality and precision of the serviceservices based on the quality and precision of the service.

• Billing model:“ ” “l it” “ f it” b i– “pay per use”, “lease it”, “pay for it” basis.

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

Page 6: Chapter 1 Web Services Basics logy & T Ser

Slide 1.6

A purchase order application involving interacting web servicesinteracting web services

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

Page 7: Chapter 1 Web Services Basics logy & T Ser

Slide 1.7

A Supply Chain applicationA Supply Chain application

Warehouse managementapplication

Supply planningapplication

+++ +++ + +application application

INTERNET

Shipment

Demand

Logistics

Inventory

Replenishment Distributionplanning

Demandplanning

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

planning

Page 8: Chapter 1 Web Services Basics logy & T Ser

Slide 1.8

TopicsTopics

• Introduction – definitions• Software as a service• Where can services be used?• Characteristics of web services• Characteristics of web services• Web services interfaces and implementations• Service oriented architecture• Web services technology stackWeb services technology stack• Quality of service• Impact and shortcomings of web services

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

Page 9: Chapter 1 Web Services Basics logy & T Ser

Slide 1.9

Application Service ProvidersApplication Service Providers

• The concept of software-as-a-service is evolutionary and appeared first with the ASP (application service provider) software model:An ASP “rents” applications to subscribers. – The whole application is developed in terms of the user interface,

workflow, business, and data components that are all bound together to provide a working solutiontogether to provide a working solution.

– An ASP hosts the entire application and the customer has little opportunity to customize it beyond the appearance of the useropportunity to customize it beyond the appearance of the user interface, e.g., adding company logos.

– An alternative of this is where the ASP is providing a software module that is downloaded to the customer’s site on demand – this is for situations where the software does not work in a client/server fashion

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

fashion.Source: Includes Everware-CBDI copyright materials

Page 10: Chapter 1 Web Services Basics logy & T Ser

Slide 1.10

ASP vs Web ServicesASP vs. Web Services

• Although the ASP model introduced the concept of software-as-a-service first, it suffered from several inherent limitations such assuch as– inability to develop highly interactive applications;– inability to provide complete customizable applications and;y p p pp ;– inability to integrate applications.

• Today we are in the midst of another significant development in th l ti f ft i Th hit tthe evolution of software-as-a-service. The new architecture allows for:

loosely coupled asynchronous interactions– loosely coupled asynchronous interactions – on the basis of eXtensible Markup Language (XML) standards – with the intention of making access to, and communications

between, applications over the Internet easier, by means of appropriate standards.

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

Page 11: Chapter 1 Web Services Basics logy & T Ser

Slide 1.11

Are ASP, Software-as-a-Service, and Web Service the same?and Web Service the same?

Application solution providerName

Customer

View in browserTypical ASP

NameNo.ZipState

OK Cancel

No.ZipState

OK Cancel

Typical ASPApplication runs here

Download on demand

NameNo.ZipState

NameNo.ZipState

OK CanceldemandOK Cancel

Software as a Service

OK Cancel

Application runs here

A i

NameNo.Zip Access serviceZipState

OK Cancel

Web servicesApplication runs partly here

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008Adapted from: CBDi forum copyright Everware-CBDI

(composition, repackaging, differentiation,value-added services)

Application runs partly here

Page 12: Chapter 1 Web Services Basics logy & T Ser

Slide 1.12

TopicsTopics

• Introduction – definitions• Software as a service • Where can services be used?• Characteristics of web services• Characteristics of web services• Web services interfaces and implementations• Service oriented architecture• Web services technology stackWeb services technology stack• Quality of service• Impact and shortcomings of web services

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

Page 13: Chapter 1 Web Services Basics logy & T Ser

Slide 1.13

What problems do we solve?What problems do we solve?

Describe A mid-sized manufacturer needs to create online relationships with

Broaderservices

relationships with customers, each with their own set of standard and protocols.

B2B

Discover Search

capabilitiesTo meet its on-time delivery commitments, a high-tech manufacturer needs to

servicescapabilities manufacturer needs to

place orders with the most advantageous parts manufacturer or assembler.

Integratei

A high-tech manufacturer needs to easily integrate

d h i thi dEasier services

togetherand synchronize third-party providers with itsmanufacturing and distribution requirements.

aggregation

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

q

Page 14: Chapter 1 Web Services Basics logy & T Ser

Slide 1.14

Where are Services used? Within an enterprise (enterprise application integration)

Where are Services used?

Accelerate and reduce the cost of integrationSave on infrastructure deployment and management costsReduce skill requirementsReduce skill requirementsImprove reuse

( ) Between enterprises (e-Business integration)

Providing service to a company’s customers– e.g., an Insurance company wishes to link its systems to the systems of a

new institutional customer

A i i f ’ t d liAccessing services from a company’s partners and suppliers– e.g., dynamically link to new partners and suppliers to offer their services

to complement the value the company provides

– Standards and common infrastructure reduce the barriers– Simplicity accelerates deployment

D i b i t iti

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

– Dynamics opens new business opportunities

Page 15: Chapter 1 Web Services Basics logy & T Ser

Slide 1.15

TopicsTopics

• Introduction – definitions• Software as a service • Where can services be used?• Characteristics of web services• Characteristics of web services• Web services interfaces and implementations• Service oriented architecture• Web services technology stackWeb services technology stack• Quality of service• Impact and shortcomings of web services

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

Page 16: Chapter 1 Web Services Basics logy & T Ser

Slide 1.16

Types of Web Services• Informational services are services of relatively simple nature. They either

provide access to content interacting with an end-user by means of simple request/response sequences, or expose back-end business applications to other applications. Examples include:– content services such as weather report info.,p

simple financial info., stock quote info., news items– simple trading services that can provide

a seamless aggregation of information acrossdisparate systems and data sources, e.g., logistic services

– Information syndication services: value-added infoWeb services plugging into commerce sites, e.g.,reservation services on travel site

C l i th t i l th bl d• Complex services that involve the assembly andinvocation of many pre-existing services possibly found in diverse enterprises to complete a multi-step business interaction:– a supply-chain application involving order taking,

stocking orders, sourcing, inventory control,

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

financials, and logistics.

Page 17: Chapter 1 Web Services Basics logy & T Ser

Slide 1.17

Service Properties and Statep• Functional and non-functional properties:

Th f ti l i d i ti d t il th ti l– The functional service description details the operational characteristics that define the overall behavior of the service., e.g., how to invoke service, and location where it’s invokedhow to invoke service, and location where it s invoked

– The non-functional description targets service quality attributes, e.g., service metering and cost, performance metrics (response time or accuracy), security, authorization, authentication, scalability, availability, etc.

St t l t t f l i• Stateless or stateful services:– Services that can be invoked repeatedly without having to maintain

context or state they are called statelesscontext or state they are called stateless.• Simple informational services are stateless.

– Services that require their context to be preserved from oneServices that require their context to be preserved from one invocation to the next are called stateful.

• Complex services (business processes) typically involve stateful i t ti

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

interactions.

Page 18: Chapter 1 Web Services Basics logy & T Ser

Slide 1.18

Loose Coupling and Granularity• Loose coupling:

Coupling indicates the degree of dependency any two systems have– Coupling indicates the degree of dependency any two systems have on each other.

– Web services are loosely coupled: they connect and interact more y p yfreely (across the Internet). They need not know how their partner applications behave or are implemented.

• Service granularity:– Simple services are discrete in nature, exhibit normally a

t/ l d f ti d f fi l it i threquest/reply mode of operation and are of fine granularity, i.e., they are atomic in nature.

– Complex services are coarse-grained e g a SubmitPurchaseOrder– Complex services are coarse-grained, e.g., a SubmitPurchaseOrder process. These involve interactions with other services and possibly end-users in a single or multiple sessions.

– Coarse-grained communication implies larger and richer data structures (viz. those supported by XML schema), and enables looser coupling which enables asynchronous communication

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

looser coupling, which enables asynchronous communication

Page 19: Chapter 1 Web Services Basics logy & T Ser

Slide 1.19

Synchronicity and Well definednessSynchronicity and Well-definedness

• Sychronicity: There are two programming styles for services: – Synchronous or remote procedure call (RPC)-style: Clients of synchronous

services express their request as a method call with a set of argumentsservices express their request as a method call with a set of arguments, which returns a response containing a return value.

• Simple informational services, e.g., returning the current price for a given stock; idi th t th diti i ti l l ti h ki thproviding the current weather conditions in a particular location; or checking the

credit rating of a potential trading partner. – Asynchronous or message (document)-style: When a client invokes a

message-style service, it typically sends it an entire document, e.g., a purchase order, rather than a discrete set of parameters.

• Business processes, e.g., processing a purchase order; responding to a requestBusiness processes, e.g., processing a purchase order; responding to a request for quote order from a customer; or responding to an order placement by a particular customer.

• Well definedness:• Well-definedness:– The service interaction must be well defined. The web services

description language (WSDL) allows applications to describe the rules for

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

p g g ( ) ppinterfacing and interacting to other applications.

Page 20: Chapter 1 Web Services Basics logy & T Ser

Slide 1.20

TopicsTopics

• Introduction – definitions• Software as a service • Where can services be used?• Characteristics of web services• Characteristics of web services• Web services interfaces and implementations• Service oriented architecture• Web services technology stackWeb services technology stack• Quality of service• Impact and shortcomings of web services

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

Page 21: Chapter 1 Web Services Basics logy & T Ser

Slide 1.21

Service Interface and Implementation • The service interface defines service functionality visible to

the external world and provides the means to access this functionality. – The service describes its own interface characteristics, i.e.,

the operations available, the parameters, data-typing and the access protocols, in a way that other software modules can determine what it does how to invoke its functionality anddetermine what it does, how to invoke its functionality, and what result to expect in return.

• The service implementation realizes a specific service• The service implementation realizes a specific service interface whose implementation details are hidden from its usersusers. – Different service providers using any programming language

of their choice may implement the same interfaceof their choice may implement the same interface. – One service implementation might provide functionality itself

directly while another implementation might use combination

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

directly, while another implementation might use combination of other services to provide the same functionality

Page 22: Chapter 1 Web Services Basics logy & T Ser

Slide 1.22

Client vs provider perspectiveClient vs. provider perspective

What does it

How to represent it?

How to

Interface

does it do?

it?

H d I

build it?

ImplementationHow do I use it?

Where can I find

Where to host it?How tocan I find

it?host it?How to

publish it?

Clientti

Provider ti

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

perspective perspective

Page 23: Chapter 1 Web Services Basics logy & T Ser

Slide 1.23

Service deployment vs serviceService deployment vs. service realization

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

Page 24: Chapter 1 Web Services Basics logy & T Ser

Slide 1.24

TopicsTopics

• Introduction – definitions• Software as a service • Where can services be used?• Characteristics of web services• Characteristics of web services• Web services interfaces and implementations• Service oriented architecture• Web services technology stackWeb services technology stack• Quality of service• Impact and shortcomings of web services

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

Page 25: Chapter 1 Web Services Basics logy & T Ser

Slide 1.25

RolesRoles

f• The service model allows for a clear distinction to be made between– service providers (organizations that provide the service

implementations, supply their service descriptions, and provide related technical and business support);provide related technical and business support);

– service clients (end-user organizations that use some service);service);

– service registry (a searchable directory where service descriptions can be published and searched)descriptions can be published and searched).

• Service requestors find service descriptions in the registry and obtain binding information for servicesobtain binding information for services.

• This information is sufficient for the service requestor to contact, or bind to, the service provider and thus make use of the

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

services it provides.

Page 26: Chapter 1 Web Services Basics logy & T Ser

Slide 1.26

Service Oriented ArchitectureService-Oriented Architecture

• SOA is a logical way of designing a software system to provide services to either end-user applications or to other

i di t ib t d i t k i bli h d dservices distributed in a network, via published and discoverable interfaces.

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

Page 27: Chapter 1 Web Services Basics logy & T Ser

Slide 1.27

Layers in an SOALayers in an SOA

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

Page 28: Chapter 1 Web Services Basics logy & T Ser

Slide 1.28

TopicsTopics

• Introduction – definitions• Software as a service • Where can services be used?• Characteristics of web services• Characteristics of web services• Web services interfaces and implementations• Service oriented architecture• Web services technology stackWeb services technology stack• Quality of service• Impact and shortcomings of web services

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

Page 29: Chapter 1 Web Services Basics logy & T Ser

Slide 1.29

Web Services Technology StackWeb Services Technology Stack

• Web services are implemented by a collection of several related technologies and standards.

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

Page 30: Chapter 1 Web Services Basics logy & T Ser

Slide 1.30

TopicsTopics

• Introduction – definitions• Software as a service • Where can services be used?• Characteristics of web services• Characteristics of web services• Web services interfaces and implementations• Service oriented architecture• Web Services technology stackWeb Services technology stack• Quality of service• Impact and shortcomings of web services

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

Page 31: Chapter 1 Web Services Basics logy & T Ser

Slide 1.31

Quality of Service (QoS)Quality of Service (QoS)• QoS refers to the ability of a Web service to respond to expectedQoS refers to the ability of a Web service to respond to expected

invocations and perform them at the level commensurate to the mutual expectations of both its provider and its customers.

• The key QoS in a Web services environment are:– Availability: absence of service downtimes– Accessibility: degree with which Web service request is served, e.g.,

success rate– Conformance to standards: compliance of Web service with

standards, e.g., WSDL 2.0Integrity: degree with which Web service performs its tasks– Integrity: degree with which Web service performs its tasks according to its WSDL and conformance with SLA

– Performance: measured in terms of throughput and latencyPerformance: measured in terms of throughput and latency– Reliability: ability to function correctly and consistently and provide

same service quality despite system or network failures

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

Page 32: Chapter 1 Web Services Basics logy & T Ser

Slide 1.32

Quality of Service (QoS)Quality of Service (QoS)– Scalability: ability to consistenly serve requests despite variations in y y y q p

volume of requests– Security: involves authentication, authorization, message integrity,

and confidentiality– Transactionality: requirement of transactional behavior and context

propagationpropagation

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

Page 33: Chapter 1 Web Services Basics logy & T Ser

Slide 1.33

Service Level Agreements (SLAs)Service Level Agreements (SLAs)• An SLA is a formal agreement (contract) between a provider and client, g ( ) p ,

formalizing the details of use of a Web service (contents, price, delivery process, acceptance and quality criteria, penalties, etc in measurable t ) i th t t th t l d t di d t titerms) in a way that meets the mutual understandings and expectations of both providers and clients.

• An SLA may contain the following parts:An SLA may contain the following parts: – Purpose: describes reasons behind the creation of the SLA– Parties: describes parties involved in the SLA and their respective roles,

e.g., service provider and service consumer (client)– Validity period: defines period of time that SLA will cover

S d fi i d i th t– Scope: defines services covered in the agreement – Restrictions: defines necessary steps to be taken in order for the requested

service levels to be providedp– Service-level objectives: defines levels of service both consumers and

providers agree on, and include a set of service level indicators, e.g., availability performance and reliability

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

availability, performance, and reliability

Page 34: Chapter 1 Web Services Basics logy & T Ser

Slide 1.34

Service Level Agreements (SLAs)Service Level Agreements (SLAs)– Penalties: defines what sanctions should apply in case service provider pp y p

underperforms and is unable to meet objectives specified in the SLA– Exclusion terms: specify what’s not covered in the SLA

Ad i i t ti th it d ib th d bl bj ti– Administration authority: describes the processes and measurable objectives in an SLA and defines organizational authority for overseeing them

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

Page 35: Chapter 1 Web Services Basics logy & T Ser

Slide 1.35

TopicsTopics

• Introduction – definitions• Software as a service • Where can services be used?• Characteristics of web services• Characteristics of web services• Web services interfaces and implementations• Service oriented architecture• Web services technology stackWeb services technology stack• Quality of service• Impact and shortcomings of web services

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

Page 36: Chapter 1 Web Services Basics logy & T Ser

Slide 1.36

Impact of Web ServicesImpact of Web Services• The most appealing characteristic of Web services is that

they are evolving to embrace the convergence of e-business, EAI, traditional middleware, and the Web. Web services offer:services offer: – a standard way to expose legacy application functionality as a

set of reusable self-contained self-describing services;set of reusable self-contained, self-describing services;– a standard, easy, and flexible way to help overcome

application integration issues, leading to rapid application pp g , g p ppassembly;

– a standard way to develop and/or assemble Internet-native li ti f b th th i t l d th t d d t iapplications for both the internal and the extended enterprise

by using internally or externally created services as building blocks;blocks;

– a common facade for cross-enterprise specific systems, making it easier to create the service-level agreements

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

needed for business-to-business integration.

Page 37: Chapter 1 Web Services Basics logy & T Ser

Slide 1.37

Pitfalls of Web ServicesPitfalls of Web Services

• As the business requirements that drive Web services become even more complex, Web services technologies

i dditi l biliti t h dl d direquire additional capabilities to handle demanding situations that severely test the most obvious current h t i f W b i Th i l dshortcomings of Web services. These include:

– performance issues, lack of appropriate support for sophisticated transaction management– lack of appropriate support for sophisticated transaction management,

– lack of expressing business semantics and, especially, – achieving a widespread agreement and harmonization on a wide range of g p g g

existing and emerging standards. • There is an overwhelming number of existing and emerging standards. • Unless these standards mature enough to the degree that they are harmonized• Unless these standards mature enough to the degree that they are harmonized

and can act together, the long-term viability of Web services applications being used in mission-critical, production environments will be severely tested.

Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008