Kiến trúc một WebGIS

Một phần của tài liệu Luận văn thạc sĩ Bản đổ, viễn thám và hệ thống thông tin địa lý: Ứng dụng webgis tính toán áp giá thửa đất (Trang 29 - 33)

CHƯƠNG 2. TỔNG QUAN TÌNH HÌNH NGHIÊN CỨU

2.3 Tổng quan về WebGIS

2.3.1 Kiến trúc một WebGIS

WebGIS có kiến trúc tương tự như kiến trúc client/server 3 tầng điển hình.

Các nhiệm vụ địa xử lý được phân về phía server (máy chủ) và phía client (máy khách). Client thường là một trình duyệt web, còn server thường bao gồm một web server, phần mềm WebGIS và cơ sở dữ liệu (hình 2.3).

Kiến trúc 3 tầng được mô tả như sau:

Client

Hình 2.3 Sơ đồ kiến trúc một webGIS Database

GIS software

Webserver

Mapserver Web

browser

Server Middle ware

Truy vấn không gian

www Html, image, map…

Database

- Client (Presentation Tier): thường là một trình duyệt web như Internet

Explorer, Mozilla FireFox, … để mở các trang web theo một URL(1) định sẵn. Các ứng dụng ở phía client có thể là một website, Applet, Flash…được viết bằng công nghệ chuẩn mà W3C(2) đã chứng thực. Phía client cũng có thể là một phần mềm ứng dụng trên desktop như uDig, QuantumGIS, GrassGIS, ArcGIS…

- Server (Bussiness Tier): thường được tích hợp trong một webserver nào

đó, ví dụ như Apache, Tomcat, Internet Information Server…Web server tích hợp với một ứng dụng bản đồ gọi là mapserver, như Geoserver, Mapserver, …Một webserver chủ yếu giữ chức năng tiếp nhận và phản hồi các yêu cầu (request) từ web browser theo phương thức truyền dữ liệu trên mạng HTTP. Khi webserver nhận được yêu cầu từ phía Client, tiến hành lấy dữ liệu từ cơ sở dữ liệu phía Database (nếu có yêu cầu), trình bày dữ liệu theo yêu cầu đã được định nghĩa trước của phía Client và trả kết quả về Client. Webserver trả kết quả về cho phía Client theo một giao diện web được cài đặt sẵn. Tùy theo dạng client mà kết quả trả về khác nhau: có thể là một hình ảnh dạng bitmap (hay jpeg, gif, png…) hay dạng vector được mã hóa như SVG, KML, GML…Một khi dạng vector được trả về thì việc trình bày hình ảnh bản đồ được đảm nhiệm bởi Client (thường gọi là thick client), thậm chí Client có thể xử lý một số bài toán không gian. Thông thường các yêu cầu và kết quả trả về đều theo chuẩn HTTP POST hoặc GET. Nếu theo công nghệ Web Service thì chúng có thể được mã hóa bằng các định dạng XML(3). Mapserver là nơi thực hiện

các truy vấn không gian, các bài toán phân tích không gian, tạo và trả bản đồ theo yêu cầu của phía Client.

- Database (Data Tier): là nơi lưu trữ các cơ sở dữ liệu địa lý bao gồm các dữ liệu không gian và phi không gian. Các dữ liệu này được quản trị

bởi các hệ sơ sở dữ liệu như MS SQL Server, ESRI SDE,

(1)Uniform Resource Location: được dùng để tham chiếu đến tài nguyên trên internet

(2) World Wide Web Consutirum: chuẩn thiết kế web

(3) Extension Markup Language: Ngôn ngữ tổng quát dùng để lưu trữ dữ liệu thông qua các thẻ có nghĩa

POSTGRESQL, ORACLE…hoặc là các file dữ liệu dạng các tập tin chứa dữ liệu như shapefile, tab, XML… Các dữ liệu này được thiết kế, cài đặt và xây dựng tùy theo quy trình riêng của từng cá nhân hay tổ chức. Tùy

theo quy mô và yêu cầu của hệ thống mà công nghệ quản trị cơ sở dữ liệu được lựa chọn cho phù hợp. Cơ sở dữ liệu không gian sẽ được dùng để quản lý và truy xuất dữ liệu không gian, được đặt trên data server. Dữ liệu không gian được lưu trữ và duy trì tại những data server khác nhau.

