De regulă, oamenii se confruntă și cu un alt gen de probleme: [303089]

Rezumat

Proiectul dat reprezintă elaborarea unei soluții de stocare a datelor, acesta poate fi utilizat până și de utilizatori începători. [anonimizat]-un loc sigur.

Sistemul va contribui la reducerea îndeplinirii etapelor manuale meticuloase și la organizarea corectă a datelor. A fost proiectată arhitectura software a sistemului informatic care îndeplinește cerințele de securitate. În procesul de implementare a [anonimizat] a fișierelor a fost creat ca componente separate. Astfel, se poate considera că scopul acestui proiect a fost realizat.

Această teză descrie toate aspectele necesare ale domeniului de dezvoltare a aplicațiilor web care trebuie luate în considerare. Soluția furnizată îndeplinește cerințele stabilite pentru stocarea și distribuirea efectivă a datelor în interiorul companiei. Soluția prezentată este de asemenea ușor extensibil pentru stocarea oricăror tipuri de fișiere.

Abstraction

This project is a data storage solution that can be used by even beginners. Can be used both at home and in businesses where data storage is required in a safe place.

The system will help reduce the implementation of meticulous manual steps and correct data organization. The software architecture of the computer system that meets the security requirements was designed. [anonimizat]. Thus, it can be considered that the purpose of this project has been achieved.

This thesis describes all the necessary aspects of the development of web applications that need to be considered. The solution provided fulfills the requirements set for effective data storage and distribution within the company. The solution presented is also easily expandable for storing any file types.

[anonimizat], nu există astfel de familii în care nu există nici un computer. [anonimizat]. Acum nu vă puteți imagina cum am trăi fără un telefon sau calculator. Dar tehnica nu poate funcționa pentru totdeauna.

[anonimizat], [anonimizat], operează cu o [anonimizat]. Cantitatea de date conținute în fișierele individuale pe computerele utilizatorilor a crescut de mai multe ori în ultimul deceniu. Împreună cu apariția de dispozitive portabile și furnizarea de posibilități de prelucrare a datelor a fișierelor, [anonimizat], [anonimizat], cu care interacționează în acest moment.

Problema accesului unificat la fișierele și documentele utilizatorilor este rezolvată prin depozite de fișiere la distanță. "Stocare în cloud" este un model de stocare online în care datele sunt stocate pe numeroase servere distribuite într-o [anonimizat], [anonimizat]. Diferite companii au creat și continuă să dezvolte aceste produse. Cele mai renumite dintre ele sunt Dropbox, Microsoft OneDrive, Google Drive, iCloud, Yandex.Disk și altele.

Rezolvând problema accesării datelor din diferite puncte de interacțiune, depozitele de date din cloud sunt mai susceptibile la un alt set de amenințări – amenințări la adresa securității informațiilor. Acest lucru se datorează faptului că utilizatorul unor astfel de sisteme informatice pierde capacitatea de a-și controla direct fișierele așa cum a fost înainte și le transferă complet sub controlul unui sistem situat la distanță.

Companiile care furnizează sistemele de mai sus ascund de la utilizatori detaliile implementării depozitelor din cauza secretului comercial al acestora din urmă. Clienții care încearcă să aleagă cel mai potrivit sistem pentru ei în ceea ce privește probabilitatea maximă a absenței problemelor de securitate a informațiilor de mai sus trebuie să dea preferință produsului pe care o anumită companie produce, bazat pe faimă, fiabilitate, credibilitate și conținut propus pentru un acord între părți. Astfel, clienții deleagă rezolvarea problemelor legate de astfel de amenințări de securitate a informațiilor ca amenințări la adresa confidențialității (acces neautorizat la informații), amenințări la adresa integrității (schimbare neautorizată a datelor) și amenințări la adresa accesibilității (pentru a lua măsuri care fac imposibilă sau dificilă accesarea informațiilor sisteme) către terțe părți și se bazează pe acestea pe deplin.

O dată cu creșterea puterii de procesare a echipamentelor de calcul, apariția tehnologiilor de virtualizarea fost un real succes, oferind o nouă dimensiune portabilității sistemelor de operare și aplicațiilor. Extensibilitatea sistemului informațional este încă limitată de capacitatea de procesare, memoria RAM și spațiul de stocare din cadrul centrului de calcul al companiei.

Descrierea de mai sus este inacceptabilă dacă luăm în considerare valoarea transferată pentru stocarea în cloud a datelor de informații, care este semnificativă pentru nevoile personale ale utilizatorului sau resursele de afaceri costisitoare, precum și volumele sale crescătoare, procesate de aceste sisteme.

Există situații în care aceasta nu reușește. Pe computer stocăm fișierele importante de care avem nevoie pentru muncă, studiu, precum și în alte domenii de activitate. Se poate imagina ușor furia oamenilor atunci când sistemul de operare se blochează pe computer și nu toate fișierele pot fi restaurate mai târziu. Trebuie avut în vedere faptul că sistemul de operare a funcționat pentru o perioadă îndelungată și nu suntem întotdeauna gata să pierdem documentele de care avem nevoie. Există o altă problemă.

Nu este întotdeauna comod să transportați un flash cu dvs., între serviciu și acasă, și în fiecare zi, aruncând fișiere în mod constant și înapoi, purtând tot timpul un laptop sau o tabletă, nu este o opțiune convenabilă, dar doriți subconștient ca aceste fișiere să fie întotdeauna la îndemână.

De regulă, oamenii se confruntă și cu un alt gen de probleme:

Memoria hard disk-ului nu este întotdeauna suficientă pe computer și fișierul trebuie salvat pe computer. Și se ridică următoarea întrebare: "Ce ar trebui să șterg dacă totul este necesar?" Dar unii oameni nu au fișiere suplimentare pe unitate. Și aici ajungem la ajutorul unei metode performante de stocare a datelor în rețea, așa numitul – cloud. Respectiv, "depozitarea informației în cloud".

Pentru realizarea scopului menționat ulterior, e nevoie de abordarea corespunzătoare a următoarelor subpuncte:

– Compararea a mai multor tipuri de stocare a datelor;

– Determinarea celui mai performant și convenabil tip de stocare, potrivit pentru utilizare până și de către cel mai simplu utilizator;

– Conștientizarea elementelor structurale a acestui tip de depozitare a datelor;

– Determinarea și evidențierea obiectivă atât a punctelor forte cât și a dezavantajelor utilizării acestui mod de stocare a datelor personale.

Această lucrare este dedicată dezvoltării unui sistem informatic protejat de stocare a fișierelor distribuite, a cărui funcționalitate nu este inferioară produselor concurente existente. Se presupune că acest sistem va fi implementat în conformitate cu ultimele tehnologii de securitate, ceea ce permite minimizarea expunerii la amenințările la adresa securității informațiilor. Confidențialitatea sistemului este menținută prin folosirea mecanismelor de securitate integrate pentru componentele individuale ale unui sistem distribuit și a securității pe partea clientului. Sistemul trebuie să mențină același nivel sau un nivel mai ridicat de confidențialitate a datelor în comparație cu omologii existenți. Pentru integritatea și disponibilitatea datelor, spațiul de stocare revendicat nu ar trebui să fie inferior omologilor.

1 Analiza domeniului de studiu

Soluțiile actuale de stocare a datelor, fișierelor și informațiilor prin intermediul cloud-ului au devenit, pentru orice companie care își gestionează in mod eficient activitatea, modalitatea cea mai utilizata cunoscând o popularitate crescânda.

Stocarea online a datelor a apărut din nevoia managerilor de a deține control asupra desfășurării activității interne din companie prin accesarea rapida a fișierelor vitale in fluidizarea fluxului de munca de pe orice dispozitiv cu acces la internet si din orice loc s-ar afla având nevoie doar de un browser sau o aplicație mobila instalate pe laptop sau smartphone.

Cele mai uzuale probleme care pot apărea si pot genera nevoia imediata de stocare a datelor pe un cloud accesat online sunt cele care țin de defectarea HDD-ului fără a mai putea recupera nimic de pe el, lucru care poate crea inconveniențe greu de gestionat in organizație. Un cloud are ca principala funcționalitate sincronizarea eficientă, automată și rapidă a fișierelor pe unul sau mai multe dispozitive, ulterior putând fi accesate prin intermediul unor date securizate de logare în conturile aferente.

În orice companie, un cloud intern și personalizat necesitaților organizației respective centralizează în mod util tot fluxul de informații și fișiere oferind acces imediat membrilor echipei fără a încetini vreo secundă derularea proiectului. Siguranța și securitatea datelor pe care o conferă împreuna cu promptitudinea cu care oferă acces la informații transformă Cloud-ul în cea mai eficienta și utilă modalitate de stocare.
Cloud storage – este un concept tehnologic inovativ de asigurare a accesării datelor personale de pe orice tip de dispozitiv, capabil să susțină funcționarea account-ului conectat la o arhivă comună de depozitare a datelor. Caracteristica prioritară a unui astfel de software este eficiența furnizării, gestionării și eliberării resurselor de calcul cu costuri minime de operare.

Infrastructura de cloud, care constă în hardware și resurse de rețea configurate și distribuite (precum și software) distribuite și partajate, este implementată în centrele de date de la furnizori la distanță și furnizată consumatorilor cloud computing.

În cadrul resurselor de calcul se înțelege, de exemplu:

aplicațiile și serviciile, asigurarea software diversificată;

rețelele de transferare a datelor;

serverele virtuale evidențiate;

dispozitivele de stocare a datelor.

Importanța domeniului ales. Reieșind din faptul că trăim în secolul XXI, supranumit și secolul de apogeu a dezvoltării tehnologiilor informaționale, utilizarea calculatorului și implementarea softurilor de optimizare a proceselor obișnuite este inevitabilă. Prezența calculatorului în toate domeniile cunoscute umanității, accentuează importanța fundamentală a dezvoltării tehnologiilor informaționale. Ca rezultat, tot mai mulți specialiști ce activează în cadrul domeniului tehnologiilor informaționale, se focusează nu atât pe inventarea noilor programe software, ci pe optimizarea celor prezente.

Astfel, apelarea tradițională la salvarea datelor pe un suport fizic, cum ar fi: stick-ul, hard disc-ul, etc, devine una demodată și se dovedește a fi cu mult mai puțin eficientă, decât stocarea datelor pe un server. Indiferent de tipul informației depozitate, fie ea personală sau comercială.

La rândul său, popularitatea apelării la modalitățile electronice de arhivare a datelor, stimulează inevitabil dezvoltarea proceselor de accesare online a datelor stocate. Astfel, apar tot mai multe modalități noi de creare, editare și gestionare a datelor depozitate online.

Scopul implementării. Spre deosebire de căile tradiționale de introducere și reapelare la datele stocate, aplicația prezentată deschide un orizont nou de oportunități relatate la capitolul gestionării arhivelor personale pentru toate categoriile de utilizatori.

S-a demonstrat sporirea eficacității procesului de analiză și clasificare a datelor salvate în cazul în care acestea sunt depozitate pe un server, deoarece în cadrul unui astfel de proces, informația de care are nevoie utilizatorul poate fi accesată în orice perioadă a timpului, de pe orice dispozitiv și selectată, conform filtrelor setate. Necesară este doar legarea în contul personal – una din funcțiile susținută de aplicația.

1.1 Premisele formării și dezvoltării stocării datelor online

Aspectul stocării cloud în mijlocul ultimului deceniu a fost facilitat de doi factori. Pe de o parte, un număr de companii au lansat un set de aplicații web pentru lucrul cu documente. Depozitarea fișierelor a devenit un supliment gratuit, cu o capacitate destul de decentă pentru ultimul deceniu.
Firește, nimeni nu a interzis să păstreze dosarele în formate arbitrare, și nu doar în cele pur "birou". Pe de altă parte, în același timp, a existat o nouă rundă de concurență între serviciile de mail. Și una dintre formele de concurență a fost apariția unor noi servicii, inclusiv furnizarea de servicii de stocare online.

Pe lângă creșterea volumului de cutii poștale, la începutul secolului nou, volumul rar depășea câteva zeci de mega octeți, dar acum depășește de giga octeți. Cu toate acestea, au fost destul de puțini jucători care au acționat în acest segment și în acest segment, inclusiv Google și Microsoft. Există, de asemenea, servicii care s-au concentrat inițial asupra stocării datelor, de exemplu Amazon S3, CrashPlan și altele, dintre care multe încă mai există, chiar dacă în unele cazuri au înlocuit proprietarul.

Mulți utilizatori au folosit astfel de servicii pentru sincronizarea datelor între diferite dispozitive, pentru backup, deși cu anumite restricții și doar pentru partajarea de fișiere. Acesta din urmă a fost promovat de faptul că timpul discurilor optice a dispărut, iar timpul ieftin, care nu ar fi păcat să se dea fără întoarcere, totul nu a venit și, trebuie spus, nu a venit până acum.

Un nou impuls la această piață a fost dat cu începutul erei post-PC la începutul "zero" și zece ani. Pe de o parte, dezvoltatorii de sisteme de operare și-au deschis propriile servicii, atrăgând potențialii cumpărători ai dispozitivelor lor, cu o cantitate tot mai mare de stocare gratuită a fișierelor. Folosirea unui astfel de spațiu de stocare a fost una dintre cele mai convenabile modalități de a sincroniza datele între dispozitive, mai ales dacă există mai multe, iar pentru unele platforme, cum ar fi iOS și WindowsPhone, a fost singura modalitate de a depăși limitările și inconvenientele care utilizează iTunes și respectiv Zune. Ca rezultat, serviciile online pentru stocarea fișierelor s-au dovedit a fi mult mai populare decât înainte, printre care și utilizatorii corporativi și "de fapt": utilizarea unui dispozitiv mobil a forțat utilizarea de stocare externă. Un alt lucru este că acest proces a mers corect, așa cum se spune, într-o manieră "partizană", deoarece serviciile IT și de securitate a informațiilor nu au fost informate despre acest lucru. Este destul de natural că acest lucru a dat naștere unor preocupări, trebuie spus, nu neîntemeiat [1].

