1.3. WebGIS details
With the development and popularization of Internet technology, GIS and WWW have been combined to form the so-called WebGIS (also known as Web GIS), which has become one of the most important directions in GIS development, it is also the focus and core content of this book.
1.3.1. WebGIS-special web applications Program
"WebGIS refers to information publishing, data sharing, and communication and collaboration based on the Internet platform. The client application software adopts the WWW protocol to implement online query and business processing of GIS information. Is a geographic information system running on the Internet. [1]"
In this definition, we can see two basic features of WebGIS:
It is a network-based geographic information system program, that is, it is a GIS system;
Web applications implemented based on HTTP protocol, that is, they are Web applications;
Therefore, WebGIS = Web + GIS is a GIS system. From the perspective of GIS servers, WebGIS is not isolated from the GIS category, it is still used for publishing and Management of geographic data. To understand that it is a Web application, it is written by programmers from the developer's perspective, it is nothing more than a Web page application. The overall architecture of WebGIS includes GIS managers, GIS servers, and GIS users. However, all these are implemented on the Web, as shown in area 1:
Figure 1 9 WebGIS architecture
WebGIS is a special web application. A Web application is a collection of multiple web pages. These web pages can interact with visitors and interact with each other, it can also interact with a variety of resources (including databases) on the web server. In general, it is a variety of types of files, such as HTML, ASP, JSP, CFM and PHP. When we open a browser and enter a URL and obtain the response content from the server, we are actually using a web application.
Web application technology can be divided into two stages of development, commonly known as web1.0 and Web2.0. Most of the first phase is static applications, such as obtaining HTML pages or performing simple interactions with services, such as user logon and database query, submit data (these applications are also called web1.5). The second stage emphasizes the interaction between users and network servers. In fact, Web2.0 is not a technical standard. It may use mature technologies or the latest technologies, but it must demonstrate the concept of interaction.
In the network environment, the WebGIS function is usually provided in the form of web services, which makes it very convenient for users to create a page program containing the drawing function, such as Google Maps, Yahoo! Maps and other services provide dedicated APIs for developers to embed map content in their business processes. This process is called "mashup ", this is an embodiment of the Idea of "I am for everyone, everyone is for me" in a distributed environment, as shown in article 10:
Figure 1 using GIS and other services to form mashups
Pages of a WebGIS application can be composed of HTML, JSP, ASP, or any web page file. The special feature is that, its request submission method is not in the form of commonly used "HYPERLINK", but with the mouse and map on the web browser. Therefore, the process of developing the WebGIS application is as follows, is to consider how to send map requests or other types of requests to a Web server, and explain the display process of the response [2].
However, the web server can only receive HTTP requests, parse the corresponding scripting language or programming language based on the request information, generate HTML tags, and return it as a response. It does not have any GIS function. In fact, in the interaction architecture of WebGIS, the web server only acts as a "two-pass operator". It receives HTTP requests and submits the information contained in the requests to the GIS application server, the latter processes the submitted information, returns the corresponding results, and transmits the results to the Web server. Then, the web server transmits the results to the client, the Web server does not care whether the GIS application server returns links to a map image or query text data.
The whole WebGIS process 1 was shown in:
Figure 1 A WebGIS session Process
There is usually a data connection channel between the GIS application server and the web server, such as the connector (connector) of ArcIMS. However, this is not a concern of developers. Developers only need to know how to submit requests to the connection channel residing on the Web server and obtain responses from the channel for resolution.
TIPS: Web Servers
The web server has two meanings: one is an application software that can receive HTTP requests and return HTML responses, and the other is a computer system that runs the software.
We usually use the following types of web server software:
L Microsoft IIS
Internet Information Server (IIS) is the most common web server on Windows. Many famous websites are built on the IIS platform. IIS provides a graphical management tool, Internet Service Manager, to monitor, configure, and control Internet services.
IIS is a Web service component that includes web servers, FTP servers, NNTP servers, and SMTP servers for Web browsing, file transmission, news services, and email sending, it makes it easy to publish information on the network. At the same time, it provides ISAPI (intranet Server API) as a programming interface to expand web server functions, which enables IIS to introduce access support for other types of files in the form of plug-ins, such as accessing Python files and JSP files.
By default, IIS supports HTML, htm, and ASP files. by installing the ASP. NET plug-in, IIS also supports accessing and interacting with files of the aspx type.
L Apache
Apache is the most widely used web server in the world. It is an open-source product managed by the Apache Software Foundation [3. Many famous websites in the world are supported by Apache. Its success mainly lies inSource codeIt is open, has an open development team, supports cross-platform applications (can run on almost all UNIX, windows, and Linux systems), and its portability.
L Tomcat
Tomcat is a Java-based Web Application Software container that runs open-source Servlet and JSP web applications. It is executed according to Servlet and JSP specifications. If you need to run Servlet and JSP files, you can consider using tomcat. For example, you can also use Tomcat as its Servlet Engine During ArcIMS installation.
L IBM WebSphere
WebSphere Application Server is a fully functional and open Web application server, which is the core part of IBM e-commerce plan. It is a Java-based application environment used to establish, deploy, and manage Internet and Intranet web applications.
L ServletExec
ServletExec is a fast Servlet and JSP Engine plug-in that can be integrated into most popular Web servers, such as IIS or Apache. It also supports multiple platforms, including windows, Solaris, MacOS, HP-UX and Linux.
ServletExec enables Java applets (servlets) to quickly process requests from Web browsers and dynamically generate custom HTML files, it is also the preferred servlet container for ArcIMS deployment on the Windows platform.
[1] Ma Lin Bing Zhang Xinchang Wu shaokun. tutorial on WebGIS Principles and Methods. Beijing: Science Press 2006.9 p1
[2] in this process, most of the current WebGIS is still in the web1.0 stage
[3] The Apache Software Foundation has a great relationship with mosaic.