Tajemnica wydajnych aplikacji webowych w ArcGIS Enterprise

Tajemnica wydajnych aplikacji webowych w ArcGIS Enterprise

Każdy z nas na pewno spotkał zarówno aplikacje webowe zbudowane w ArcGIS Enterprise, które działają szybko i wydajnie, jak i te, które reagują wolniej, nie oferując użytkownikowi optymalnych warunków korzystania z jej możliwości. Co jest przyczyną tej różnicy? Jak możemy zadbać o to, aby nasze aplikacje znalazły się w gronie tych wydajnych? Sekret efektywnej pracy w Experience Builderze nie jest skomplikowany – sprowadza się do metodycznego podejścia na każdym etapie budowy aplikacji. Dbałość o wydajność należy rozpocząć już od pierwszego kroku, jakim jest przygotowanie i załadowanie danych.

Optymalizacja danych w ArcGIS

Chcąc zoptymalizować dane w tabelach w ArcGIS oraz pozwolić na ich wydajne wykorzystanie, należy skupić się na kilku zagadnieniach. Przede wszystkim, upewnij się, że pola, najczęściej używane w zapytaniach są indeksowane, ponieważ indeksy mogą znacznie przyspieszyć wyszukiwanie i filtrowanie danych. Uporządkuj dane w taki sposób, aby zminimalizować redundancję (nadmiar), co może pomóc w zmniejszeniu rozmiaru tabel i poprawie wydajności zapytań. Jeśli masz bardzo duże tabele, rozważ podział danych na mniejsze, a przez to łatwiejsze do zarządzania części, na przykład według lat lub regionów. Upewnij się też, że pola w tabelach mają odpowiednie typy danych, na przykład liczbowe zamiast tekstowych. W niektórych przypadkach w zmniejszeniu rozmiaru tabel i poprawie wydajności może pomóc kompresja danych. Regularnie defragmentuj też bazy danych, aby utrzymać ich wydajność na wysokim poziomie. Upewnij się, że zapytania są dobrze napisane i zoptymalizowane. Należy unikać skomplikowanych zapytań, które mogą znacząco obciążyć system.

Obraz zawierający tekst, tablica suchościeralna biała, w pomieszczeniu, osoba

Zawartość wygenerowana przez sztuczną inteligencję może być niepoprawna.

Optymalizacja konfiguracji projektu mapowego w ArcGIS Pro

Podstawę osiągnięcia maksymalnej wydajności projektu mapowego w ArcGIS Pro stanowią odpowiednie zorganizowanie i optymalizacja danych, w tym indeksowanie kluczowych pól oraz normalizacja baz danych. Warto także ograniczyć liczbę warstw i symboli w projekcie, aby zmniejszyć obciążenie systemu. Używaj odpowiednich typów danych i formatów plików, takich jak geobazy, które są bardziej wydajne niż pliki shapefile. Korzystaj z funkcji ArcGIS Pro, takich jak cache’owanie danych, aby przyspieszyć wyświetlanie map. Upewnij się ponadto, że sprzęt i oprogramowanie są aktualne i spełniają wymagania systemowe ArcGIS Pro.

Optymalizacja ustawień usług mapowych

Dla zwiększenia wydajności aplikacji webowej należy także zoptymalizować ustawienia publikowanego projektu mapowego. Warto zmniejszyć liczbę warstw i skomplikowanych symboli, co ograniczy obciążenie systemu. Do tego, jak wspomniano, korzystanie z geobaz zamiast plików shapefile pozwoli na szybsze przetwarzanie danych. Podobnie konieczne jest unikanie skomplikowanych zapytań, a w przypadku ich stosowania – upewnienie się, że wykorzystywane pola są poindeksowane. Cache’owanie danych i minimalizacja złożoności symbolizacji również poprawią szybkość działania aplikacji.

Warto również zwrócić uwagę na odpowiedni dobór skali widoczności warstw – czy rzeczywiście konieczne jest wyświetlanie wszystkich ulic i budynków przy przeglądaniu mapy na poziomie województwa? Kolejnym istotnym aspektem jest używanie tego samego układu odniesienia dla wszystkich warstw, co pozwoli uniknąć kosztownej reprojekcji w locie. To samo dotyczy basemap – ich układ odniesienia powinien być zgodny z układem danych aplikacji. Domyślny zasięg usługi ustaw więc na odpowiednią skalę i odpowiedni rejon – obszar, w którym najczęściej będą pracować twoi użytkownicy.

Obraz zawierający mapa, woda

Zawartość wygenerowana przez sztuczną inteligencję może być niepoprawna.

