Loading...

DocManager

Ce este platforma DocManager ?

DocManager este o platformă aplicativă modernă de gestionare eficientă şi unitara a comunicaţiei şi documentelor din cadrul unei instituţii/firme -aflată ca versiune de server 9.01 -realizată pentru a răspunde cerinţelor a două categorii de utilizatori:

• externi (cetăţeni), care folosind Internet-ul sau Info Kiosk-uri obţin informaţii furnizate de instituţie, prin intermediul componentelor de tip Front Office (vizualizarea documentelor necesare pentru eliberarea unui anumit act, informarea despre solicitările depuse, activitatea instituţiei, acces securizat la informaţii confidenţiale sau personalizate, etc);

• interni (funcţionari/angajaţii) care prin intermediul Intranet-ului utilizează o serie de aplicaţii interne (Back Office) din aplicaţie (registratura electronică, depozit de documente, workflow aprobari, audienţe, etc).

Software-ul platformă aplicativă DocManager portal este compus din server aplicații, server web și server baze de date. Serverul pe care rulează portalul este unul de tip COTS (comercial, gata realizat, nu se dezvoltă/customizează) de tip pachet unitar produsa de IBM/HCL care are în componență următoarele:

  • server de web
  • server de aplicații
  • server baze de date

Licența ofertată este însoțită de garanție și  servicii de mentenanță oferite de producătorul platformei licențiate.  Ea funcționează 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, Sun Solaris și pe platforme hardware de tip Intel și RISC. Soluția proiectată rulează într-o arhitectură de tip cluster aplicativ și oferă mecanisme de HA (high availability) atât pentru clustering cât și pentru load-balancing. Platforma permite rularea pe ultima versiune de server a oricărei aplicații realizate/dezvoltate/testate pentru orice versiune anterioară (backward compatibility) fără a fi necesară migrarea ei (in-place upgrade).

Pentru compatibilități ulterioare, platforma 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).

Pentru compatibilitate, platforma permite accesul și sincronizarea cu următoarele platforme de baze de date:

  • MS SQL server ( Windows)
  • DB2 (Windows / Linux / Unix / OS/400 etc)
  • Oracle (Windows /Linux / Unix etc).

De asemenea platforma deține mecanisme de intervenție la eșuare a bazelor de date (database failover) și continuitatea rulării serverului (server continuity) în caz de incident (folosind mecanisme de izolare în memorie a incidentelor).

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 platformă, 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 (independent de director/cale pe server) și poate fi instalată și rulează corect pe alt server indiferent de directorul unde este instalată.

Orice modificare a unei aplicații poate fi 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.

Platforma 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.

De asemenea, platforma permite nativ criptarea/decriptarea documentelor direct  în aplicațiile web folosind chei secrete sau public/private.

Orice înregistrare din sistem are un câmp în care se stochează sub formă de listă persoane și/sau grupuri și/sau roluri aplicative și sau servere/grupuri de servere care au permisiunea de a citi(read) respectiva înregistrare.

De asemenea, orice înregistrare din sistem are un câmp în care se stochează sub formă de listă persoane și/sau grupuri și/sau roluri aplicative și sau servere/grupuri de servere care au permisiunea de a modifica(edit) respectiva înregistrare

1.1.1  SGBD

Având în vedere portalul de servicii gestionează conținut ne-structurat în care se vor gestiona multe date (big data) în aplicații web real-time, baza de date pe care este realizat acesta este una de tip NoSQL orientată 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 este COTS şi suporta scalabilitatea pe orizontală;
  • SGBD 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 realizează automat, programatic (după un orar specificat) sau manual (la solicitarea explicită a unui task sau a unei proceduri apelate de pe server);
  • stocarea fişierelor se face în SGBD (nu la nivelul sistemului de fişiere); SGBD-ul permite gruparea fişierelor pe categorii şi aplicarea unor politici adecvate de securitate
  • SGBD dispune nativ de interfață web integrată din care se pot efectua toate operațiile de administrare și de gestiune baze de date;
  • Politica de securitate integrată: serverul de aplicaţii, serverul de web şi serverul de baze de date 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):

Permisii globale pe aplicație

