Leksykon nAxiom
Wstęp
O tym podręczniku
Leksykon nAxiom to kompendium wiedzy o platformie nAxiom. W tym podręczniku szczegółowo opisano funkcje i narzędzia przeznaczone do budowania aplikacji. Jest ona przeznaczona przede wszystkim dla użytkowników tworzących aplikacje w nAxiom (konsultantów) oraz administratorów odpowiedzialnych za konfigurowanie środowiska platformy.
Układ materiału jest zgodny z organizacją menu głównego aplikacji AdminSPA, dodatki zawierają podstawowe informacje dotyczące pracy użytkownika końcowego w aplikacji FrontSPA oraz czynności wykonywanych przez użytkownika z rolą Administrator związanych z tworzeniem profili użytkowników oraz nadawaniem im uprawnień do określonych funkcjonalności platformy.
Oprócz Leksykonu nAxiom dostępnych jest szereg innych publikacji na temat nAxiom. I tak, użytkownicy, którzy dopiero zaczynają pracę z nAxiom, mogą znaleźć opis procedury tworzenia prostej aplikacji w publikacji Pierwsze kroki. Zagadnienia związane z instalacją platformy opisano natomiast w Przewodniku instalacji. Ponadto dostępnych jest kilkanaście artykułów poświęconych wybranym funkcjonalnościom i zagadnieniom dotyczącym korzystania z nAxiom.
Architektura nAxiom
Platforma nAxiom to rozwiązanie low-code (z ang. prawie bez kodu, w użyciu tłumaczenie niskokodowe), które umożliwia tworzenie i publikowanie aplikacji przez osoby niebędące zawodowymi informatykami. Pod względem technicznym jest to działająca w przeglądarce aplikacja internetowa (webowa), która przechowuje dane dotyczące budowanych aplikacji i dane biznesowe w bazie danych SQL Server.
nAxiom oferuje gotowe elementy do wykorzystania w aplikacjach, między innymi obsługę uwierzytelniania i kont użytkowników, obsługę struktury organizacyjnej, łączniki do zewnętrznych źródeł danych, funkcje rozpoznawania tekstu na zeskanowanych dokumentach (OCR), czy obsługę wielu wersji językowych. Ponadto dostępnych jest szereg narzędzi umożliwiających definiowanie między innymi tabel, formularzy, list, diagramów przepływu pracy i innych. Niektóre z tych narzędzi umożliwiają pracę w trybie graficznym.
nAxiom to aplikacja zbudowana w architekturze mikroserwisów, obejmująca kilkanaście serwisów dedykowanych do realizacji określonych zadań. Można je podzielić na dwie główne grupy: przeznaczone do obsługi front-endu i oparte na platformie Angular oraz przeznaczone do obsługi back-endu i oparte na platformie .NET.
Platforma nAxiom składa się z następujących serwisów (w nawiasie podano typ serwisu):
- auth (dotnet): uwierzytelnianie użytkowników
- front (angular): obsługa aplikacji biznesowych przez użytkowników końcowych
- admin (angular): tworzenie aplikacji biznesowych przez konsultantów
- tenant-admin (angular): zarządzanie tenantami w środowisku multi tenant
- api (dotnet): obsługa żądań do bazy danych wysyłanych z serwisu admin i front
- tenant-api (dotnet): obsługa żądań do bazy danych wysyłanych z serwisu tenant-admin
- task-service (dotnet): obsługa zadań cyklicznych, wysyłki e-mail, śledzenia terminów
- workflow (angular): definiowanie diagramów procesów biznesowych przez konsultantów
- doc-api (dotnet): obsługa pomocy kontekstowej i funkcji generowania dokumentacji aplikacji biznesowych
- public-api (dotnet): dostęp do publicznego interfejsu API platformy nAxiom
- mobile-api (dotnet): obsługa aplikacji mobilnej nAxiom
- syncfusion-api (dotnet): obsługa generowania, szyfrowania i podglądu plików PDF
- telerik-reports (dotnet): obsługa definiowania, generowania i podglądu raportów Telerik
- crystal (dotnet): obsługa definiowania, generowania i podglądu raportów Crystal Reports
- ocr (angular): obsługa definiowania szablonów dokumentów dla funkcji OCR
- ocr-api (dotnet): obsługa żadań dotyczących rozpoznawania dokumentów przez funkcję OCR
Niezbędnym uzupełnieniem środowiska nAxiom jest serwer bazy danych MS SQL Server. Współpraca nAxiom z bazą danych jest realizowana przy użyciu platformy Entity Framework.
Poniżej zamieszczono diagram prezentujący w uproszczeniu komunikację między poszczególnymi komponentami dla różnych scenariuszy.
Na diagramie ze względu na czytelność ograniczono się tylko do jednego tenanta, czyli organizacji korzystającej z własnych aplikacji i osobnej bazy danych. Platforma nAxiom umożliwia konfigurowanie środowisk z wieloma tenantami.
Ponadto, nAxiom można integrować z różnymi systemami zewnętrznymi, takimi jak systemy ERP, serwery uwierzytelniania i usługi katalogowe, co przedstawia poniższy diagram.
Platforma nAxiom jest aplikacją WWW przeznaczoną do uruchamiania na serwerze IIS w systemach Windows. Możliwe jest wdrożenie nAxiom w systemie Linux na podstawie obrazów Docker. W takim przypadku używany jest serwer WWW nginx.