OPeNDAP

OPeNDAP to akronim od „ Projekt open source dla protokołu dostępu do danych sieciowych ”, przedsięwzięcie skupiające się na ulepszeniu zdalnego odzyskiwania ustrukturyzowanych danych poprzez architekturę opartą na sieci i niezależny od dyscypliny protokół dostępu do danych (DAP). Szeroko stosowany, zwłaszcza w naukach o Ziemi , protokół jest warstwowy w protokole HTTP , a jego obecna specyfikacja to DAP4, chociaż poprzednia wersja DAP2 jest nadal szeroko stosowana. Opracowany i udoskonalony (otwarty i wspólnie) przez organizację non-profit OPeNDAP, Inc., DAP ma umożliwić zdalne, selektywne pobieranie danych jako łatwą do wywołania usługę internetową. OPeNDAP, Inc. opracowuje również i utrzymuje bezkosztowe (referencyjne) implementacje protokołu DAP zarówno w oprogramowaniu po stronie serwera, jak i po stronie klienta.

„OPeNDAP” jest często używany zamiast „DAP” do oznaczenia protokołu, ale może również odnosić się do całej architektury pobierania danych opartej na DAP. Inne architektury skoncentrowane na DAP, takie jak THREDDS i ERDDAP, NOAA GEO-IDE UAF ERDDAP wykazują znaczną interoperacyjność między sobą, a także z systemami wykorzystującymi własne (open source) serwery i oprogramowanie OPeNDAP.

Klientem DAP może być zwykła przeglądarka lub nawet arkusz kalkulacyjny, choć z ograniczoną funkcjonalnością (zobacz stronę internetową OPeNDAP na temat Dostępnego oprogramowania klienckiego ). Bardziej typowo, klientami DAP są:

  • narzędzia do analizy danych lub wizualizacji danych (takie jak MATLAB , IDL , Panoply , GrADS , Integrated Data Viewer , Ferret i ncBrowse), które ich autorzy zaadaptowali, aby umożliwić wprowadzanie danych w oparciu o DAP;
  • Podobnie dostosowane aplikacje internetowe (takie jak Dapper Data Viewer, znany również jako DChart)
  • Podobnie dostosowane programy dla użytkowników końcowych (w popularnych językach)

Niezależnie od ich typu i tego, czy są one opracowane komercyjnie, czy przez użytkownika końcowego, klienci niemal powszechnie łączą się z serwerami DAP za pośrednictwem bibliotek , które implementują protokół DAP2 lub DAP4 w jednym lub innym języku. OPeNDAP oferuje biblioteki open-source w C++ i Javie , ale wielu klientów polega na bibliotekach opracowanych przez społeczność, takich jak PyDAP lub, w szczególności, pakiet NetCDF . Opracowany i utrzymywany przez program Unidata w UCAR w wielu językach programowania, wszystkie NetCDF biblioteki obejmują wbudowane funkcje pobierania danych (w stylu tablicy) z serwerów DAP.

Klient korzystający z danych odwołuje się do zestawu danych za pomocą swojego adresu URL i żąda metadanych lub treści, wysyłając (zwykle za pośrednictwem wbudowanej biblioteki DAP) żądanie HTTP do serwera DAP. Żądania treści są zwykle poprzedzone żądaniami metadanych opisujących strukturę i inne szczegóły dotyczące zestawu danych, do którego się odwołuje. Dzięki tym informacjom klient może konstruować wyrażenia ograniczające DAP w celu pobrania określonej zawartości (tj. podzbiorów) ze źródła. Serwery OPeNDAP oferują różne typy odpowiedzi, w zależności od konkretnej formy żądania klienta, w tym XML, JSON, HTML i ASCII. W odpowiedzi na prośby o content , serwery OPeNDAP mogą odpowiadać wieloczęściowymi dokumentami MIME, które zawierają część binarną z kodowaniem NetCDF lub DAP. (Te formy binarne oferują kompaktowe sposoby dostarczania dużych ilości treści, a natywna forma DAP może być nawet przesyłana strumieniowo, jeśli jest taka potrzeba).

Oprogramowanie OPeNDAP do budowy serwerów DAP (na szczycie Apache ) nosi nazwę Hyrax i zawiera adaptery ułatwiające obsługę szerokiej gamy danych źródłowych. Serwery DAP najczęściej umożliwiają (zdalny) dostęp do (dużych) HDF lub NetCDF, ale dane źródłowe mogą istnieć w bazach danych lub innych formatach, w tym zdefiniowanych przez użytkownika. Gdy dane źródłowe są zorganizowane w postaci plików, pobieranie DAP umożliwia, poprzez podzbiór , bardziej szczegółowy dostęp niż FTP . Ponadto serwery OPeNDAP mogą agregować podzbiory z wielu plików w celu dostarczenia w ramach jednego pobierania. Podsumowując, podział na podzbiory, agregacja i przesyłanie strumieniowe mogą zapewnić znaczną wydajność dostępu do danych, nawet w obecności wolnych sieci.

Serwery OPeNDAP i inne serwery DAP są wykorzystywane operacyjnie przez agencje rządowe, w tym NASA i NOAA , do zapewniania dostępu do danych naukowych o Ziemi , w tym zdjęć satelitarnych i innych źródeł informacji o dużej objętości. Model danych DAP obejmuje kompleksowy zestaw struktur danych, w tym wielowymiarowe tablice i zagnieżdżone sekwencje (tj. rekordy), uzupełnione odpowiednio bogatym zestawem wyrażeń ograniczających. W związku z tym architektura pobierania danych OPeNDAP okazała się użyteczna w szerokim zakresie typów danych naukowych, w tym danych generowanych za pomocą symulacji i danych generowanych za pomocą obserwacji (zdalnie wykrywanych lub mierzonych na miejscu).

Linki zewnętrzne