III.4 .2 Thiết kế lớp dịchvụ
2.5.2.2. Thực thi dịchvụ WFS
Thực thi WFS (hay các dịch vụ khác của OGC [11]) yêu cầu tạo ra tài liệu XML phù hợp với OGC. Mỗi dịch vụ có một tập lược đồ XML định nghĩa cách diến tả dịch vụ mà nó cung cấp các khả năng của dịch vụ. Chúng ta sử dụng các lược đồ này để ràng buộc dữ liệu, tạo tài liệu XML và đảm bảo các tài liệu này là phù hợp với chuẩn. Sự liên kết giữa các lược đồ của OGC được minh họa trong Hình III.4Hình III.4
Hình III.44. Sự liên kết giữa các lƣợc đồ của OGC
WFS định nghĩa một số các dạng Request như ở bảng sau:
Request Ý nghĩa
GetCapabilities WFS mô tả khả năng của mình bằng một tài liệu XML. Request dạng này sẽ trả về tài liệu này.
DescribeFeatureType WFS có thể tạo ra cơ chế mô tả các loại Feature dịch vụ có
GetFeature Cho phép nhận về các đặc tính theo định dạng XML GetFeatureWithLock Có chức năng tương tự như GetFeature, ngoại trừ request
này chỉ ra rằng WFS phải khóa các Feature được chọn LockFeature Mục đích của Request này là đưa ra cơ chế khóa Feature
để đảm bảo tính nhất quán
Transaction Hoạt động chuyển đổi dữ liệu được sử dụng cho các thể hiện của các Feature truy nhập web.
Bảng III-11 Một số dạng Request trong WFS
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Formatted: Dutch (Netherlands)
Trong hệ thống dịch vụ của chúng ta chỉ thực thi những giao diện cơ bản của WFS (Basic WFS). Những giao diện này bao gồm GetCapabilities, DescribeFeatureType và GetFeature.
Một trong những thách thức trong thực thi WFS của OGC là có thể tạo ra và phân tích tài liệu XML có Filter. Filter được dùng để định nghĩa các ràng buộc trong câu truy vấn. GetFeature (và GetFeatureWithLock) có thành phần <Query> trong đó có thể có thành phần <Filter> để ràng buộc truy vấn. Nếu không có thành phần
<Filter> trong <Query> thì truy vấn không bị ràng buộc và tất cả các thể hiện của Feature nên được trả về. Filter có thể được dùng để đưa ra cả các ràng buộc không gian và ràng buộc phi không gian trong câu lệnh truy vấn.
Filter có thể bao gồm một toán tử thuộc một trong ba loại sau:
Toán tử không gian
Toán tử so sánh
Toán tử logic