W danych unikaj bardzo złożonych wielokątów. Przykładowo: rejestr granic na poziomie województw zawiera bardzo mało obiektów, ale każdy z tych obiektów jest bardzo złożoną linią łamaną posiadającą dziesiątki, setki tysięcy wierzchołków. Może więc warto albo tę geometrię uprościć, albo przygotować cache mapowy?

Konfiguracja instancji usług mapowych

Następnym krokiem jest odpowiednie skonfigurowanie liczby instancji usług mapowych, jakie już są opublikowane. Aby zoptymalizować liczbę instancji usługi mapowej, należy monitorować obciążenie serwera i dostosowywać liczbę instancji w zależności od zapotrzebowania. Można to zrobić poprzez konfigurację minimalnej i maksymalnej ich liczby w ustawieniach usługi mapowej. Upewnij się, że minimalna liczba instancji jest wystarczająca, aby obsłużyć typowe obciążenie, a maksymalna liczba pozwala na elastyczne skalowanie w przypadku wzrostu zapotrzebowania. W tym celu regularnie analizuj statystyki wydajności i dostosowuj ustawienia w miarę potrzeb, aby zapewnić optymalne działanie usługi mapowej. Zalecenia te pozostają aktualne także już po opublikowaniu aplikacji mapowej.

Wybór narzędzia do budowy aplikacji

Gdy jesteśmy gotowi do budowy właściwej aplikacji webowej, musimy zadać sobie pytanie o właściwe narzędzie, które pozwoli osiągnąć cel. Czy potrzebujemy Experience Buildera? Czy może dla naszej aplikacji szybsze i sprawniejsze będzie skorzystanie z któregoś z istniejących szablonów? Jeśli decydujemy się na Experience Builder, warto dokładnie przeanalizować, które widgety będą naprawdę potrzebne.

Aplikacje o wysokiej wydajności skupiają się na jasno określonej funkcjonalności. Można powiedzieć, że są dedykowane konkretnemu celowi. Przykładowo, jeśli celem aplikacji jest wyznaczanie trasy, to zbędne będą w niej widgety tabeli i analizy danych – użytkownik będzie chciał szybko i sprawnie uzyskać trasę dojazdu, a nie wykonywać analizę z filtrowaniem na warstwie ulic lub budynków. Jeśli zaś rzeczywiście potrzebujemy bardziej złożonej aplikacji, bardzo dokładnie przemyślmy konfigurację każdego narzędzia i domyślny zestaw usług włączonych na starcie. Użytkownik może mieć dostęp do kilkunastu usług mapowych, ale czy one wszystkie muszą być domyślnie aktywne?

Obraz zawierający na wolnym powietrzu, drzewo, osoba, niebo

Zawartość wygenerowana przez sztuczną inteligencję może być niepoprawna.

Używanie tabel i selekcji danych

Pamiętajmy również o rozsądnym używaniu wigetów, takich jak tabela: jej przeznaczeniem nie jest zastąpienie aplikacji desktopowych. Przeglądarka www nie będzie nigdy optymalnym miejscem do wykonywania analizy, filtrowania czy selekcji obiektów na warstwach zawierających miliony unikalnych wierszy. Musimy pamiętać, że każda selekcja, której rezultatem będzie duża liczba wybranych wierszy, spowoduje, że serwer karnie zacznie przekazywać do lokalnej przeglądarki to, o co go prosiliśmy. A przeglądarka niekoniecznie poradzi sobie z zadaniem odebrania np. 200 tysięcy punktów i narysowaniem na każdym gwiazdki.

Starajmy się więc budować aplikacje przeznaczone do szybkiego i sprawnego dostarczenia konkretnych rezultatów. Lepszym pomysłem będzie zbudowanie kilku czy kilkunastu lekkich aplikacji służących konkretnym potrzebom, niż jednego rozbudowanego kombajnu, który będzie finalnie przypominał miniaturowe ArcGIS Pro działające w przeglądarce internetowej.

Klucz do sukcesu: metodyczność

Gdy będziemy przestrzegać powyższych zaleceń, metodycznie planując nasze aplikacje i przygotowując wszystko już od najniższej warstwy danych, zapewnimy poprawne i szybkie ich działanie. Stanowi to bowiem sekret wydajności: metodyczna praca, od najniższej do najwyższej warstwy, przemyślane decyzje, weryfikacja ich skutków i ewentualne natychmiastowe wprowadzanie korekt, zanim przejdziemy do następnego etapu.

Życzę powodzenia w budowaniu wydajnych, dobrze zoptymalizowanych aplikacji, które spełnią potrzeby użytkowników!

Czy zainteresował Cię ten materiał?