SlideShare a Scribd company logo
1 of 14
Download to read offline
© Peter R. Egli 2015
1/14
Rev. 1.90
Web Services indigoo.com
Peter R. Egli
INDIGOO.COM
OVERVIEW OF WEB SERVICE CONCEPTS
AND ARCHITECTURES
WEB
SERVICES
© Peter R. Egli 2015
2/14
Rev. 1.90
Web Services indigoo.com
Contents
1. What is a web service?
2. What is Service Oriented Architecture (SOA)?
3. What is a service?
4. Overview of web service technologies
5. Who makes web service standards?
6. Web service architectures
7. Web service versioning
© Peter R. Egli 2015
3/14
Rev. 1.90
Web Services indigoo.com
1. What is a web service?
Definition by W3C (see http://www.w3.org/TR/2004/NOTE-ws-gloss-20040211/):
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, typically conveyed using HTTP with an XML serialization in
conjunction with other Web-related standards.
Key elements:
• Machine-to-machine (M2M) interaction over a network
• Machine-processable interfaces
• APIs that can be accessed over a network
• Communication over HTTP (even though SOAP-WS make little use of the HTTP protocol)
Network
Web service client
Web services
Machine processable
interfaces
HTTP or
other
message based
transport
© Peter R. Egli 2015
4/14
Rev. 1.90
Web Services indigoo.com
Network
2. What is Service Oriented Architecture (SOA)?
In contrast to „traditional“ enterprise IT architectures, SOA aims to consolidate common
functionality of different applications into services.
These services are exposed on a network so all consumers can use them when required.
 Services offer a defined interface to a component that implements the business functionality.
 Services should be designed such that they are as independent of each other as possible.
 Services (functionality) are no longer bound to a specific application.
 In addition to the partitioning of an IT-landscape into applications, there is an additional
dimension «service».
Infrastructure
Application
Infrastructure
Application
Infrastructure
Application
Traditional «stovepipe» or «silo» IT architecture
 Every application has its own infrastructure.
 Only the network is shared among the applications.
Network
Service oriented architecture
 Common functionality is consolidated into shared services.
 Applications run on a common service infrastructure.
Infrastructure
(services)
Application Application Application
© Peter R. Egli 2015
5/14
Rev. 1.90
Web Services indigoo.com
3. What is a service?
A service groups and encapsulates related functionality.
Example: Account service that allows tranferring / deducting money to / from a bank account.
How big should a service be?
Not too big, not too small...
Too big  Too many dependees, so overall coupling between clients and server is
high; it becomes difficult to make changes to the service without affecting
the clients.
Too small  Too many different services; service architecture may become brittle
(«spaghetti service architecture», «service fragmentation»).
Web
Service
Client
Web
Service
Web
Service
Web
Service
Web
Service
Tiny web services  service fragmentation
Web
Service
Service
Client
Big web service  tight coupling between
service and clients
Service
Client
Service
Client
Service
Client
© Peter R. Egli 2015
6/14
Rev. 1.90
Web Services indigoo.com
4. Overview of web service technologies (1/2)
Web service technologies can be classified according to the following 2 criteria:
1. Method information:
The method information expresses the action to be performed in the web service.
With regard to data, there are 3 possibilities:
a. Method = Action to be performed in web service, applied to data that is contained in
request. Example: Store logging data on server.
b. Method = Action to be performed in web service, parametrized with data contained in
request. Example: Get price quote for a specific product article.
c. Method = Action to be performed in web service, no data.
Example: Get current time and date.
2. Scope information:
The scope information defines the data context to which the request method is applied.
© Peter R. Egli 2015
7/14
Rev. 1.90
Web Services indigoo.com
4. Overview of web service technologies (2/2)
1. RPC-style web services („big web services“, „classic web services“):
• HTTP is only used as envelope. The method information is contained in a SOAP- / XML-body.
• The scope information is contained in the SOAP- / XML-body only.
<w:getWeatherUpdate xmlns:m=http://examples.indigoo.com/weatherService
env:encodingStyle=http://www.w3.org/2003/05/soap-encoding
xmlns:w="http://weatherService.indigoo.com/">
<w:location>
<w:latitude>47.359169</w:latitude>
<w:longitude>8.563843</w.longitude>
</w:location>
</s:getWeatherUpdate>
2. REST-style web services:
• Method information in HTTP method only.
• Scope information in URL only.
GET HTTP://www.indigoo.com/weatherInfo?location=Zurich
3. Hybrid RPC-style / REST-style combined:
• Method information mapped to URL.
• Scope information contained in URL.
GET HTTP://www.indigoo.com/weatherInfo?operation=get&location=Zurich
© Peter R. Egli 2015
8/14
Rev. 1.90
Web Services indigoo.com
5. Who makes web service standards?
1. W3C (www.w3.org)
W3C develops web technology standards for the Internet (like IETF for protocols).
List of W3C web service standards see http://www.w3.org/TR/.
2. OASIS (www.oasis-open.org)
Besides W3C, OASIS is the main WS standards body.
OASIS integrated the activities of WS-I (www.ws-i.org).
WS-I defines profiles for interoperability between web services (sets of OASIS standards to
be supported).
WS-I does not itself define standards but promotes interoperability between WS by defining
profiles (set of WS-* standards) to be supported by WS stacks / frameworks.
List of OASIS web service standards see https://www.oasis-open.org/standards.
4. Companies
Companies like BEA, IBM and Microsoft develop standards that are sometimes later endorsed
by OASIS.
© Peter R. Egli 2015
9/14
Rev. 1.90
Web Services indigoo.com
6. Web service architectures (1/4)
Web intermediaries:
Web intermediaries are placed between web service client and web service provider.
They intercept messages (requests and responses), perform some function and forward the
request to the destination.
Intermediaries perform typical functions that are shared in different web service architectures.
A. Authentication services:
The service client authenticates with the authentication service on an intermediary and
receives a security token for use in the subsequent secured session with the service provider.
Service
consumer
Service
provider
Intermediary Intermediary
Service
consumer
Service
provider
Intermediary
AA(A)
Security tokens
(see WS-Security / WS-Trust)
Authentication
AAA Authentication, Authorization, Accounting
Authenticated communication
© Peter R. Egli 2015
10/14
Rev. 1.90
Web Services indigoo.com
6. Web service architectures (2/4)
B. Auditing services:
An auditing intermediary logs the entire activity between a service client and provider (e.g. for
debugging purposes or to satisfy regulatory requirements).
C. Management services:
A management intermediary is used to collect statistical information about the service usage
and service health, maybe based on data from an auditing service.
The management intermediary may be connected to and integrated into an IT management
network for service monitoring and management purposes (e.g. for guaranteeing the required
web service quality of service).
Service
consumer
Service
provider
Intermediary
Log
Service
consumer
Service
provider
Intermediary
Log IT management
system
© Peter R. Egli 2015
11/14
Rev. 1.90
Web Services indigoo.com
6. Web service architectures (3/4)
D. Performance improvement services (1/2):
Web intermediaries are placed between service client and provider to improve the overall
performance.
Caches: Resources are retrieved from a cache storage to offload the service provider.
Store-and-forward intermediaries:
Message queueing service for offloading the service provider, i.e. to control the
load or also do load balancing. Such intermediaries may also be used to forward a
request to a version-compatible service (see below, versioning of web services).
Service
consumer
Service
provider
Intermediary
Cache
Service
consumer
Service
provider
Intermediary
Service
provider
© Peter R. Egli 2015
12/14
Rev. 1.90
Web Services indigoo.com
6. Web service architectures (4/4)
D. Performance improvement services (2/2):
Aggregation intermediaries:
Aggregate several web services provided by different web service providers into a
composite web service as a facade or interface towards the client.
Service
consumer
Service
provider
1
Intermediary
Service
provider
3
Aggregated
interface Service
provider
2
© Peter R. Egli 2015
13/14
Rev. 1.90
Web Services indigoo.com
7. Web service versioning (1/2)
Problem:
SOA is an open architecture (services exposed to the „outside“).
 Services cannot be easily modified or deleted because some other service or client depends
on it.
Solution 1:
Update all clients and other web services each time the service changes («D-Day» approach).
 Will probably not work well because it does not scale (a small change required by 1 service
consumer leads to updates on all dependees).
Solution 2 (1/2):
Introduction of a versioning scheme with compatible and incompatible changes.
Version numbering scheme <major>.<minor>
Major (=incompatible) change  <major> is counted up.
Minor (=compatible) change  <minor> is counted up.
Compatible changes to a web service:
- Addition of an additional operation without changing the semantics of the existing operations
- Addition of an optional attribute to a data type
- Addition of new data type (probably along with a new operation)
Incompatible changes:
- Removal / renaming of a service, operation, data type or attribute
- Addition of a mandatory attribute
- Change of order of attributes (if ordering is applicable)
© Peter R. Egli 2015
14/14
Rev. 1.90
Web Services indigoo.com
7. Web service versioning (2/2)
Solution 2 (2/2):
The version must be present in the SOAP message, either as:
a. XML-namespace in the SOAP-envelope:
Example: <xsd:schema targetNamespace=„http://www.mycompany.com/MyService/2009-05-20>
b. Service name or data element extension in SOAP body:
Example: <xs:complexType name=„CustomerV1“>
c. HTTP-request parameter for version:
Example:
HTTP GET HTTP/1.1
..
version: V1.2
In order to reduce or avoid any client changes when doing major changes to a web service, the following scheme may be
employed (the web intermediary serves as a service router based on the version):
Service
consumer
V1.1
Intermediary
Service
consumer
V2.0
Service
consumer
V1.0
Service
provider
V1.1
Service
provider
V2.0
Service
provider
V1.0

More Related Content

What's hot

Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...ecosio GmbH
 
SOA - From Webservices to APIs
SOA - From Webservices to APIsSOA - From Webservices to APIs
SOA - From Webservices to APIsHolger Reinhardt
 
Web service Introduction
Web service IntroductionWeb service Introduction
Web service IntroductionMadhukar Kumar
 
Introduction to web services and how to in php
Introduction to web services and how to in phpIntroduction to web services and how to in php
Introduction to web services and how to in phpAmit Kumar Singh
 
Web API or WCF - An Architectural Comparison
Web API or WCF - An Architectural ComparisonWeb API or WCF - An Architectural Comparison
Web API or WCF - An Architectural ComparisonAdnan Masood
 
Web service assignment
Web service assignmentWeb service assignment
Web service assignmentancymary1996
 
Windows Communication Foundation (WCF)
Windows Communication Foundation (WCF)Windows Communication Foundation (WCF)
Windows Communication Foundation (WCF)Peter R. Egli
 
WCF tutorial
WCF tutorialWCF tutorial
WCF tutorialAbhi Arya
 
Service Oriented Architecture & Beyond
Service Oriented Architecture & BeyondService Oriented Architecture & Beyond
Service Oriented Architecture & BeyondImesh Gunaratne
 
web service technologies
web service technologiesweb service technologies
web service technologiesYash Darak
 
Develop ASP.Net Web Service
Develop ASP.Net Web Service Develop ASP.Net Web Service
Develop ASP.Net Web Service Safaa Farouk
 

What's hot (20)

Overview of web services
Overview of web servicesOverview of web services
Overview of web services
 
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
 
Web service introduction 2
Web service introduction 2Web service introduction 2
Web service introduction 2
 
Web Services ppt
Web Services pptWeb Services ppt
Web Services ppt
 
SOA - From Webservices to APIs
SOA - From Webservices to APIsSOA - From Webservices to APIs
SOA - From Webservices to APIs
 
Webservices
WebservicesWebservices
Webservices
 
Web service architecture
Web service architectureWeb service architecture
Web service architecture
 
Web Service Basics and NWS Setup
Web Service  Basics and NWS SetupWeb Service  Basics and NWS Setup
Web Service Basics and NWS Setup
 
Web service Introduction
Web service IntroductionWeb service Introduction
Web service Introduction
 
Introduction to web services and how to in php
Introduction to web services and how to in phpIntroduction to web services and how to in php
Introduction to web services and how to in php
 
WCF Introduction
WCF IntroductionWCF Introduction
WCF Introduction
 
Web API or WCF - An Architectural Comparison
Web API or WCF - An Architectural ComparisonWeb API or WCF - An Architectural Comparison
Web API or WCF - An Architectural Comparison
 
WCF And ASMX Web Services
WCF And ASMX Web ServicesWCF And ASMX Web Services
WCF And ASMX Web Services
 
Web service assignment
Web service assignmentWeb service assignment
Web service assignment
 
Windows Communication Foundation (WCF)
Windows Communication Foundation (WCF)Windows Communication Foundation (WCF)
Windows Communication Foundation (WCF)
 
WCF tutorial
WCF tutorialWCF tutorial
WCF tutorial
 
WCF
WCFWCF
WCF
 
Service Oriented Architecture & Beyond
Service Oriented Architecture & BeyondService Oriented Architecture & Beyond
Service Oriented Architecture & Beyond
 
web service technologies
web service technologiesweb service technologies
web service technologies
 
Develop ASP.Net Web Service
Develop ASP.Net Web Service Develop ASP.Net Web Service
Develop ASP.Net Web Service
 

Viewers also liked

Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Peter R. Egli
 
Using Java to implement RESTful Web Services: JAX-RS
Using Java to implement RESTful Web Services: JAX-RSUsing Java to implement RESTful Web Services: JAX-RS
Using Java to implement RESTful Web Services: JAX-RSKatrien Verbert
 
JAX-RS 2.0: RESTful Web Services
JAX-RS 2.0: RESTful Web ServicesJAX-RS 2.0: RESTful Web Services
JAX-RS 2.0: RESTful Web ServicesArun Gupta
 
Introduction to SOAP/WSDL Web Services and RESTful Web Services
Introduction to SOAP/WSDL Web Services and RESTful Web ServicesIntroduction to SOAP/WSDL Web Services and RESTful Web Services
Introduction to SOAP/WSDL Web Services and RESTful Web Servicesecosio GmbH
 
Artificial Intelligence and Expert Systems
Artificial Intelligence and Expert SystemsArtificial Intelligence and Expert Systems
Artificial Intelligence and Expert SystemsSiddhant Agarwal
 
Service Oriented Architectures and Web Services
Service Oriented Architectures and Web ServicesService Oriented Architectures and Web Services
Service Oriented Architectures and Web ServicesCesare Pautasso
 
Introduction To Mycin Expert System
Introduction To Mycin Expert SystemIntroduction To Mycin Expert System
Introduction To Mycin Expert SystemNipun Jaswal
 
Introduction to RESTful Webservices in JAVA
Introduction to RESTful Webservices  in JAVA Introduction to RESTful Webservices  in JAVA
Introduction to RESTful Webservices in JAVA psrpatnaik
 
Java web services using JAX-WS
Java web services using JAX-WSJava web services using JAX-WS
Java web services using JAX-WSIndicThreads
 
Introduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIntroduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIvano Malavolta
 
Artificial Intelligence: Knowledge Acquisition
Artificial Intelligence: Knowledge AcquisitionArtificial Intelligence: Knowledge Acquisition
Artificial Intelligence: Knowledge AcquisitionThe Integral Worm
 
Making Java REST with JAX-RS 2.0
Making Java REST with JAX-RS 2.0Making Java REST with JAX-RS 2.0
Making Java REST with JAX-RS 2.0Dmytro Chyzhykov
 

Viewers also liked (20)

Web Services Tutorial
Web Services TutorialWeb Services Tutorial
Web Services Tutorial
 
Web service introduction
Web service introductionWeb service introduction
Web service introduction
 
RESTful Web Services
RESTful Web ServicesRESTful Web Services
RESTful Web Services
 
SOAP-based Web Services
SOAP-based Web ServicesSOAP-based Web Services
SOAP-based Web Services
 
Web Services
Web ServicesWeb Services
Web Services
 
Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)
 
