SlideShare a Scribd company logo
Introduction to WebServices
-Gagandeep Singh
What are Web Services
Web services are client and server applications that communicate over the
World Wide Web’s (WWW) Hypertext Transfer Protocol (HTTP).
As described by the World Wide Web Consortium (W3C), web services
provide a standard means of interoperating between software applications
running on a variety of platforms and frameworks. Web services are
characterized by their great interoperability and extensibility, as well as their
machine-processable descriptions, thanks to the use of XML.
Web services can be combined in a loosely coupled way to achieve complex
operations. Programs providing simple services can interact with each other
to deliver sophisticated added-value services.
Service Oriented Architecture (SOA)
A service-oriented architecture is essentially a collection of services. These
services communicate with each other. The communication can involve either
simple data passing or it could involve two or more services coordinating
some activity.
Some means of connecting services to each other is needed.
Service-oriented architectures are not a new thing. The first service-oriented
architecture for many people in the past was with the use DCOM or Object
Request Brokers (ORBs) based on the CORBA specification.
Service
If a service-oriented architecture is to be effective, we need a clear
understanding of the term service. A service is a function that is well-
defined, self-contained, and does not depend on the context or state of
other services
Services are what you connect together using Web Services. A service is the
endpoint of a connection. Also, a service has some type of underlying
computer system that supports the connection offered. This section
provides information on the specification of services.
“a service is a type of API, usually over HTTP”
You may have an API, but not expose it to anybody external.
“a service is a proxy of your internal logic, which is exposed to the outside
world”
Think of the analogy of “views” in database systems.
Connections
The technology of Web Services is the most likely connection technology of
service-oriented architectures. The following figure illustrates a basic service-
oriented architecture. It shows a service consumer at the right sending a service
request message to a service provider at the left. The service provider returns a
response message to the service consumer. The request and subsequent response
connections are defined in some way that is understandable to both the service
consumer and service provider.
Introduction to Service Oriented Computing
-Context of WebServices: Distributed Information Systems
Layers of an information system
Presentation layer
Communication interface to external entities
Graphical user interface for human users or non
graphical user interface for other programs
Application logic layer
Implements operations requested by clients
through the presentation layer
Resource management layer
Deals with different data sources of an
information system
Distributed systems are split up into parts
Run simultaneously on multiple computers
Communicate over a network
Client
Resource Management
Layer
Application Logic Layer
Presentation layer
Machine to machine communication
-Getting applications to talk to each other
Client
Resource Management
Layer
Application Logic Layer
Presentation layer
Client
Resource Management
Layer
Application Logic Layer
Presentation layer
Application Logic Layer
Example: Yield management in the airline industry requires close system
interaction in order to retrieve the most current prices
Windows Server 2008 UNIX System
Travel Information and
Booking Application
(programmed in Java)
Flight Information and
Booking Application
(programmed in C)
Seamless
Interaction
Mismatch in operating system, language, platform, etc.
Service-oriented computing is an emergent paradigm that helps to
overcome these mismatches
Windows Server 2008 UNIX System
Travel Information and
Booking Application
(programmed in Java)
Flight Information and
Booking Application
(programmed in C)
Request
Response
Service Vs WebService
Services are business functions which an enterprise offers to its business
Partners
A possible implementation of Services are Web Services
 However, other concepts may also be used to implement a Service, e.g.,
