Loading...

Serverul aplicativ

  • Home
  • Serverul aplicativ

Avantajele serverului aplicativ

1. Soluţia este dezvoltată pe web; nu sunt necesare instalări pe staţiile client
2. Activitatea de asistenţă este mult uşurata deoarece se face pe un singur calculator (serverul)



 

Platforma aplicativă portal

Platforma pe care rulează sistemul informatic e tip COTS
(pachet unitar). Ea contine server de web, aplicații și baze de date, integrate
în cadrul aceluiași produs software de tip platformă. Ea poate funcționa minim
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ă e capabilă să ruleze
într-o arhitectură de tip cluster și să ofere 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 să permite accesul și
sincronizarea cu următoarele platforme de baze de date relaționale: • MS SQL
server ( Windows) • DB2 (Windows / Linux / Unix / OS/400 etc) • Oracle (Windows
/Linux / Unix ets). De asemenea platforma ofera 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). Platforma informatică pe care este realizat
sistemul integrat ofera nativ mecanisme de definire(creare) și actualizare de template
al unei aplicații (design) și a schemei de date stocate (baze de date),
păstrarea versionării unei aplicații, moștenirea distribuită manuală sau
automată (programată) a design-ului unei aplicații și a schemei bazei de date
dintr-un template centralizat, posibilitatea de blocare a actualizării la
nivelul oricarui element din design-ul aplicației (fișier, resursă, cod,
imagine, clasă, librărie, task, etc); administratorul sistemului informatic va
putea configura programarea actualizărilor din template și va putea urmări
modul de îndeplinire. 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 să ruleze
corect pe alt server indiferent de directorul unde este instalată. Orice
modificare a unei aplicații e 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.

Versionare si criptare

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 stocheaza 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 stocheaza 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

a) 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 pseudostatice) vor fi livrate pe baza protocolului HTTP şi HTTPS. PC va fi
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 utilizarea 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 să le
trateze separat, pentru fiecare site definit să se poată 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. Sistemul permite utilizarea compresiei
la servirea fişierelor statice. În acest caz, se pot 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, se 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 să
poată 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. Sistemul poate
suporta autentificarea SAML minim 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 poate defini: o Autentificare
TCP HTTP: ca Anonim, cu nume&parola, redirectare către SSL o Autentificare
SSL: ca Anonim, cu nume&parola, cu certificate client SSL v2 şi SSL v3 o
Rularea de scripturi CGI o Posibilitatea de filtrare server-side a paginilor cu
un filtru şi transferul lor automat către alte server pe baza unor politici de
filtrare o Configurarea de locaţii WebDAV sau echivalent o Configurarea
traficului astfel încât acesta să poată fi comprimat cu algoritmi de tip zip o
Configurarea astfel încât să servească informaţiile binare (ex. imagini .gif)
în format comprimat automat. Criptarea folosind SSL v3.0 suporta 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

b) Serverul de aplicatie

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; • Să poată
oferi şi consuma servicii web, folosind protocoalele SOAP, HTTP; • Să poată
oferi și consuma REST-uri; • Suport pentru autentificare bazata pe roluri şi pe
certificate; • limbajele de programare folosite poate genera cod care rulează
fără emulatoare şi fără virtualizare pe SO server;secret • 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, să salveze pe disc codul
rezultat după compilare și să îl incarce direct de pe disc fără să fie necesară
recompilarea lui; • Să se poată stabili pentru fiecare aplicaţie în parte
utilizatori care pot administra complet aplicaţia (inclusiv gestiune acces); •
Să se poată 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 a 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
Cerinţe legate de 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 să se facă prin conexiuni securizate pe bază de certificate digitale ş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 • gestionare centralizată a transferului de informaţii
între medii cum ar fi: deploy, start, stop aplicaţii şi distribuirea fişierelor
în topologii ce includ mai multe servere de aplicaţii şi/sau web

Alte caracteristici ptr serverul de aplicaţii

