Common definitions
Hypermedia systems are systems where text, pictures, audio, video and other media are stored in network hosts and connected
through hyperlinks. The web is the example of hypermedia system.
The TCP-IP protocol stack makes it possible the data communication within a network of computer. The protocol stack is arranged in abstraction layers.
From lowest to highest, the layers are: the link layer (for communication within a single network segment or link)
the internet layer (for communication between independent networks) the transport layer (for communication host-to-host)
and the application layer (for communication between two running application programs or processes: for example a client and a server).
- (Internet_protocol_suite on wikipedia)
The HyperText Transfer Protocol or HTTP is an application-level protocol for hypermedia information systems.
HTTP is used by the World Wide Web with Hypertext to transfer data from servers to clients. HTTP is a generic protocol
which can be used for many tasks beyond hypertext (such as Domain Name System and distributed object systems, like CORBA)
through extension of its request methods, error codes and headers. (HTTP on wikipedia,
HTTP on mozilla ,
rfc2616)
In computer networking, a communication channel is a logical connection that allows to transport information,
from transmitters to receivers. A communication endpoint is an abstract object or interface that is the final point of a communication path;
the transmitter writes to the endpoint and the receiver reads from the endpoint. For example, in operating systems, a software port is a communication
endpoint managed by a computer's operating system, which identifies a specific process or a type of network service.
Web Service definitions
- A web service is a distributed software whose components can be deployed and executed on distinct devices.
- A web service consists of a service (a.k.a. producer) and a client (a.k.a. consumer or requester).
Web Service compared to Website
- both web services and websites are examples of distributed systems.
- websites deliver HMTL payloads whereas web services deliver XML or JSON payloads
Web service terminology
- endpoint: a web service endpoint is an association between a binding and a network address, specified by a URI, that may be used
to communicate with an instance of a service.
- message: the basic unit of communication between a web service and a requester; data to be communicated to or from a web service as a
single logical transmission.
- operation: a description of an action supported by the service; a set of messages related to a single web service action.
- synchronous: an interaction is said to be synchronous when the participating agents must be available to receive and process the associated messages
from the time the interaction is initiated until all messages are actually received or some failure condition is determined.
- asynchronous: an interaction is said to be asynchronous when the associated messages are chronologically and procedurally decoupled.
Web Service communication layer
- A web service typically communicates over HTTP. A web service over HTTP is a web service that uses HTTP to transport web service messages
(we say that HTTP protocol and HTTP messages are infrastructure). HTTP messages follow four kinds of conversational pattern: request/response,
solicit/response, one-way and subscribe/notify
- the communication payloads are structured text, usually XML or JSON documents.
XML and JSON are web service data interchange formats that provide an intermediary level and handle the differences in data types
between different programming languages.
Web Service architecture
- The architecture of a simple web service is a client and a server.
- The architecture of a complicated web service have many clients and a service composed of other services.
- Example: an e-commerce service can be composed of multiple software components (each hosted on a separate web server)
and any combination of PCs, tablets, mobile phones and other networked devices may host programs that make requests to the service.
Web services come in two flavors: SAOP-based and REST-style.
- SOAP is an XML dialect with a grammar that specifies the structure that documents must follow in order to be accepted as SOAP messages.
SOAP-based services are transport neutral, but HTTP is the most common trasport for SOAP-based services
- REST-style services use HTTP not only as service transport protocol but also as service messaging system.
Why using web services?
- interoperability: clients and services can interact despite differences in programming languages,
operating systems and hardware platforms.
- system integration: web services offers software integration for legacy system or databases.
For example, you can write a web service that integrates with a legacy system written in COBOL or a web service that integrates with a RDBMS.