Professional Documents
Culture Documents
Topic 10 Web Service Technologies
Topic 10 Web Service Technologies
TOPIC 10
Summary
Web service is a "call" to an application, a system, or a hub that asks a question, like:
"Does this customer already exist?" By definition, a Web service uses the web to
communicate its business question. SOA, on the other hand, is the architectural
framework that enables a series of those Web services to occur.
WSDL
WSDL stands for Web Services Definition Language
WSDL is an XML-based file that basically tells the client application what the web
service does.
WSDL is written in XML
WSDL is the standard format for describing a web service.
WSDL definition describes how to access a web service and what operations it
will perform.
WSDL is a language for describing how to interface with XML-based services.
WSDL is an integral part of UDDI, an XML-based worldwide business registry.
WSDL is the language that UDDI uses.
Simple Object Access Protocol, as a specification, defines SOAP messages that are
sent to web services and client applications. SOAP messages are XML documents that
are comprised of the following three basic building blocks:
1. The SOAP Envelope encapsulates all the data in a message and identifies the XML
document as a SOAP message.
2. The Header element contains additional information about the SOAP message. This
information could be authentication credentials, for example, which are used by the
calling application.
3. The Body element includes the details of the actual message that need to be
sent from the web service to the calling application. This data includes call and
response information.
SOAP messages are XML documents that are comprised of three basic building
blocks.
SOAP is an integral part of the service-oriented architecture (SOA) and the web
services specifications.
Works on the HTTP protocol. Even though SOAP works with many different
protocols, HTTP is the default protocol used by web applications.
Can be transmitted through different network and security devices. SOAP can
be easily passed through firewalls, where other protocols might require a special
accommodation.
Speed. The data structure of SOAP is based on XML. XML is largely human-
readable, which makes it fairly easy to understand a SOAP message. However, that
also makes the messages relatively large compared to the Common Object Request
Broker Architecture (CORBA) and its remote procedure call (RPC) protocol that will
accommodate binary data. Because of this, CORBA and RPC are faster.
Not as flexible as other methods. Although SOAP is flexible, newer methods, such
as RESTful architecture, use XML, JavaScript Object Notation, YAML or any parser
needed, which makes them more flexible than SOAP.
Universal Description Discovery and Integration (UDDI)
A set of specifications defining a registry service for Web services and for other
electronic and non-electronic services.
A UDDI registry service is a Web service managing information about service providers,
service implementations and service metadata. Providers advertise their Web services
on the UDDI registry. Consumers then use UDDI to discover Web services suiting their
requirements and obtain the service metadata needed to consume those services.
REST
REST, or Representational State Transfer, is an architectural style for developing web
services. REST is popular due to its simplicity and the fact that it builds upon existing
systems and features of the internet's Hypertext Transfer Protocol (HTTP) in order to
achieve its objectives, as opposed to creating new standards, frameworks and
technologies.
RESTful, A web API that obeys the REST constraints is informal. In general RESTful
web APIs are loosely based on HTTP methods such as GET and POST.
HTTP Verbs
There are 4 basic HTTP verbs we use in requests to interact with resources in a REST
system:
GET — retrieve a specific resource (by id) or a collection of resources
POST — create a new resource
PUT — update a specific resource (by id)
DELETE — remove a specific resource by id
Client-Server
Separation of concerns. Client and server are independent from each other.
Goal: Platform independency and to improve scalability.
Stateless
Each request is independent from other requests. No client session data or any
context stored on the server.
Cacheable
HTTP responses must be cacheable by the clients. Important for performance.
If a new request for the resources comes within a while, then the cached
response will be returned.
Uniform Interface
All resources are accessed with a generic interface (HTTP-based). This makes it
easier to manage the communication.
Layered System
There can be many intermediaries between you and the server you are connecting
to. A client does not know if it is connected to the last server or an intermediary server.
Code on Demand
Servers can send some kind of executable scripts to the client-side in order to
increase or change the functionality on the client side. This may cause low visibility, so it
is the only optional.
References:
https://www.techopedia.com/definition/24421/universal-description-discovery-and-
integration-uddi
https://www.studocu.com/in/document/srm-institute-of-science-and-technology/web-
programming/unit-5-lecture-notes-5/5717546
https://www.researchgate.net/figure/Structure-of-WSDL-
Documents_fig11_251423430/amp
https://www.guru99.com/wsdl-web-services-description-language.html#1
https://docs.microfocus.com/SM/9.51/Hybrid/Content/webservicesguide/concepts/wsdl_
document_structure.htm