Az adatbázis és a webes felület fejlesztési elvei több szempont alapján határozható meg. A webes technológiák világa egy nagyon gyorsan fejlődő terület, de ez a fejlődés egyáltalán nem lineáris és nem feltétlenül mutat egy irányba. Egy-egy pillanatnyilag népszerű technológia később zsákutcának bizonyulhat, támogatása és fejlesztése évekkel később lehetetlenné válhat. A régóta létező, konzervatív rendszerek ugyanakkor – a visszamenőleges kompatibilitás érdekében – 10–15 éves kódbázissal rendelkeznek, ezért nem biztosítják a legkorszerűbb megoldásokat. Olyan megoldásokat kell választani, amelyek biztosítják a korszerű funkciókat, de kellően elterjedtek ahhoz, hogy hosszútávú támogatottságuk biztosított legyen. Fejlesztési koncepciónk ezért moduláris, pontosan meghatározott – modulok közötti – kapcsolódási pontokkal dolgozik. Ennek köszönhetően az egyes alrendszerek egymástól függetlenül fejleszthetők, szükség esetén cserélhetők. Emellett számos funkcióra nyílt forráskódú, illetve publikusan elérhető, széles körben elterjedt rendszereket használhatók.
A relációs adatbázis lehetővé teszi, hogy összetett adatstruktúrákat jól dokumentáltan, skálázható értékekkel, szabványos módon tároljunk, az ehhez tartozó korszerű, jól bővíthető adminisztrációs felület pedig kezeli a többnyelvű tartalmakat, a különböző adminisztrációs jogköröket és biztosítja külső rendszerek és szolgáltatások elérést. Biztosítja továbbá a csoportos műveleteket, az adatbázis részei közötti kapcsolatot kifejező relációk kezelését, valamint fejlett widgetek használatát.
Célkitűzéseink a tervezés során
Egyedi kód helyett széles körben alkalmazott és hosszú távon támogatott, jól dokumentált alapokra építünk (Laravel)
A rutinfeladatokra – a fejlesztés meggyorsítása érdekében – integrált, fejlett komponenseket használunk, amelyek tetszőlegesen bővíthetők vagy cserélhetők
Teljesen szétválasztjuk a tartalmat és a prezentációt, támogatjuk a multi-channel publikálást, API elérést biztosítunk az adatokhoz (GraphQL)
Felhasználóbarát publikus felület platformtól (PC, tablet, telefon stb.) függetlenül (Javascript applikáció frontend)
Korszerű, skálázható felépítés
A keretrendszer számos fejlett, általános célú backend funkciót kínál: felhasználói azonosítás és jogkörök kezelése, adatsablonok (fülekkel, widgetekkel, fejlett relációkezeléssel), listák (szűréssel és hierarchikus rendezéssel), többnyelvű tartalom, médiakezelő-felület, fejlett plugin architektúra, nagy teljesítményű külső technológiák támogatása (Amazon S3, Redis stb).
Erre az alaprendszerre épített saját modulok, amelyek lehetővé teszik a kulturális adatok rugalmas kezelését és tárolását (csoportos műveletek, offline munkafolyamat terepmunkához, geolokáció stb).
A rendszer jelenleg audio, videó, fotó anyagok, szegmensek és archívumok, taxonómia, személyek kezelésére alkalmas, és rugalmasan bővíthető egyéb adattípusokkal.
A GraphQL segítségével az adatok a felhasználók számára (weblap, alkalmazás, külső rendszer stb.) szabvány szerint, automatikusan dokumentálva, széles körben támogatott technológia alkalmazásával érhető el.
A GraphQL tetszőleges számú forrásból képes adatokat összegyűjteni, így a REST API-hoz képest nagyobb teljesítményt, jobb skálázhatóságot nyerünk.
Mivel a backend és a frontend is csak a GraphQL réteggel van kapcsolatban, egymástól függetlenül fejleszthetőek és üzemeltethetőek.
A frontend réteg egy önálló Javascript alkalmazás, amely minden adatot kizárólag a GraphQL-től kap. Ennek a legnagyobb előnye, hogy az adatbázis és backend a publikus felülettól teljesen függetlenül fejleszthető, cserélhető. Az adatbázis egyes nézeteihez, részhalmazaihoz külön frontend felületek is készíthetőek, igény szerint akár az alapszerkezettől eltérő navigációs vagy keresési rendszerrel.
Robusztus környezet
A moduláris felépítésnek köszönhetően a rendszer teljesítménye jól tervezhető, mert bármelyik eleme (frontend, API, backend, adatbázisok) egyszerűen önálló tárhelyre helyezhető (szerver, VPS, docker konténer, felhő, stb) és a többi elemtől függetlenül skálázható, így akár hibatűrő, auto scaling-auto healing infrastruktúra is kialakítható.
A moduláris rendszer biztonságosabb, mivel nem szükséges minden elemet egy szerveren futtatni, ahol a sok szolgáltatás miatt nehezebb a biztonsági frissítés, így nagyobb a támadás kockázata.
© 2025 Virbius Institute. All right reserved.