Server aplicativ – suport pentru eco-sistemul digital de servicii electronice integrate
Serverul de servicii electronice integrate are la baza o suportul server pentru eco-sistemul digital aplicativă moderna, care poate sustine atat in cloud (certificat MCSE) cat si on-premise solutia compusa din server aplicaţii, server web şi server baze de date.
Suportul server pentru eco-sistemul digital de baza al serverului de servicii integrate e de tip COTS ce impacheteaza integrat (in functie de modelul de gazduire si disponibilitatile beneficiarului) minimum server de web, aplicaţii şi baze de date. Licenţa acestui eco-sistem digital este însoţită de garanţie şi servicii de mentenanţă oferite de producătorul platformei pe perioada de minimum 12 luni (cu posibilitatea extinderii in functie de conditii). Ea poate funcţiona pe următoarele SO server:
Windows Server (toate versiunile inclusive pe 32 şi 64 de biţi), Linux (pe platforme Intel şi System Z), UNIX (implementari RedHat, CentOS, Debian, Ubuntu), Sun Solaris şi pe platforme hardware de tip Intel RISC. Serverul este capabil să asigure capabilitatea de cluster multi-server şi ofera mecanisme de HA (high availability) atât pentru clustering cât şi pentru load-balancing. Un aspect important legat de compatibilitatea eco-sistemului digital suport este ca permite rularea pe ultima versiune de server a oricărei aplicaţii realizate/dezvoltate/testate pentru orice versiune anterioară fără a fi necesară migrarea ei pe noile versiuni.
Mai mult, ca o expresie a maximum-ului in zona de compatibilitati, eco-sistemul digital suport permite instalarea şi rularea în aceeaşi arhitectură de tip cluster a serverelor cu caracteristici hardware diferite
care rulează pe SO diferite (de ex unul pe UNIX şi altul pe Windows) şi care rulează versiuni diferite ale aceleiaşi platforme aplicative (ex ver.x cu ver.x+1 sau ver.x+2) ceea ce inseamna ca in orice moment se poate extinde arhitectura de cluster cu o masina virtuala (noua sau existenta) care ruleaza un SO diferit.
Tot pentru compatibilitate, eco-sistemul digital suport permite accesul şi sincronizarea cu următoarele baze de date:
- MS SQL server
( Windows) - DB2 (Windows
/ Linux / Unix / OS/400 etc) - Oracle
(Windows /Linux / Unix variante etc). - MongoDB.
Eco-sistemul suport digital are mecanisme de intervenţie la eşuarea bazelor de date (database failover) şi continuitatea rulării serverului (server continuity) în caz de incident (folosind mecanisme de izolare în memorie a incidentelor).
Caracteristici de rulare aplicatii
Fiecare element care compune design-ul unei aplicaţii (cod, raport, machetă, imagine, task, etc) are un identificator unic în cadrul tuturor aplicaţiilor instalate pe suportul server pentru eco-sistemul digital, identificator menţinut de serverul aplicativ şi sincronizat la nivelul tuturor serverelor aplicative pe care rulează sistemul informatic. De asemenea, fiecare aplicaţie care rulează la nivelul unui server aplicativ are un identificator unic la nivel de server şi poate fi instalată şi să ruleze corect pe alt server indiferent de directorul unde este instalată.
Orice modificare a unei aplicaţii este reflectată instant în funcţionarea ei fără a fi necesară oprirea/repornirea serverului aplicativ sau altă intervenţie/delay folosind mecanisme de tip hot-swap.
Suportul server pentru eco-sistemul digital permite nativ versionarea design-ului şi are mecanisme de protecţie la modificări (design locking) atât la nivel de aplicaţie (în întregime) cât şi la nivel individual de element de design. El suporta nativ criptarea/decriptarea documentelor direct în aplicaţiile web folosind chei secrete sau public/private.
Inregistrarile din sistem au fiecare un câmp în care se stocheaza federat toate entitatile din organigrama care au acces de citire a ei, respectiv entitatile cu drept de modificare.
Componenta server baze de date
Având în vedere că serverul suport trebuie sa sustina servicii digitale şi gestiunea de conţinut ne-structurat în care se vor gestiona multe date (big data) în aplicaţii real-time, baza de date pe care este realizat acesta e una de tip NoSQL orientată tip gestiune document (document store oriented database) cu un înalt nivel de securizare a informaţiilor. Acest tip de baze de date asigură o scalabilitate orizontală către sistemele de tip cluster şi un control fin asupra disponibilităţii, oferind timpi de răspuns mult superiori altor modele de baze de date.
SGBD suport parte a eco-sistemului digital suporta scalabilitatea pe orizontală, permite replicarea instantanee (mirroring) în cluster a bazelor de date, aplicaţiilor web şi a securităţii aplicaţiilor într-o arhitectură de cluster activ-activ; replicarea se poate realiza automat, programatic (după un orar specificat) sau manual (la solicitarea explicită a unui task pe server). Stocarea fişierelor se face în SGBD (nu la nivelul sistemului de fişiere). El dispune nativ de interfaţă web integrată din care se pot efectua toate operaţiile de administrare şi de mentenanta a bazelor de date.
Politica de securitate integrată
Serverul de aplicaţii, serverul de web şi serverul de baze de date din suportul eco-sistemului digital dispun de un mecanism integrat de definire a accesului de către administrator astfel încât pe fiecare bază de date şi aplicaţii se poate defini orice combinaţie (produs cartezian) de drepturi din oricare din cele patru tabele următoare, din interfaţa web, folosind exclusiv selecţia de valori din liste (fără editare manuală text):
Aplicatie
(User neautentificat (anonim) |User autentificat | Grup de useri | Grup mixt din useri+grupuri +servere | Server) X (75 de roluri de aplicaţie customizate create de proiectanţii de soluţie) X ( No acces| Create record|Read records | Edit own records| Edit own records and read others|Edit all records and read| Manage all records)
Tabel
(User neautentificat (anonim)|Server|User autentificat|Grup de useri|Grup mixt de useri+grupuri +servere|Grupuri de servere|75 de roluri aplicative customizate) X (Read or Edit records)
Secţiune(câmpuri grupate secvential)
(User neautentificat (anonim)|Server|User autentificat|Grup de useri|Grup mixt de useri+grupuri +servere|Grupuri de servere|75 de roluri aplicative customizate) X (Read or Edit or Update records)
Inregistrare
(User neautentificat (anonim)|Server|User autentificat|Grup de useri|Grup mixt de useri+grupuri +servere|Grupuri de servere) X (Create or Delete or Replicate records)
Fisier
(User neautentificat (anonim)|Server|User autentificat|Grup de useri|Grup mixt de useri+grupuri +servere|Grupuri de servere|75 de roluri aplicative customizate) X (Read or Edit or Create Files on Category/DB)
Informatii sistem non-alterabile pe inregistrari
-Identificator unic în baza de date
-Identificator unic pentru toate instanţele de baze de date şi servere dintr-un domeniu care conţin replici ale bazei de date
-Numele şi credenţialele creatorului indiferent dacă înregistrarea a fost creată front-end sau back-end şi semnătura digitală a acestuia (dacă s-a specificat) pentru documentele/câmpurile semnate digital
-Lista certificatelor utilizatorilor/serverelor care au modificat înregistrarea indiferent dacă modificarea a fost front-end sau back-end
-Data exactă (+minut, secundă) a creării şi ultimei modificări
-Data exactă (+minut, secundă) a ultimului acces pentru orice utilizator care accesează înregistrarea
Securitate nativa
-La nivel de server – Posibilitatea de definire a utilizatorilor (persoane +grupuri), acces la server, grupuri de servere
-La nivel de bază de date – Posibilitatea de definire a rolurilor, utilizatorilor (persoane, grupuri) care au dreptul să vadă, creeze, modifice înregistrări şi a mapării dintre utilizatori şi roluri
-La nivel de bază de date – posibilitatea de definire a accesului maxim pentru userii de internet
-La nivel de înregistrare – Posibilitatea de definire a utilizatorilor (persoane, grupuri, roluri) care au acces în consultare la înregistrarea respectivă, care au dreptul de modificare a ei
-La nivel de secţiune (secvenţă logică ordonată de câmpuri) din înregistrare – Posibilitatea de definire a utilizatorilor (persoane, grupuri, roluri) care au acces să modifice secţiunea respectivă
-La nivel de câmp – posibilitatea de criptare a conţinutului unui câmp (de ex. de tip parolă)
Scalabilitate
Bazele de date suporta scalabilitatea pe orizontală; în acest sens ele folosesc pentru stocarea informaţiilor legate de managementul documentelor un model orientat pe document. Orice modificare a schemei sau de structură a bazei de date se reflecta imediat în aplicaţiile funcţionale (schema BD-> cod respectiv cod-> schema BD) şi nu genereaza down-time la sistemul informatic implementat. Baza de date suporta cel puţin următoarele tipuri de date care să permită valori multiple pentru un câmp (liste multivalue):
Tip de date |
Permite valori |
Poate fi câmp |
Se poate sorta |
Se poate grupa |
Observaţii |
CHAR |
Da |
Da |
Da |
Da |
Nu e nevoie să se definească o |
Numeric |
Da |
Da |
Da |
Da |
Numere Intregi sau zecimale, simplă |
Binary Large Object (BLOB) |
Da |
|
|
|
nu e nevoie să se definească o |
Data şi timp (Timestamp) |
Da |
Da |
Da |
Da |
|
Time Zone |
Da |
|
|
|
|
Culoare |
Da |
Da |
Da |
Da |
|
Securitate cititor |
Da |
Da |
Da |
Da |
Cine poate accesa în consultare nu e nevoie să se definească o |
Securitate Modificator |
Da |
Da |
Da |
Da |
Cine poate nu e nevoie să se definească o |
Alterarea schemei de date
Orice modificare a schemei bazei de date sau a structurii tabelelor se face fără generarea de downtime, indiferent de numărul de înregistrări din baza de date; baza de date poate suporta orice modificare sau inserare de înregistrare în acelaşi timp în care se efectuează operaţia de modificare schemă sau structură a tabelului.
Suportul server pentru eco-sistemul digital suporta încuierea/blocarea (locking) înregistrărilor aflate în editare web atât pentru modificările efectuate de către utilizatorii web cât şi de către task-urile din back-end. In momentul în care un utilizator doreşte să acceseze în scop de modificare o înregistrare aflată deja în editare la alt user, suportul server pentru eco-sistemul digital îl notifica automat (pe canale web) de imposibilitatea operaţiei iar la eliberarea unei resurse din editare, tot suportul server pentru eco-sistemul digital deblocheaza imediat şi automat respectiva resursă. Astfel permite identificarea automată prin mecanisme native a operţiunilor de locking şi de terminare a operaţiei de editare pentru a face unlock pe resursa editabilă web.
De asemenea, eco-sistemul suport dispune de mecanisme care permit editarea concurentă pe web a înregistrărilor prin descuierea/deblocarea (lock) la nivel de câmp. Astfel, în cazul unei înregistrări aflate în editare pe web simultan de către doi useri nu e permisă modificarea unui câmp dacă acesta a fost deja modificat de alt user. Cele două mecanisme de încuiere(la nivel de câmp şi la nivel de înregistrare) la editarea pe web pot fi activate/dezactivate de către administrator.
Încuierea/blocarea (locking) la editarea înregistrarilor se poate aplica tuturor înregistrărilor care au acelaşi identificator unic pe toate replicile bazei de date. Dacă un utilizator editează o înregistrare, atunci această înregistrare nu poate fi editată de nici un alt utilizator atât în baza de date curentă cât şi pe orice replică a ei de pe orice alt server de baze de date cu care se află în arhitectură de replicare. În acest fel suportul server pentru eco-sistemul digital poate defini un server master care menţine centralizat şi unitar toate încuierile/blocările (locking) de modificare a înregistrărilor.
SGBD permite managementul performant al câmpurilor astfel încât valorile de tip NULL să nu consume spaţiu fizic.
Replicarea datelor
Suportul de date din eco-sistemul digital dispune de mecanisme de replicare manuală şi automată (task-uri programatice) a datelor. Replicarea se poate face pentru toate înregistrările dintr-o bază de date sau numai pentru anumite înregistrări, pe baza unei politici configurate de administratorul de sistem (replicare selectivă). Formula de selecţie a datelor replicabile permite alegerea lor după valori, date (creare/modificare/ştergere), autori, editori, etc. Mecanismul de replicare automată ruleaza cu credenţialele (certificatul) serverului de baze de date şi respecta pentru acesta securitatea impusă în baza
de date. La apariţia unor conflicte de replicare, sistemul aplica automat o politică de creare a înregistrărilor de tip conflict cu izolarea şi identificarea lor imediată în baza de date.
Administratorul poate aplica manual sau automat politici de tratare a conflictelor de tipul merge/response pentru înregistrările de tip conflict.
Licenţa pentru suportul server pentru eco-sistemul digital aplicativă e nouă şi de ultimă versiune emisă de producător şi va fi instalată într-o arhitectură de cluster activ-activ la nivel de aplicaţie pe două servere. Cantitatea şi volumul de licenţiere e de tip Enterprise sau echivalent.
Componenta server web
Nodul server web furnizează un server web procesând şi livrând conţinut informaţional în principal de natură statică. Paginile statice (şi pseudo statice) sunt livrate pe baza protocolului HTTP şi HTTPS. Ea e scrisă
pentru a beneficia de capabilităţile serverului web, care includ abilitatea de a manipula pagini web simple proiectate în HTML. În cazul în care sunt recepţionate cereri de accesare a unor funcţii dinamice, serverul web înaintează cererile serverului/serverelor de aplicaţii (filtrare/dispatch). Serverul permite nativ tilizarea funcţiilor de criptare trafic (HTTPS) şi comprimare a traficului de ieşire (output compression) folosind algoritmi de compresie. Serverul poate defini site-uri web multiple independente şi le trateaza separat, pentru fiecare site definit poate specifica unde sunt stocate datele de configurare
sesiune, operaţiile permise (minimum GET, POST, HEAD, OPTIONS, TRACE, DELETE, PUT). Serverul de web funcţioneaza ca un server de Proxy pentru serverul de aplicaţii.
-permite utilizarea compresiei la servirea fişierelor statice. În acest caz, se pot defini şi excepţii de la politica de compresii.
-permite extinderea lui cu module proprii de filtrare. În acest sens, dispune nativ de un set de funcţii (API) care permit filtrarea cel puţin a următoarelor evenimente: autentificarea; autorizarea cu sistem extern
-permite conversia imaginilor în formatul implicit GIF şi servirea lor întreţesută pentru optimizare. De asemenea, se poate limita cantitatea de date aferentă unei operaţii POST şi permite compresia fişierelor la upload.
Pentru fiabilitatea sistemului, serverul web poate funcţiona într-o arhitectură de tip load-balancing şi dispune de interfaţă grafică web de configurare; din interfaţa web se pot executa comenzi de tip consolă (linie de comandă) asupra serverului care pot oferi informaţii despre:
-Task-urile care rulează curent pe
server
-Sesiunile web ale utilizatorilor (câţi sunt conectaţi, durată, câte sesiuni, etc.)
-Ce aplicaţii şi baze de date sunt accesate de useri (prin conexiunile serverului web)
Serverul poate participa într-o arhitectură de autentificare unică (SSO) cu alte servere de web iar serviciile de proces sunt responsabile cu fluxurile de procese. Acestea includ mecanisme de respectare şi gestiune a regulilor domeniului de activitate şi de procesare a deciziilor. Procesele deservite pot fi de durată scurtă, ne-întreruptibile, sau de lungă durată, incluzând combinaţii de servicii puse la dispoziţie prin software şi acţiuni umane.
Compunerea acestor procese rezultă din modelare, iar “executabilul” rezultat se rulează pe motorul de execuţie al proceselor.
Serverul de web permite:
-Crearea de site-uri virtuale (Virtual hosts), iar pe fiecare astfel de site se pot defini:Autentificare TCP HTTP: ca Anonim, cu nume&parola, redirectare către SSL, Autentificare SSL: ca Anonim, cu nume&parola, cu certificate client SSL v2 şi SSL v3
-Rularea de scripturi CGI
-Posibilitatea de filtrare server-side a paginilor cu un filtru şi transferul lor automat către alte server pe baza unor politici de filtrare
-Configurarea de locaţii WebDAV sau echivalent
-Configurarea traficului astfel încât acesta poate fi comprimat cu algoritmi de tip (g)zip
-Configurarea astfel încât să servească informaţiile binare (ex. imagini .gif) în format comprimat automat.
-Criptarea folosind SSL suporta cel putin următorii algoritmi: AES cu cheie pe 128bit şi 256bit şi SHA-1 MAC, RC4 cu cheie pe 40 bit şi 128bit şi MD5
MAC, RC4 cu cheie pe 128bit şi SHA-1 MAC, DES cu cheie pe 56bit şi SHA-1 MAC, Triple DES cu cheie pe 168 biti şi SHA-1 MAC
Componenta server de aplicaţii
Are următoarele capabilităţi:
- Capabilităţi de clustering la nivel de aplicaţie, cu
distribuţie a sarcinii de lucru în cluster; - Distribuţia sarcinii de lucru a serverului web;
- Poate oferi şi consuma servicii web, folosind
protocoalele SOAP, HTTP; - Poate oferi şi consuma REST-uri;
- Suport pentru autentificare bazată pe roluri şi pe
certificate; - Limbajele de programare folosite pot genera cod care
rulează fără emulatoare şi fără virtualizare pe SO server; - Permite păstrarea în memorie a codului obiect (gata
compilat) pentru aplicaţii şi reutilizarea lui direct din locul unde a
fost salvat pentru a elimina eventualele recompilari redundante; - După generare şi la fiecare modificare, salveaza pe
disc codul rezultat după compilare şi îl încarca direct de pe disc fără să
fie necesară recompilarea lui; - Se poate stabili pentru fiecare aplicaţie în parte
utilizatori care pot administra complet aplicaţia (inclusiv gestiune
acces); - Se poate stabili pentru fiecare aplicaţie în parte
utilizatori/grupuri care pot administra aplicaţia fără posibilitatea de
modificare/gestiune acces; - Pentru autentificare, serverul permite definirea de
address book-uri multiple atât native cât şi externe (ex LDAP, Microsoft
Active Directory sau Tivoli Directory Server, etc) şi să poată seta o
politică de utilizare a lor atât individual cât şi înlănţuit (address book
cascadat).
Securitatea aplicaţiilor pe serverul de aplicaţii
- funcţionalităţi Single Sign-On oferind
interoperabilitate imbunătăţită între diferite aplicaţii şi medii; - auditare securitate acţiuni administrative, cum ar fi
modificări de configurări de securitate, gestionare de chei şi
certificate, modificări de politici de control al accesului, etc; - administrare a securităţii la nivelul consolei de
administrare, cu acces pe bază de drepturi, în funcţie de roluri la
nivelul cell, node, cluster sau aplicaţie.
Administrarea serverului de aplicaţii
- administrarea de la distanţă folosind atât client web
cât şi client propriu (fără instrumente de tip Remote Desktop); atât
administrarea prin client web cât şi cea prin client propriu se face prin
conexiuni securizate pe bază de certificate digitale pe min 512 biti şi
user+parolă; - consolă de administrare web-based pentru gestionarea
centralizată a tuturor componentelor din topologii ce includ mai multe
servere de aplicaţii şi/sau web
Alte caracteristici pentru serverul de aplicaţii
- conţine mecanisme de criptare a informaţiilor stocate
- exista posibilitatea de lucru off-line şi sincronizare;
- exista mecanisme granulare de securitate, la nivele
individuale de user, server, aplicaţie, staţie; - serverul de aplicaţii permite nativ replicarea în
întregime a întregului design al unei aplicaţii (cod, machete, rapoarte,
fişiere, resurse, etc) între diverse servere de aplicaţie atât manual cât şi
programatic pe baza unui task; de asemenea deţine integrat un mecanism de
actualizare şi distribuţie design aplicaţii; - suportul server pentru eco-sistemul digital conţine propriul sistem LDAP, fără a fi
nevoie de licenţiere suplimentară sau hardware suplimentar, si permită şi
integrarea cu alte sisteme LDAP (cum ar fi Microsoft Active Directory sau
Tivoli Directory Server sau echivalent); - Suporta ca mediu de rulare a aplicaţiilor suportul server pentru eco-sistemul digital
Java; - Suporte nativ pentru aplicaţiile de pe suportul server pentru eco-sistemul digital
posibilitatea de aplicare a unei teme unitare, bazate pe un framework de
tip Bootstrap.