Permite minimum schema următoare

Cine Rol aplicativ Permisii globale pe baza de date
User neautentificat (anonim)

User autentificat

Grup de useri

Grup mixt (useri+grupuri +servere)

Server

Cel puţin 75 de roluri de aplicaţie customizate create de proiectanţii de soluţie 1.   Fără acces

2.   Creare înregistrări noi

3.   Vizualizare înregistrări

4.   Modificarea propriilor înregistrări+2 şi 3

5.   Modificarea înregistrărilor create de alţii+4

6.   Administrare acces + 5

Permisii pe un tip de înregistrare (tabel)

Cine Permisii pe un tip de înregistrare (tabel)
User neautentificat (anonim)

Server

User autentificat

Grup de useri

Grup mixt (useri+grupuri +servere)

Grupuri de servere

Cel puţin 75 de roluri aplicative customizate create de proiectanţii de soluţie

Poate citi înregistrările din tabelul specificat

Poate crea înregistrări în tabelul specificat

 

Permisii pe o secţiune din înregistrare (grup de câmpuri)

Cine Permisii pe o secţiune din înregistrare (grup de câmpuri)
User neautentificat (anonim)

Server

User autentificat

Grup de useri

Grup mixt (useri+grupuri +servere)

Grupuri de servere

Cel puţin 75 de roluri aplicative customizate create de proiectanţii de soluţie

Cine poate vizualiza

Cine poate completa sau modifica

Permisii globale pe înregistrări

Cine Permisii globale pe înregistrări
User neautentificat (anonim)

Server

User autentificat

Grup de useri

Grup mixt (useri+grupuri +servere)

Grupuri de servere

Poate crea înregistrări în baza de date

Poate şterge înregistrări

Poate replica/sincroniza înregistrări

 

  • securitatea lucrului cu fişiere în SGBD implementează următoarele scheme de acces ca produs cartezian dintre oricare două perechi de tipul (Cine x Permisii):
Cine Permisii pe categorie de fişiere stocate în baza de date
User neautentificat (anonim)

Server

User autentificat

Grup de useri

Grup mixt (useri+grupuri+servere)

Grupuri de servere

Cel puţin 75 de roluri aplicative customizate create de proiectanţii de soluţie

create de proiectanţii de soluţie

Poate citi fişierele din categoria specificată

Poate crea fişiere în categoria specificată

Permisii pe fişiere stocate în baza de date
Poate citi fişierele specificate

Poate crea fişiere

Pentru fiecare înregistrare SGBD menţine automat, la nivel de server (şi nu prin cod client) următoarele informaţii sistem care nu pot fi alterate cu nici un instrument:

  • 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 daca î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 daca 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 acceseaza inregistrarea
  • Securitatea datelor gestionată de serverul de baze de date se poate realiza nativ (prin funcţionalităţile native ale platformei COTS) de către serverul de baze de date (fără codificare din partea clientului) la următoarele nivele:
  • 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ă)

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 reflectă imediat în aplicaţiile funcţionale (schema BD-> cod respectiv cod-> schema BD) şi nu generează down-time la sistemul informatic implementat.

Baza de date suportă următoarele tipuri de date care permit valori multiple pentru un câmp (liste multivalue):

Tip de date Permite valori multiple în câmp (lista multivalue) Poate fi câmp cheie Se poate sorta după acest câmp Se poate grupa după acest câmp Observaţii
CHAR Da Da Da Da Să nu fie nevoie să se definească o lungime maximă a câmpului
Numeric Da Da Da Da Numere Intregi sau zecimale, simplă sau dublă precizie
Binary Large Object (BLOB)

 

Da Să nu fie nevoie să se definească o lungime maximă a câmpului
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 înregistrarea/secţiunea

Nu e nevoie să se definească o lungime maximă a câmpului

Securitate Modificator Da Da Da Da Cine poate modifica înregistrarea/secţiunea

Nu e nevoie să se definească o lungime maximă a câmpului

Orice modificare (ALTER) 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.