ebXML, document-centric approaches using EDI messages, etc.
Important terms in SOA
(Web) Services are self-contained modules that can be described, published,
located, orchestrated, and programmed using XML-based technologies over a
Network.
Service providers are organizations that provide the service implementations,
supply their service descriptions, and provide related technical and business
Support.
Service clients are end-users and organizations that use some service.
Service aggregators are organizations that consolidate multiple services into a
new, single orchestrated service offering that is commonly known as business
process.
A service-oriented architecture (SOA) is a logical way of designing a software
system to provide services to either end-user applications or to other services
distributed in a network, via published and discoverable interfaces.
Types of Web Services
On the conceptual level, a service is a software component provided through a
network-accessible endpoint. The service consumer and provider use messages
to exchange invocation request and response information in the form of self-
containing documents that make very few assumptions about the technological
capabilities of the receiver.
On a technical level, web services can be implemented in various ways. The two
types of web services discussed in this section can be distinguished as “big” web
services (SOAP) and “RESTful” web services.
SOAP provides the envelope for sending Web Services messages over the
Internet/Internet. It is part of the set of standards specified by the W3C. SOAP is an
alternative to Representational State Transfer (REST) and JavaScript Object Notation
(JSON).
The SOAP envelope contains two parts:
An optional header providing information on
authentication, encoding of data, or how a recipient
of a SOAP message should process the message.
The body that contains the message. These
messages can be defined using the WSDL
specification.
SOAP commonly uses HTTP, but other protocols such
as Simple Mail Transfer Protocol (SMTP) may by used.
SOAP can be used to exchange complete documents
or to call a remote procedure.
NOTE: SOAP at one time stood for Simple Object
Access Protocol. Starting with SOAP Version 1.2, the
letters in the acronym have no particular meaning.
Simple Object Access Protocol(SOAP)
SOAP
SOAP was originally part of the specification that included the Web Services
Description Language (WSDL) and Universal Description, Discovery, and
Integration (UDDI). It is used now without WSDL and UDDI. Instead of the
discovery process, SOAP messages are hard-coded or generated without the
use of a repository. The interaction is illustrated in the figure below.
“Big” Web Services(SOAP Based)
Big web services use XML messages that follow the Simple Object Access Protocol (SOAP)
standard, an XML language defining a message architecture and message formats. Such
systems often contain a machine-readable description of the operations offered by the
service, written in the Web Services Description Language (WSDL), an XML language for
defining interfaces syntactically.
The SOAP message format and the WSDL interface definition language have gained
widespread adoption. Many development tools, such as NetBeans IDE, can reduce the
complexity of developing web service applications.
Representational State Transfer (REST)
Representational State Transfer (REST) is a style of architecture based on a set of
principles that describe how networked resources are defined and addressed. These
principles were first described in 2000 by Roy Fielding as part of his doctoral
dissertation.
REST is an alternative to SOAP and JavaScript Object Notation (JSON).
It is important to note that REST is a style of software architecture as opposed to a set
of standards. As a result, such applications or architectures are sometimes referred to
as RESTful or REST-style applications or architectures. REST has proved to be a
popular choice for implementing Web Services. It is one of the options for Amazon
Web Services
An application or architecture considered RESTful or REST-style is characterized by:
State and functionality are divided into distributed resources.
Every resource is uniquely addressable using a uniform and minimal set of
commands (typically using HTTP commands of GET, POST, PUT, or DELETE over the
Internet)
The protocol is client/server, stateless, layered, and supports caching
This is essentially the architecture of the Internet and helps to explain the popularity
and ease-of-use for REST
REST
Representation State Transfer (REST) appeals to developers because it has a
simpler style that makes it easier to use than SOAP. It also less verbose so that
less volume is sent when communicating.
RESTful Web Services
In Java EE 6, JAX-RS provides the functionality for Representational State
Transfer (RESTful) web services. REST is well suited for basic, ad hoc integration
scenarios. RESTful web services, often better integrated with HTTP than SOAP-
based services are, do not require XML messages or WSDL service–API
definitions.
Project Jersey is the production-ready reference implementation for the JAX-RS
specification. Jersey implements support for the annotations defined in the JAX-
RS specification, making it easy for developers to build RESTful web services
with Java and the Java Virtual Machine (JVM).
Because RESTful web services use existing well-known W3C and Internet
Engineering Task Force (IETF) standards (HTTP, XML, URI, MIME) and have a
lightweight infrastructure that allows services to be built with minimal tooling,
developing RESTful web services is inexpensive and thus has a very low barrier
for adoption. You can use a development tool such as NetBeans IDE to further
reduce the complexity of developing RESTful web services.
JavaScript Object Notation (JSON)
JavaScript Object Notation (JSON) uses name/value pairs. This is similar to the
tags used by XML. An example from the figure below shows, at the left, the XML
tag of "<state>" with the value of "MN." The pairs for JSON are at the right. It
similarly shows the name "state" is paired with the value "MN." The name/value
pairs do not need to be in a specific order. Also, like XML, JSON provides
resilience to changes and avoids the brittleness of fixed record formats.
While both SOAP and REST use XML for interchange, JavaScript Object Notation
(JSON) uses a subset of JavaScript. This is illustrated in the figure below.
Characteristics of Web Services
WS semantically encapsulate discrete functionality
A Web Service is a self contained software module that performs a single task
(e.g. weather forecast by passing the zip-code as parameter)
WS share a contract
In order to allow interaction of services, a formal contract must be established,
that defines the exact terms of an information exchange between a service client
and a service provider
WS abstract underlying program logic
A service exposes a certain functionality to a client. How that functionality is
achieved (e.g., which program language is used, or which database is used)
remains invisible to the caller)
WS are loosely coupled software modules
A service interface is defined in a neutral manner, independent of the
underlying platform, operating system, or programming language
Due to their neutral interfaces, services are not hard-wired. Thus, a service may
be easily exchanged by another service, without much implementation effort
WS are reusable
A service may be reused by multiple applications
WS can be dynamically found and included in applications
A WS provides programmable access. Thus, a WS may be embedded in a
remotely located application, i.e., a service may be composed.
Unlike Web Sites, Web Services are not targeted at human users
They are called by and exchange data with other software modules and
applications.
WS are described in terms of a standard description language
Web Service Description Language (WSDL) and Web Application Description
Language (WADL) describe functional service characteristics
Functional requirements: Requirements of the functionality which must be
provided (Functions, Data, Behaviour, etc.)
Non-functional requirements: Requirements of the circumstances under which the
functionality must be provided (e.g., reliability, performance, etc.)
WS are distributed over the Internet
 WS make use of existing ubiquitous transport Internet protocols like HTTP
