Popis tématu

Diplomová práce v oboru Softwarové inženýrství.

Rozšíření komponentového úložiště o správu a poskytování aplikací

lang:en Component repository extension for software application representation

Zásady pro vypracování

1. Seznamte se s projektem úložiště CRCE, zejména s použitou strukturou metadat a rozhraním webových služeb.
2. Nastudujte a popište způsoby reprezentace aplikací jako množin komponent v existujích technologiích, mimo jiné Java/OSGi.
3. Navrhněte jednoduchý ale robustní způsob reprezentace aplikací pro úložiště CRCE formou nadstavby stávajících datových modelů a rozhraní.
4. Vytvořte odpovídající implementaci jako vhodně oddělené rozšíření stávající podoby úložiště (zejména datové vrstvy a rozhraní webových služeb).
5. Doplňte webové rozhraní CRCE o základní funkcionalitu definování a správy reprezentace aplikací.
6. Ověřte funkčnost implementace na dostatečně široké třídě scénářů použití.

-----

Ad 2. -- specifikace OSGi Subsystems (OSGi Compendium, version 5; úvodní informace např. http://www.infoq.com/news/2013/09/osgi5-compendium) a technologie Apache Karaf, Eclipse ("features"), Apache Aries; možná JBoss Fuse Fabric (https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Fuse/6.0/html/Getting_Started/files/Deploy-Scalable.html)
Ad 3. -- robustní = pokryje velkou škálu různých komponentových technologií, které je možné v CRCE ukládat, bude "future proof"; je nežádoucí provádět úpravy existujících částí datových modelů, možné je pouze doplňovat nové entity.
Ad 4. -- ideální by byla implementace formou CRCE pluginu, ale to nejspíš nebude možné; proto bude potřeba udělat fork vhodně zvolené verze implementace (nějaká poslední stabilní verze) na samostatnou větev, a udržet změny jádra na minimu, aby tato větev šla rozumně synchronizovat s mainline vývojem.

Literatura:
* The OSGi Alliance: OSGi Enterprise Release 6 specification, July 2015
* Taylor et al: Software Architecture. Foundations, Theory, and Practice. Wiley 2010
* Daigneau: Service Design Patterns. Pearson 2012


Komentář k tématu:

V rámci výzkumu vznikl na katedře model pro reprezentaci modulárních softwarových aplikací, použitý pro experimentální úložiště CRCE. Cílem práce je tento model rozšířit o možnost popisu aplikací jakožto množin komponent.

Rozšíření má umožnit, aby se daly tyto aplikace (a) definovat přes webové rozhraní úložiště a také přes jeho REST API, (b) celé získat přes REST API, v konkrétní verzi, (c) podrobit nějaké akci, např. verifikaci závislostí nebo simulačnímu testu, (d) pokud jsou někde nainstalované, tak upgradovat po částech.

Práce souvisí například s tématem "Vytváření a ukládání popisu webových služeb" (Brada) a "Mechanismus pro ukládání výsledků ověření Java aplikace" (Kamil Ježek).

Přínos pro studenta: Seznámení s komponentovým programováním (technologie OSGi), modulárně navrženým softwarovým systémem a API programováním, REST API, moderními web UI technologiemi, práce v týmu se zajímavým mixem znalostí

Dostačující vstupní znalosti: Java a různá její API (XML, databáze)

Technologie využité v projektu: Java, OSGi a Felix Dependency manager, XML, JAXB, javascript, maven

Podrobnosti: http://relisa.kiv.zcu.cz/projects/

Téma vypsal: Doc. Ing. Přemysl Brada, MSc., Ph.D. (UC 354)

Vypsáno pro akademický rok 2015/2016 dne: 2014-04-25

Zadáno komu: Peter Citriak (Zadané)

Aktualizováno 0