Using Java to implement RESTful Web Services: JAX-RS
Using Java to implement RESTful Web Services: JAX-RSUsing Java to implement RESTful Web Services: JAX-RS
Using Java to implement RESTful Web Services: JAX-RS
 
Presentation1
Presentation1Presentation1
Presentation1
 
Mycin 016
Mycin  016Mycin  016
Mycin 016
 
JAX-RS 2.0: RESTful Web Services
JAX-RS 2.0: RESTful Web ServicesJAX-RS 2.0: RESTful Web Services
JAX-RS 2.0: RESTful Web Services
 
Introduction to SOAP/WSDL Web Services and RESTful Web Services
Introduction to SOAP/WSDL Web Services and RESTful Web ServicesIntroduction to SOAP/WSDL Web Services and RESTful Web Services
Introduction to SOAP/WSDL Web Services and RESTful Web Services
 
Expert system mycin
Expert system   mycinExpert system   mycin
Expert system mycin
 
Artificial Intelligence and Expert Systems
Artificial Intelligence and Expert SystemsArtificial Intelligence and Expert Systems
Artificial Intelligence and Expert Systems
 
Service Oriented Architectures and Web Services
Service Oriented Architectures and Web ServicesService Oriented Architectures and Web Services
Service Oriented Architectures and Web Services
 
