| Naslov: | Web application development with multi-tenancy and metadata-driven architecture : master's thesis |
|---|
| Avtorji: | ID Magdić, Ivan (Avtor) ID Kosar, Tomaž (Mentor) Več o mentorju...  ID Majninger, Sandi (Komentor) |
| Datoteke: | MAG_Magdic_Ivan_2021.pdf (1,10 MB) MD5: 836A467BD38AE392A7A32EC867A6259A PID: 20.500.12556/dkum/bf6009a3-923f-4d16-8d43-1db8bec94bab
|
|---|
| Jezik: | Angleški jezik |
|---|
| Vrsta gradiva: | Magistrsko delo/naloga |
|---|
| Tipologija: | 2.09 - Magistrsko delo |
|---|
| Organizacija: | FERI - Fakulteta za elektrotehniko, računalništvo in informatiko
|
|---|
| Opis: | Podjetja in stranke želijo stroške gostovanja in programske opreme čim bolj omejiti. Z aplikacijami, ki imajo arhitekturo za določenega najemnika in nato gostijo kot posamezno instanco, se stroški gostovanja linearno povečujejo na najemnika. Pri večnajemniški arhitekturi podjetja uporabljajo iste aplikacije, storitve in podatkovne baze, kar zmanjšuje stroške gostovanja, razvoja in vzdrževanja. Večnajemniška arhitektura mora zagotoviti zasebnost podatkov posameznih najemnikov in nadgradljivost aplikacije.
To magistrsko delo opisuje arhitekturo programske opreme, ki je nadgradljiva, nastavljiva in učinkovita za več najemnikov. Delo se osredotoča na večnajemniško arhitekturo, oblikovano v programskem jeziku PHP z uporabo okvira Laravel za določanje trdne arhitekture aplikacij. Vse to je narejeno za boljše razumevanje zmogljivosti, varnosti, izvajanja in vloge večnajemniške arhitekture aplikacij. Delo podrobneje pojasnjuje večnajemniško arhitekturo, metapodatkovno arhitekturo in tri pristope k podatkovnim bazam. Pojasnjuje, da je večnajemniška programska aplikacija vrsta gostujoče programske opreme, ki različnim najemnikom služi posamezno iz ene instance aplikacije. Najemniki so lahko ena stranka, organizacija ali celo podjetje. Magistrsko delo primerja večnajemniško arhitekturo z enoinstančno ter enonajemniško arhitekturo. Večnajemniška arhitektura se od večinstančne razlikuje po tem, da ima večinstančna arhitektura več (različnih) kopij programske opreme, ki služi strankam, medtem ko ima večnajemniška eno samo instanco programske opreme na strežniku, ki služi več najemnikom. Pojasnjena je tudi arhitektura večnajemniške podatkovne baze. Ločene podatkovne baze, skupne podatkovne baze, skupne sheme, ter skupne podatkovne baze, ločene sheme so trije različni pristopi, obravnavani v magistrskem delu. Poglavju o večnajemniški arhitekturi sledi razlaga metapodatkovne arhitekture, razloženo pa je tudi, kako lahko zmanjša povezavo med poslovno in programsko implementacijo, izboljša prilagodljivost oblikovanja in poveča ponovno uporabo sistema. Podrobno je opisano, kako je Force.com, ustvarjalec največje CRM storitve na trgu, implementiral metapodatkovno arhitekturo v svoje aplikacije. Poleg razlage arhitektur, na katerih temelji prototipna aplikacija, je predstavljena tudi razlaga sestavnih delov sistema aplikacije. Prototipna aplikacija je bila ustvarjena z odprtokodnimi in prosto dostopnimi spletnimi tehnologijami in knjižnicami. Za razvoj prototipov aplikacij je bil uporabljen programski jezik PHP z Laravel okvirjem, skupaj z NGINX kot spletnim strežnikom in MySQL kot podatkovno bazo. Za lokalni razvoj in testiranje sta bila uporabljena Docker in tehnologija vsebnikov. V naslednjem poglavju je preučen in povzet prilagojen pristop k podatkovni bazi, ki ga uporablja prototipna aplikacija. Temelji na pristopih ločene podatkovne baze ter ločene podatkovne baze, skupne sheme, z manjšo prilagoditvijo pri ločevanju podatkov najemnikov. Razložena je sistemska arhitektura ali sklad LEMP, čemur sledijo pomisleki glede varnosti. Pojasnjuje tudi, kako je bila dosežena identifikacija najemnika ter kako sta bila najemodajalec in najemnik strukturirana in uporabljena. Modul najemodajalca se nahaja na nivoju korenske domene, najemniki pa so locirani in identificirani na podlagi poddomen. Modul najemodajalca je namenjen upravljanju najemnikov s preprostimi dejanji, kot so ustvarjanje, posodabljanje in brisanje. Poleg teh ukazov, lahko uporabniki modula najemodajalca filtrirajo ali prekličejo dostop za določene najemnike, če ne spoštujejo pogodbe. Sledeče poglavje opisuje, kako smo ustvarili in strukturirali projekt Laravel ter katere ukaze smo uporabili za doseganje končnega rezultata. Za dostop do podatkov, povezanih z najemniki, obstajata dve komponenti. Prva je uporabniški vmesnik, v katerega se lahko uporabnik vpiše s svojimi poverilnicami (e-poštni naslov in geslo), druga pa je REST API. |
|---|
| Ključne besede: | Spletna aplikacija, Večnajemniška arhitektura, Metapodatkovna arhitektura, Laravel |
|---|
| Kraj izida: | Maribor |
|---|
| Kraj izvedbe: | Maribor |
|---|
| Založnik: | [I. Magdić] |
|---|
| Leto izida: | 2021 |
|---|
| Št. strani: | XIV, 69 f. |
|---|
| PID: | 20.500.12556/DKUM-79677  |
|---|
| UDK: | 004.76-022.2183(043.2) |
|---|
| COBISS.SI-ID: | 86387715  |
|---|
| Datum objave v DKUM: | 18.10.2021 |
|---|
| Število ogledov: | 1205 |
|---|
| Število prenosov: | 105 |
|---|
| Metapodatki: |  |
|---|
| Področja: | KTFMB - FERI
|
|---|
|
:
|
Kopiraj citat |
|---|
| | | | Skupna ocena: | (0 glasov) |
|---|
| Vaša ocena: | Ocenjevanje je dovoljeno samo prijavljenim uporabnikom. |
|---|
| Objavi na: |  |
|---|
Postavite miškin kazalec na naslov za izpis povzetka. Klik na naslov izpiše
podrobnosti ali sproži prenos. |