By relying on the same well-understood transport mechanism as Web Content,
Web Services may leverage existing infrastructures and may cross corporate
firewalls.
Operations in a Web Service
Architecture
Publish
A service description needs to be published such that
the service requestor can find it
it is accessible
Find
The service requestor retrieves the service description
directly
by querying a service registry
Bind
The service requestor invokes or instantiates the interaction with the
service by using binding details in the service description to locate,
contact,
and invoke the service.
Standards in use
Service
Service
Provider
Service
Requestor
WSDL WSDL
SOAP
UDDI
Find
Bind
Publish
Note, that finding and publishing a service is also realized using SOAP calls

More Related Content

What's hot

Webservices
WebservicesWebservices
Webservices
Gerard Sylvester
 
WSDL
WSDLWSDL
Angular 8
Angular 8 Angular 8
Angular 8
Sunil OS
 
Xml parsers
Xml parsersXml parsers
Xml parsers
Manav Prasad
 
Web Service Presentation
Web Service PresentationWeb Service Presentation
Web Service Presentation
guest0df6b0
 
Soap web service
Soap web serviceSoap web service
Soap web service
NITT, KAMK
 
Web application framework
Web application frameworkWeb application framework
Web application framework
Pankaj Chand
 
jQuery
jQueryjQuery
Web api
Web apiWeb api
Ajax ppt
Ajax pptAjax ppt
Asp.net architecture
Asp.net architectureAsp.net architecture
Asp.net architectureIblesoft
 
A Basic Django Introduction
A Basic Django IntroductionA Basic Django Introduction
A Basic Django IntroductionGanga Ram
 