Introduction To Mycin Expert System
Introduction To Mycin Expert SystemIntroduction To Mycin Expert System
Introduction To Mycin Expert System
 
Introduction to RESTful Webservices in JAVA
Introduction to RESTful Webservices  in JAVA Introduction to RESTful Webservices  in JAVA
Introduction to RESTful Webservices in JAVA
 
Java web services using JAX-WS
Java web services using JAX-WSJava web services using JAX-WS
Java web services using JAX-WS
 
Introduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIntroduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTURE
 
Artificial Intelligence: Knowledge Acquisition
Artificial Intelligence: Knowledge AcquisitionArtificial Intelligence: Knowledge Acquisition
Artificial Intelligence: Knowledge Acquisition
 
Making Java REST with JAX-RS 2.0
Making Java REST with JAX-RS 2.0Making Java REST with JAX-RS 2.0
Making Java REST with JAX-RS 2.0
 

Similar to Web services

Enhancement in Web Service Architecture
Enhancement in Web Service ArchitectureEnhancement in Web Service Architecture
Enhancement in Web Service ArchitectureIJERA Editor
 
A Deep Dive into REST API Framework Survey
A Deep Dive into REST API Framework SurveyA Deep Dive into REST API Framework Survey
A Deep Dive into REST API Framework SurveyIRJET Journal
 