Platforma suportă încuierea (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.

În acest fel, în momentul în care un utilizator dorește să acceseze în scop de modificare o înregistrare aflată deja în editare la alt user, platforma îl notifică automat (pe canale web) de imposibilitatea operației iar la eliberarea unei resurse din editare, tot platforma descuie (unlock) imediat și automat respectiva resursă. Platforma 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, sistemul informatic dispune de mecanisme care permit editarea concurentă pe web a înregistrărilor prin blocarea (lock) la nivel de câmp. Astfel, în cazul unei  înregistrări aflate în editare pe web simultan de către doi useri nu este 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 administratorul soluției.

Blocarea (locking) la editare inregistrarilor se aplică tuturor inregistră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 platforma defineste un server master care menține centralizat și unitar toate încuierile (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

SGBD 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 (relicare selectivă). Formula de selecție a datelor replicabile permite alegerea lor după valori, date (creare/modificare/ștergere), autori, editori, etc. Mecanismul de replicare automată rulează cu credențialele (certificatul) serverului de baze de date și respectă pentru acesta securitatea impusă în baza de date.  La apariția unor conflicte de replicare, sistemul aplică 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 platforma aplicativă livrată va fi instalată într-o arhitectură de cluster activ-activ la nivel de aplicatie.

Serverul Web

Nodul server web furnizează un server web procesând şi livrând conţinut informațional în principal de natura statică. Paginile statice (și pseudo statice) sunt livrate pe baza protocolului HTTP și HTTPS. Aplicatia beneficiază 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 utilizarea funcțiilor de criptare trafic (HTTPS) și comprimare a traficului de ieșire (output compression) folosind algoritmi de compresie. Serverul permite definirea de site-uri web multiple independente şi le tratează separat, pentru fiecare site definit poate specifica unde sunt stocate datele de configurare sesiune, operațiile permise (GET, POST, HEAD, OPTIONS, TRACE, DELETE, PUT). Serverul de web funcționează ca un server de Proxy pentru serverul de aplicații.

Sistemul permite utilizarea compresiei la servirea fișierelor statice. În acest caz, poate defini și excepții de la politica de compresii.

Sistemul server web permite extinderea lui cu module proprii de filtrare. În acest sens, dispune nativ de un set de funcții (API) care permit filtrarea următoarelor evenimente:

  • Autentificarea utilizatorilor
  • Implicarea unui sistem de autorizare extern

Sistemul permite conversia imaginilor în formatul implicit GIF și servirea lor întrețesută pentru optimizare. De asemenea, poate limita cantitatea de date aferentă unei operații POST și permite compresia fișierelor la upload.

Pentru fiabilitatea sistemului, serverul 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 oferă 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. Sistemul suporta minimum autentificarea SAML v1.1 și 2.0.

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 să poată fi comprimat cu algoritmi de tip zip
  • Configurarea astfel încât să servească informaţiile binare (ex. imagini .gif) în format comprimat automat.

Criptarea folosind SSL v3.0  suporta cel puțin 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

Serverul de aplicaţie

Serverul de aplicaţie 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;
  • Oferă şi consumă servicii web, folosind protocoalele SOAP, HTTP;
  • Oferă și consuma REST-uri;
  • Suport pentru autentificare bazata 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;
  • dupa generare şi la fiecare modificare, salvează pe disc codul rezultat după compilare și îl incarcă direct de pe disc fără să fie necesară recompilarea lui;
  • Poate stabili pentru fiecare aplicaţie în parte utilizatori care pot administra complet aplicaţia (inclusiv gestiune acces);
  • 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 poate 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.
  • adminstrare 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

Serverul de aplicaţii

  • Conţine mecanisme de criptare a informaţiilor stocate
  • are posibilitatea de lucru off-line şi sincronizare;
  • are 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;
  • platforma conţine propriul sistem LDAP, fără a fi nevoie de licenţiere suplimentară sau hardware suplimentar, dar permite şi integrarea cu alte sisteme LDAP (cum ar fi Microsoft Active Directory sau Tivoli Directory Server).
  • Suporta ca mediu de rulare a aplicațiilor platforma Java.
  • Suportă nativ pentru aplicațiile de pe platformă posibilitatea de aplicare a unei teme unitare, bazate pe framework-ul Bootstrap.