PHP - Introduction to PHP AJAX
PHP -  Introduction to PHP AJAXPHP -  Introduction to PHP AJAX
PHP - Introduction to PHP AJAX
Vibrant Technologies & Computers
 
Why MVC?
Why MVC?Why MVC?
Why MVC?
Wayne Tun Myint
 
Remote Method Invocation in JAVA
Remote Method Invocation in JAVARemote Method Invocation in JAVA
Remote Method Invocation in JAVA
Jalpesh Vasa
 
servlet in java
servlet in javaservlet in java
servlet in java
sowfi
 

What's hot (20)

Webservices
WebservicesWebservices
Webservices
 
WSDL
WSDLWSDL
WSDL
 
Angular 8
Angular 8 Angular 8
Angular 8
 
Xml parsers
Xml parsersXml parsers
Xml parsers
 
SOAP-based Web Services
SOAP-based Web ServicesSOAP-based Web Services
SOAP-based Web Services
 
Web Service Presentation
Web Service PresentationWeb Service Presentation
Web Service Presentation
 
Soap web service
Soap web serviceSoap web service
Soap web service
 
Web application framework
Web application frameworkWeb application framework
Web application framework
 
Mvc architecture
Mvc architectureMvc architecture
Mvc architecture
 
jQuery
jQueryjQuery
jQuery
 
Web api
Web apiWeb api
Web api
 
Ajax ppt
Ajax pptAjax ppt
Ajax ppt
 
Asp.net architecture
Asp.net architectureAsp.net architecture
Asp.net architecture
 
A Basic Django Introduction
A Basic Django IntroductionA Basic Django Introduction
A Basic Django Introduction
 
Ajax
AjaxAjax
Ajax
 
PHP - Introduction to PHP AJAX
PHP -  Introduction to PHP AJAXPHP -  Introduction to PHP AJAX
PHP - Introduction to PHP AJAX
 
Jdbc Ppt
Jdbc PptJdbc Ppt
Jdbc Ppt
 
Why MVC?
Why MVC?Why MVC?
Why MVC?
 
Remote Method Invocation in JAVA
Remote Method Invocation in JAVARemote Method Invocation in JAVA
Remote Method Invocation in JAVA
 
servlet in java
servlet in javaservlet in java
servlet in java
 

Similar to Introduction to webservices

Unit 2
Unit 2Unit 2
Unit 2
Ravi Kumar
 
Secc tutorials development and deployment of rest web services in java_v2.0
Secc tutorials development and deployment of rest web services in java_v2.0Secc tutorials development and deployment of rest web services in java_v2.0
Secc tutorials development and deployment of rest web services in java_v2.0
Aravindharamanan S
 
Java web services
Java web servicesJava web services
Java web services
kumar gaurav
 
Project - UG - BTech IT - Cluster based Approach for Service Discovery using ...
Project - UG - BTech IT - Cluster based Approach for Service Discovery using ...Project - UG - BTech IT - Cluster based Approach for Service Discovery using ...
Project - UG - BTech IT - Cluster based Approach for Service Discovery using ...
Yogesh Santhan
 
Service view
Service viewService view
Service view
Pooja Dixit
 
Cc unit 2 updated
Cc unit 2 updatedCc unit 2 updated
Cc unit 2 updated
Dr. Radhey Shyam
 
Web Services Composition
Web Services CompositionWeb Services Composition
Web Services Compositioneldorina
 
Web Services in Cloud Computing.pptx
Web Services in Cloud Computing.pptxWeb Services in Cloud Computing.pptx
Web Services in Cloud Computing.pptx
ssuser403d87
 
webservices overview
webservices overviewwebservices overview
webservices overviewelliando dias
 
Web Programming
Web ProgrammingWeb Programming
Web Programming
VijayapriyaP1
 
WebService-Java
WebService-JavaWebService-Java
WebService-Java
halwal
 
SOA & WCF
SOA & WCFSOA & WCF
SOA & WCF
Dev Raj Gautam
 