În același timp, a existat un alt proces cauzat în mare parte de criză, când unele companii au avut capacități neutilizate, atât resurse de calcul cât și resurse de stocare a datelor, achiziționate în așteptarea unei creșteri rapide, chiar înainte de august 2007. Iar liderii unor astfel de companii au decis să deschidă o afacere secundară pentru furnizarea tuturor acestor facilități. Cei care au cumpărat echipamente sub sarcini de vârf, care, pentru cea mai mare parte a anului, au rămas inactiv, de exemplu, magazinul online Amazon, au făcut același lucru. Și printre consumatorii acestor servicii, întreprinderile au jucat un rol important, chiar dacă erau mici. Mai târziu, această afacere a fost observată și de unii furnizori de stocare, în special de EMC și NetApp, care propun un concept cloud hibrid. Mai mult, facilitățile de stocare acționează ca o resursă externă. După toate, după cum știți, nevoia de capacități crește mai repede decât pentru resursele de calcul, iar recent acest decalaj se lărgește. Ca urmare, aceste servicii s-au bucurat de o cerere constantă.

Cloud computing-ul oferă o alternativă modernă la centrul de calcul tradițional. Un furnizor de cloud este singurul responsabil pentru achiziționarea de echipamente fizice și de întreținerea acestora, oferind o gamă largă de servicii și configurații utilizabile după necesarul de prelucrare a fiecărei companii. Închirierea de servicii din cloud transformă astfel investițiile de capital în dispozitive fizice și licențe în costuri operaționale, permițând astfel utilizarea unor fonduri financiare semnificative în scopuri dedicate afacerii de bază. De asemenea, tehnologiile cloud permit accesul punctual la resurse hardware sau software, care în mod normal ar fi prea scumpe pentru a putea fi achiziționate. Din punct de vedere economic eficiența serviciilor cloud este justificată și prin faptul că acele echipamente sau licențe sunt plătite doar în momentul în care sunt utilizate.

1.2 Ce este un Cloud storage?

În figura 1.1 este prezentat oportunitățile oferite de un cloud.

Figura 1.1 – Oportunitățile oferite de un cloud

Stocarea datelor Cloud este un model de stocare online în care datele sunt stocate pe numeroase servere distribuite pe rețea, furnizate pentru utilizarea clienților, în principal de către terți. Spre deosebire de modelul de stocare de pe propriile servere dedicate, achiziționate sau închiriate special pentru astfel de scopuri, numărul sau structura internă a serverelor către client, în general, nu este vizibilă. Datele sunt stocate, precum și procesate, în așa-numitul server de stocare, care este, din punctul de vedere al clientului, un server virtual mare. Din punct de vedere fizic, astfel de servere pot fi localizate de la distanță unul de altul din punct de vedere geografic, până la locația pe diferite continente.
Cu alte cuvinte, acesta este un fel de serviciu online care oferă posibilitatea de a stoca fișiere pe un server de la distanță. Adică, utilizatorul poate descărca documentul în orice spațiu de stocare online și, în viitor, îl poate folosi direct de pe server. Din punctul de vedere al clientului, toate tranzacțiile au loc într-un singur loc, așa-numitul "cloud". Cu toate acestea, în realitate, un server de la distanță este adesea localizat în locuri diferite și uneori pe diferite continente. Dar acest lucru nu complică deloc munca serviciilor cloud, deoarece viteza de lucru depinde de client. Sau mai degrabă, viteza conexiunii la internet al clientului, care, de preferință, nu trebuie să fie mai mică de 600 Kbps [1].

Punctele forte și dezavantajele. Avantajele:

Există acces la date oriunde există acces la Internet.

Multe servicii oferă o anumită cantitate de memorie.

Nivelul sporit de protecție a datelor personale (În cazul proiectului prezentat – securitatea deosebită a datelor personale se datorează stocării datelor pe un dispozitiv local, care mereu poate fi accesat fizic).

Salvarea spațiului pe hard disk

Dezavantajele:

Posibilitatea furtului de informații în timpul transmiterii datelor.

Scurgerile de date pot apărea, de asemenea, în funcție de serviciile furnizorului.

1.3 Compararea cu servicii deja existente

Există destul de multe depozite de date online, și toate acestea oferă diferite capabilități. Acestea sunt: plătite și gratuite, concepute pentru o cantitate mare de informații și o cantitate mică, suport pentru diferite sisteme de operare etc. Singurul lucru care este similar unul cu celălalt este modul în care sunt procesate informațiile.

Aș vrea să compar câteva servicii de bază. În partea practică a acestei lucrări, voi încerca să compar aceste servicii între ele.

DropBox. Platforma Android, iOS, Windows Phone 8. Un alt serviciu popular care diferă de celelalte, printr-o serie de caracteristici. În special, Dropbox nu are capacitatea de a edita documente, dar nu există restricții privind formatul și dimensiunea fișierelor multimedia. Serviciul vă permite să configurați sincronizarea automată și încărcarea conținutului foto și video în "cloud" în timp real, ceea ce garantează siguranța înregistrărilor, chiar dacă telefonul dvs. smartphone "a murit în timpul redării". Utilizatorii au acces la mai multe planuri tarifare. Utilizatorul gratuit primește 2 GB de spațiu pe disc, nu este prea mult, dar această sumă poate fi mărită prin atragerea de recomandări (noi utilizatori care s-au înregistrat la Dropbox conform recomandării dvs.) și instalarea aplicației pe un computer [2].

În figura 1.2 este prezentată interfața web Dropbox.

Figura 1.2 – Interfața web Dropbox

Producătorii de dispozitive mobile acordă anumite privilegii, de exemplu, atunci când înregistrează un cont cu unele dispozitive Samsung și HTC, puteți obține volum suplimentar în spațiul de stocare DropBox și toate bonusurile dvs. sunt adăugate împreună. Prin îndeplinirea mai multor condiții, înregistrarea unui cont printr-un smartphone și instalarea aplicației pe un computer de acasă, autorul acestei recenzii a reușit să obțină date gratuite de 53 GB pe DropBox pentru o perioadă de 2 ani.

Mini retragere. Cel mai popular serviciu, toată lumea știe despre asta. Interfață web frumoasă, client inactiv de înaltă calitate, o interfață web bună pentru browserele mobile, clienți buni pentru platforme mobile. Viteza de descărcare este, de asemenea, bună. Cu toate acestea, după cum sa menționat mai sus, sincronizarea unui singur director între toate computerele nu este ceea ce am nevoie.

YandexDisk. Susține platforma Android, iOS. Pentru a utiliza Yandex.Disk, trebuie să creați un cont care să permită accesul la toate serviciile Yandex. Apoi puteți conecta această intrare la oricare dintre conturile din rețelele sociale și vă puteți autentifica prin aceasta sau vă puteți conecta direct.
În mod implicit, 3 GB este disponibil pentru toți cei din Yandex.Disk, după ce ați efectuat anumite acțiuni (de exemplu, instalarea aplicației pe un computer, încărcarea unui singur fișier în memoria de stocare și plasarea unui link către serviciul din rețelele sociale), puteți crește cota la 10 GB. Un alt 10 GB poate fi obținut prin invitarea recomandărilor. În plus, cei care au cumpărat unele modele de notebook Samsung pot obține încă 250 GB de spațiu de stocare – ca un bonus din partea producătorului [3].

În figura 1.3 este prezentată interfața web YandexDisk.

Figura 1.3 – Interfața web YandexDisk

Pentru utilizatorul de dispozitive mobile, Yandex.Disk este exclusiv un spațiu de stocare, adică serviciul vă permite să trimiteți și să descărcați numai fișiere. În plus, fișierele pot fi făcute publice – în acest caz, acestea nu sunt indexate de motoarele de căutare, dar sunt accesibile printr-o legătură directă care poate fi trimisă prin poștă sau afișată într-o rețea socială.

Din "Yandex. Disk "situația este ambiguă. Prin sine, sincronizarea fișierelor nu este foarte interesantă. Dar, datorită proximității, are cea mai mare viteză (2-3 megaocteți pe secundă) și capacitatea de a conecta unitatea prin WebDav. Acestea sunt pluse destul de mari (este păcat că nu știu cum să mă conectez prin WebDav cu caching-ul). Dar un minus mare, cel puțin pentru moment, este imposibilitatea de a dobândi un loc și o situație neclară cu o astfel de posibilitate în viitor.

Microsoft OneDrive. Cunoscut anterior sub numele SkyDrive, OneDrive este serviciul de stocare a datelor de la Microsoft, care beneficiază de asemenea de aplicații în browser pentru desktop și aplicații dedicate pentru smartphone-uri și tablete, inclusiv pentru platforma Windows Phone. La fel ca Dropbox, aplicația are o funcție pentru uploadul automat în cont al fotografiilor realizate cu telefonul,

Poate cel mai promițător membru. În primul rând, viitorul fără griji al serviciului este asociat cu o integrare strânsă în Windows și o interfață web comodă. Contul Live va trebui totuși utilizat pentru a lucra cu Windows Store și pentru a sincroniza setările sistemului de operare, astfel încât OneDrive se va conecta automat la sistem [4].

GoogleDrive. Suita office online Google Docs a fost transformată treptat într-un adevărat serviciu de stocare a datelor care a primit numele Google Drive. Chiar dacă beneficiază de asemenea de aplicații desktop și pentru smartphone și tabletă, însă are de partea sa avantaje precum conversia documentelor în formatele specifice office și modificarea ușoară a acestora în editorul online.