Dựa trên những thành phần quản lý dữ liệu, ứng dụng server và mô hình server dùng cho ứng dụng hệ thống để tính toán thông tin không gian

thông qua các hàm cụ thể. Tất cả kết quả tính toán của ứng dụng server sẽ được gửi đến web server để thêm vào các gói HTML, gửi cho phía client và hiển thị nơi trình duyệt web.

Kiến trúc 3-tier là kiến trúc phổ biến được sử dụng cho các ứng dụng web, tuy nhiên để giải quyết các vấn đề trong ứng dụng thực tế đòi hỏi phải kết nối, trao đổi giữa các thành phần trong cùng một hệ thống hoặc giữa các hệ thống với nhau, từ đó mang lại cho người dùng những thông tin hữu ích nhất. Với nhu cầu đó, kiến trúc 3-tier sẽ trở nên không linh hoạt và nặng nề trong quá trình vận hành, thay vào đó, kiến trúc n-tier được phát triển và mở rộng cho các hệ thống thông tin. Kiến trúc n-tier thường được áp dụng cho các hệ thống phân tán, tức là các hệ thống độc lập nhưng có khả năng liên kết với nhau thành một hệ thống lớn hơn (hình 2.4). Khả năng phân tán này chỉ có thể là phân tán các ứng dụng hoặc phân tán cơ sở dữ liệu.

Để xử lý yêu cầu của người sử dụng, hệ thống theo kiến trúc n-tier cần phải truy cập, trao đổi thông điệp (message) và xử lý qua nhiều tầng Application của nhiều hệ thống hay thành phần khác nhau. Trong nhiều mô hình khác, kiến trúc n- tier còn được thể hiện thông qua sự tương tác trực tiếp của client với nhiều hệ thống. Kiến trúc n-tier này hiện đang phát triển rất mạnh song song với sự phát triển của các công nghệ khác, đặc biệt là công nghệ Webservice theo SOA (Serviced-Oriented Architecture), có thể kể đến như các website dựa trên các dịch

vụ của Google hoặc các WebGIS theo chuẩn mở OGC (Open Geospatial Consortium).

Các bước xử lý của hệ thống (Nguồn: climatechangegis.blogspot.com):

1) Client gửi yêu cầu của người sử dụng thông qua giao thức HTTP đến webserver bằng cách gõ địa chỉ vào trình duyệt web.

2) Webserver nhận yêu cầu của người dùng được gửi đến từ phía client, xử lý yêu cầu, gửi yêu cầu đến các ứng dụng trên server liên quan.

3) Application server (chính là các ứng dụng GIS) nhận các yêu cầu cụ thể đối với ứng dụng và gọi các hàm có liên quan để tính toán xử lý. Nếu có yêu cầu dữ liệu nó sẽ gửi yêu cầu dữ liệu đến data exchange server (server trao đổi dữ liệu).

4) Data exchange server nhận yêu cầu dữ liệu và tìm kiếm vị trí của những dữ liệu này sau đó gửi yêu cầu dữ liệu đến server chứa dữ liệu (data server) tương ứng cần tìm.

5) Data server tiến hành truy vấn lấy ra dữ liệu cần thiết và trả dữ liệu này về cho data exchange server.

6) Data exchange server nhận dữ liệu từ nhiều nguồn data server khác nhau nằm rải rác trên mạng. Sắp xếp dữ liệu lại theo yêu cầu dữ liệu, sau đó gửi trả dữ liệu về cho application server.

Client Server

Database

Hình 2.4 Mô hình kiến trúc n-tier giữa các hệ thống

Client Server

Database

Client Server

Database

7) Application server nhận dữ liệu trả về từ các data exchange server và đưa chúng đến các hàm cần sử dụng, xử lý chúng tại đây và kết quả được trả về cho web server.

8) Web server nhận về kết quả xử lý, thêm vào các ngữ cảnh web (HTML, PHP..) để có thể hiển thị được trên trình duyệt và cuối cùng gửi trả kết quả về cho trình duyệt dưới dạng các trang web.

Sơ đồ minh họa các bước xử lý trong hệ thống được mô tả qua hình 2.5

Một phần của tài liệu Luận văn thạc sĩ Bản đổ, viễn thám và hệ thống thông tin địa lý: Ứng dụng webgis tính toán áp giá thửa đất (Trang 29 - 33)

Tải bản đầy đủ (PDF)

(133 trang)