Distributed system architecture
Distributed system architectureDistributed system architecture
Distributed system architecture
Yisal Khan
 
Xml.ppt
Xml.pptXml.ppt
Service oriented software engineering
Service oriented software engineeringService oriented software engineering
Service oriented software engineering
Sweta Kumari Barnwal
 
Web services in j2 ee
Web services in j2 eeWeb services in j2 ee
Web services in j2 eeNaresh Chinnu
 
Web services
Web services Web services
Web services
UMA MAHESWARI
 
Rest surekha
Rest surekhaRest surekha
Rest surekha
Surekha Achanta
 
Efficient retrieval of web services using prioritization and clustering
Efficient retrieval of web services using prioritization and clusteringEfficient retrieval of web services using prioritization and clustering
Efficient retrieval of web services using prioritization and clustering
Alexander Decker
 
A Study Of Web Services And Its Implications
A Study Of Web Services And Its ImplicationsA Study Of Web Services And Its Implications
A Study Of Web Services And Its Implications
Tony Lisko
 

Similar to Introduction to webservices (20)

Unit 2
Unit 2Unit 2
Unit 2
 
Secc tutorials development and deployment of rest web services in java_v2.0
Secc tutorials development and deployment of rest web services in java_v2.0Secc tutorials development and deployment of rest web services in java_v2.0
Secc tutorials development and deployment of rest web services in java_v2.0
 
Java web services
Java web servicesJava web services
Java web services
 
Project - UG - BTech IT - Cluster based Approach for Service Discovery using ...
Project - UG - BTech IT - Cluster based Approach for Service Discovery using ...Project - UG - BTech IT - Cluster based Approach for Service Discovery using ...
Project - UG - BTech IT - Cluster based Approach for Service Discovery using ...
 
Service view
Service viewService view
Service view
 
Cc unit 2 updated
Cc unit 2 updatedCc unit 2 updated
Cc unit 2 updated
 
Web Services Composition
Web Services CompositionWeb Services Composition
Web Services Composition
 
Web Services in Cloud Computing.pptx
Web Services in Cloud Computing.pptxWeb Services in Cloud Computing.pptx
Web Services in Cloud Computing.pptx
 
webservices overview
webservices overviewwebservices overview
webservices overview
 
Web Programming
Web ProgrammingWeb Programming
Web Programming
 
WebService-Java
WebService-JavaWebService-Java
WebService-Java
 
SOA & WCF
SOA & WCFSOA & WCF
SOA & WCF
 
Distributed system architecture
Distributed system architectureDistributed system architecture
Distributed system architecture
 
Xml.ppt
Xml.pptXml.ppt
Xml.ppt
 
Service oriented software engineering
Service oriented software engineeringService oriented software engineering
Service oriented software engineering
 
Web services in j2 ee
Web services in j2 eeWeb services in j2 ee
Web services in j2 ee
 
Web services
Web services Web services
Web services
 
Rest surekha
Rest surekhaRest surekha
Rest surekha
 
Efficient retrieval of web services using prioritization and clustering
Efficient retrieval of web services using prioritization and clusteringEfficient retrieval of web services using prioritization and clustering
Efficient retrieval of web services using prioritization and clustering
 
A Study Of Web Services And Its Implications
A Study Of Web Services And Its ImplicationsA Study Of Web Services And Its Implications
A Study Of Web Services And Its Implications
 

More from Gagandeep Singh

Jsf login logout project
Jsf login logout projectJsf login logout project
Jsf login logout project
Gagandeep Singh
 
Autosys
AutosysAutosys
Log4jxml ex
Log4jxml exLog4jxml ex
Log4jxml ex
Gagandeep Singh
 
Log4jprop example
Log4jprop exampleLog4jprop example
Log4jprop example
Gagandeep Singh
 
Web Sphere Administration guide – Packaging and Deploying Jee Applications
Web Sphere Administration guide – Packaging and Deploying Jee ApplicationsWeb Sphere Administration guide – Packaging and Deploying Jee Applications
Web Sphere Administration guide – Packaging and Deploying Jee Applications
Gagandeep Singh
 
