A Web Service is any “service” that is available over the Internet, using a standardized XML messaging system, and is not tied to any one operating system or programming language.
Example Web Service Implementation:
MyCompany receives purchase orders from UPS and during the translation process uses an HTTP connection to interface with an existing UPS Web Service. Through this Web Service MyCompany verifies addresses, retrieves tracking information, sends (SMS) text messages, and performs currency conversions (among other functions). This Web Service provides MyCompany access to information from the UPS tracking database needed inside MyCompany application and is achieved without complex programming.
There are two types of Web Services:
SOAP – Simple Object Access Protocol
SOAP relies on XML as its message format and uses RPC (Remote Procedure Call) and HTTP for message negotiating and transmissions. SOAP uses a WSDL (Web Services Description Language) to describe the communications and processing rules. The WSDL identifies the IP address and Port used for the Web Service, lists the operations that can be executed when using the Web Service, and identifies the XML schema (metadata) describing the incoming and outgoing message formats.
REST – Representational State Transfer
REST is a simple way of transferring payloads using HTTP. It consists of clients and servers. A client initiates requests and a server processes the requests and delivers the information back to the client. REST uses HTTP Verbs to determine the type of operation to perform when accessing a server. For example:
GET – Retrieve a resource
POST – Create a resource
PUT – Update a resource
DELETE – Delete a resource
HTTP Headers contain additional information about the request-to and response-from the Web Service provider. When a request is sent, HTTP status codes are returned from the web server showing whether the request was received and is “Processing” (1xx), “Successful” (2xx), “Redirection” (3xx), or has “Client” (4xx) or “Server” errors (5xx).
REST is easier to setup and implement than SOAP, but SOAP is more useful and can be used between multiple products.
Web Services will lift Web applications to a higher level, enabling applications to publish their functions and messages to all who wish to share this information. Web Services can also solve the interoperability problem by providing disparate applications the ability to link data – exchanging data between different applications across different platforms.
A Web Service can be viewed as units of work, each unit handling a specific functional task. These tasks can be combined into business oriented tasks to handle particular business operational tasks, thus enabling non-technical users to recommend solutions for handling business issues in a workflow of Web Service applications.
Once the Web Services are configured, business organizations can implement them to solve business-level problems.