Dedicat în special utilizatorilor care editează frecvent documente de tip office de pe o multitudine de dispozitive cu acces la internet, pentru că în acest fel nu mai depind de aplicații software separate, Google Drive are și un atu suplimentar: oferă gratuit spațiu de stocare de 15 GB (în care sunt incluse și mailurile din GMail și fotografiile de pe Google Photos.

Serviciul este, în aproape toate privințele, un mediu puternic și va fi capabil să lupte cu concurenții numai în detrimentul bazei uriașe a utilizatorilor Gmail, care îl "încarcă".
Principalele avantaje ale Google sunt costul scăzut al gigabytelor suplimentare și integrarea strânsă cu Google Docs, care permite editarea fișierelor online și apoi modificarea lor locală în orice suită de birou. Cu toate acestea, OneDrive are exact aceeași integrare cu Microsoft Office online [5].

În figura 1.4 este prezentat logo google Drive.

Figura 1.4 – Logo google Drive

SugarSync. Acest program are propria sa cartelă de vizită – sincronizarea tuturor folderelor de pe disc. În alte servicii, același lucru se poate face și cu ajutorul legăturilor grele, totuși, după cum arată practica, utilizatorii din anumite motive nu doresc să-i contacteze. Ca și în DropBox, puteți limita utilizarea canalului de comunicare, însă numai încărcarea este permisă să se limiteze în SugarSync.

Abilitatea de a vă mări infinit contul este utilă numai pentru cei care au într-adevăr posibilitatea de a invita un număr mare de utilizatori prin intermediul unor link-uri de recomandare. Singurul serviciu care oferă un sistem similar de referire (DropBox) limitează bonusul maxim la șaisprezece gigaocteți.În minusurile SugarSync este posibil să nu înregistreze viteza cea mai mare de descărcare a fișierelor și, cu întindere, lipsa unei legături la directorul sincronizat de pe panoul lateral al dialogurilor de salvare/deschidere a fișierelor, ceea ce complică accesul rapid la fișierele necesare.

1.4 Cât este de sigur să păstrezi datele pe un cloud
Potrivit unui studiu realizat de analiștii de la Symantec, un serviciu popular de stocare a datelor importante în cloud prezintă riscuri semnificative pentru întreprinderile mici și mijlocii. Prin reducerea nivelului de securitate, aceste instrumente, cu "abuz", sporesc probabilitatea atacurilor cibernetice, după care (după același Symantec) 71% dintre companiile mici și mijlocii nu se mai recuperează.
Stocarea online a datelor este unul dintre cele mai comune scenarii pentru utilizarea noroadelor într-o afacere reală. Astfel de sisteme sunt implementate cu ușurință și rezolvă sarcini foarte specifice, iar avantajele lor, spre deosebire de un sistem CRM complex, sunt vizibile chiar și cu ochiul liber al managementului neinvitat în managementul "secretelor IT". Datorită sloganurilor de marketing ale furnizorilor de astfel de servicii, încrederea în instrumentele de stocare online este extrem de ridicată (în unele cazuri, aproape mai mare decât în ​​serverele desfășurate la nivel local).

Constatări. Au fost luate în considerare diferite sisteme de stocare în cloud. Sa realizat o revizuire a unor produse cum ar fi GoogleDrive, DropBox, Cloud Mail.ru, Yandex.Disk, Microsoft OneDrive și altele. Toți aceștia s-au prezentat ca sisteme foarte populare, comune și susținute. Fiecare serviciu este o platformă completă și de lucru. Clienții pot folosi oricare dintre cele de mai sus fără probleme.

Analiza de securitate a acestor produse a scos la iveală câteva defecte. Pe baza principalelor paradigme ale securității informațiilor – confidențialitatea, integritatea și disponibilitatea, se poate concluziona că nu este respectat pe deplin.

Disponibilitate. Sistemele existente s-au dovedit a fi foarte bune în privința lor din punctul de vedere al acestui aspect. Fiecare companie se străduiește să asigure disponibilitatea neîntreruptă a serviciilor sale. Unii spun, de exemplu, GoogleDriveforBusiness, disponibilitate de 99,95%. Aceste valori sunt obținute prin utilizarea sistemelor distribuite de procesare și stocare, precum și printr-o arhitectură bazată pe o toleranță crescută la erori.

Integritatea. Depozitele revizuite ale cloud-ului prezintă statistici bune în ceea ce privește integritatea lor. Menținerea ratelor ridicate de interes sunt companiile care dezvoltă produse. Pe aceasta depinde popularitatea produsului și, în consecință, venitul acestuia.

Confidențialitatea. Studiul privind stocarea datelor în cloud a reușit să stabilească faptul că datele stocate sunt cele mai expuse amenințărilor la adresa confidențialității în comparație cu alte amenințări la adresa securității informațiilor. Niciunul dintre produsele analizate nu oferă criptare pentru client, fie pentru un utilizator, fie pentru o cheie de produs stocată pe un server de la distanță. Una dintre toate serviciile permite utilizarea autentificării cu două factori. De asemenea, înainte de a oferi posibilitatea utilizării, multe companii obligă clienții să încheie un acord în care pot fi declarate diverse condiții care pun în pericol în mod clar confidențialitatea datelor cu caracter personal, de exemplu, Cloud Mail.ru declară în acordul său că datele personale pot fi folosite de utilizatori.

Revizuirea și analiza au confirmat existența problemei pe piață – lipsa sistemelor care pot fi pe deplin de încredere utilizatorilor în ceea ce privește protecția maximă împotriva amenințărilor la adresa securității informațiilor.

Cloud computing-ul este conceptul care aduce cele mai mari schimbări în evoluția dinamică a tehnologiei informației și comunicației (IT&C). Zilnic oamenii generează, accesează, prelucrează și stochează seturi de date noi, beneficiind de mai multă putere de procesare decât oricând înainte. Pentru corporații, o consecință profundă a acestui consum digital în creștere este necesitatea de a investi permanent sume de bani în echipamente de prelucrare și stocare. Serviciile cloud computing devin adevărate incubatoare pentru noile aplicații, menite să răspundă cererii de obținere rapidă de informații și acces facil la acestea.

Furnizorii de cloud pun la dispoziția specialiștilor IT&C instrumente web pentru gestionarea și monitorizarea resurselor de procesare, stocare, rețea sau a aplicațiilor utilizate. Un utilizator cloud se poate conecta din orice locație cu acces la internet la portalurile de management cloud și pot crea mașini virtuale cu anumite configurații (procesor, memorie RAM, spațiu de stocare, configurație de rețea), pot alege un anumit sistem de operare și un set de aplicații preinstalate (în funcție de destinația mașinii virtuale), toate aceste operațiuni consumând doar câteva minute, răspunzând astfel rapid unei cerințe de business. Comparativ, pentru a configura un server fizic este nevoie de mult mai mult timp, fără a lua în calcul procesele de achiziție care pot dura, de la caz la caz, câteva săptămâni.

2 Proiectarea sistemului

În cadrul implementării aplicației web se urmărește crearea unui cloud complex, simplu de utilizat, intuitiv și având la dispoziție toate funcțiile necesare pentru a avea acces la fișierele personale oricând și oriunde, de pe orice dispozitiv. Dar în același timp datele să se păstreze pe propriul hard-disk de acasă sau serviciu și nu fiind necesar de purtat fizic. În așa fel având acces la date de pe o interfață web.

Mediul în care performează organizațiile moderne este bazat într-o foarte mare măsură pe informație și implicit pe elemente de tehnologia procesării acesteia. Datorită beneficiilor pe care tehnologia informațională le aduce, asistăm la o integrare din ce în ce mai profundă a acestor elemente la nivelul celorlalte componente ale unei organizații, fapt care face ca aceste elemente să influențeze direct desfășurarea proceselor organizaționale, dar mai ales eficiența lor. Organizațiile care înțeleg avantajele utilizării tehnologiei în procesul de prelucrare a datelor și care decid să folosească oportunitățile oferite de aceasta au șanse sporite să beneficieze de atuuri concurențiale și să obțină superioritate față de alți actori similari.

Tehnologiile moderne pot oferi avantaje deosebite organizațiilor care le adoptă dar, datorită imaturității acestora, vin împreună cu riscuri de multe ori necunoscute. Mecanismele de protecție a datelor sunt elemente care necesită investiții în resurse, personal și modificări în procesele organizației, necesitând costuri crescătoare, proporțional cu dimensiunea și dinamica organizației. De multe ori, ele sunt privite cu reticență ca fiind investiții care necesită costuri, fără a aduce beneficii organizației. Mai mult, ele induc limitări în sistem datorită impactului negativ pe care îl pot avea asupra eficienței proceselor organizaționale desfășurate la nivelul organizației.

Spectrul strategiilor utilizate de organizații pentru securizarea resurselor informaționale este limitat, remarcându-se utilizarea cu predilecție a următoarelor strategii: „securitate prin niveluri” și „apărare în adâncime”. Există numeroase instrumentele tactice și operaționale comune între cele două, unii cercetători considerându-le chiar ca fiind una și aceeași strategie, însă există elemente de bază care le diferențiază, precum complexitatea și filozofia de abordare a amenințărilor.

Strategia „securitate prin niveluri”, denumită și „apărare pe niveluri” presupune combinarea mai multor mecanisme de securitate pentru protejarea unor date sau sisteme informatice. Ideea de bază a conceptului este aceea că nu există un instrument perfect de protecție, dar că prin utilizarea unui set de instrumente, minusurile unora pot fi acoperite de celelalte. Tehnologii precum firewall-ul, antivirusul, filtrarea e-mail, criptarea datelor, update-urile de securitate pot fiecare individual să protejeze resursele într-un fel în care celelalte nu sunt în stare. Un antivirus poate opri un cod distrugător să ruleze pe stația gazdă, dar nu poate opri un atac de tip “heartblead” de compromitere a protocolului de comunicație SSL sau “VLAN hopping” de evadare a pachetelor din VLAN-ul asignat.

Apărarea în adâncime este în momentul de față, cea mai utilizată strategie pentru protecția resurselor informatice ale unei organizații. Ea presupune dispunerea mai multor mecanisme defensive complementare, cu rolul de a opri un atacator, chiar dacă unele dintre ele sunt penetrate (figura 2.1).

Figura 2.1 – Schema modelului „apărare în adâncime”

Strategia, numită și „abordarea castelului” și-a dovedit validitatea în mediul militar clasic, fiind importată și adaptată la specificul mediului informațional. Ea are la bază filosofia conform căreia nu este posibil să se realizeze protecția totală, completă a unui sistem, indiferent de colecția de măsuri de securitate adoptate.

Se consideră astfel că, dacă un atacator are suficient timp la dispoziție, acesta va reuși într-un final să depășească mecanismele de protecție ale apărătorului. Este necesară utilizarea mai multor bariere de protecție dispuse pe toate căile posibile de penetrare, cu rolul de a obstrucționa acțiunile atacatorului, a-i zădărnici eforturile, a-i consuma resursele, a-i scădea viteza de atac și de a crea timpul necesar apărătorilor pentru organizarea defensivă până în punctul în care atacatorul este nevoit să renunțe la atac.

Strategia consideră resursele din perimetrul controlat ca unele de încredere și pune un accent deosebit pe monitorizarea perimetrului și a căilor de comunicație cu exteriorul, pentru identificarea cât mai rapidă a unui atac și punerea în aplicare a procedurilor de reacție. Strategia consideră că datele organizației, în toate formele sale, sunt procesate utilizând echipamente cu nivel ridicat de încredere, care se află sub controlul organizației, fiind dispuse într-un mediu sigur, accesul la acest mediu fiind extrem de bine controlat. Transferul datelor către alte entități necesită respectarea unor proceduri complexe, care se bazează pe analizarea nivelului de importanță a datelor. În funcție de acest nivel se alege formatul sub care vor fi transmise și canalul de comunicație care urmează a fi folosit.

Arealul de prelucrare a datelor este împărțit în trei zone:

Zona internă – este formată din ansamblul activelor unei organizații care se află sunt sub strictul ei control. De obicei este delimitată perimetral de un sistem de mecanisme de izolare, resursele din interiorul acestuia fiind considerate ca având un nivel înalt de încredere. La nivelul punctului de intrare în zonă există mecanisme complexe de monitorizare și filtrare a traficului, de cele mai multe ori sub forma unor firewall-uri și a sistemelor de prevenire a intruziunilor.

Zona demilitarizată (demilitarized zone – DMZ) este o zonă în care sunt dispuse echipamente care oferă servicii unor beneficiari atât din interiorul cât și din exteriorul organizației. În această zonă se dispun de obicei servere de tipul – mail, web, FTP, DNS, RADIUS etc. Sisteme de tipul firewall sunt dispuse la punctul de legătură între DMZ și zona internă, permițând doar o conectivitate limitată cu aceste sisteme. Similar acestora există sisteme tip firewall care filtrează posibilitățile de comunicație cu sistemele din zona externă, făcând din zona DMZ o zonă cu un nivel mai ridicat de siguranță față de zona externă.

Zona externă – este zona care se află în afara controlului organizației, dispusă în exteriorul perimetrului acesteia. Această zonă este de cele mai multe ori asimilată cu zona Internet-ului. Echipamentele și canalele de comunicație din această zonă se află sub administrarea unor alte entități, organizației fiindu-i oferite capabilități de comunicație, de cele mai multe ori sub formă de servicii..

Strategia încearcă să micșoreze șansele de compromitere a datelor cauzate de acțiunile unui atacator sau datorate erorilor de manipulare. Pentru acesta strategia utilizează numeroase mecanisme de protecție pentru securizarea infrastructurii informaționale a unei organizații, care pot fi împărțite în următoarele categorii principale:

Protecția fizică – se referă la dezvoltarea și implementarea unui set de măsuri de limitare a accesul fizic la elementele componente ale arhitecturii rețelei. Deopotrivă, este limitat atât accesul la locațiile de dispunere a serverelor, la liniile de cablu, la mediul wireless, la echipamentele de rețelistică, cât și la terminale. Doar persoanele autorizate și validate de organizație pot avea acces la aceste echipamentele, fiecare în conformitate cu atribuțiile care le revin. Instrumente fizice utilizate pentru implementarea acestui aspect sunt: porți, garduri, bariere și uși cu acces controlat, dulapuri cu chei în care sunt dispuse echipamentele, mecanisme de protecție a liniilor de cablu, poziționarea echipamentelor Wi-Fi astfel încât raza de acoperire a rețelelor să nu depășească spațiile controlate, carcase cu protecție pentru echipamente, containere securizate pentru depozitarea mediilor de stocare, proceduri pentru disponibilizarea echipamentelor etc.

Protecția personalului – presupune ansamblul de proceduri și măsuri de verificare și validare a personalului care au ca scop asigurarea accesului la resursele informaționale ale unei organizații, în funcție de rolul pe care îl au în organizație. Astfel de proceduri presupun verificări ale personalului la intrarea în organizație, la anumite intervale de timp precum și ori de câte ori există suspiciuni cu privire la integritatea sau loialitatea acestora. Cu cât persoana este pe o poziție mai înaltă în ierarhia organizației, cu atât este mai probabil că va utiliza informații cu nivel ridicat de importanță și deci este necesară asigurarea unui nivel cât mai ridicat a loialității acesteia.Mecanismele de management al accesului la resurse, stabilite la nivel intern, filtrează drepturile utilizatorilor de a accesa resursele organizației. Unul dintre principiile de bază este cel al “necesității de a cunoaște” prin care drepturile de acces implementate permit accesul utilizatorilor la resursele informaționale numai dacă aceștia au nevoie de respectivele resurse pentru desfășurarea activității.

Protecția lanțului de aprovizionare – se referă la luarea măsurilor pentru asigurarea conformității între produsele și serviciile achiziționate și standardele de securitate ale organizației. Utilizarea programelor de achiziție în care prețul cel mai mic este criteriul de bază nu este întotdeauna cea mai eficientă metodă de achiziție, mai ales atunci când se are în vedere securitatea sistemelor. Instrumente, care aparent pot realiza aceleași funcționalități, pot avea limitări de operaționalitate, pot fi inserate vulnerabilități hardware/software astfel încât funcționalitatea acestora este limitată sau pot fi exploatate de atacatori pentru compromiterea sistemelor din care fac parte.

Protecția Informatică – este reprezentată de totalitatea mecanismelor, procedurilor și instrumentelor hardware și software care asigură protecția datelor în sistemele informatice. Implementarea mecanismelor de securitate la nivelul sistemelor informatice de calcul necesită integrarea a numeroase instrumente din mai multe categorii: securizarea resurselor, controlul accesului, monitorizarea utilizării resurselor, asigurarea confidențialității, integrității și disponibilității resurselor, auditarea serviciilor, disponibilizarea sigură a echipamentelor, securitatea transferurilor de date, răspunsul în caz de incidente etc.

Evoluția pe care a avut-o cloud-ul în ultima decadă a constituit baza dezvoltării a numeroase alte tehnologii, cum ar fi: internetul lucrurilor, big data, rețele definite prin software etc și a determinat modificarea profundă a mediului tehnologic tradițional. Capabilitățile oferite de aceste tehnologii (mobilitate ridicată, orientarea pe servicii, transferul rapid a unor cantități mari de date, prelucrarea rapidă a acestora, acces rapid la resurse aflate la distanță, fiabilitate crescută, costuri optimizate, creșterea eficienței proceselor etc.) au fost apreciate de organizații, determinând o creștere a ratei de absorbție și propulsând și mai mult eforturile în cercetarea și dezvoltare. În egală măsură tehnologiile au atras și atenția infractorilor cibernetici care au dovedit o adaptabilitate sporită, încercând permanent noi metode de a specula vulnerabilitățile acestor tehnologii încă imature pentru a obține acces la informațiile prelucrate.

Acest concept reprezintă un nou model de utilizare a tehnologiei bazat pe flexibilitate înaltă, agilitate avansată, elasticitate ridicată, minimizarea costurilor, acces rapid la date, redundanță sporită etc. Nou paradigmă de prelucrare a datelor aduce o serie de avantaje care suscită interesul organizațiilor și persoanelor fizice. Totuși, acest nou cadru modifică spectrul clasic al amenințărilor de securitate, alterându-le pe de o parte pe cele clasice și introducând noi elemente de risc, pe de altă parte. Principiile noii paradigme nu mai sunt în conformitate cu principiile de bază ale strategiei “apărare în adâncime” folosită atâția ani de organizații pentru securizarea activelor. Elementele componentele are sistemului informațional, dar mai ales datele nu se mai regăsesc în interiorul perimetrului organizației, sub controlul direct al acesteia, ci sunt stocate, procesate și transmise utilizând echipamente supervizate de alte entități. Acest model de utilizare a resurselor informaționale prezintă o serie de riscuri specifice.

2.1 Imaginea generală asupra sistemului

O diagramă a cazurilor de utilizare reprezintă o colecție de cazuri de utilizare și actori care oferă o descriere generală a modului în care va fi utilizat sistemul, arată cum interacționează sistemul cu unul sau mai mulți actori, furnizează o privire de ansamblu a funcționalităților ce se doresc a fi oferite de sistem și asigură faptul că sistemul va produce ceea ce sa dorit.

În figura 2.2 este prezentată imaginea generala asupra sistemului.

Figura 2.2 – Imaginea generală a sistemului

Guest – membru de sistem neautentificat: are doar posibilitatea autentificării, după care la finalizarea cu succes devine user (utilizator).

User – membru autentificat al sistemului:

Are capacitatea de a vizualiza (grupuri de servere structurate ca file, serverele sunt afișate ca tabele de acordeon în contextul grupului), crearea, modificarea și ștergerea serverelor dedicate virtuale de diverse tipuri legate de acest utilizator – CRUD Server;

Are capacitatea de a utiliza funcționalități suplimentare pentru a gestiona serverele Cloud. Acesta este „Cloud Server Management” – această extensie se referă la întregul set de diferențe dintre utilizarea serverelor Cloud și a serverelor externe (de exemplu, atunci când creați un server Cloud, trebuie să specificați șablonul și oferta de servicii, dar nu este necesar să specificați adresa IP deoarece este responsabilitatea platformei Cloud). De asemenea, puteți specifica separat operațiunile specifice pe serverele Cloud, cum ar fi pornirea, oprirea, repornirea, schimbarea parolei pentru sistemul de operare instalat, obținerea accesului la consola;

Are capacitatea de a vizualiza, crea, modifica și șterge grupuri de servere legate de acest utilizator – „CRUD Server Group”.

Cloud – sistem extern sau într-o rețea locală, platforma web de stocare a fișierelor:

furnizează datele necesare despre entitățile sale la cererea sistemului fileCloud prin API-ul Web Cloud. Toate operațiunile legate de schimbarea stării serverelor Cloud.

„Job management” în diagrama este evidențiată separat, deoarece, de fapt, participă la toate celelalte cazuri de utilizare, excluzând operațiile de citire. Acest caz de utilizare este responsabil pentru sincronizarea subsistemului client cu serverul printr-un mecanism de gestionare a datelor.

2.2 Comunicarea sistemului

De luat în considerare diagramele de comunicare ale mai multor cazuri de utilizare care demonstrează structura și comunicarea modulelor software ale sistemului proiectat fileCloud.

Figura 2.3 – Diagrama de comunicare „primirea listei serverului”

Diagrama de comunicare „primirea listei serverului” afișează procesul prin care utilizatorul primește datele primare pentru vizualizare, și anume lista de servere, care se referă la cazul de utilizare al serverului CRUD. Când un utilizator vizitează pagina corespunzătoare, se face o cerere pentru a obține o listă a serverelor utilizatorului curent. Trebuie remarcat faptul că subsistemul client, înainte de a afișa șablonul HTML, inițializează multe cereri de acest tip, de exemplu, pentru a obține o listă de grupuri de servere, o listă de șabloane etc. Procesul de obținere a unei serii de servere a fost ales ca referință, demonstrând interconectarea completă între modulele software ale fileCloud.

Obiectele utilizate în diagramă:

Client subsystem – acesta este subsistemul client al fileCloud folosind AngularJS și reprezentat ca SPA. Acesta este un subsistem de vizualizare a rutei și a managementului. Utilizează API Web fileCloud pentru a gestiona subsistemul server.

Constructor of CS WEB API requests, Constructor CS WEB API de interogări – aceasta este interfața interacțiunii subsistemului serverului fileCloud cu API-ul Web Cloud, care utilizează extensia CURL pentru a trimite solicitări HTTP. Acest obiect traduce cererile din contextul fileCloud în contextul API Web Cloud, în conformitate cu cea mai recentă documentație de pe site-ul dezvoltatorilor.

Server handler, server manipulat – un set de clase ale subsistemului de servere care implementează procesarea cererii, referitoare la esența serverelor.

Server – este o poartă pentru interogarea tabelului reprezentând serverele bazei de date fileCloud.

Procesul de obținere a unei liste de servere este reprezentat de următoarele acțiuni:

obținerea listei serverelor de platforme Cloud (pasul 3-6);

preluarea listei de servere din baza de date FileCloud (pasul 7-8);

analizarea listelor, contabilizarea discrepanțelor și actualizarea bazelor de date FileCloud, dacă este necesar (pasul 9);

Obținerea unei liste de servere a platformei Cloud este inițializată de manipularea serverelor. Interfața este accesată de constructorul Cloud Web API, cererile pentru o listă de servere de platformă Cloud. Lista astfel obținută constă numai în servere Cloud și nu are câmpuri suplimentare, cum ar fi descrierea serverului și apartenența la un grup de servere.

Obținerea unei liste de servere din baza de date FileCloud este, de asemenea, inițializată de manipulatorul serverului. Lista obținută în acest fel conține servere existente anterior de ambele tipuri. Mai mult decât atât, pentru serverul extern toate informațiile obținute din baza de date sunt autosuficiente. Pentru serverul Cloud, informațiile obținute din baza de date sunt doar câmpuri suplimentare, cum ar fi descrierea serverului și apartenența la un grup de servere. Restul informațiilor necesare despre serverele Cloud la etapa de accesare a bazei de date au fost deja primite de la Cloud. Ambele liste sunt analizate, iar discrepanțele sunt înregistrate în Server Handler. Serverele externe rămân în același timp neschimbate (deoarece informațiile din Cloud nu le afectează, deoarece serverele externe sunt esența sistemului FileCloud). Pentru serverele Cloud, serverele noi sunt căutate în lista Cloud comparativ cu lista de baze de date și, dacă este necesar, sunt inserate noi obiecte în baza de date, adică în sistemul FileCloud. De asemenea, înregistrează serverele Cloud care nu se află în lista Cloud, dar sunt prezente în lista de baze de date. Platforma Cloud este sursa principală de date pe serverele Cloud, astfel încât diferența va duce la eliminarea serverelor Cloud deja irelevante din baza de date. Același lucru cu procesul de actualizare, adică dacă este necesar, datele din Cloud suprapun datele din baza de date, care trebuie actualizate la starea actuală.

Apoi, lista de rezultate este afișată pentru utilizator. Informațiile despre serverele externe sunt preluate complet din baza de date fileCloud, informațiile despre serverele Cloud sunt preluate din platforma Cloud și sunt completate cu informații din baza de date fileCloud.

Figura 2.4 – Diagrama de comunicare „Obținerea unei liste de șabloane”

Figura 2.5 – Diagrama de comunicare „Obținerea unei liste de grupuri de servere”

Obținerea unei liste de servere demonstrează accesul la două surse de informații – platforma Cloud și baza de date FileCloud. Procesele de afișare pentru un utilizator al altor liste, în general, pot fi descrise de aceeași diagramă de comunicare (cu absența unei componente de accesare a cloud-ului sau a bazei de date FileCloud).

o listă de șabloane (Figura 2.4), oferte de servicii și zone ale sistemului Cloud pentru care nu există o componentă a modelului FileCloud, ceea ce înseamnă că toate datele necesare vor fi obținute de pe platforma Cloud;

o listă a grupurilor de servere (Figura 2.5) sistem FileCloud, pentru care nu există nici un actor Cloud, ceea ce înseamnă că toate datele vor fi obținute de la modelul FileCloud.

Toate celelalte procese ale sistemului FileCloud sunt descrise în diagramele de comunicare de mai sus, cu singura diferență că manipulatorii și modelele corespund esenței procesului. De exemplu, crearea serverului extern poate fi descrisă printr-o diagramă (Figura 2.5, deoarece în acest caz, nu există nici un apel la Cloud, iar manipulatorul este înlocuit cu "Server Handler", iar modelul este înlocuit cu "Server". În mod separat, mecanismul de înregistrare și contabilitate a entităților de lucru merită menționat. Toate cererile sistemului FileCloud, care au ca scop schimbarea anumitor entități, nu doar căutarea, implică un mecanism de gestionare a datelor. Astfel, în ceea ce privește solicitările sincrone (de exemplu, la procesul de creare a unui nou grup de servere), după finalizarea cu succes a acțiunilor necesare (salvarea în baza de date), este accesat manipulatorul serverului, care la rândul său se referă la modelul Jobs, înregistrarea datelor în sistemul FileCloud. Pentru eficacitate se salvează marca de timp a tipului de lucru (pentru un proces, de exemplu, crearea sau ștergerea unui server etc.), contextul (identificatorul entității implicate în proces), precum și câmpul "în așteptare" este setat la fals. În ceea ce privește cererile de acțiune asincronă, același lucru, de exemplu, în cazul creării unui server Cloud, există o solicitare secvențială de a crea un server pentru platforma Cloud, apoi de a primi identificatorul de funcționare Cloud și numai după înregistrarea lucrării în FileCloud cu o cheie străină pentru operația Cloud. În acest stadiu nu există acces la baza de date FileCloud, deoarece rezultatul nu este corect. Pentru eficacitate, se stochează timpul, tipul, contextul, cheia străină pentru Cloud, precum și în câmpul "întârziat" este specificat true.

Activitățile amânate care corespund solicitărilor asincrone sunt actualizate atunci când subsistemul client al fileCloud este actualizat la lista operațiilor curente ale sistemului prin solicitări de interogare. Diagrama de comunicare corespunde, în acest caz, diagramei generale "Obținerea listei serverelor" (Figura 2.3) cu manipulatorul. Mai întâi, există o cerere din partea subsistemului client pentru a primi o listă de posturi după un timp. Procesorul de lucru selectează lucrările sincrone în timp și toate lucrările amânate. Pentru munca amânată, Cloud se adresează pentru obținerea statutului de finalizare a anumitor procese. După o lucrare asincronă completă, baza de date este actualizată prin intermediul operatorilor entităților corespunzătoare, de exemplu, lucrarea privind crearea serverului Cloud este finalizată – operatorul de server este chemat să îl înregistreze în baza de date. Pentru fiecare dintre aceste lucrări, operatorii corespunzători sunt de asemenea chemați să obțină datele necesare din baza de date folosind câmpul de context. De exemplu, atunci când creați un nou grup de server, identificatorul noului grup este preluat din câmpul "context", manipulatorul grupului de servere este accesat pentru a prelua date despre acest grup și, în final, lucrarea și rezultatele acesteia sunt incluse în lista de rezultate pentru afișare. Mai mult, subsistemul client are toate datele necesare pentru a-și actualiza starea la cea actuală, notificând utilizatorul prin notificări privind lucrările finalizate.

2.3 Lucru cu baza de date

Aplicația web FileCloud funcționează pe mai multe entități. Unele entități se referă numai la platforma Cloud (de exemplu, șabloane, oferte de servicii și zone), unele entități aparțin numai sistemului FileCloud (grup de servere, servere externe) și unele entități Cloud sunt completate cu date din sistemul FileCloud. Astfel, FileCloud folosește o bază de date, a cărei existență nu are sens fără o bază de date Cloud. Baza de date FileCloud completează informații despre entitățile Cloud (cu excepția entităților grupului de server, care este o entitate separată FileCloud). Luați în considerare o diagramă entitate-relație (Figura 2.6), care demonstrează structura bazei de date FileCloud.

Figura 2.6 – Diagrama bazei de date FileCloud

Comentarii privind structura bazei de date FileCloud:

Tabelul utilizatorilor reprezintă utilizatorii sistemului. Când un utilizator este inițial autentificat, o nouă intrare cu o cheie străină de utilizator a platformei Cloud este salvată în acest tabel;

Tabelul Server reprezintă servere externe și Cloud. Pentru serverul Cloud, este specificată cheia externă a serverului de platformă Cloud. Câmpul IP nu are sens să completeze serverele Cloud, deoarece de fiecare dată când se accesează un astfel de server, vi se solicită informații actualizate de la platforma Cloud, care atribuie automat adresele IP serverelor aferente. Lipsa de comunicare cu grupurile de servere indică faptul că serverul este în grupul implicit;

Tabelul de Group reprezintă grupuri de servere;

Tabelul Job, pentru activitățile amânate asociate cu procesele care rulează în contextul platformei Cloud, este specificată cheia externă a operației pe platforma Cloud. Această cheie poate fi apoi accesată prin API-ul Cloud Web pentru a verifica stadiul finalizării procesului.

2.4 Relațiile dintre clasele sistemului

Stratul de controlere, clasele de administrare a căilor de adrese URL FileCloud Web API reprezintă interfața API REST, implementarea funcționalității este mutată în stratul de servicii numit de nivelul controlorilor. Stratul de serviciu, dacă este necesar, se referă la el însuși atât în stratul funcțional, cât și în cel al depozitului, dacă este necesar, accesul la baza de date și la clasele special alocate.

Mai jos este o descriere a stratului de servicii și a relațiilor sale cu alte straturi, reprezentate de o listă de servicii specifice.

Application\Service\UserManager – acest serviciu este utilizat de controlor Application\Controller\UserController, care gestionează cererile pentru adrese URL

"rest/user". Serviciul oferă funcționalitatea autentificării, primind CSRF și terminând o sesiune de utilizator. În timpul autentificării, baza de date este accesată (în tabelul user) pentru a primi ID-ul de utilizator în contextul FileCloud prin intermediul Application\Repository\UserRepository.

Application\Service\ServerManager – acest serviciu este utilizat în principal de controlerul Application\Controller\ServerController, care gestionează cererile pentru URL-uri "rest/server". Serviciul oferă funcționalitate CRUD pe servere.

Pentru lucru cu baza de date sete utilizat extensia Application\Controller\ServerController, care gestionează solicitările pentru adresa URL "rest/server". Serviciul oferă funcționalitate CRUD pe servere. Pentru lucru cu baza de date se utilizează extensia Application\Repository\ServerRepository. De asemenea, acest serviciu este invocat de serviciul Application\Service\JobManager în funcție de obținerea listei de lucrări. Când starea finalizării cu succes a unei activități amânate asociate unui server Cloud a fost primită de pe platforma Cloud, Application\Service\JobManager apelează Application\Service\ServerManager pentru actualizarea rezultatul în baza de date.

Application\Service\GroupManager – în mare parte acest serviciu este utilizat de controlul Application\Controller\ServerController, care gestionează cererile prin URL ”rest/server”. Serviciul oferă funcționalitate CRUD pe servere.

Pentru lucru cu baza de date sete utilizat extensia Application\Repository\ServerRepository. De asemenea, acest serviciu apelează serviciul Application\Service\JobManager în funcție de obținerea listei de lucrări. Când starea finalizării cu succes a unei activități amânate asociate unui server Cloud a fost primită de pe platforma Cloud, Application\Service\JobManager apelează Application\Service\ServerManager pentru actualizarea rezultatului în baza de date.

Application\Service\CloudEntityManager – în mare parte acest serviciu este utilizat de controlul Application\Controller\CloudEntityController, care gestionează cererile prin URL “/rest/template” și ”/rest/zone”. Serviciul oferă funcții pentru obținerea unei liste de șabloane, oferte de servicii și zone ale platformei Cloud.

Application\Service\JobManager – în mare parte acest serviciu este utilizat de controlul Application\Controller\JobController, care gestionează cererile prin URL ”/rest/job”. Serviciul oferă funcționalitate pentru a obține o listă și pentru a crea o activitate, atât sincronă cât și asincronă, a sistemului Cloud. În serviciile de gestionare a serverului și grupuri de servere, cu fiecare acțiune pentru a crea, modifica sau șterge o entitate, este apelat un serviciul Application\Service\JobManager pentru crearea unei lucrări corespunzătoare. Pentru a lucra cu baza de date, este utilizat repozitoriul Application\Repository\JobRepository.

Application\Service\CloudApiManager – acest serviciu este utilizat de alte servicii, oferind metode care corespund creării de cereri către platforma Cloud. Fiecare metodă, utilizând extensia CURL php, construiește o cerere către Cloud în forma necesară, folosind argumentele de intrare – cu metoda corespunzătoare din API Web Cloud și setul corect de parametri. Când se creează date din Cloud, care are propria structură de prezentare, metodele de serviciu aduc aceste date la forma necesară în contextul FileCloud (redenumirea și extragerea datelor necesare pentru procesarea ulterioară de către serviciile entității).

Application\Service\ErrorHandler – acest serviciu este folosit pentru tratarea erorilor. Întreruperea procesării oricărei solicitări, cu excepția unei php \Exception ca și utilizator Application\Exception\FileCloud, duce la apelul către acest serviciu, care înregistrează rezultatele excepției din fișierul jurnal și transformă răspunsul pentru subsistemul client.

După ce am descris stratul de servicii, ne întoarcem la diagrama de clasă (Figura 2.7), care prezintă clase legate de entități de gestionare cum ar fi un server, un grup de servere și de lucru. Acestea sunt procese semnificative din punct de vedere arhitectural. Observăm imediat că în diagrama de clasă a subsistemului server, din motive de claritate, legăturile cu clasele care se implementează sunt omise:

gestionarea sesiunii de utilizatori a utilizatorului curent;

generând excepții FileCloudException;

moștenire de la clasele de utilitate ZF2;

gestionarea modelelor, ofertelor de servicii și a zonelor;

precum și clase de modele care reprezintă entități din aria tematică.

Figura 2.7 – Diagrama generală a claselor subsistemului server

În diagramă, fiecare clasă este marcată cu o culoare pentru a indica apartenența la stratul arhitectural: violet – stratul controlerului, verde – stratul de servicii, galben – stratul de depozitare. Relațiile dintre clase reflectă utilizarea lor reciprocă apelând instanța corespunzătoare și metodele acesteia utilizând managerul de servicii Zend Framework (implementând modelul Service Locator).

Observăm o caracteristică a stratului de controler, în care metodele de clase repetă aproape complet metodele din clasele corespunzătoare ale stratului de servicii. Este cauzată, în primul rând, de faptul că clasele de controlori, moștenind din clasa ZF2 Zend\Mvc\Controller\AbstractRestfulController, corespund aproape în totalitate solicitărilor individuale API FileCloud în conceptul REST. Astfel, setul de controler și metoda sa cu suficientă precizie localizează comportamentul dorit, determinând astfel lanțul de apeluri ulterioare.

De asemenea, menționăm faptul că ServerManager și GroupManager se folosesc reciproc. Această comunicare bidirecțională este cauzată de necesitatea validării cererilor și validării acestora. Deci, atunci când ștergeți un grup, este necesar să nu aparțină niciun server, altfel o eroare. Pentru aceasta, GroupManager, ca parte a validării, apelează metoda getListServerByGroup ($id) a clasei ServerManager, obținând astfel toate serverele aparținând grupului cu identificatorul $id. Un alt exemplu, atunci când se transferă un server dintr-un grup într-altul, este necesar ca acest grup să existe. Pentru a face acest lucru, există o metodă get ($id) a clasei GroupManager, care va returna un grup existent cu $id.

Următoarea explicație a diagramei se va referi la serviciul JobManager. Pe baza numărului mare de legături legate de aceasta, se poate părea că această clasă este strâns cuplată cu alte clase ale sistemului, care, în ansamblu, este inacceptabilă. Este necesar să se țină seama de faptul că această clasă se ocupă de gestionarea activității sistemului FileCloud, procesul pe care trebuie să îl înregistreze fiecare acțiune care schimbă starea datelor. Înregistrarea de locuri de muncă reflectă legăturile către JobManager din alte servicii (acțiune, contactarea registratorului pentru înregistrarea acțiunii). Legăturile de la JobManager către alte servicii sunt descrise din două motive. Implementarea unei activități asincrone amânate asociate cu serverele Cloud, pentru care JobManager, contactând CloudApiManager, obține un rezultat de succes al activității Cloud-ului și efectuează editările necesare prin intermediul serviciilor entităților relevante. Cel de-al doilea motiv, proxy-ul rezultatelor lucrărilor finalizate, astfel încât subsistemul client nu trebuie să facă o cerere separată după lucrarea primită pentru a primi toate informațiile despre instanța entității pe care a fost realizată lucrarea, JobManager în sine colectează informațiile necesare de la serviciile corespunzătoare.

Pentru o demonstrație vizuală a sistemului de servere, vom da mai jos o diagramă a procesului de ștergere a unui grup de servere și crearea unui server Cloud.

Diagrama succesivă a procesului de ștergere a grupului de servere prezentat în (Figura 2.8) reflectă bine principiile de execuție pe partea de server a cererilor legate numai de entitățile din sistemul FileCloud. Astfel, descrierea sa, în general, ne permite să înțelegem logica procesării cererilor pentru procese similare, de exemplu, crearea și schimbarea unui grup de servere, precum și funcționalitatea CRUD a serverului extern.

Figura 2.8 – Secvența procesului de eliminare a grupului de servere

O descriere generală a procesului de ștergere a unui grup de servere este prezentată în următoarele etape:

acțiunea care inițiază întregul proces este utilizatorul apăsând butonul de grup de ștergere din interfața utilizator a subsistemului client;

subsistemul client face o cerere HTTP către subsistemul server cu URL "/rest/group", metoda DELETE, identificatorul grupului care urmează să fie șters este transmis în parametri;

interogarea construită duce la apelarea metodei de ștergere ($id) a clasei GroupController, care este punctul de intrare descris în diagrama procesului;

apoi, în pașii 5-7, se face o verificare că grupul nu are conexiuni cu niciun server, este gol și poate fi șters. Pasul 9 se referă la o altă verificare de validare – existența grupului;

după toate verificările necesare, grupul este eliminat secvențial din baza de date și înregistrarea acestui proces de ștergere este sub formă de lucrare, identificatorul care este returnat în răspunsul subsistemului server la subsistemul client pentru a asigura sincronizarea.

Procesul de ștergere a unui grup de server are loc numai în contextul sistemului FileCloud, fără a utiliza un sistem Cloud extern. Crearea instanțelor diferitelor clase implicate în procesul descris este denumită "create ()", ceea ce presupune utilizarea managerului de servicii ZF2 pentru a injecta dependențe la cerere. De reținut că, datorită mecanismului de manipulare a erorilor descris anterior, în orice loc al procesului în care se detectează orice fel de eroare (inclusiv o verificare de validare a datelor nereușită), poate fi declanșată o excepție specială FileCloudException, care va transfera instantaneu controlul pe Application\Service\ErrorHandler. De asemenea, apelurile secvențiale către baza de date prin depozitele GroupRepository și JobRepository sunt protejate de mecanismul de tranzacții baze de date.

Diagrama evoluția procesului de creare a serverului este prezentată în (Figura 2.9). Facem câteva note. Definirea tipului de server creat depinde de parametrii transmiși în cererea subsistemului client.

Figura 2.9 – Evoluția procesului de creare a serverului

Atunci când se creează un server extern, operația sincronă este înregistrată, iar în răspunsul de la server, pe lângă identificatorul de operare, se afișează identificatorul serverului creat. Toate datele necesare despre serverul creat sunt deja disponibile în subsistemul client care a inițiat solicitarea, cu excepția identificatorului serverului. La crearea unui server Cloud, cererea de creare directă nu se referă la baza de date, ci la platforma Cloud, care returnează identificatorul cloud al lucrării. Apoi, are loc înregistrarea operației asincrone cu identificatorul cloud al lucrării și toate datele transmise pentru a crea serverul Cloud. Pentru lucrul sincron, a fost suficient să se înregistreze și identificatorii entității. Pentru lucrul asincron, la momentul respectiv, până la finalizarea lucrării, informațiile despre crearea ulterioară a entităților reprezentate în baza de date sunt stocate în contextul lucrării.

Figura 2.10 – Procesul de confirmare a activității privind crearea unui server Cloud

Diagrama procesul de confirmare a activității privind crearea unui server Cloud (Figura 2.10) demonstrează procesarea unei cereri de interogare pentru obținerea unei liste de locuri de muncă curente din subsistemul client.

În cadrul cadru există un singur scenariu din mai multe posibile – următoarea lucrare este selectată din întreaga listă de lucrări selectate (asincronă și sincronă, a căror durată de creare este mai mare decât timpul specificat în parametrii solicitării). Această lucrare este legată de serverul Cloud, iar platforma Cloud a returnat starea "finalizată cu succes" pentru operația Cloud corespunzătoare. Toate informațiile despre împrejurările finalizării lucrării sunt introduse în baza de date. Subsistemul client primește toate datele necesare pentru a actualiza datele la starea curentă.

3 Elaborarea sistemului

Elaborarea sistemului presupune implementarea aplicației web, pentru a ușura munca utilizatorului, deoarece aplicațiile web sunt mult mai ușor înțelese de utilizatori, deoarece ele oferă o experiență mult mai bună în utilizare.

Pentru realizarea platformei s-a utilizat limbajul de programare php.

Tehnologiile utilizate în aplicațiile Web reprezintă în general, acele limbaje de programarea utilizate la crearea de site-uri web complexe, interactive, al căror concept presupune stăpânirea cât mai detaliată a unor limbaje de scripting sau de programare și baze de date. În categoria tehnologiile Web se pot include o multitudine de limbaje de programare, cum ar fi PHP, JavaScript, ASP etc., iar ca baze de date pot fi utilizate

MySQL, MsSQL, Access etc.

Câteva aplicații Web întâlnite mai des sunt portalurile, forumurile, magazinele virtuale, formularele de înscriere, licitațiile on-line etc.

Acum câțiva ani, tehnologiile Web erau folosite doar de marile companii datorită, în principal, costurilor ridicate ale licențelor programelor de dezvoltare. În prezent, datorită dezvoltării tot mai accentuate a soluțiilor Open Source, oricine își poate permite realizarea aplicații web.

3.1 Tehnologii de elaborare a interfeței sistemului

Se pot enumera o serie de tehnologii folosite mai des în programarea aplicațiilor web dinamice, și anume:

HTML – Apărut la începutul anilor '90, datorită lipsei unui limbaj universal care să permită publicarea informației la nivel global, HTML a determinat dezvoltarea spectaculoasă a Internetului. HTML ( Hypertext Markup Language). Marcajele de tip HTML din cadrul documentului spun browser-ului cum să afișeze conținutul util al fișierului;

XHTML – reprezintă prescurtarea de la EXtensible HyperText Markup Language (denumirea oficiala a standardului). Practic este un înlocuitor modern al mai vechiului limbaj HTML;

CSS – Fișierul CSS (cascading style sheet – foi de stil în cascadă). Un fișier CSS este un fișier text cu extensia ".css" definind stiluri pentru paginile HTML. Fișierele CSS permit stilizarea în bloc a documentelor HTML cu un efort semnificativ mai mic decât în cazul stilizării elementelor de

pagină în cadrul fiecărui document HTML în parte, prin intermediul atributelor tagurilor;

JAVASCRIPT – este un limbaj de scripting dezvoltat la origine de Netscape, permițând scrierea de secvențe de program care se execută la apariția unui eveniment utilizator;

FLASH – este un mediu de lucru dezvoltat de compania Macromedia, cu ajutorul FLASH-ului se poate realiza un design de calitate, conținut interactiv, animații profesionale;

MYSQL – este un sistem de gestiune a bazelor de date relaționale, fiind o componentă cheie a limbajului PHP;

CGI – Common Gateway Interface – sunt scripturi scrise în orice limbaj de programare indiferent dacă este compilat sau interpretat, scripturi care sunt executate pe server;

ISAPI – Internet Server API – reprezintă alternativa celor de la Microsoft la CGI (Common Gateway Interface), rulabilă bineînțeles pe platforme Windows. Acesta poate fi scris în orice limbaj cu suport pentru dll-uri.

Rezultatul compilării va fi un fișier .dll. ISAPI are o serie de avantaje fata de CGI. O alternativă la ISAPI este NSAPI. Acesta se utilizează în cadrul serverului Netscape;

PHP și ASP apărute în 1994, respectiv 1996, sunt două limbaje puternice care au adus o schimbare în design-ul aplicațiilor web. Acestea, deși sunt diferite, au totuși o serie de similarități: ambele sunt interpretate, ambele generează scripturi (.php respectiv .asp), care pot fi combinate cu HTML, date de tip text etc. Limbajele oferă suport și pentru lucrul cu baze de date (MySQL, MsSQL, PostgreSQL, Oracle) – de fapt sunt intens folosite în acest sens. Limbajul ASP nu este un concept nou ci se bazează pe limbajele VBScript și JScript. Principalul dezavantaj al acestor doua limbaje este viteza. Acestea sunt lente deoarece fiecare accesare presupune procesarea și interpretarea lor și nu pot construi controale reutilizabile;

JSP – Java Server Pages – reprezintă o tehnologie de design al aplicațiilor web ce permite crearea acestor aplicații independente de platformă. Tehnologia se bazează pe limbajul de programare Java și marcatori XML. Avantajul JSP este reprezentat de administrarea facilă, independentă de platformă, separarea logicii aplicației de partea de interfață utilizator, performanța;

ASP.NET – este o nouă tehnologie pentru aplicații web elaborată de Microsoft, dar despre care nu se poate spune dacă este o urmare a ASP-ului, cu toate că păstrează compatibilitatea cu acesta. Există o serie de alte medii pentru proiectarea aplicațiilor web, fiecare cu avantajele și dezavantajele sale, dar cu un singur scop: crearea unor aplicații web interactive, securizate, cu timp de răspuns cât mai redus, dar care să ofere și o interfață grafică plăcută.

Cerința principală de îmbunătățire a stocării datelor din sistemele informatice existente este confidențialitatea. În timpul dezvoltării acestui sistem de informatic, această îmbunătățire a fost realizată. Următoarele reprezintă o descriere generală și o dovadă a îmbunătățirii calității sistemului.

Opțiunea de confidențialitate a sistemului este considerată importantă în timpul funcționării acestuia. Cerințele s-au ridicat la un risc crescut pentru clienți. Această cerință sa bazat pe posibilitatea obținerii eficienței necesare a sistemului și a calității corespunzătoare a funcționării care asigură această eficiență. Cerințele cu un risc crescut pentru client sunt mai puțin stricte, iar implementarea acestora este mai puțin costisitoare comparativ cu cerințele cu un risc acceptabil. Utilizarea acestei versiuni a cerințelor se datorează faptului că, în practică, poate fi impracticabilă (din cauza uzurii rapide, a utilizării subsistemelor dovedite anterior sau din alte motive) sau este imposibilă o verificare exhaustivă a funcționării unui sistem complex sub constrângeri reale. Ca urmare, garanția minimă pentru asigurarea calității funcționării este îndeplinirea cerințelor cu un risc sporit al clientului.

3.2 Modelul arhitectural Model-View-Controller (MVC)

Pentru implementarea aplicației mobile se utilizează modelul arhitectural Model-View-Controller(MVC), el fiind un șablon arhitectural folosit în industria de software development. Astfel el izolează cu succes partea logică de interfața proiectului, permițând întreținerea, dezvoltarea și testarea separată a celor două părți. În figura 3.1 este prezentat grafic modelul arhitectural MVC, în care după cum se poate vedea el împarte aplicația în 3 părți principale: model, view și controller.

Modelul reprezintă partea logică a aplicației. El răspunde de acțiunile și operațiile asupra datelor, înregistrarea anumitor clase destinate pentru prelucrarea informațiilor din diverse baze de date;

View-ul reprezintă partea grafică a aplicației, astfel el se ocupă cu afișarea datelor și are grija cum vede end-userul informația, în cazul dat pe ecranul dispozitivului mobil. Odată ce datele sunt prelucrate de către controller, către view sunt trimise rezultatele, iar acesta deja le afișează utilizatorului;

Controller-ul este creierul aplicației, el este componentul ce face legătura dintre model și view, dintre acțiunile utilizatorului și deciziile aplicației însăși. Controllerul folosește datele din model pentru a le prelucra, care mai apoi tirmite informațiile noi către view pentru a fi afișate utilizatorului.

Figura 3.1 – Model-View-Controller

Avantajele unei aplicații bazate pe MVC:

gestionare mumt mai simplă prin divizarea acesteia în modele, controlere si view-uri;

utilizarea unui model pentru mai multe view-uri, astfel separarea acestora permite utilizarea în multiple view-uri dar păstrând același model;

arhitectura permite reutilizarea codului;

simplifică controlul comportamentului modelelor;

permite adăugarea, modificarea sau chiar ștergerea interfețelor cu ușurință.

3.3 Descrierea modulelor

Implementarea. Aceasta aplicație a fost creată în mediul de dezvoltare XAMPP.

XAMPP este un pachet de programe free software, open source și cross-platform web server, care constă în Apache HTTP Server, MySQL database și interpretoare pentru scripturile scrise în limbajele de programare PHP. Panoul de control a fost conectat cu succes, a activat serverele Apache și MySQL care sunt responsabile pentru stocarea și utilizarea datelor într-o bază de date.

După pornirea serviciilor Apache si MySQL putem accesa phpMyAdmin.

Baza de date. O bază de date relațională are o colecție de elemente de date, toate fiind descrise și organizate în mod formal conform modelului propriu-zis. Datele dintr-o singură tabelă reprezintă o zonă, din care provine numele tipului bazei de date. Soluțiile intrinseci, tabelele pot avea relații definite reciproc între ele. În modelul relațional, fiecare tabel trebuie să identifice o coloană sau un grup de coloane, numite cheia primară, pentru a identifica în mod unic fiecare rând. O relație poate fi stabilită între fiecare rând din tabel și un rând dintr-un alt tabel, prin crearea unei chei, a unei coloane sau a unui grup de coloane într-un tabel care indică cheia primară a altui tabel. Modelul relațional oferă diferite nivele de rafinare a organizării și reorganizării meselor.

Această secțiune se concentrează pe ideea unei metode de programare bazate pe obiecte de bază php pentru construirea unei funcții de logare și înregistrare prin construirea mai multor clase de ajutor și a unor clase principale care sunt folosite pentru a construi o parte a proiectului. Majoritatea funcționalităților au fost obținute din materiale cu sursă deschisă și au fost personalizate, astfel încât acestea să poată fi utilizate în altă parte. Pentru a construi logarea și funcționalitatea de înregistrare, structura bazei de date a fost setată pentru a insera înregistrările și capacitatea de a citi din baza de date. În acest scop au fost solicitate trei tabele:

Tabelul utilizatorilor

Tabelul grupurilor

Tabelul Users_Session (stochează datele despre sesiuni la care clienții/utilizatorii sunt rugați să nu-și amintească să fie conectați).

În figura 3.2 este prezentat tabelul utilizatori, a fost proiectată având un conținut structural cu șapte coloane.

Figura 3.2 – Crearea tabelului utilizatori

Componentele tabelei utilizatorului:

id: – primul rând al tabelului este setat să aibă "id" ca nume și "INT" ca tip cu ‘int()” value’, “PRIMARY” Pentru a continua incrementarea ori de câte ori se furnizează date noi.

username: – acest câmp are un caracter variabil "VARCHAR" ca un "Tip" și un număr de identificare pentru "Lungime/valori".

password: – acest câmp are un "VARCHAR" ca un "Type" și un număr ascuns pentru „lungime/valori“. (Cu cât lungimea este mai mare, cu atât este mai puternică parola.)

salt: – acest câmp are un "VARCHAR" ca "Tip" și un număr limitat pentru "Lungime/valori".

name: – acest câmp are un "VARCHAR" ca un "Type" și un anumit număr pentru "Lungime/valori". (Numele pot fi uneori mai mari.)

joined: – acest câmp are "DATETIME" ca "Tip", care conținea în mod evident data și ora. Acesta conține informațiile de la data la care clientul/utilizatorul s-a conectat.

group: – are un "INT" ca un "Tip", care a fost grupul asociat pentru a identifica administratorul de la utilizatorul standard.

În figura 3.3 este prezentat structura tabelului utilizatori și conținutul.

Figura 3.3 – Tabelul utilizatori și conținutul

In figura 3.4 este prezentat tabelul grupuri, care are trei coloane ca "id", "nume" și "permisiuni".

Figura 3.4 – Tabelul grupuri

Componentele tabelului grupuri:

id: – acest câmp trebuie să fie setat ca "id" ca nume și "INT" ca "Tip" cu valoarea oricărui număr, "PRIMARY" cu un index, auto incrementare "(A_I)" pentru a continua incrementarea pe măsură ce noi date sunt furnizate tabelului.

name: – acest câmp are un "VARCHAR" ca un "Type" și un număr limitat pentru "Length/values", acesta este numele clientului/utilizatorului care este fie administrator, fie utilizator standard.

permission: – acest câmp este "TEXT", deoarece folosește un JSON (JavaScript Object Notation), obiect de șir pe care un utilizator specific are o permisiune.

User_session: acest tabel are trei coloane, unde se înregistrează sesiunile în care utilizatorul bifează ca sistemul să memoreze logarea. Principiul este că sistemul stochează un hash care se potrivește cu user_id și hash, dacă aceasta se potrivește și "cookie hash" se potrivește cu baza de date, atunci acel utilizator poate fi autentificat.

Figura 3.5 – Tabelul „user_session”

Componentele tabelului „user_session”:

id: câmpul "id" are "INT" ca "Tip" și o valoare a unui anumit număr, indexul este setat la "PRIMARY". Se măsoară automat valoarea incrementată ("A_I") pentru a continua creșterea, deoarece este disponibilă o nouă intrare de date.

user_id: – determină utilizatorul în cauză. Acest câmp are "INT" ca "Type" și un anumit număr pentru "Length/values". Aceasta stochează numele real al unui utilizator care ar fi recunoscut ca administrator sau utilizator standard.

hash: – acest câmp are doar "VARCHAR" ca tip de intrare.

3.4 Documentarea produsului realizat

Accesarea interfeței web a aplicației. Introducem adresa web pentru accesarea serverului cloud, în cazul dat serverul e pornit local pe un calculator, dar daca are setat accesul cuvenit de administratorul de rețea acesta poate fi accesat și din rețele locale mai mari sau chiar din rețeaua internet.

În figura 3.6 este prezentată pagina de logare a aplicației web cloud.

Figura 3.6 – pagina de logare a aplicației

Navigarea în interfața principală a utilizatorului

Odată ce s-a accesat interfața web principală a serverului, se pot adăuga fișiere, se pot eliminați fișiere și se pot efectua modificări pe privilegiile de acces stabilite.

Mai jos în figura 3.7 este prezentată interfața principală a utilizatorului.

Figura 3.7 – Interfața principală a utilizatorului

Puteți selecta unul sau mai multe fișiere sau foldere făcând clic pe miniaturile mici sau pe pictogramele care le reprezintă. Dacă doriți să selectați un fișier sau un dosar, o casetă de selectare mică este completată cu o verificare pentru a indica faptul că este selectat. Pentru a selecta toate fișierele din directorul curent, puteți face clic pe caseta de selectare din partea de sus a câmpului Aplicații fișiere, deasupra primului fișier sau a dosarului din listă. Dacă selectați mai multe fișiere, puteți șterge toate fișierele selectate sau le puteți descărca.

Căutarea fișierelor

Mai jos în figura 3.8 este prezentat un exemplu de căutare după cuvântul cheie „FCIM”.

Figura 3.8 – Căutarea fișierelor

În figura 3.9 este prezentat un exemplu de căutare după extensia „.docx”.

Figura 3.9 – Căutarea fișierelor după extensia „.docx”

Platforma de administrare

În figura 3.10 este prezentat meniul de gestionare a utilizatorilor și grupurilor de utilizatori. Pot fi utilizatori care au acces de „admin” care pot gestiona drepturile tuturor sau utilizatori simpli „users”.

Figura 3.10 – Gestionarea utilizatorilor și a grupurilor

Adăugarea fișierelor

Fișierele în interfața web pot fi adăugate cu ajutorul butonului de „uploud”, situat in parte stânga-sus sau simplu drag and drop .

Mai jos în figura 3.11 este prezentat un exemplu de adăugare a unui folder.

Figura 3.11 – Adăugarea datelor in cloud

În cazurile când sunt adăugate două sau mai multe fișiere/foldere cu același nume aplicația identifică și suntem întrebați dacă anulam adăugarea sau continuăm.

În figura 3.12 este prezentat un exemplu:

Figura 3.12 – Conflict de fișiere

4 Evaluarea economică a proiectului

Aplicația web de stocare de date face parte din categoria produselor cu scop comercial.

Scopul realizării proiectului este de a crea un mediu de stocare a datelor pe propriul calculator/server, dar nu servere necunoscute.

Evoluțiile tehnologice din ultimul deceniu și în primul rând dezvoltarea capabilităților de oferire a resurselor computaționale sub formă de servicii prin cloud constituie un puternic element perturbator atât la nivelul organizațiilor cât și la nivel individual. Modul clasic de utilizare al tehnologiei este provocat de noile modalități de operare ceea ce solicită eforturi considerabile pentru adaptarea la noile cerințe.

Avantajele economice oferite de utilizarea tehnologiei în această nouă arhitectură de lucru au atras numeroase categorii de utilizatori în a încerca integrarea acestor capabilități în spectrul de activități derulate. Se constată astfel o utilizare ridicată a elementelor tehnologice, utilizare care crește în complexitate pe măsură ce numeroase noi servicii sunt dezvoltate sau combinate pentru obținerea unor altor categorii de capabilități.

Implementarea noului cadru de lucru tehnologic în organizații poate oferi avantaje considerabile care permit optimizarea fluxurilor organizaționale, eficientizarea proceselor, scăderea costurilor și creșterea competitivității. Prin acestea, în cadrul unei organizații, tehnologia își depășește condiția clasică de suport a activităților desfășurate evoluând într-un element cu potențial catalizator dacă este implementată și utilizată corespunzător. În aceste condiții securizarea informației și a sistemelor informaționale se constituie ca o direcție de importanță strategică pentru organizație și necesită identificarea și utilizarea de instrumente adecvate pentru managementul acesteia.

Adoptarea unor tehnici bazate pe o arhitectură de management a riscului poate oferi instrumente pentru identificarea mecanismelor optime de securizare a informației și care să fie în concordanță cu obiectivele organizației.

Securitatea informațională este un proces dinamic care trebuie să răspundă nevoilor, vulnerabilităților, amenințărilor, precum și schimbărilor constante care au loc în mediul de operare. O abordare cuprinzătoare combină elemente tehnologice, oameni și procese prin utilizarea unui mecanism structurat care integrează securitatea informației și activitatea de management a riscurilor.

Această lucrare discută un proiect de dezvoltare a unui sistem informatic pentru stocarea distribuită a fișierelor. Sistemul se bazează pe principiile de a asigura confidențialitatea și integritatea maximă a datelor personale ale utilizatorilor și companiilor, consumatorilor finali ai produsului.

Sistemul informatic dezvoltat oferă utilizatorilor o capacitate sigură și transparentă de a salva și gestiona fișierele lor în stocare la distanță a fișierelor. Gestionarea utilizatorului, autentificarea și autorizarea sunt acceptate. Consumatorii produsului au acces la spațiul de stocare, indiferent de computerul de la care este conectat serviciul.

Produsul dezvoltat este un produs finit de vânzare pe piață. Ca audiență țintă a acestui sistem ar trebui să fie considerate întreprinderi atât ale întreprinderilor mici, cât și ale întreprinderilor mari. Persoanele fizice pot folosi de asemenea dezvoltarea pentru a lucra cu fișiere personale. Pentru a extinde numărul de clienți, este planificată să le oferiți clienților potențiali o perioadă liberă de cunoaștere a produsului, după care să li se ofere posibilitatea de a trece la un abonament plătit cu o reducere.

Cloud-ul oferă servicii computaționale prin intermediul unei rețele de calculatoare, în special Internetul. În sens mai larg, cloud se referă la aplicațiile și serviciile care rulează pe sisteme de rețea distribuite, care folosesc tehnicile de virtualizarea resurselor și care pot fi accesate în mod general prin intermediul Internetului, folosind protocoalele și serviciile standard de rețea. Cloud-ul asigură transparența resurselor fizice și a configurațiilor acestea, utilizatorii finali având percepția că resursele de care dispun sunt teoretic nelimitate. Alți autori renunță să caute/ofere definiții concrete ale conceptului, preferând să prezinte caracteristicile esențiale ale cloud-ului:

Scalabilitate masivă;

Abilitatea de a aloca cu ușurință resurse;

O platformă de management a serviciilor.

Menționăm că în opinia generală printre caracteristicile esențiale este menționată și noțiunea de Securitate cu toate implicațiile triadei. În demersul nostru de a accede spre zona tehnică spre zona tehnică, o altă caracteristică de bază este auto-scalarea cunoscută și sub numele de previzionare, care asigură flexibilitatea necesară alocării corecte în timp a resurselor de prelucrare. În sensul acestei afirmații, previzionarea nu este același lucru cu configurarea inițială a mediului de lucru intern (on-premise) și a celor din cloud pentru accesul la servicii: configurare rețea, implementarea mecanismelor de balansare a cererilor, configurarea firewall-urilor, configurarea inițială a imaginilor serverelor. Auto-scalarea se referă la menținerea unei alocări dinamice a resurselor de procesare în funcție de numărul cererilor de procesare în timp real. De exemplu, un cluster din cloud format din două noduri de procesare poate fi configurat să oprească funcționarea unuia din noduri (decomisionare) în momentul în care cantitatea de cereri de prelucrare este redusă. În contextul unei creșteri a cererilor, bazându-se pe indicatorii de calitate a latenței în oferirea răspunsurilor, sistemele de management ale cloud-ului, folosind funcțiile de auto-scalare pornesc la propriu serverul de comisionat fără a fi necesară intervenția administratorilor în acest scop. Utilizând același mecanism de monitorizare a încărcării cu operațiuni de procesare, provizionarea alocă resurse suplimentare de cloud, care inițial nu au fost prevăzute. Din punct de vedere economic auto-scalarea presupune un mecanism de economisire a resurselor și implicit, facturi mai mici, provizionarea presupune plăți suplimentare pentru putere de procesare în vederea îndeplinirii unei sarcini de lucru punctuale. Scalabilitatea în alocarea resurselor a apărut înaintea tehnologiilor cloud cu scopul de a construi arhitecturi de prelucrare a datelor care să combată efectele negative care afectează experiența de lucru a utilizatorilor(Wilder, 2012) în momentul în care încearcă rularea unor procese masive iar timpul de răspuns este în scădere. Din punct de vedere al aplicațiilor scalabilitatea este măsurată prin numărul de utilizatori care pot accesa și utiliza în parametrii acceptabili aceeași resursă. Punctul în care utilizatorii nu se mai pot conecta la acea resursă este cunoscut sub numele de limită de scalabilitate. În scalabilitatea pe verticală, optimizarea procesului și obținerea de indicatori superiori de accesibilitate, se realizează prin suplimentarea, sau adăugarea, sau achiziția de dispozitive hardware la cele existente: procesor, memorie RAM, spațiu de stocare, lățime de bandă de rețea. Altă formă de manifestare a scalabilității este scalabilitatea pe orizontală care presupune alocarea de putere de calcul prin adăugarea unor noi noduri (alte calculatoare destinate procesării aceleiași cereri). Din punct de vedere fizic scalabilitatea pe orizontală este mai scumpă, dar ea a devenit eficientă și aplicabilă atât în local (on-premise) cât și în cloud, în contextul utilizării tehnologiilor de virtualizare. În completarea principalelor caracteristici ale cloud-ului, alți autori (Mather, Kumaraswamy, & Latif, 2009) identifică noile oportunități de afaceri ale conceptului și introducând lista de caracteristici esențiale conceptele de: utilizare partajată (multi-tenancy), plata doar pentru cât utilizezi (pay-as-you-go) și autoservire (self-service).Partajarea resurselor sau multi-tenanța9este diferită de modelele clasice de prelucrare(centrele de calcul locale), care presupun deținerea unor echipamente specializate (servere) configurate și izolate prin securizare în mod corespunzător. Aceste resurse fizice pot executa operațiuni de procesare doar pentru proprietarul lor. În cloud, resursele fizice aparțin de drept unei companii care furnizează servicii cloud prin partajarea acestor resurse către clienții săi. Izolarea accesului se realizează pe mai multe straturi: nivel rețea, nivel mașină virtuală și nivel aplicație, stratul fizic de funcționare a serviciilor fiind complet transparent față de utilizatori. Modelul economic al cloud-ului se bazează pe principiul: plătești atât cât utilizezi (pay-as-you-go) referindu-se la puterea de prelucrare și stocare alocată execuției unui proces, cât și pe durata utilizării acestora. Fiecare contract de furnizare a acestor servicii conține în mod detaliat prețul pe unitate de procesare, RAM, aplicații, capacități de stocare, sau sunt oferite pachete predefinite de mașini virtuale, care conțin configurațiile și aplicațiile dorite. Reducerea costurilor pentru pachetele pre-configurate se realizează prin configurarea tehnică a auto-scalabilității. Autoservirea(self-service)în termenii tehnologiei informației este un concept elaborat bazat pe capacitatea utilizatorilor din business de a utiliza instrumente IT în îndeplinirea sarcinilor de serviciu. Knowledge worker (lucrătorul cu cunoștințele), este principalul beneficiar al conceptului de self-service. Autoservirea cu instrumente de procesare este totuși destul de des întâlnită în procesele de alocare a spațiului pe discurile companiei sau în instrumentele de lucru colaborativ cu sunt portalurile bazate pe tehnologiile SharePoint. Din punct de vedere tehnic self-service presupune utilizarea unor instrumente simple pentru utilizator în vederea construirii unui mediu transparent complex de execuție a anumitor operațiuni. Instrumentele de asistență a operațiunilor (wizard) și-au dovedit atractivitatea chiar de la apariția lor în primele pachete software cu interfață grafică. Dar în partea ”nevăzută” alor aplicațiile, sistemele de management și infrastructurile de aplicații cloud trebuie să fie capabile să execute operațiuni, uneori de o complexitate deosebită. În deservirea acestor tipuri de cereri fiecare infrastructură cloud trebuie să conțină un set de instrumente specifice de automatizare a operațiunilor, prin folosirea unor scripturi bazate pe linii de comenzi intuitive și cu suficient de mulți parametri încât să poată fi folosite în cât mai multe cazuri.

4.1 Planul calendaristic

Obiective

Obiectivele principale ale proiectului:

Crearea unui sistem, care are în componență o aplicație web;

Dezvoltarea unei platforme de stocare a fișierelor in siguranță și comod de utilizat;

Dezvoltarea panoului de control;

asigurarea securității și confidențialității datelor;

și altele.

Evaluarea nivelului de lucru

Etapa de pregătire [01.10.2018 – 22.12.2018]:

primirea sarcinii;

cercetarea domeniului de lucru;

analiza sistemului actual;

elaborarea funcționalităților noi și eliminarea celor inutile;

cercetarea materialului didactic necesar.

Etapa de elaborare [01.02.2019 – 17.04.2019]:

descrierea amănunțită a platformei care urmează a fi creată;

elaborarea caietului de sarcini;

proiectarea platformei;

compararea platformei cu alte produse pe piață.

Etapa de finisare [01.04.2018 – 22.05.2018]:

crearea bazei de date de simulare;

crearea design-ului proiectului;

dezvoltarea modulelor;

integrarea modulelor;

testarea sistemului.

În tabelul 5.1 este reprezentat planul calendaristic de realizare a aplicației web de stocare a datelor. Unitatea de măsură este ora, ceea ce reprezintă durata totală de lucru asupra unei anumite acțiuni.

Tabelul 5.1 – Planul calendaristic

4.2 Analiza SWOT

Pentru a concluziona dacă un sistem este rentabil sau nu, este necesar de făcut analiza SWOT precum este realizat în tabelul 5.2

Măsuri organizaționale de diminuare a riscurilor:

crearea unei oferte avantajoase companiilor ce vor beneficia de platformă, făcând o investiție în crearea sistemului, vor beneficia de înregistrare gratuită în sistem;

introducerea unei taxe lunare de înregistrare pe platformă la un preț avantajos;

expedierea cererilor de acces la administrație și expunerea propunerilor de îmbunătățire a platformei.

Tabelul 5.2 – Analiza SWOT a platformei web cloud

4.3 Calculul indicilor economici

Imobilizări corporale și necorporale

În cadrul realizării platformei, s-au utilizat resurse sub forma de active materiale sau nemateriale pe termen lung. Acesta este indicat în tabelul 5.3.

Tabelul 5.3 – Imobilizări corporale și necorporale

Consumuri directe de materiale

Consumuri directe de materiale – reprezintă valoarea materialelor, utilizate în procesul de producție incluse în costul produselor finite: elemente cu caracter material, utilizarea cărora este necesară în proiect, conform tabelului 5.4.

Tabelul 5.4 – Consumuri directe

Cheltuieli directe pentru retribuirea muncii Cerințele către personal:

Programator: Tehnologii moderne de programare; limbaje de programare (Php, JS, NodeJS, Swift, altele); metode de lucru în echipă; tehnologii de programare și administrare a bazelor de date; șabloane de proiectare Software; elaborarea softului pentru platformele mobile (Android, iOS); elaborarea aplicațiilor web; cunoștințe în rețealistică; tehnologii moderne de securitate, si altele.

Administrator de BD: cunoștințe profunde în SQL și Oracle, tehnologii de programare și administrare a bazelor de date; cunoștințe în rețealistică; tehnologii moderne de securitate.

Designer: cunoștințe avansate în Photoshop și alte aplicații de modelare, cunoștințe în domeniul culorilor, și altele.

Team Lead: Tehnologii moderne de programare; limbaje de programare (C, C++, C#, Php, JS, Swift, altele); metode de lucru în echipă; tehnologii de programare și administrare a bazelor de date; șabloane de proiectare Software; elaborarea softului pentru platformele mobile (Android, iOS); elaborarea aplicațiilor web; cunoștințe în rețialistică; tehnologii moderne de securitate, modalități de organizare a lucrului în echipă, cunoștințe bune în limba engleză.

QA inginer : cunoștințe în limba engleză, toate metodele de testare a produsului program, cunoștițe în lucrul cu baza de date, etc.

Tabelul 5.5 cuprinde datele calculului cheltuielilor directe pentru redistribuirea muncii conform funcției angajatului si volumului de ore lucrate.

Tabelul 5.5 – Calculul cheltuielilor directe pentru retribuirea muncii

Conform datelor din tabelul 5.5, pentru remunerarea muncii au fost cheltuite 45 065 lei. Totalul reprezintă Frm – Fondul de Retribuire a Muncii, în baza căruia se calculează suma contribuțiilor în Fondul Social (FS) – 18 % și valoarea primei de asigurare medicala obligatorie (AM) – 4,5%.

FAS = FRM × Cfs(%) (5.1)

unde:

FAS- Fondul de Asigurări Sociale,

FRM- Fondul de Retribuire a Muncii ,

Cfs – cota contribuțiilor de asigurări sociale de stat obligatorii, se aprobă în fiecare an prin Legea Bugetului asigurărilor sociale de stat. Conform „Legii bugetului asigurărilor sociale de stat pe anul 2019” contribuția la bugetul asigurărilor sociale de stat obligatorii, suportată de angajator, constituie 23% din fondul de remunerare a muncii.

FAM = FRM × Cam(%) (5.2)

unde:

FAM – fondurile asigurării obligatorii de asistență medicală;

Cam – Cota primei de asigurare obligatorie de asistență medicală, se aprobă în fiecare an prin Legea Republicii Moldova „Privind fondurile asigurării obligatorii de asistență medicală”. Conform „Legii privind fondurile asigurării obligatorii de asistență medicală pe anul 2019”, cota primei de asigurare obligatorie de asistență medicală suportata de angajator constituie 4,5 % din fondul de remunerare a muncii.

FAS =45065,00× 18% = 8111,7 lei (5.1`)

FAM = 45065,00 × 4,5% = 2027,92 lei (5.2`)

La final calculăm cheltuieli de retribuire a muncii total pentru a cheltuielile necesare proiectului pentru salarizare.

ChRM = FRM + FAS + FAM (5.3) ChRM =45065,00 + 8111,7+2027,92=55204,62 lei (5.3’)

Astfel utilizând prevederile legislației în vigoare vom calcula venitul net anual și respectiv suma impozitului pe venit transferat la bugetul de stat, cât și reținerile în fondul social și contribuțiile de asigurări medicale achitate de angajat.

Presupunem că venitul brut anual al programatorului este de 80 320 lei.

Calculăm reținerile în fondul pensionar (FP) și contribuții asigurări medicale (FAM): FP = 6% × 80320 =4819,2 lei, FAM = 4,5% × 80320 = 3614,4 lei.

Calculul venitului impozabil:

VI = VB – FP – FAM – SP – SiP – SM (5.4)

unde:

VI – venitul impozabil;

VB – venitul brut;

FP – fondul de pensionare (asigurări sociale);

FAM – fondul de Asigurare Medicală;

SP – scutirea personală;

SiP – scutirea pentru persoana întreținută; SM – scutirea personală majoră.

Folosind formula (5.4) se efectuează calculele pentru determinarea venitului impozabil:

VI = 80320 – 4819,2 – 3614,4 – 11280 = 60606,4 lei.

Se calculează suma impozitului pe venit:

IV = VI – I (5.5)

unde:

I – cota de impozitare a persoanei fizice.

IV = 33000 × 7%+(60606,4 – 33000) ×12%=2310+4969,15 = 7 279,15 lei.

Se calculează suma venitului net aplicând cotele de impozitare în vigoare:

VN = VB – IV – FP – FAM (5.6)

unde:

VN- venitul net;

VB – venitul brut;

IV – impozit pe venit;

FP – fondul de pensionare (asigurări sociale);

FAM – prima de Asigurare Medicală;

VN = 80320 – 7279,15 – 4819,2 – 3614,4 = 64 607,25 lei.

4.4 Consumuri indirecte

Pentru realizarea acestui proiect au fost utilizate și consumuri indirecte. Conform tabelului 5.6, pe perioada realizării acestui proiect au fost achitate arenda încăperii și serviciile internet. Aceste consumuri indirecte au fost utilizate timp de 4 luni.

Tabelul 5.6 – Consumuri indirecte

Fondul de amortizare a imobilizărilor corporale

Uzura mijloacelor fixe reprezintă repartizarea sistematică a valorii uzurpabile a mijloacelor fixe în decursul duratei de funcționare utilă. Norma uzurii se calculează în dependență de durata utilizării activului. Durata utilizării activului se determină după categoria lui. AMTL – 3-5 ani, ANTL – 2-3 ani.

FA = MFi : DFU × T1 (5.7)

unde:

FA – fondul amortizării, lei;

MFi – valoarea de intrare;

T1 – durata proiectului;

DFU – durata de funcționare utilă .

Uzura activelor nemateriale cu termen lung de utilizare se va calcula pentru fiecare mijloc fix conform metodei casării lunare. Astfel fondul de amortizare pentru iMac, PC și Telefonul folosit în cadrul elaborării proiectului calculate conform formulei (5.7) este:

FA (iMac) = 1100 : (5 × 12) × 4 = 733,33 lei

FA (pc) = 6000 : (5 × 12) × 4 = 400 lei

Calcularea fondului de amortizare pentru Enterpise Architect, Microsoft Word și Adobe Photoshop CC folosite în cadrul elaborării proiectului:

FA (Enterprise Arhitect) = 6450 : 12 × 1 = 537,5 lei

FA (Microsoft Word) = 6250 : 12 × 1 = 520,8 lei

FA (Adobe Photoshop CC) = 8560 : 12 × 1 = 713,3 lei

Astfel fondul de amortizare pentru mijloacele fixe folosite în cadrul elaborării proiectului sunt:

FA total = 733,33 + 400 + 200 + 537,5 + 520,8 + 713,3 = 3104,9 lei

4.5 Costul de elaborare a proiectului

Costul de elaborare reprezintă totalitatea cheltuielilor, corespunzătoare consumului de factori de producție, pe care agenții economici le efectuează pentru producerea și vânzarea de bunuri materiale sau prestarea de servicii. Prețul de cost se calculează pe o unitate, conform tabelului 5.7. Dacă se elaborează o pagină web sau o aplicație, atunci va fi prețul de cost al elaborării, dar dacă în cadrul proiectului se planifică multiplicarea produsului, atunci este nevoie de calculat costul de elaborare al unei copii.

Tabel 5.7 – Costul de elaborare

Calculul economic-financiar finale

Să presupunem vindem 50 de unități pentru centrul comercial MallDova, 20 de unități pentru magazinul Enter, 30 de unități pentru magazinul Darwin, astfel putem face calculul indicatorilor economico-financiari dacă prețul unei unități va fi de 3000 lei.

Calculăm venitul brut de vânzări oferite pentru comercializare inclusiv TVA

CAB = Q * Preț = (51+23+37) * 3000 = 333000 lei ( inclusiv TVA)

Calculăm venitul net de vânzare

CAN = CAB – TVA

CAN = = 277500 lei

Profitul brut la momentul realizării proiectului se va calcula în modul următor

PB = CAN – CT= 277500 – 69172,95 = 208327,05 lei

Profitul net îl vom calcula prin deducerea taxelor și impozitelor în vigoare care sunt de 12% anuale din suma impozitabilă

PNet = PB – IP = 208327,05 – 208327,05 * 12% = 183327,8 lei

Se calculează rentabilitatea implementării proiectului

RC = = = 65 %

Reieșind din calculele efectuate sa stabilit că proiectul dat va avea o rentabilitatea de 65%.

Actualmente din cele trei magazine care au procurat o sută de produse se evidențiază o rentabilitate foarte bună, ceea ce înseamnă că aduce un adaos companiei care va putea fi îndreptat la dezvoltarea ei.

Concluzii

Ca rezultat al lucrărilor efectuate în cadrul acestui proiect, a fost elaborat un sistem informatic de stocare a fișierelor, care îndeplinește cerințele specificate.

A fost proiectată arhitectura software a sistemului informatic care îndeplinește cerințele de securitate. În procesul de implementare a arhitecturii descrise, sistemul de informații al stocării distribuite a fișierelor a fost creat ca componente separate. Astfel, se poate considera că scopul acestui proiect a fost realizat.

În cadrul implementării aplicației a fost utilizat modelul arhitectural MVC, pentru o structurare mult mai simplă a codului și divizarea acestora pe componente mai mari precum ar fi modelele, controllerele și interfața utilizatorului. Pentru realizarea conexiunii cu serverul se utilizează module speciale care transmit și preiau datele de pe server prin cererile HTTP, iar datele primite fiind in format JSON sunt prelucrate și transformate în modele care apoi sunt trimise spre controller care le prelucrează și le încarcă în interfața grafică.

În urma efectuării analizei economice am ajuns la concluzia că fiecare aplicație are un anumit preț, iar în cazul dat prețul pentru implementarea acesteia se calculează în dependență de numărul de ore lucrate pentru a putea primi un preț real pentru dezvoltarea aplicației.

Bibliografie

Tehnologii si aplicații web [Resursă electronică] – Regim de acces: https://www.researchgate.net/publication/215527999_Tehnologii_si_aplicatii_web

Sistem informațional [Resursă electronică] – Regim de acces: http://www.zota.ase.ro/simp/Sistem%20informational.pdf

What is Unified Modeling Language (UML)? [Resursă electronică] – Regim de acces: https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-uml/

Modelarea Cazurilor de Utilizare [Resursă electronică] – Regim de access:http://inf.ucv.ro/~mihaiug/courses/is/lab/lab3-4.pdf

Criticism [Resursă electronică] – Regim de acces: http://en.wikipedia.org/wiki/Php#Criticism

Cloud API Documentation [Resursă electronică] – Regim de acces: https://Cloud.apache.org/api/apidocs-4.3/TOC_User.html

HTTP Status Code [Resursă electronică] – Regim de acces: http://www.restapitutorial.com/httpstatuscodes.html

Mell P. The NIST Definition of Cloud Computing [Resursă electronică] – Regim de acces: http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf

Find your perfect cloud adoption pattern [Resursă electronică] – Regim de acces: https://www.ibm.com/blogs/cloud-computing/2015/03/03/find-your-perfect-cloud-adoption-pattern/#LinkedIn

Google Web Toolkit [Resursă electronică] – Regim de acces: http://code.google.com/webtoolkit/overview.html

Web Forms 2.0 [Resursă electronică] – Regim de acces: https://whatwg.org/specs/web-forms/current-work/

XForms 1.1 [Resursă electronică] – Regim de acces: https://www.w3.org/TR/xforms11/

September 2016 Web Server Survey [Resursă electronică] – Regim de acces: https://news.netcraft.com/archives/2016/09/19/september-2016-web-server-survey.html

What is a web server? [Resursă electronică] – Regim de acces: https://developer.mozilla.org/en-US/docs/Learn/Common_questions/What_is_a_web_server

6 activități ideale pentru cloud [Resursă electronică] – Regim de acces: https://products.office.com/ro-ro/business/articles/6-tasks-ideal-for-the-cloud-cloud-storage-and-beyond

Ce este stocarea in cloud? [Resursă electronică] – Regim de acces: https://www.veracomp.ro/stiri/ce-este-stocarea-in-cloud

Anexa A

loghin.php

<?php /** @var $l OC_L10N */ ?>

<!–[if IE 8]><style>input[type="checkbox"]{padding:0;}</style><![endif]–>

<form method="post" name="login">

<fieldset>

<?php if (!empty($_['redirect_url'])) {

print_unescaped('<input type="hidden" name="redirect_url" value="' . OC_Util::sanitizeHTML($_['redirect_url']) . '" />');

} ?>

<?php if (isset($_['apacheauthfailed']) && ($_['apacheauthfailed'])): ?>

<div class="warning">

<?php p($l->t('Server side authentication failed!')); ?><br>

<small><?php p($l->t('Please contact your administrator.')); ?></small>

</div>

<?php endif; ?>

<?php if (isset($_['internalexception']) && ($_['internalexception'])): ?>

<div class="warning">

<?php p($l->t('An internal error occured.')); ?><br>

<small><?php p($l->t('Please try again or contact your administrator.')); ?></small>

</div>

<?php endif; ?>

<p id="message" class="hidden">

<img class="float-spinner" src="<?php p(\OCP\Util::imagePath('core', 'loading-dark.gif'));?>"/>

<span id="messageText"></span>

<!– the following div ensures that the spinner is always inside the #message div –>

<div style="clear: both;"></div>

</p>

<p class="grouptop">

<input type="text" name="user" id="user"

placeholder="<?php p($l->t('Username')); ?>"

value="<?php p($_['username']); ?>"

<?php p($_['user_autofocus'] ? 'autofocus' : ''); ?>

autocomplete="on" autocapitalize="off" autocorrect="off" required />

<label for="user" class="infield"><?php p($l->t('Username')); ?></label>

<img class="svg" src="<?php print_unescaped(image_path('', 'actions/user.svg')); ?>" alt=""/>

</p>

<p class="groupbottom">

<input type="password" name="password" id="password" value=""

placeholder="<?php p($l->t('Password')); ?>"

<?php p($_['user_autofocus'] ? '' : 'autofocus'); ?>

autocomplete="on" autocapitalize="off" autocorrect="off" required />

<label for="password" class="infield"><?php p($l->t('Password')); ?></label>

<img class="svg" id="password-icon" src="<?php print_unescaped(image_path('', 'actions/password.svg')); ?>" alt=""/>

</p>

<?php if (isset($_['invalidpassword']) && ($_['invalidpassword'])): ?>

<a id="lost-password" class="warning" href="">

<?php p($l->t('Forgot your password? Reset it!')); ?>

</a>

<?php endif; ?>

<?php if ($_['rememberLoginAllowed'] === true) : ?>

<input type="checkbox" name="remember_login" value="1" id="remember_login" />

<label for="remember_login"><?php p($l->t('remember')); ?></label>

<?php endif; ?>

<input type="hidden" name="timezone-offset" id="timezone-offset"/>

<input type="hidden" name="requesttoken" value="<?php p($_['requesttoken']) ?>" />

<input type="submit" id="submit" class="login primary" value="<?php p($l->t('Log in')); ?>" disabled="disabled"/>

</fieldset>

</form>

<?php if (!empty($_['alt_login'])) { ?>

<form id="alternative-logins">

<fieldset>

<legend><?php p($l->t('Alternative Logins')) ?></legend>

<ul>

<?php foreach($_['alt_login'] as $login): ?>

<li><a class="button" href="<?php print_unescaped($login['href']); ?>" ><?php p($login['name']); ?></a></li>

<?php endforeach; ?>

</ul>

</fieldset>

</form>

<?php } ?>

Similar Posts