Understanding JSP -Servlets
Understanding JSP -ServletsUnderstanding JSP -Servlets
Understanding JSP -Servlets
Gagandeep Singh
 
Application server vs Web Server
Application server vs Web ServerApplication server vs Web Server
Application server vs Web Server
Gagandeep Singh
 

More from Gagandeep Singh (8)

Jsf login logout project
Jsf login logout projectJsf login logout project
Jsf login logout project
 
Autosys
AutosysAutosys
Autosys
 
Log4jxml ex
Log4jxml exLog4jxml ex
Log4jxml ex
 
Log4jprop example
Log4jprop exampleLog4jprop example
Log4jprop example
 
Log4e
Log4eLog4e
Log4e
 
Web Sphere Administration guide – Packaging and Deploying Jee Applications
Web Sphere Administration guide – Packaging and Deploying Jee ApplicationsWeb Sphere Administration guide – Packaging and Deploying Jee Applications
Web Sphere Administration guide – Packaging and Deploying Jee Applications
 
Understanding JSP -Servlets
Understanding JSP -ServletsUnderstanding JSP -Servlets
Understanding JSP -Servlets
 
Application server vs Web Server
Application server vs Web ServerApplication server vs Web Server
Application server vs Web Server
 

Recently uploaded

From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 

Recently uploaded (20)

From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 