Chapter 1 introduction
Chapter 1 introductionChapter 1 introduction
Chapter 1 introductionjam c
 
Microservice 微服務
Microservice 微服務Microservice 微服務
Microservice 微服務YOU SHENG CHEN
 
Service-Finder presentation at ESTC2008
Service-Finder presentation at ESTC2008Service-Finder presentation at ESTC2008
Service-Finder presentation at ESTC2008servicefinder
 
Realizing Service Finder at ESTC 2008
Realizing Service Finder at ESTC 2008Realizing Service Finder at ESTC 2008
Realizing Service Finder at ESTC 2008Emanuele Della Valle
 
Meetup6 microservices for the IoT
Meetup6 microservices for the IoTMeetup6 microservices for the IoT
Meetup6 microservices for the IoTFrancesco Rago
 
Jeffrey Richter
Jeffrey RichterJeffrey Richter
Jeffrey RichterCodeFest
 
A Novel Framework for Reliable and Fault Tolerant Web Services
A Novel Framework for Reliable and Fault Tolerant Web ServicesA Novel Framework for Reliable and Fault Tolerant Web Services
A Novel Framework for Reliable and Fault Tolerant Web ServicesAbhishek Kumar
 
Evaluation of a Framework for Integrated Web Services
Evaluation of a Framework for Integrated Web ServicesEvaluation of a Framework for Integrated Web Services
Evaluation of a Framework for Integrated Web ServicesIRJET Journal
 
