SoDA

Jak Zonifero wykorzystuje usługi Microsoft Azure do rozwoju systemu proptech?

Usprawnianie codziennych procesów w biurach i dostarczanie klientom nowoczesnych narzędzi to podstawa funkcjonowania Zonifero. Niezależnie od tego, czy potrzebujesz znaleźć współpracowników, zarezerwować pokój konferencyjny, biurko w systemie hot-desk lub niezbędny sprzęt — nasze rozwiązanie wspiera pracowników biurowych w każdym z tych zadań.

Z Zonifero możesz lepiej zarządzać swoimi pracownikami, biurem, jak też całym budynkiem. Rodzina produktów Zonifero znacząco usprawnia te obszary, wspierając komunikację między pracownikami i usprawniając pracę biura.

Rozwój tego typu systemów wiąże się jednak z określonymi wyzwaniami. Jednym z nich jest możliwość połączenia systemu Zonifero z rozwiązaniami już zainstalowanymi w budynkach i biurach naszych klientów.

Jak sobie z tym poradziliśmy? Jednym z narzędzi, które pomogło nam zrealizować nasze założenia, jest Microsoft Azure.

Problem: połączenie Zonifero z systemami klientów

Żeby dalej rozwijać Zonifero, nasz system musi być w stanie łączyć się z rozwiązaniami, które wdrażane są w biurach na całym świecie. Sama infrastruktura Zonifero znajduje się na publicznej chmurze Azure, działając w modelu SaaS — dzięki temu możemy zainstalować nasze rozwiązanie praktycznie w każdej lokalizacji.

Wyzwaniem jest jednak połączenie naszego systemu do infrastruktury klientów i umożliwienie wymiany danych między nimi w obrębie jednego interfejsu. Niektóre z integracji korzystają dodatkowo z dedykowanych narzędzi (API), wymagających specyficznych środowisk funkcjonowania. Taki system musi spełniać również bardzo wysokie standardy bezpieczeństwa.

Usługi Microsoft Azure, które pomogły nam sprostać tym wyzwaniom

Jak wspomniałem we wstępie, w zaadresowaniu wyzwań, z którymi mierzyliśmy się w Zonifero, pomogło nam wykorzystanie następujących usług Microsoft Azure:

  • Virtual Network Gateway
  • Local Network Gateway
  • Function App
  • App Service
  • Virtual Machine

Elastyczność integracji z systemami zewnętrznymi zapewniliśmy poprzez zaprojektowanie nowej warstwy wymiany danych w postaci usług sieciowych. Ze względu na różnorodność interfejsów, mechanizmów i procesów, którymi posługują się te systemy, nasze API zapewnia nam jednolity interfejs w każdym przypadku. Uruchamiamy je jako aplikację w usłudze App Service i to logika w niej zawarta odpowiada za realizację dedykowanej integracji z uwzględnieniem specyficznych cech i właściwości. Z perspektywy aplikacji Zonifero, która wykorzystuje API, nie ma znaczenia, z systemem jakiej firmy się łączy — interfejs jest za każdym razem taki sam, a jedyna różnica polega na implementacji systemu.

Jest to jednak dopiero początek drogi. Nasze API nadal znajduje się w zasobach chmury Microsoft Azure i do systemu zainstalowanego na fizycznej maszynie w budynku wciąż jest kawałek drogi do przebycia. Zdecydowaliśmy się na uruchomienie tunelu VPN typu Site2Site pomiędzy zasobami w chmurze Azure a routerem brzegowym podpiętym do sieci Internet z jednej strony i do sieci lokalnej budynku z drugiej. Dzięki temu możemy bezpiecznie przesyłać dane do i z budynku.

Po ustanowieniu bezpiecznego połączenia między Zonifero w Azure a systemem w budynku (np. System Kontroli Dostępu), możemy przystąpić do nawiązywania połączenia. Najpopularniejszą metodą komunikacji (ale nie jedyną) jest wystawiany przez system budynkowy interfejs sieciowy (SOAP, REST). W takim przypadku nasze API, wykorzystując zestawione połączenie między siecią lokalną w Azure a siecią lokalną w budynku, może bezpośrednio wywoływać polecenia w systemie.

Są jednak także sytuacje, gdy system wymaga innego podejścia. Jest to cecha przede wszystkim starszych systemów, które wykorzystują technologie źle współpracujące z aplikacjami sieciowymi. W takiej sytuacji decydujemy się na uruchomienie dodatkowego elementu pośredniczącego między naszym API a systemem wykorzystanym w budynku.

Wirtualna Recepcja Zonifero

Aplikacja konsolowa (nazywana przez nas konektorem) uruchamiana jest na maszynie wirtualnej z systemem Windows lub Linux, w zależności od wymagań API docelowego. Aplikacja wykorzystuje bibliotekę — dostarczaną przez producenta rozwiązania budynkowego — niezbędną do realizacji komunikacji (SDK) z systemem.

Ostatnim elementem jest wykonywane z określoną wg harmonogramu częstotliwością odczytywanie statusu komponentów systemu budynkowego (np. informacje zbierane przez czytniki kontroli dostępu). W tym celu uruchomiona jest aplikacja (Function App), która wykonuje odpowiednie procesy co zadany interwał czasu, przekazując wynik dalej.

Co daje nam wykorzystanie Microsoft Azure?

Dzięki wprowadzeniu powyższych rozwiązań jesteśmy w stanie implementować kolejne integracje z systemami zewnętrznymi bez potrzeby wprowadzania zmian po stronie głównego systemu.

Umieszczenie wszystkich istotnych komponentów Zonifero w chmurze Azure ułatwia zarządzanie i wspiera kwestie utrzymaniowe narzędzi do integracji. Poza tym, nie występuje konieczność instalacji i ingerencji w systemy uruchomione w budynkach klientów, które stanowią krytyczny element infrastruktury i bezpieczeństwa.

Karol Parafianowicz

Najnowsze artykuły

Najnowsze artykuły

Case study Cańbi: W jakim celu mierzyć produktywność programistów?

Case study BlueRider.Software: Authentic Authism, czyli jak zrozumieć autyzm dzięki technologii

LinkedIn partnerem SoDA. Dołącz do nowego cyklu webinarów