Introduction to webservices

  • 2. What are Web Services Web services are client and server applications that communicate over the World Wide Web’s (WWW) Hypertext Transfer Protocol (HTTP). As described by the World Wide Web Consortium (W3C), web services provide a standard means of interoperating between software applications running on a variety of platforms and frameworks. Web services are characterized by their great interoperability and extensibility, as well as their machine-processable descriptions, thanks to the use of XML. Web services can be combined in a loosely coupled way to achieve complex operations. Programs providing simple services can interact with each other to deliver sophisticated added-value services.
  • 3. Service Oriented Architecture (SOA) A service-oriented architecture is essentially a collection of services. These services communicate with each other. The communication can involve either simple data passing or it could involve two or more services coordinating some activity. Some means of connecting services to each other is needed. Service-oriented architectures are not a new thing. The first service-oriented architecture for many people in the past was with the use DCOM or Object Request Brokers (ORBs) based on the CORBA specification.
  • 4. Service If a service-oriented architecture is to be effective, we need a clear understanding of the term service. A service is a function that is well- defined, self-contained, and does not depend on the context or state of other services Services are what you connect together using Web Services. A service is the endpoint of a connection. Also, a service has some type of underlying computer system that supports the connection offered. This section provides information on the specification of services. “a service is a type of API, usually over HTTP” You may have an API, but not expose it to anybody external. “a service is a proxy of your internal logic, which is exposed to the outside world” Think of the analogy of “views” in database systems.
  • 5. Connections The technology of Web Services is the most likely connection technology of service-oriented architectures. The following figure illustrates a basic service- oriented architecture. It shows a service consumer at the right sending a service request message to a service provider at the left. The service provider returns a response message to the service consumer. The request and subsequent response connections are defined in some way that is understandable to both the service consumer and service provider.
  • 6. Introduction to Service Oriented Computing -Context of WebServices: Distributed Information Systems Layers of an information system Presentation layer Communication interface to external entities Graphical user interface for human users or non graphical user interface for other programs Application logic layer Implements operations requested by clients through the presentation layer Resource management layer Deals with different data sources of an information system Distributed systems are split up into parts Run simultaneously on multiple computers Communicate over a network Client Resource Management Layer Application Logic Layer Presentation layer
  • 7. Machine to machine communication -Getting applications to talk to each other Client Resource Management Layer Application Logic Layer Presentation layer Client Resource Management Layer Application Logic Layer Presentation layer Application Logic Layer
  • 8. Example: Yield management in the airline industry requires close system interaction in order to retrieve the most current prices Windows Server 2008 UNIX System Travel Information and Booking Application (programmed in Java) Flight Information and Booking Application (programmed in C) Seamless Interaction Mismatch in operating system, language, platform, etc. Service-oriented computing is an emergent paradigm that helps to overcome these mismatches
  • 9. Windows Server 2008 UNIX System Travel Information and Booking Application (programmed in Java) Flight Information and Booking Application (programmed in C) Request Response
  • 10. Service Vs WebService Services are business functions which an enterprise offers to its business Partners A possible implementation of Services are Web Services  However, other concepts may also be used to implement a Service, e.g., ebXML, document-centric approaches using EDI messages, etc.
  • 11. Important terms in SOA (Web) Services are self-contained modules that can be described, published, located, orchestrated, and programmed using XML-based technologies over a Network. Service providers are organizations that provide the service implementations, supply their service descriptions, and provide related technical and business Support. Service clients are end-users and organizations that use some service. Service aggregators are organizations that consolidate multiple services into a new, single orchestrated service offering that is commonly known as business process. A service-oriented architecture (SOA) is a logical way of designing a software system to provide services to either end-user applications or to other services distributed in a network, via published and discoverable interfaces.
  • 12. Types of Web Services On the conceptual level, a service is a software component provided through a network-accessible endpoint. The service consumer and provider use messages to exchange invocation request and response information in the form of self- containing documents that make very few assumptions about the technological capabilities of the receiver. On a technical level, web services can be implemented in various ways. The two types of web services discussed in this section can be distinguished as “big” web services (SOAP) and “RESTful” web services.
  • 13. SOAP provides the envelope for sending Web Services messages over the Internet/Internet. It is part of the set of standards specified by the W3C. SOAP is an alternative to Representational State Transfer (REST) and JavaScript Object Notation (JSON). The SOAP envelope contains two parts: An optional header providing information on authentication, encoding of data, or how a recipient of a SOAP message should process the message. The body that contains the message. These messages can be defined using the WSDL specification. SOAP commonly uses HTTP, but other protocols such as Simple Mail Transfer Protocol (SMTP) may by used. SOAP can be used to exchange complete documents or to call a remote procedure. NOTE: SOAP at one time stood for Simple Object Access Protocol. Starting with SOAP Version 1.2, the letters in the acronym have no particular meaning. Simple Object Access Protocol(SOAP)
  • 14. SOAP SOAP was originally part of the specification that included the Web Services Description Language (WSDL) and Universal Description, Discovery, and Integration (UDDI). It is used now without WSDL and UDDI. Instead of the discovery process, SOAP messages are hard-coded or generated without the use of a repository. The interaction is illustrated in the figure below.
  • 15. “Big” Web Services(SOAP Based) Big web services use XML messages that follow the Simple Object Access Protocol (SOAP) standard, an XML language defining a message architecture and message formats. Such systems often contain a machine-readable description of the operations offered by the service, written in the Web Services Description Language (WSDL), an XML language for defining interfaces syntactically. The SOAP message format and the WSDL interface definition language have gained widespread adoption. Many development tools, such as NetBeans IDE, can reduce the complexity of developing web service applications.
  • 16. Representational State Transfer (REST) Representational State Transfer (REST) is a style of architecture based on a set of principles that describe how networked resources are defined and addressed. These principles were first described in 2000 by Roy Fielding as part of his doctoral dissertation. REST is an alternative to SOAP and JavaScript Object Notation (JSON). It is important to note that REST is a style of software architecture as opposed to a set of standards. As a result, such applications or architectures are sometimes referred to as RESTful or REST-style applications or architectures. REST has proved to be a popular choice for implementing Web Services. It is one of the options for Amazon Web Services An application or architecture considered RESTful or REST-style is characterized by: State and functionality are divided into distributed resources. Every resource is uniquely addressable using a uniform and minimal set of commands (typically using HTTP commands of GET, POST, PUT, or DELETE over the Internet) The protocol is client/server, stateless, layered, and supports caching This is essentially the architecture of the Internet and helps to explain the popularity and ease-of-use for REST
  • 17. REST Representation State Transfer (REST) appeals to developers because it has a simpler style that makes it easier to use than SOAP. It also less verbose so that less volume is sent when communicating.
  • 18. RESTful Web Services In Java EE 6, JAX-RS provides the functionality for Representational State Transfer (RESTful) web services. REST is well suited for basic, ad hoc integration scenarios. RESTful web services, often better integrated with HTTP than SOAP- based services are, do not require XML messages or WSDL service–API definitions. Project Jersey is the production-ready reference implementation for the JAX-RS specification. Jersey implements support for the annotations defined in the JAX- RS specification, making it easy for developers to build RESTful web services with Java and the Java Virtual Machine (JVM). Because RESTful web services use existing well-known W3C and Internet Engineering Task Force (IETF) standards (HTTP, XML, URI, MIME) and have a lightweight infrastructure that allows services to be built with minimal tooling, developing RESTful web services is inexpensive and thus has a very low barrier for adoption. You can use a development tool such as NetBeans IDE to further reduce the complexity of developing RESTful web services.
  • 19. JavaScript Object Notation (JSON) JavaScript Object Notation (JSON) uses name/value pairs. This is similar to the tags used by XML. An example from the figure below shows, at the left, the XML tag of "<state>" with the value of "MN." The pairs for JSON are at the right. It similarly shows the name "state" is paired with the value "MN." The name/value pairs do not need to be in a specific order. Also, like XML, JSON provides resilience to changes and avoids the brittleness of fixed record formats.
  • 20. While both SOAP and REST use XML for interchange, JavaScript Object Notation (JSON) uses a subset of JavaScript. This is illustrated in the figure below.
  • 21. Characteristics of Web Services WS semantically encapsulate discrete functionality A Web Service is a self contained software module that performs a single task (e.g. weather forecast by passing the zip-code as parameter) WS share a contract In order to allow interaction of services, a formal contract must be established, that defines the exact terms of an information exchange between a service client and a service provider WS abstract underlying program logic A service exposes a certain functionality to a client. How that functionality is achieved (e.g., which program language is used, or which database is used) remains invisible to the caller) WS are loosely coupled software modules A service interface is defined in a neutral manner, independent of the underlying platform, operating system, or programming language Due to their neutral interfaces, services are not hard-wired. Thus, a service may be easily exchanged by another service, without much implementation effort
  • 22. WS are reusable A service may be reused by multiple applications WS can be dynamically found and included in applications A WS provides programmable access. Thus, a WS may be embedded in a remotely located application, i.e., a service may be composed. Unlike Web Sites, Web Services are not targeted at human users They are called by and exchange data with other software modules and applications. WS are described in terms of a standard description language Web Service Description Language (WSDL) and Web Application Description Language (WADL) describe functional service characteristics Functional requirements: Requirements of the functionality which must be provided (Functions, Data, Behaviour, etc.) Non-functional requirements: Requirements of the circumstances under which the functionality must be provided (e.g., reliability, performance, etc.) WS are distributed over the Internet  WS make use of existing ubiquitous transport Internet protocols like HTTP By relying on the same well-understood transport mechanism as Web Content, Web Services may leverage existing infrastructures and may cross corporate firewalls.
  • 23. Operations in a Web Service Architecture Publish A service description needs to be published such that the service requestor can find it it is accessible Find The service requestor retrieves the service description directly by querying a service registry Bind The service requestor invokes or instantiates the interaction with the service by using binding details in the service description to locate, contact, and invoke the service.
  • 24. Standards in use Service Service Provider Service Requestor WSDL WSDL SOAP UDDI Find Bind Publish Note, that finding and publishing a service is also realized using SOAP calls