Impact of web life cycle activities &amp; web services in modern era a review
Impact of web life cycle activities &amp; web services in modern era  a reviewImpact of web life cycle activities &amp; web services in modern era  a review
Impact of web life cycle activities &amp; web services in modern era a reviewJyoti Parashar
 
Impact of web life cycle activities &amp; web services in modern era a review
Impact of web life cycle activities &amp; web services in modern era  a reviewImpact of web life cycle activities &amp; web services in modern era  a review
Impact of web life cycle activities &amp; web services in modern era a reviewJyoti Parashar
 
Concepts and Derivatives of Web Services
Concepts and Derivatives of Web ServicesConcepts and Derivatives of Web Services
Concepts and Derivatives of Web ServicesIOSR Journals
 
SOA Fundamentals
SOA  FundamentalsSOA  Fundamentals
SOA Fundamentalsabhi1112
 
Build Message-Based Web Services for SOA
Build Message-Based Web Services for SOABuild Message-Based Web Services for SOA
Build Message-Based Web Services for SOAJeffrey Hasan
 
WebService-Java
WebService-JavaWebService-Java
WebService-Javahalwal
 
Web services and SOA [Modified]
Web services and SOA [Modified]Web services and SOA [Modified]
Web services and SOA [Modified]Subin Sugunan
 
Enterprise Application Integration Technologies
Enterprise Application Integration TechnologiesEnterprise Application Integration Technologies
Enterprise Application Integration TechnologiesPeter R. Egli
 
xConf-2022-api-gateway-service-mesh.pdf
xConf-2022-api-gateway-service-mesh.pdfxConf-2022-api-gateway-service-mesh.pdf
xConf-2022-api-gateway-service-mesh.pdfWesley Reisz
 

Similar to Web services (20)

Enhancement in Web Service Architecture
Enhancement in Web Service ArchitectureEnhancement in Web Service Architecture
Enhancement in Web Service Architecture
 
A Deep Dive into REST API Framework Survey
A Deep Dive into REST API Framework SurveyA Deep Dive into REST API Framework Survey
A Deep Dive into REST API Framework Survey
 
Chapter 1 introduction
Chapter 1 introductionChapter 1 introduction
Chapter 1 introduction
 
Microservice 微服務
Microservice 微服務Microservice 微服務
Microservice 微服務
 
Service-Finder presentation at ESTC2008
Service-Finder presentation at ESTC2008Service-Finder presentation at ESTC2008
Service-Finder presentation at ESTC2008
 
Realizing Service Finder at ESTC 2008
Realizing Service Finder at ESTC 2008Realizing Service Finder at ESTC 2008
Realizing Service Finder at ESTC 2008
 
Meetup6 microservices for the IoT
Meetup6 microservices for the IoTMeetup6 microservices for the IoT
Meetup6 microservices for the IoT
 
Jeffrey Richter
Jeffrey RichterJeffrey Richter
Jeffrey Richter
 
A Novel Framework for Reliable and Fault Tolerant Web Services
A Novel Framework for Reliable and Fault Tolerant Web ServicesA Novel Framework for Reliable and Fault Tolerant Web Services
A Novel Framework for Reliable and Fault Tolerant Web Services
 
Web services
Web servicesWeb services
Web services
 
Evaluation of a Framework for Integrated Web Services
Evaluation of a Framework for Integrated Web ServicesEvaluation of a Framework for Integrated Web Services
Evaluation of a Framework for Integrated Web Services
 
Impact of web life cycle activities &amp; web services in modern era a review
Impact of web life cycle activities &amp; web services in modern era  a reviewImpact of web life cycle activities &amp; web services in modern era  a review
Impact of web life cycle activities &amp; web services in modern era a review
 
Impact of web life cycle activities &amp; web services in modern era a review
Impact of web life cycle activities &amp; web services in modern era  a reviewImpact of web life cycle activities &amp; web services in modern era  a review
Impact of web life cycle activities &amp; web services in modern era a review
 
Concepts and Derivatives of Web Services
Concepts and Derivatives of Web ServicesConcepts and Derivatives of Web Services
Concepts and Derivatives of Web Services
 
SOA Fundamentals
SOA  FundamentalsSOA  Fundamentals
SOA Fundamentals
 
Build Message-Based Web Services for SOA
Build Message-Based Web Services for SOABuild Message-Based Web Services for SOA
Build Message-Based Web Services for SOA
 
WebService-Java
WebService-JavaWebService-Java
WebService-Java
 
Web services and SOA [Modified]
Web services and SOA [Modified]Web services and SOA [Modified]
Web services and SOA [Modified]
 
Enterprise Application Integration Technologies
Enterprise Application Integration TechnologiesEnterprise Application Integration Technologies
Enterprise Application Integration Technologies
 
xConf-2022-api-gateway-service-mesh.pdf
xConf-2022-api-gateway-service-mesh.pdfxConf-2022-api-gateway-service-mesh.pdf
xConf-2022-api-gateway-service-mesh.pdf
 

More from Peter R. Egli

