Vision App Maker are o arhitectură de tip enterprise, cloud-ready, bazată pe microservicii, în care fiecare componentă are un rol definit. Componentele pot rula ca servicii decuplate în containere, într-un cloud public sau privat.
Arhitectura logică
Platforma este împărțită pe trei niveluri:
- Client (front-end): portalurile intern și extern, aplicația de infochioșc și aplicația mobilă. Acest nivel se ocupă doar de interfața utilizator și de logica UI și apelează API-urile furnizate de API Gateway.
- API Gateway: intermediarul dintre clienți și serviciile backend. Expune API-urile publice folosite de clienți și API-urile interne folosite pentru managementul conținutului.
- Servicii (backend): microservicii sau servicii monolitice care implementează logica de business. Accesează bazele de date, procesează date, gestionează evenimente și comunică între ele sincron sau asincron.
Straturi
Diagramele de arhitectură grupează componentele în cinci straturi.
| Strat | Componente | Tehnologie |
|---|---|---|
| Stratul UI | Portaluri interne și externe (1…N), infochioșcuri (1…N), aplicația mobilă, browser | React; React Native pentru aplicația mobilă |
| Stratul API Gateway | Ingress sau reverse proxy; App Maker Gateway | .NET Core |
| Microservicii / componente distribuite | App Maker Engine și componente suplimentare (1…N); o componentă IoT appliance în unele topologii | .NET Core |
| Stratul de configurare | App Factory Studio, backend-ul App Factory, baza de date de configurare Factory | Angular, .NET Core |
| Baza de date de business | Datele aplicațiilor configurate | Microsoft SQL Server |
Clienții apelează gateway-ul prin REST, prin ingress sau reverse proxy. Gateway-ul apelează motorul și celelalte componente prin gRPC. Motorul citește configurația realizată în App Factory Studio și citește și scrie datele de business.
Domenii
Fiecare aplicație construită pe App Maker are propriul domeniu. Un singur depozit de configurare gestionează configurația tuturor domeniilor. Fiecare domeniu își stochează datele de business specifice în propria bază de date, iar portalurile prezintă funcționalitatea unuia sau mai multor domenii.
Un domeniu poate avea mai multe versiuni, astfel încât schimbările proceselor pot fi urmărite în timp. Vezi Concepte de bază pentru relația dintre domenii, module și fluxuri.
Arhitectura funcțională
Din punct de vedere funcțional, platforma oferă următoarele componente:
- acces extern: acces online la funcționalitățile configurate și la conținutul static, prin portalul extern, infochioșc sau aplicația mobilă;
- portal intern: acces la toate funcționalitățile configurate și la componentele de securitate și configurare, care nu sunt disponibile în exterior;
- integrare și orchestrare: conectează sistemele, face schimbul de date și gestionează interacțiunile dintre componente;
- securitate: asigură securitatea întregii platforme într-un model unitar;
- administrare și configurare integrată: construiește funcționalități prin configurare vizuală, fără scriere de cod și fără compilarea surselor;
- baza de date.
Arhitectura de integrare
Componenta de integrare și orchestrare, API Gateway, este punctul unic de intrare pentru cererile externe. Direcționează cererile către microserviciile potrivite și gestionează autentificarea, autorizarea, accesul, logging-ul și agregarea răspunsurilor de la mai multe servicii.
| Legătură | Protocol | Caracteristici |
|---|---|---|
| Clienți front-end către API Gateway | REST prin HTTP | Date JSON sau XML, caching nativ, criptare TLS, suport pentru load balancere |
| API Gateway către servicii și între servicii | gRPC prin HTTP/2 | Serializare binară, multiplexare, apeluri sincrone și asincrone, apeluri simple și de tip streaming (server, client și bidirecțional) |
Integrarea funcționează în ambele direcții. App Maker accesează sistemele terțe prin plugin-uri și își expune propriile API-uri altor sisteme. Toate interfețele suportă mai multe limbi și funcționează în browsere web desktop și mobile.
Arhitectura de infrastructură
Arhitectura permite funcționarea în regim de înaltă disponibilitate pentru toate componentele și rulează într-un mediu integral virtualizat. Topologia recomandată folosește containere Docker orchestrate de Kubernetes, OpenShift/OKD, Docker Swarm sau un echivalent.
Componentele containerizate includ front-end-urile web, App Maker Gateway, App Maker Engine și App Factory Studio. Componentele auxiliare, precum autentificarea sau procesarea fișierelor, se adaugă în funcție de configurare. Orchestrarea asigură:
- load balancing prin ingress controller sau service mesh;
- auto-scalare în funcție de trafic și de încărcarea CPU și a memoriei;
- rolling deployments;
- politici de failover și înaltă disponibilitate.
Componentele cu acces extern pot fi amplasate într-un DMZ și comunică doar prin HTTPS. Traficul dintre DMZ și rețeaua internă trece doar prin servicii securizate, în spatele unui reverse proxy.
Topologia de referință pentru înaltă disponibilitate
Topologia de referință are patru servere App Maker în două perechi. O pereche deservește utilizatorii interni, iar cealaltă se află în DMZ, pentru clienții externi. Fiecare pereche se află în spatele unui cluster de network load balancing cu o adresă IP virtuală. Bazele de date rulează pe un cluster de failover SQL Server cu storage area network. Firewall-urile separă internetul, DMZ-ul și rețeaua internă.
Într-o variantă, un reverse proxy din DMZ publică portalul extern și redirecționează cererile de API și de conținut către serverele interne. Topologia este un scenariu de înaltă disponibilitate și poate fi adaptată la rețeaua și configurația de securitate a clientului.
Arhitectura de securitate
Un modul de securitate dedicat gestionează autentificarea și autorizarea pentru toate aplicațiile și serviciile din platformă. Modulul nu este duplicat în fiecare microserviciu, iar serviciile de business nu implementează singure autentificarea.
- API Gateway gestionează centralizat autentificarea și o poate delega unui furnizor de identitate extern, prin OAuth 2.0 sau OpenID Connect.
- Gateway-ul validează token-uri JWT sau cookie-uri criptate HttpOnly, Secure și propagă identitatea și permisiunile utilizatorului către serviciile din aval.
- Fiecare microserviciu validează din nou drepturile de acces, cu suport pentru autorizare granulară bazată pe scopes și claims.
- Platforma se integrează cu Keycloak, LDAP, Active Directory, SAML și SCIM.







