References:
What is Web service? -Ruan Yifeng's network logs
Http://www.ruanyifeng.com/blog/2009/08/what_is_web_service.html
20140525-What is Web service? (Reprinted)
Author: Ruan Yifeng
Date: January 1, August 26, 2009
I believe that the next generation of Internet software will be built on Web services (that is, the "Cloud.
I put my study notes and my learning experiences on wangzhi. please correct me.
Today, I want to write a basic question: What is Web service?
1. Concepts of Web service
To understand Web services, you must first understand what services are ).
Traditionally, we call the functions provided by the computer background program (Daemon) as "services ). For example, if an anti-virus software runs in the background and it automatically monitors the system, such automatic monitoring is a "service ".In layman's terms,"Service" is a function that computers can provide.
Depending on the source, the "service" can be divided into two types: one is"Local Service"(The service provided by the same machine does not require a network"Network Service"(The service provided by another computer must be completed through the network ).
For example, I have a batch of images that need to be halved. Then, we can regard "Scaling images" as a service. You can use the "local service" to zoom out images with software on your computer, or use the "Network Service" to upload images to a website so that the server can zoom out images for you, and then send it back to you through the network. This is like you can do one thing yourself or another person. If you are hungry, you can cook by yourself or call to order a pizza so that the store can deliver it to you.
The essence of "Web Service" is to call resources of other websites through the network.
For example, I wrote a "Sichuan earthquake photo wall" last year, which dynamically displays the latest pictures about the Sichuan earthquake. However, all the images are not stored on my server, but are from flickr.com. I just sent out a dynamic request and asked flickr.com to provide images to me. In this case, flickr.com provides a Web service. If I store images on a local server and do not call flickr.com, I am using the "local service ".
Therefore, Web service allows your website to use resources of other websites, such as displaying weather, maps, and the latest developments on twitter on the webpage.
Ii. Web Service Architecture and cloud
If the main part of a software uses "network Service", that is, it outsourced the storage or computing link "to other websites, then we say this software belongs to the Web Service architecture.
Web ServiceThe basic idea of the architecture is to give non-core functions to others as much as possible, and develop core functions on your own.For example, if you want to develop an album software, you can use the network service of Flickr to store all the photos on it. You only need to do your best to prepare the album itself. In general, all functions that do not belong to your core competitiveness should be "outsourced.
Recently, the popular "cloud computing" (cloud computing) or "cloud services" (cloud services) are actually synonymous with Web services, but they are more vivid. They don't say you give things to other computers, but you give things to cloud.
Iii. Local Service Defects
"Network Service" is the trend of software development and use in the future. Local services will be used less and less, mainly for the following three reasons:
(1) insufficient local resources. A lot of data and materials are not available locally, and only need to be sent to other websites.
(2) cost factors. Local services are often non-economical, and professional website services are cheaper. This involves hardware and personnel. Even if you can afford hardware, it is very troublesome to find a person to manage the system.
(3) Poor portability. If you want to port the services on the local machine to another machine, it is often very difficult, especially in cross-platform scenarios.
Iv. Advantages of Web Service
In addition to the disadvantages of local services, Web services have the following advantages:
(1) platform independence. No matter what platform you use, you can use Web service.
(2) programming language independence. As long as you comply with the relevant protocols, you can use any programming language to request Web services from other websites. This greatly increases the applicability of web Services and reduces the requirements for programmers.
(3) For Web service providers, the deployment, upgrade, and maintenance of Web services are simple, and client compatibility issues do not need to be considered and can be completed at one time.
(4) Web service users can easily implement the aggregation of multiple types of data and services (mashup), so they can do things that were not previously imagined.
V. Development Trend of Web service
According to my observations, there are several development trends in Web Services.
(1) The use of RPC and soap is decreasing, and the Restful architecture is dominant.
(2) In terms of data format, the use of XML format is decreasing, and the use of lightweight formats such as json is increasing.
(3) In terms of the design architecture, more and more third-party software allows users to directly communicate with the cloud on the client (that is, the browser), instead of using third-party servers for data transfer or processing.
(End)