Haruskah saya menggunakan WFS, WMS atau SOS yang mempertimbangkan kinerja dan keamanan?

10

Tugas saya adalah mengembangkan aplikasi web yang akan memvisualisasikan data temporal pada peta dan menghasilkan semacam aliran data (atau animasi) dari gambar / data yang telah diterima dari server.

Untuk tujuan ini, saya berpikir untuk menggunakan OpenLayers API dan layanan web OGC, WFS atau WMS atau SOS.

Salah satu syarat utama adalah mengirim data dengan aman dan cepat dengan kinerja tinggi.

Pertanyaan saya adalah: Layanan mana dari WFS, WMS dan SOS yang baik untuk digunakan untuk aplikasi web seperti itu dalam hal kinerja, keamanan, keandalan dll?

Saya tahu setiap layanan web menyediakan fitur yang berbeda. Tetapi, jika saya menggunakan WMS untuk data temporal saya untuk mendapatkan gambar peta dengan melakukan semacam agregasi dalam basis data (seperti visualisasi temporal), maka aplikasi saya akan lambat pada beberapa perangkat seperti ponsel / tablet karena mungkin membutuhkan banyak waktu untuk mengambil gambar.

Di sisi lain, Jika saya menggunakan SOS atau WFS, akan ada risiko bagi aplikasi kami untuk mengirim data mentah, yang benar-benar tidak aman.

Akan sangat bagus jika ada yang bisa memberi saya saran atau pemikiran tentang itu.

Jika Anda berpikir, pertanyaan ini tidak bisa dijawab begitu saja, maka adakah yang bisa memberi saya ide bagaimana saya harus melangkah lebih jauh untuk masalah berbasis penelitian?

Rajat Arora
sumber
mendefinisikan "kinerja tinggi" dan berapa banyak data yang kita bicarakan / berbeda per bingkai kunci animasi?
Ragi Yaser Burhum

Jawaban:

7

Saya tahu setiap layanan web menyediakan fitur yang berbeda. Tetapi, jika saya menggunakan layanan WMS untuk data temporal saya untuk mendapatkan gambar peta dengan melakukan semacam agregasi dalam basis data (karena ini adalah visualisasi temporal), maka aplikasi saya akan lambat pada beberapa perangkat seperti ponsel / tablet karena mungkin diperlukan banyak waktu untuk mengambil gambar. "

Saya tidak setuju dengan pernyataan ini karena tiga alasan.

Waktu yang dibutuhkan untuk mengambil data WFS juga bisa tinggi, karena permintaan spasial juga bisa lambat. Maksud saya, jumlah byte mentah yang dikirim bukan satu-satunya faktor pembatas.

Alasan lain adalah bahwa karena output WFS cenderung bertele-tele - karena menggunakan GML , yang merupakan 'dialek' XML, untuk mentransport data -, Anda mungkin akhirnya mengirim lebih banyak byte mentah daripada jika WMS digunakan.

Terakhir, data vektor - seperti keluaran WFS - akan menuntut lebih banyak daya komputasi dari perangkat klien, karena mereka harus membuat fitur; di sisi lain, respons WMS untuk permintaan GetMap datang sudah diberikan, yang menyiratkan kurang bekerja di sisi klien. Dengan demikian, menggunakan data vektor pada klien dengan daya komputasi terbatas dapat menjadi masalah.

dariapra
sumber
1
sampai saya melihat jawaban ini saya akan menambahkan sesuatu yang serupa. Fitur vektor bisa sangat kompleks dan mentransfer data ini melalui WFS dapat menghasilkan muatan XML yang sangat besar. Dengan WMS, perhatian utama Anda adalah waktu pemrosesan yang diperlukan untuk menghasilkan gambar pada server Anda (thin-client), tetapi setidaknya gambar bisa di-cache untuk keuntungan kinerja. Dengan WFS Anda harus mengunggah XML yang sama setiap waktu, dan lalu lintas jaringan ini berpotensi memengaruhi kinerja yang dirasakan sebanyak atau lebih dari generasi gambar (jadi thin-server / thick-client mungkin tidak selalu membuat Anda lebih skalabel).
tomfumb
4
Anda tidak harus menggunakan GML dengan WFS, GeoJOSN, dan shapefile dapat dikirim misalnya. Server yang baik juga akan memampatkan data. Tetapi WMS akan tetap lebih cepat untuk dataset realistis apa pun.
Ian Turton
Terima kasih banyak atas jawaban Anda. Setelah melakukan sedikit riset lebih lanjut, saya menemukan bahwa menggunakan WMS dalam aplikasi web semacam itu akan menjadi pilihan yang baik. Akan lebih efisien untuk mengirimkan gambar render ke klien. Khusus untuk set data besar, transmisi gambar yang diberikan mungkin lebih cepat daripada meng-encode, mengirim dan mendekode file XML besar.
Rajat Arora
6

Mengamankan WMS / WFS dengan HTTPS menggunakan sertifikat sisi klien untuk mengotentikasi pengguna individu untuk setiap permintaan ke server. Memiliki keuntungan bahwa Anda tidak harus mengubah implementasi WMS / WFS Anda (kecuali dengan meletakkannya di server HTTPS ) tetapi memiliki kelemahan besar yang Anda perlukan untuk mendistribusikan sertifikat kepada pengguna Anda - biasanya tidak dapat diterima kecuali dalam situasi keamanan tinggi .

WFS memungkinkan akses langsung yang seragam ke fitur yang disimpan di server. Gunakan WFS ketika mereka ingin melakukan tindakan seperti:

query a dataset and retrieve the features
find the feature definition (feature’s property names and types)
add features to dataset
delete feature from a dataset
update feature in a dataset
lock features to prevent modification

WMS memungkinkan akses rendering yang seragam ke fitur yang disimpan di server. Gunakan WMS ketika Anda ingin melakukan tindakan seperti:

Producing Maps
Very simple Querying of data

Menjadi sedikit lebih kompleks ketika berhadapan dengan WMS dan HTTPS

http://idlastro.gsfc.nasa.gov/idl_html_help/HTTP_Authentication_Security_and_Encodinga.html

dan http://www.w3.org/Protocols/HTTP/1.0/draft-ietf-http-spec.html#AA

Telah menggunakan WMS dengan Server FME dan Geosever dengan HTTPS dan keduanya berfungsi dengan baik.

Mapperz
sumber