LPWAN Technologies for Internet of Things (IoT) and M2M Scenarios
LPWAN Technologies for Internet of Things (IoT) and M2M ScenariosLPWAN Technologies for Internet of Things (IoT) and M2M Scenarios
LPWAN Technologies for Internet of Things (IoT) and M2M ScenariosPeter R. Egli
 
Data Networking Concepts
Data Networking ConceptsData Networking Concepts
Data Networking ConceptsPeter R. Egli
 
Communication middleware
Communication middlewareCommunication middleware
Communication middlewarePeter R. Egli
 
Transaction Processing Monitors (TPM)
Transaction Processing Monitors (TPM)Transaction Processing Monitors (TPM)
Transaction Processing Monitors (TPM)Peter R. Egli
 
Business Process Model and Notation (BPMN)
Business Process Model and Notation (BPMN)Business Process Model and Notation (BPMN)
Business Process Model and Notation (BPMN)Peter R. Egli
 
Microsoft .NET Platform
Microsoft .NET PlatformMicrosoft .NET Platform
Microsoft .NET PlatformPeter R. Egli
 
Overview of Cloud Computing
Overview of Cloud ComputingOverview of Cloud Computing
Overview of Cloud ComputingPeter R. Egli
 
MQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message QueueingMQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message QueueingPeter R. Egli
 
Overview of Microsoft .Net Remoting technology
Overview of Microsoft .Net Remoting technologyOverview of Microsoft .Net Remoting technology
Overview of Microsoft .Net Remoting technologyPeter R. Egli
 
Android Native Development Kit
Android Native Development KitAndroid Native Development Kit
Android Native Development KitPeter R. Egli
 
Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Peter R. Egli
 
Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Peter R. Egli
 
Overview of Spanning Tree Protocol (STP & RSTP)
Overview of Spanning Tree Protocol (STP & RSTP)Overview of Spanning Tree Protocol (STP & RSTP)
Overview of Spanning Tree Protocol (STP & RSTP)Peter R. Egli
 
MSMQ - Microsoft Message Queueing
MSMQ - Microsoft Message QueueingMSMQ - Microsoft Message Queueing
MSMQ - Microsoft Message QueueingPeter R. Egli
 
Common Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBACommon Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBAPeter R. Egli
 
Component Object Model (COM, DCOM, COM+)
Component Object Model (COM, DCOM, COM+)Component Object Model (COM, DCOM, COM+)
Component Object Model (COM, DCOM, COM+)Peter R. Egli
 
JMS - Java Messaging Service
JMS - Java Messaging ServiceJMS - Java Messaging Service
JMS - Java Messaging ServicePeter R. Egli
 
REST - Representational State Transfer
REST - Representational State TransferREST - Representational State Transfer
REST - Representational State TransferPeter R. Egli
 
MOM - Message Oriented Middleware
MOM - Message Oriented MiddlewareMOM - Message Oriented Middleware
MOM - Message Oriented MiddlewarePeter R. Egli
 
Java API for XML Web Services (JAX-WS)
Java API for XML Web Services (JAX-WS)Java API for XML Web Services (JAX-WS)
Java API for XML Web Services (JAX-WS)Peter R. Egli
 

More from Peter R. Egli (20)

LPWAN Technologies for Internet of Things (IoT) and M2M Scenarios
LPWAN Technologies for Internet of Things (IoT) and M2M ScenariosLPWAN Technologies for Internet of Things (IoT) and M2M Scenarios
LPWAN Technologies for Internet of Things (IoT) and M2M Scenarios
 
Data Networking Concepts
Data Networking ConceptsData Networking Concepts
Data Networking Concepts
 
Communication middleware
Communication middlewareCommunication middleware
Communication middleware
 
Transaction Processing Monitors (TPM)
Transaction Processing Monitors (TPM)Transaction Processing Monitors (TPM)
Transaction Processing Monitors (TPM)
 
Business Process Model and Notation (BPMN)
Business Process Model and Notation (BPMN)Business Process Model and Notation (BPMN)
Business Process Model and Notation (BPMN)
 
Microsoft .NET Platform
Microsoft .NET PlatformMicrosoft .NET Platform
Microsoft .NET Platform
 
Overview of Cloud Computing
Overview of Cloud ComputingOverview of Cloud Computing
Overview of Cloud Computing
 
MQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message QueueingMQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message Queueing
 
Overview of Microsoft .Net Remoting technology
Overview of Microsoft .Net Remoting technologyOverview of Microsoft .Net Remoting technology
Overview of Microsoft .Net Remoting technology
 
Android Native Development Kit
Android Native Development KitAndroid Native Development Kit
Android Native Development Kit
 
Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)
 
Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)
 
Overview of Spanning Tree Protocol (STP & RSTP)
Overview of Spanning Tree Protocol (STP & RSTP)Overview of Spanning Tree Protocol (STP & RSTP)
Overview of Spanning Tree Protocol (STP & RSTP)
 
MSMQ - Microsoft Message Queueing
MSMQ - Microsoft Message QueueingMSMQ - Microsoft Message Queueing
MSMQ - Microsoft Message Queueing
 
Common Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBACommon Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBA
 
