Kiến trúc của WebGIS

Kiến trúc chung
Dịch vụ web thông tin địa lý hay còn được gọi là WebGIS được xây dựng để cung cấp các dịch vụ về thông tin địa lý theo công nghệ web service. Chính vì thế nên bất cứ WebGIS nào cũng phải thỏa mãn kiến trúc ba  tầng thông dụng của một ứng dụng web. Sau đó tùy thuộc vào từng loại công nghệ và các cách thức phát triển, mở rộng khác nhau mà WebGIS sẽ trở thành n tầng khác nhau. Kiến chung 3 tầng của WebGIS được mô tả hình dưới bao gồm tầng trình bày, tầng giao dịch và tầng dữ liệu được trình bày trong hình  
Tầng trình bày: Thông thường chỉ là các trình duyệt Internet Explorer, Mozilla Firefox ... để mở các trang web theo URL được định sẵn. Các ứng dụng client có thể là một website, Applet, Flash,… được viết bằng các công nghệ theo chuẩn của W3C. Các Client đôi khi cũng là một ứng dụng desktop tương tự như phần mềm MapInfo, ArcMap,…
Tầng giao dịch: thường được tích hợp trong một webserver nào đó, ví dụ như Tomcat, Apache, Internet Information Server. Đó là một ứng dụng phía server nhiệm vụ chính của nó thường là tiếp nhận các yêu cầu từ client , lấy dữ liệu từ cơ sở dữ liệu theo yêu cầu client , trình bày dữ liệu theo cấu hình định sẵn hoặc theo yêu cầu của client và trả kết quả về theo yêu cầu. Tùy theo yêu cầu của client mà kết quả về khác nhau : có thể là một hình ảnh dạng bimap (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ậm trí client có thể xử lý một số bài tóan về không gian. Thông thường các response và request đều theo chuẩn HTTP POST hoặc GET.
Tầng dữ liệu: là nơi lưu trữ các dữ liệu địa lý bao gồm cả 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ệ quản trị cơ sở dữ liệu như ORACLE, MS SQL SERVER, ESRI SDE, POSGRESQL,… hoặc là các file dữ liệu dạng flat như shapefile, tab, XML,… Các dữ liệu này được thiết kế, cài đặt và xây dựng theo từng quy trình, từng quy mô bài toán ... mà lựa chọn hệ quản trị cơ sở dữ liệu 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. Nhà kho hay nơi lưu trữ  được dùng để lưu trữ và duy trì những siêu dữ liệu v dữ liệu không gian 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 được 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.
Xem hình minh họa dưới đây. Lưu ý là tất cả các thành phần đu được kết nối nhau thông qua mạng Internet.
 
Các bước xử lý
1)     Client gửi yêu cầu của người sử dụng thông qua giao thức HTTP đến webserver.
2)     Web server nhận yêu cầu của người dùng gửi đến từ phía client, xử lý và chuyển tiếp yêu cầu đến ứng dụng trên server có 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 dữ liệu 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ừ nhiu 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 logic của yêu cầu dữ liệu,sau đó gửi trả dữ liệu v cho application server.
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.
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

Các hình thức triển khai
Trong mô hình hoạt động của WebGIS được chia ra 2 phần : các hoạt động ở phía máy khách (client side) và các hoạt động xử lý ở phía máy chủ ( server side).
Client side
Client side được dùng để hiển thị kết quả đến cho người dùng, nhận các điu khiển trực tiếp từ người dùng và tương tác với web server thông qua trình duyệt web. Các trình duyệt web sử dụng chủ yếu HTML để định dạng trang web. Thêm vào đó một vài plug-in, ActiveX và các mã Applet được nhúng vào trình duyệt để tăng tính tương tác với người dùng.
Server side
Gồm có: Web server,Application server, Data server và Clearinghouse.. Server side có nhiệm vụ lưu trữ dữ liệu không gian, xử lý tính toán và trả v kết quả (dưới dạng hiển thị được) cho client side.
Share on :