Performanțe notabile

Sistemul Sfera foloseste modelul n-Tier cu o suită de 3 servere la stratul intermediar (servere ce au atribuţii distincte), un client subţire în partea superioară (Sfera ERP ThinClient) şi server de baze de date la baza modelului.

Serverul de baze de date, poate fi orice server relaţional bazat pe limbaj de  interogare structurat (SQL). Aceste servere pot rula pe platforme Windows, Linux, Unix, OS/400 şi altele.

Sfera Application Server, este serverul de aplicaţie propriu-zis, care înglobează toată logica Sfera ERP şi tot ce înseamnă prelucrare de date.
Sfera Messaging Server, este un server auxiliar ce rulează procese de control, licenţiere şi broadcasting între clienţii aplicaţiei (Sfera ERP ThinClient) şi între clienţi şi serverul de aplicaţie.
Sfera Query Server, este un server auxiliar cu atribuţii exclusive de interogare paralelă a bazei de date. Acest server a fost dezvoltat pentru îmbunătăţirea accesului la date şi micşorarea timpilor de răspuns a interogărilor complexe iniţiate de catre client.
Sfera ERP ThinClient, constituie interfaţa dintre utilizator şi aplicaţie, spaţiul efectiv de lucru în sistemul Sfera ERP.

Toate cele patru entităţi ce constituie aplicaţia Sfera ERP sunt dezvoltate în tehnologie multi-threading, acest lucru aducând o îmbunătăţire considerabilă a performanţelor de lucru faţă de sistemele standard single-thread.

Am avut curiozitatea să facem niște masurători de performanță. Iată-le:

Viteză de raspunso interogare complexă pe circa 1.250.000 înregistrări în orice nomenclator pe un server MSSQL uniprocesor durează < 15 secunde.

Operare fluentăAprox. 90 secunde la introducerea unui document. (Factura de vânzare cu elementele constituente definite (articole, etc..) şi care are între 5 şi 10 linii).

Rapoarte rapide210 pagini în < 30 secunde – raport complex de mişcare stocuri.

Calcul stocuri în timp realPrin optimizarea extensivă a fluxului de procesare intern aplicatiei, se calculează on-line la validarea documentului (cantitativ şi valoric) indiferent de data acestuia.

Număr de utilizatoriNelimitat teoretic (limitele sunt impuse doar de maşinile pe care rulează serverele).

Tehnologie si infrastructura state-of-art.

Structura majorităţii aplicaţiilor de tip ERP este construită după modele client-server. Acest tip de model presupune existenţa a două nivele. Primul sau cel mai de jos este serverul de baze de date (responsabil în principal cu gestionarea şi stocarea datelor), iar cel de-al doilea este nivelul client sau aplicaţia propriu-zisă. Ca aplicaţia să se constituie într-un sistem de prelucrare a datelor funcţional, este necesară implementarea de funcţii şi proceduri de prelucrare a datelor (validări, verificări, consolidări, etc…) denumite generic business-logic (BL). BL este ”împărţit“ pe cele două nivele în funcţie de modul de concepţie al aplicaţiei ERP, această difuzie ducând inevitabil la dificultăţi şi timpi mari de dezvoltare ulterioară acesteia şi a adaptării sale la noi cerinţe.

 

Următorul pas în evoluţia sistemelor de baze de date îl constituie modelul MultiTier (sau n-Tier), model din care face parte si Sfera ERP. În acest model, între cele două nivele amintite mai sus apare stratul de mijloc (sau middle-tier), strat care poate fi constituit dintr-o serie de servere intermediare (numite în general servere de aplicaţie), fiecare având rolul său specific în cadrul sistemului. Odată cu apariţia acestui strat intermediar, structura celor două nivele de la extreme se schimbă radical, astfel încât în serverul de baze de date implementarea logicii aplicaţiei devine opţională, iar în extrema de sus (la client) nu mai este nevoie de nici o formă de prelucrare a datelor acest atribut revenind în general în totalitate serverelor din middle-tier. Aşa se face că aplicaţia client devine o aplicaţie care tratează doar aspecte ale interfeţei cu utilizatorul (numită şi aplicaţie thin-client – client subţire) iar serverul de baze de date va fi degrevat de tot ce înseamna BL, în sarcina sa rămânând doar procesele de stocare şi gestiune la nivel jos ale acestora (securitate, logare, stocare fizică, izolări tranzacţionale, etc…). Rolul major în prelucrarea logică le revine serverelor (sau serverului – în cazul 3-tier) de aplicaţie.

 

Ca urmare, modelul n-Tier (inclus in Sfera ERP) are o serie de avantaje faţă de modelul 2-tier (sau Client-Server) :

  • Adaptare imediată la nevoile de prelucrare distribuită a bazelor de date. Asta inseamna ca acest model se pretează oricărei configuraţii de lucru a organizaţiei, indiferent câte departamente, filiale, puncte de lucru sau de centralizare a informaţiei are şi indiferent cum sunt poziţionate acestea în diagrama de funcţionare a organizaţiei.
  • Portabilitate aproape nelimitată pe diverse baze de date ca urmare a faptului că logica aplicaţiei nu se scrie la nivelul serverului de baze de date. Sistemele n-Tier se pot folosi de practic oriceserver de baze de date relaţionale (Oracle, MSSQL, PostGreSQL, MySQL, DB2, ş.a.),  portarea aplicaţiei de pe un server pe altul fiind o chestiune ce nu necesită timp de dezvoltare îndelungat.
  • O mai mare flexibilitate a lucrului în medii hibride cu sisteme de operare multiple (de ex. clienţi Windows şi servere de baze de date Linux). Interfaţarea clientului cu serverul de baze de date se face prin middle-tier, acesta putând fi dezvoltat pentru diverse platforme (Windows, Linux, etc…). Odată cu acest avantaj apar şi beneficii cu aspect financiar prin folosirea de sisteme de operare şi servere de baze de date cu preţuri reduse.
  • Micşorarea spectaculoasă a traficului între client şi servere astfel încât utilizatorii pot lucra on-line (chiar daca astazi cazul se întalneşte prea rar) şi pe linii dial-up. Odată ce partea de BL a fost concentrată în middle-tier, între client şi serverele de aplicaţie traficul este de redus, acesta rezumându-se la transmiterea în exclusivitate a modificărilor de date şi lansarea în execuţie prin comandă a diverse procese ce se desfăşoară la middle-tier.
    Astfel, costurile de comunicaţie scad drastic nefiind necesare canale de volum mare de trafic între clienţi şi servere.