• conţine mecanisme de criptare a informaţiilor stocate • să
existe posibilitatea de lucru off-line şi sincronizare; • să existe 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 contine propriul sistem LDAP, fără a
fi nevoie de licenţiere suplimentară sau hardware suplimentar, dar să 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 platforma Java sau o platformă echivalentă; prezentarea
echivalenţelor între platforma Java solicitată pentru serverul de aplicaţii şi
o altă platforma „echivalentă” va fi realizată de ofertant prin prezentarea în
oferta tehnică a modului de acoperire a ipotezelor ce ţin de arhitectura
software pentru aplicaţia ofertată, cum sunt: satisfacerea criteriilor de
performanţă, de scalabilitate orizontală şi verticală (astfel încât răspunsul
sistemului la grade mari de încărcare să rămână la acelaşi nivel), de
disponibilitate a serviciilor, de extensibilitate şi cuplare slabă şi coeziune
ridicată, de interoperabilitate cu alte sisteme. • suporta nativ pentru
aplicațiile de pe platformă posibilitatea de aplicare a unei teme unitare,
bazate pe un framework de tip Bootstrap sau echivalent.

c) Serverul de Gestiune Baze de Date

Având în vedere că sistemul este de gestiune a documentelor
și a conținutului ne-structurat (portal, CMS) î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ă; • 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 ofertat dispune nativ de interfață web
integrată din care să se poată 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 dispune de un mecanism
integrat de definire a accesului de către administrator astfel încât pe fiecare
bază de date şi aplicaţii să se poată 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 pe aplicatie

Permisii globale pe
aplicație

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

1Fără acces

2Creare înregistrări noi

3Vizualizare
î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

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 fiere în SGBD implementeaza minimum 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

Poate citi
fierele din categoria specificată

Poate crea
fiere în categoria specificată

Cine

Permisii pe
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

Poate citi
fierele specificate

Poate crea
fiere

Pentru fiecare înregistrare SGBD menţine automat, la nivel de server (şi nu prin cod
client) cel puţin următoarele informaţii:

Identificator unic în
baza de
date

Identificator unic pentru toate instanţele de baze de date şi servere dintr-un domeniu

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 celor 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

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) minim 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ă)

SGBD poate să stocheze
date
multimedia

SGBD permite stocarea câmpurilor care au ca valori liste de valori multiple și să efectueze pe baza fiecărei valori din câmp operații de sortare,
grupare.

SGBD permite criptarea la nivel de câmp a valorilor cu chei private aflate în id-ul aferent fiecărui user.

SGBD suporta Unicode
UTF-8

Baza de date suporta comunicarea criptată cu aplicaţiile client folosind
protocolul de transport pe
reţea TCP/IP.

Serverele de web,
baze de date şi aplicaţie pot funcţiona pe SO specificate la

cerinţe generale şi să implementeaza o platformă capabilă să ofere şi să consume servicii web,
să integreze date prin XML.

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.

<![if !vml]><![endif]>Baza de date suporta următoarele tipuri de date care să permită valori
multiple pentru un
câmp
(liste multivalue)
:

 

Tip de date

Permite

valori multiple în câmp

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

Da

Să nu fie

Object (BLOB)

nevoie să se

definească o

lungime

maximă a

câmpului

Data şi timp

Da

Da

Da

Da

 

 

(Timestamp)

Time Zone

Da

Culoare

Da

Da

Da

Da

Securitate

cititor

Da

Da

Da

Da

Cine poate

accesa în consultare înregistrarea/s ecţiunea

Să nu fie nevoie să se definească o lungime maximă a câmpului

Securitate

Modificator

Da

Da

Da

Da

Cine poate

modifica înregistrarea/s ecţiunea

Să nu fie 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 suporta î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
notifica 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 va fi 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 poate fi activate/dezactivate de către administratorul
soluției. 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. 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 serverului de
baze de date și să respecte pentru acesta securitatea impusă în baza de date.
La apariția unor conflicte de replicare, sistemul aplica automat o politică de
;-div:
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.