Moim zadaniem jest opracowanie aplikacji internetowej, która wizualizuje dane czasowe na mapie i generuje rodzaj przepływu danych (lub animacji) z obrazów / danych otrzymanych z serwera.
W tym celu zamierzam korzystać z OpenLayers API i usług sieciowych OGC WFS lub WMS lub SOS.
Jednym z głównych wymagań jest bezpieczne i szybkie przesyłanie danych o wysokiej wydajności.
Pytanie, które mam, brzmi: z której usługi WFS, WMS i SOS dobrze będzie korzystać w przypadku takiej aplikacji internetowej pod względem wydajności, bezpieczeństwa, niezawodności itp.?
Wiem, że każda usługa internetowa oferuje różne funkcje. Ale jeśli używam WMS dla moich danych czasowych, aby uzyskać obrazy mapy poprzez wykonanie pewnego rodzaju agregacji w bazie danych (ponieważ jest to wizualizacja czasowa), wówczas moja aplikacja zwolni na niektórych urządzeniach, takich jak telefony komórkowe / tablety, ponieważ może to zająć dużo czasu czas na pobranie zdjęć.
Z drugiej strony, jeśli użyję SOS lub WFS, istnieje ryzyko, że nasza aplikacja wyśle surowe dane, co naprawdę nie jest bezpieczne.
Będzie naprawdę wspaniale, jeśli ktoś może dać mi radę lub przemyślenia na ten temat.
Jeśli myślisz, że na to pytanie nie można po prostu odpowiedzieć, to czy ktoś może mi dać pomysł, jak powinienem postępować dalej w przypadku problemu opartego na badaniach?
Odpowiedzi:
Nie zgadzam się z tym stwierdzeniem z trzech powodów.
Czas potrzebny na pobranie danych WFS może być również długi, ponieważ zapytania przestrzenne mogą być również powolne. Mam na myśli, że ilość przesłanych surowych bajtów nie jest jedynym czynnikiem ograniczającym.
Innym powodem jest to, że ponieważ dane wyjściowe WFS są zwykle pełne - ponieważ do transportu danych używa GML , który jest „dialektem” XML, możesz zakończyć wysyłanie większej liczby nieprzetworzonych bajtów niż w przypadku użycia WMS.
Wreszcie dane wektorowe - podobnie jak dane wyjściowe WFS - będą wymagały większej mocy obliczeniowej od urządzeń klienckich, ponieważ będą musiały renderować te funkcje; z drugiej strony odpowiedzi WMS na żądania GetMap są już renderowane, co oznacza mniej pracy po stronie klienta. Dlatego używanie danych wektorowych na klientach o ograniczonej mocy obliczeniowej może stanowić problem.
źródło
Bezpieczne WMS / WFS z HTTPS używają certyfikatów po stronie klienta do uwierzytelniania poszczególnych użytkowników dla każdego żądania do serwera. Ma tę zaletę, że nie trzeba zmieniać implementacji WMS / WFS (z wyjątkiem umieszczenia go na serwerze HTTPS ), ale ma znaczną wadę polegającą na tym, że należy rozpowszechniać certyfikaty wśród użytkowników - zwykle nie do zaakceptowania, z wyjątkiem sytuacji o wysokim poziomie bezpieczeństwa .
WFS umożliwia jednolity bezpośredni dostęp do funkcji przechowywanych na serwerze. Użyj WFS, gdy chcą wykonywać takie czynności, jak:
WMS pozwala na jednolity dostęp do funkcji przechowywanych na serwerze. Użyj WMS, jeśli chcesz wykonywać takie czynności, jak:
Trochę bardziej się komplikuje, gdy mamy do czynienia z WMS i HTTPS
http://idlastro.gsfc.nasa.gov/idl_html_help/HTTP_Authentication_Security_and_Encodinga.html
i http://www.w3.org/Protocols/HTTP/1.0/draft-ietf-http-spec.html#AA
Użyłem WMS z FME Server i Geosever z HTTPS i oba działają dobrze.
źródło