Component Object Model (COM, DCOM, COM+)
Component Object Model (COM, DCOM, COM+)Component Object Model (COM, DCOM, COM+)
Component Object Model (COM, DCOM, COM+)
 
JMS - Java Messaging Service
JMS - Java Messaging ServiceJMS - Java Messaging Service
JMS - Java Messaging Service
 
REST - Representational State Transfer
REST - Representational State TransferREST - Representational State Transfer
REST - Representational State Transfer
 
MOM - Message Oriented Middleware
MOM - Message Oriented MiddlewareMOM - Message Oriented Middleware
MOM - Message Oriented Middleware
 
Java API for XML Web Services (JAX-WS)
Java API for XML Web Services (JAX-WS)Java API for XML Web Services (JAX-WS)
Java API for XML Web Services (JAX-WS)
 

Recently uploaded

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 

Recently uploaded (20)

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 

Web services

  • 1. © Peter R. Egli 2015 1/14 Rev. 1.90 Web Services indigoo.com Peter R. Egli INDIGOO.COM OVERVIEW OF WEB SERVICE CONCEPTS AND ARCHITECTURES WEB SERVICES
  • 2. © Peter R. Egli 2015 2/14 Rev. 1.90 Web Services indigoo.com Contents 1. What is a web service? 2. What is Service Oriented Architecture (SOA)? 3. What is a service? 4. Overview of web service technologies 5. Who makes web service standards? 6. Web service architectures 7. Web service versioning
  • 3. © Peter R. Egli 2015 3/14 Rev. 1.90 Web Services indigoo.com 1. What is a web service? Definition by W3C (see http://www.w3.org/TR/2004/NOTE-ws-gloss-20040211/): 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, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards. Key elements: • Machine-to-machine (M2M) interaction over a network • Machine-processable interfaces • APIs that can be accessed over a network • Communication over HTTP (even though SOAP-WS make little use of the HTTP protocol) Network Web service client Web services Machine processable interfaces HTTP or other message based transport
  • 4. © Peter R. Egli 2015 4/14 Rev. 1.90 Web Services indigoo.com Network 2. What is Service Oriented Architecture (SOA)? In contrast to „traditional“ enterprise IT architectures, SOA aims to consolidate common functionality of different applications into services. These services are exposed on a network so all consumers can use them when required.  Services offer a defined interface to a component that implements the business functionality.  Services should be designed such that they are as independent of each other as possible.  Services (functionality) are no longer bound to a specific application.  In addition to the partitioning of an IT-landscape into applications, there is an additional dimension «service». Infrastructure Application Infrastructure Application Infrastructure Application Traditional «stovepipe» or «silo» IT architecture  Every application has its own infrastructure.  Only the network is shared among the applications. Network Service oriented architecture  Common functionality is consolidated into shared services.  Applications run on a common service infrastructure. Infrastructure (services) Application Application Application
  • 5. © Peter R. Egli 2015 5/14 Rev. 1.90 Web Services indigoo.com 3. What is a service? A service groups and encapsulates related functionality. Example: Account service that allows tranferring / deducting money to / from a bank account. How big should a service be? Not too big, not too small... Too big  Too many dependees, so overall coupling between clients and server is high; it becomes difficult to make changes to the service without affecting the clients. Too small  Too many different services; service architecture may become brittle («spaghetti service architecture», «service fragmentation»). Web Service Client Web Service Web Service Web Service Web Service Tiny web services  service fragmentation Web Service Service Client Big web service  tight coupling between service and clients Service Client Service Client Service Client
  • 6. © Peter R. Egli 2015 6/14 Rev. 1.90 Web Services indigoo.com 4. Overview of web service technologies (1/2) Web service technologies can be classified according to the following 2 criteria: 1. Method information: The method information expresses the action to be performed in the web service. With regard to data, there are 3 possibilities: a. Method = Action to be performed in web service, applied to data that is contained in request. Example: Store logging data on server. b. Method = Action to be performed in web service, parametrized with data contained in request. Example: Get price quote for a specific product article. c. Method = Action to be performed in web service, no data. Example: Get current time and date. 2. Scope information: The scope information defines the data context to which the request method is applied.
  • 7. © Peter R. Egli 2015 7/14 Rev. 1.90 Web Services indigoo.com 4. Overview of web service technologies (2/2) 1. RPC-style web services („big web services“, „classic web services“): • HTTP is only used as envelope. The method information is contained in a SOAP- / XML-body. • The scope information is contained in the SOAP- / XML-body only. <w:getWeatherUpdate xmlns:m=http://examples.indigoo.com/weatherService env:encodingStyle=http://www.w3.org/2003/05/soap-encoding xmlns:w="http://weatherService.indigoo.com/"> <w:location> <w:latitude>47.359169</w:latitude> <w:longitude>8.563843</w.longitude> </w:location> </s:getWeatherUpdate> 2. REST-style web services: • Method information in HTTP method only. • Scope information in URL only. GET HTTP://www.indigoo.com/weatherInfo?location=Zurich 3. Hybrid RPC-style / REST-style combined: • Method information mapped to URL. • Scope information contained in URL. GET HTTP://www.indigoo.com/weatherInfo?operation=get&location=Zurich
  • 8. © Peter R. Egli 2015 8/14 Rev. 1.90 Web Services indigoo.com 5. Who makes web service standards? 1. W3C (www.w3.org) W3C develops web technology standards for the Internet (like IETF for protocols). List of W3C web service standards see http://www.w3.org/TR/. 2. OASIS (www.oasis-open.org) Besides W3C, OASIS is the main WS standards body. OASIS integrated the activities of WS-I (www.ws-i.org). WS-I defines profiles for interoperability between web services (sets of OASIS standards to be supported). WS-I does not itself define standards but promotes interoperability between WS by defining profiles (set of WS-* standards) to be supported by WS stacks / frameworks. List of OASIS web service standards see https://www.oasis-open.org/standards. 4. Companies Companies like BEA, IBM and Microsoft develop standards that are sometimes later endorsed by OASIS.
  • 9. © Peter R. Egli 2015 9/14 Rev. 1.90 Web Services indigoo.com 6. Web service architectures (1/4) Web intermediaries: Web intermediaries are placed between web service client and web service provider. They intercept messages (requests and responses), perform some function and forward the request to the destination. Intermediaries perform typical functions that are shared in different web service architectures. A. Authentication services: The service client authenticates with the authentication service on an intermediary and receives a security token for use in the subsequent secured session with the service provider. Service consumer Service provider Intermediary Intermediary Service consumer Service provider Intermediary AA(A) Security tokens (see WS-Security / WS-Trust) Authentication AAA Authentication, Authorization, Accounting Authenticated communication
  • 10. © Peter R. Egli 2015 10/14 Rev. 1.90 Web Services indigoo.com 6. Web service architectures (2/4) B. Auditing services: An auditing intermediary logs the entire activity between a service client and provider (e.g. for debugging purposes or to satisfy regulatory requirements). C. Management services: A management intermediary is used to collect statistical information about the service usage and service health, maybe based on data from an auditing service. The management intermediary may be connected to and integrated into an IT management network for service monitoring and management purposes (e.g. for guaranteeing the required web service quality of service). Service consumer Service provider Intermediary Log Service consumer Service provider Intermediary Log IT management system
  • 11. © Peter R. Egli 2015 11/14 Rev. 1.90 Web Services indigoo.com 6. Web service architectures (3/4) D. Performance improvement services (1/2): Web intermediaries are placed between service client and provider to improve the overall performance. Caches: Resources are retrieved from a cache storage to offload the service provider. Store-and-forward intermediaries: Message queueing service for offloading the service provider, i.e. to control the load or also do load balancing. Such intermediaries may also be used to forward a request to a version-compatible service (see below, versioning of web services). Service consumer Service provider Intermediary Cache Service consumer Service provider Intermediary Service provider
  • 12. © Peter R. Egli 2015 12/14 Rev. 1.90 Web Services indigoo.com 6. Web service architectures (4/4) D. Performance improvement services (2/2): Aggregation intermediaries: Aggregate several web services provided by different web service providers into a composite web service as a facade or interface towards the client. Service consumer Service provider 1 Intermediary Service provider 3 Aggregated interface Service provider 2
  • 13. © Peter R. Egli 2015 13/14 Rev. 1.90 Web Services indigoo.com 7. Web service versioning (1/2) Problem: SOA is an open architecture (services exposed to the „outside“).  Services cannot be easily modified or deleted because some other service or client depends on it. Solution 1: Update all clients and other web services each time the service changes («D-Day» approach).  Will probably not work well because it does not scale (a small change required by 1 service consumer leads to updates on all dependees). Solution 2 (1/2): Introduction of a versioning scheme with compatible and incompatible changes. Version numbering scheme <major>.<minor> Major (=incompatible) change  <major> is counted up. Minor (=compatible) change  <minor> is counted up. Compatible changes to a web service: - Addition of an additional operation without changing the semantics of the existing operations - Addition of an optional attribute to a data type - Addition of new data type (probably along with a new operation) Incompatible changes: - Removal / renaming of a service, operation, data type or attribute - Addition of a mandatory attribute - Change of order of attributes (if ordering is applicable)
  • 14. © Peter R. Egli 2015 14/14 Rev. 1.90 Web Services indigoo.com 7. Web service versioning (2/2) Solution 2 (2/2): The version must be present in the SOAP message, either as: a. XML-namespace in the SOAP-envelope: Example: <xsd:schema targetNamespace=„http://www.mycompany.com/MyService/2009-05-20> b. Service name or data element extension in SOAP body: Example: <xs:complexType name=„CustomerV1“> c. HTTP-request parameter for version: Example: HTTP GET HTTP/1.1 .. version: V1.2 In order to reduce or avoid any client changes when doing major changes to a web service, the following scheme may be employed (the web intermediary serves as a service router based on the version): Service consumer V1.1 Intermediary Service consumer V2.0 Service consumer V1.0 Service provider V1.1 Service provider V2.0 Service provider V1.0