Zakres: MZA potrzebowało dla swojej centrali projektu, dostawy i wdrożenia Systemu Łączności Dyspozytorskiej (SŁD).
Ramy czasowe: Wrzesień 2020 – Kwiecień 2021
Innowacje: Load Balancer wraz z mechanizmem floating IP, klasteryzacja baz danych wraz z wykorzystaniem mechanizmu replikacji i więcej.
Technologie: C#, JavaScript, Python, .NET Core, ASP.NET, ReactJS
Sektor: Transport publiczny
Model współpracy: Po tym jak Klient zdecydował się na naszą ofertę podpisaliśmy umowę zgodnie z zadeklarowanym łącznym wynagrodzeniem i realizacją w określonym terminie. Następnie przystąpiliśmy do prac nad Systemem Łączności Dyspozytorskiej.
Zespół projektowy:
1 x analityk biznesowy
1 x UX designer
1 x UI designer
1 x PM
6 x backend developerów
3 x frontend developerów
1 x tester
Intuicyjny panel dla dyspozytora pozwala w jednym miejscu zarządzać komunikacją z wieloma interesariuszami. Zyskujemy ergonomiczne stanowisko pracy koordynatora, które łączy rozmowy telefoniczne, wiadomości sms, łączność radiową i dziennik zdarzeń.
Etap 1. Wrzesień – Grudzień 2020
Projekt UX/UI konsol dyspozytorskich
Integracja i dwukierunkowa łączność SŁD.
Etap 2. Styczeń – Marzec 2021
Integracja z radiem DMR TIER III.
Etap 3. Kwiecień 2021
Eksploatacja testowa, odbiór całości systemu.
System DESK jest autorskim rozwiązaniem iteo, które zmodyfikowaliśmy według potrzeb klienta. Umożliwiło to stworzenie Systemu Łączności Dyspozytorskiej, czyli kluczowego systemu informatyczno-telekomunikacyjnego wykorzystywanego przez Miejskie Zakłady Autobusowe w Warszawie.
Projekt rozpoczął się przez zwycięstwo w postępowaniu publicznym (73/PN/AB/20) ogłoszonym w sierpniu 2020 przez MZA, podmiot komunalny w grupie ZTM należący do Miasta Stołecznego Warszawa.
Miejskie Zakłady Autobusowe Sp. z o. o. w Warszawie to:
– Największy przewoźnik miejski w Polsce
– Jeden z największych przewoźników w Europie
– Lider nowoczesnego ekologicznego transportu zbiorowego
– Flota licząca 1422 autobusy obsługujące 187 linii zwykłych, przyspieszonych ekspresowych oraz nocnych
– Około pół miliarda pasażerów na terenie Warszawy i innych miejscowości aglomeracji stołecznej rocznie
– Integracja kanałów głosowych, radiowych oraz SMS wykorzystywanych przez służby dyspozytorskie MZA na jednym panelu obsługiwanym przez dyspozytora. Panel ten ma się stać podstawowym narzędziem komunikacyjnym do nawiązywania i odbierania połączeń telefonicznych i radiowych.
– W pełni funkcjonalna integracja SŁD ze wskazanymi kanałami komunikacyjnymi, w tym z systemem łączności radiowej pracującej w standardzie DMR§
– Zapewnienie niskich latencji przy np. przychodzących połączeniach dzięki wykorzystaniu mechanizmów notyfikacji czasu rzeczywistego.
– Integracja z mnogą liczbą systemów zewnętrznych oraz urządzeń (Radio, Słuchawka) dzięki modułowemu rozwojowi produktu.
Języki programowania:
C#
JavaScript/ES6
Python
Technologie serwerowe:
NET Core
ASP.NET Core Razor Pages
ASP.NET Core Web API
Technologie i biblioteki klienckie:
ReactJS
Redux
RxJS
Bootstrap
Broker wiadomości i szyna danych:
RabbitMQ
Bazy danych:
PostgreSQL
MongoDB
Niezawodność
Projekt użyteczności obejmował stworzenie konsoli dla dyspozytora. Interfejs został zaplanowany na ekrany dotykowe o rozdzielczości określonej przez zamawiającego.
Szczególne wymagania uwzględnione w projekcie:
– intuicyjna obsługa paneli połączeń i wiadomości
– zarządzanie kolejką przychodzących i zawieszonych połączeń
– łatwa nawigacja pomiędzy modułami rozwiązania (smsy, połączenia, kontakty)
– przystępność korzystania z bardzo obszernej książki telefonicznej
– sprawna obsługa dotykowa poprzez odpowiednie rozmieszczenie i rozmiar elementów
Skalowalność
Wyekstrahowanie niskopoziomowej logiki związanej z integracją z centralą telefoniczną do odrębnego systemu PBX Proxy pozwoliło nam na zaprojektowanie aplikacji w architekturze bezstanowej, umożliwiając jej skalowalność bez utraty wydajności wraz ze wzrostem ilości instancji aplikacji.
Niezawodność
Projekt użyteczności obejmował stworzenie konsoli dla dyspozytora. Interfejs został zaplanowany na ekrany dotykowe o rozdzielczości określonej przez zamawiającego.
Szczególne wymagania uwzględnione w projekcie:
– intuicyjna obsługa paneli połączeń i wiadomości
– zarządzanie kolejką przychodzących i zawieszonych połączeń
– łatwa nawigacja pomiędzy modułami rozwiązania (smsy, połączenia, kontakty)
– przystępność korzystania z bardzo obszernej książki telefonicznej
– sprawna obsługa dotykowa poprzez odpowiednie rozmieszczenie i rozmiar elementów
Skalowalność
Wyekstrahowanie niskopoziomowej logiki związanej z integracją z centralą telefoniczną do odrębnego systemu PBX Proxy pozwoliło nam na zaprojektowanie aplikacji w architekturze bezstanowej, umożliwiając jej skalowalność bez utraty wydajności wraz ze wzrostem ilości instancji aplikacji.
Wydajność
Dzięki zastosowaniu mechanizmu persystencji w pamięci podręcznej w systemie PBX Proxy współpracującego z centralą telefoniczną, ograniczyliśmy ilość koniecznych do wykonania zapytań do baz danych, tym samym skracając czas krytycznych dla wydajności systemu operacji obsługi połączeń i konferencji.
W ramach głównego systemu aplikacji, najbardziej istotne z punktu widzenia jej wydajności encje biznesowe przechowywane są przy użyciu bazy danych typu InMemory. Dzięki temu zminimalizowaliśmy czas wykonywania najbardziej obciążających operacji związanych z zarządzaniem konferencjami, a ryzyko utraty informacji odnośnie aktualnego stanu tych encji zostało zredukowane poprzez zastosowanie klasteryzacji bazy danych.
Interoperacyjność
Zaprojektowanie aplikacji z myślą o ujednoliceniu wielu typów połączeń pozwoliło nam na integrację z przystawkami radiowymi, dzięki czemu system umożliwia obsługę połączeń zarówno telefonicznych jak i radiowych.
Za pośrednictwem panelu dyspozytora istnieje też możliwość wysyłania wiadomości SMS. Dzięki projektowi systemu otwartemu na nowe integracje w miejscu aktualnej bramki GSM można zastosować inną bramkę umożliwiającą obsługę takich wiadomości.
System jest także w pełni otwarty na integrację z dodatkowymi systemami zewnętrznymi, w tym z dedykowanymi systemami klienta.
Projekt użyteczności obejmował stworzenie konsoli dla dyspozytora. Interfejs został zaplanowany na ekrany dotykowe o rozdzielczości określonej przez zamawiającego.
Szczególne wymagania uwzględnione w projekcie:
– intuicyjna obsługa paneli połączeń i wiadomości
– zarządzanie kolejką przychodzących i zawieszonych połączeń
– łatwa nawigacja pomiędzy modułami rozwiązania (smsy, połączenia, kontakty)
– przystępność korzystania z bardzo obszernej książki telefonicznej
– sprawna obsługa dotykowa poprzez odpowiednie rozmieszczenie i rozmiar elementów