2.2 Thiết kế hệ thống
2.2.7 Lựa chọn công nghệ
Để phát triển “Hệ thống WebGIS hỗ trợ tương tác về quy hoạch sử dụng đất”, tác giả đã nghiên cứu và lựa chọn sử dụng kết hợp nhiều nền tảng công nghệ mã nguồn mở, bao gồm:
- Hệ quản trị cơ sở dữ liệu: Hiện nay có nhiều hệ quản trị CSDL (Oracle, MS SQLServer, PostgreSQL, MySQL,…) trong đó Oracle, MS SQLServer, MySQL và PostgreSQL đều có tính năng quản lý dữ liệu không gian. Tuy nhiên, MS SQLServer và MySQL chỉ đáp ứng khả năng lƣu trữ và xử lý ở mức cơ bản, không phù hợp để xây dựng các ứng dụng chuyên sâu về GIS. Ngƣợc lại, Oracle và PostgreSQL thuộc nhóm CSDL rất mạnh về quản lý dữ liệu không gian, đƣợc coi là những nền tảng mạnh nhất hiện nay về lĩnh vực quản lý dữ liệu bản đồ. Oracle rất mạnh về tính năng xử lý nhƣng thuộc nhóm phần mềm thƣơng mại, có chi phí bản quyền rất lớn. Do vậy, PostgreSQL sẽ là hệ quản trị cơ sở dữ liệu tối ƣu nhất cho đề tài vì đây là một nền tảng hồn tồn miễn phí mà tốc độ xử lý tƣơng đƣơng với Oracle. Với sự bổ sung của phần mở rộng PostGIS, PostgreSQL đã trở thành công cụ rất hữu hiệu trong xử lý kỹ thuật về GIS.
- GeoServer: là một phần mềm mã nguồn mở chạy trên máy chủ server để quản lý dữ liệu và kết nối những thơng tin địa lý có sẵn tới các GeoWeb (trang web địa lý) sử dụng chuẩn mở. So với một công nghệ mã nguồn mở tƣơng đƣơng là MapServer, GeoServer có nhiều ƣu thế vƣợt trội về hiệu năng, quản lý dữ liệu đa dạng và tính triển khai dễ dàng. GeoServer giúp việc tạo bản đồ trở nên đơn giản hơn rất nhiều nhờ việc tích hợp thƣ viện bản đồ Openlayers; cung cấp chuẩn dịch vụ bản đồ (WMS), dịch vụ thông tin đối tƣợng (WFS); hỗ trợ rất nhiều kiểu hiển thị bản đồ; cho phép xuất dữ liệu linh hoạt dựa vào việc hỗ trợ nhiều định dạng dữ liệu không gian nhƣ KML, GML, Shapefile, GeoTiff,….
- Openlayers: là một thƣ viện mã nguồn mở cung cấp mọi thứ cần thiết để xây dựng ứng dụng WebGIS dựa trên việc hỗ trợ các chuẩn định dạng về không gian. OpenLayers phát triển dựa trên mã JS - ngôn ngữ quan trọng bậc nhất của công nghệ web; mã nguồn mở rõ ràng, dễ hiểu; tƣơng thích với mọi thiết bị; có cộng đồng phát triển mạnh mẽ nên thƣờng xuyên đƣợc nâng cấp và đặc biệt là có sự tiếp sức từ các “ơng lớn” về cơng nghệ nhƣ Google Maps.
Hình 2.12: Mơ hình kết hợp PostgreSQL/PostGIS, Geoserver và Openlayers
Trong mơ hình kết hợp, PostgreSQL/PostGIS đóng vai trị lƣu trữ và xử lý dữ liệu khơng gian, GeoServer đóng vai trị xử lý (Back End) chuẩn bị mội dung thơng tin và cách thức trình bày dữ liệu (tạo các services bản đồ), cịn OpenLayers đóng
vai trị tƣơng tác (Front End - thực hiện hiển thị, nhận tƣơng tác và xử lý các thơng tin từ phía ngƣời dùng).