A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
Következő változat | Előző változat | ||
tanszek:oktatas:informacios_rendszerek_integralasa:feladatok [2021/02/15 21:42] 127.0.0.1 külső szerkesztés |
tanszek:oktatas:informacios_rendszerek_integralasa:feladatok [2023/05/08 19:41] (aktuális) knehez [9.] |
||
---|---|---|---|
Sor 3: | Sor 3: | ||
======= Architektúra ====== | ======= Architektúra ====== | ||
- | A feladatok tipikusan olyan egyszerű alkalmazás integrációk, amelyek a JBoss vagy Wildfly alkalmazás szerver, vagy sima socket kommunikációval vagy django framework vagy angularjs segítségével oldahatóak meg. | + | A feladatok tipikusan olyan egyszerű alkalmazás integrációk, amelyek a JBoss vagy Wildfly alkalmazás szerver, vagy docker segítségével megvalósíthatók. |
Sor 13: | Sor 13: | ||
====== Beadási határidő ====== | ====== Beadási határidő ====== | ||
- | Az utolsó tanítási héttel bezárólag minden gyakorlaton. Ez után pótlás lehetséges. | + | Az utolsó tanítási héttel bezárólag minden gyakorlaton. Ezután pótlás is lehetséges. |
====== Feladatok ====== | ====== Feladatok ====== | ||
Sor 29: | Sor 29: | ||
====== 3. ====== | ====== 3. ====== | ||
- | Készítsen alkalmazást, amely az 1. feladat alapján működik, annyi különbséggel, hogy a kliens egy webszolgáltatás, amely SOAP-on keresztül küldi a véletlenszerű színeket a a JBoss webszolgáltatásnak, és a webszolgáltatás küldi tovább '/queue/colorQueue' üzenetsorra pont-pont csatlakozással az üzeneteket. Az ez utáni teendők megegyeznek az 1.-es feladatban leírtakkal. | + | Készítsen alkalmazást, amely az 1. feladat alapján működik, annyi különbséggel, hogy a kliens egy webszolgáltatás, amely SOAP-on keresztül küldi a véletlenszerű színeket a a Wildfly webszolgáltatásnak, és a webszolgáltatás küldi tovább '/queue/colorQueue' üzenetsorra pont-pont csatlakozással az üzeneteket. Az ez utáni teendők megegyeznek az 1.-es feladatban leírtakkal. |
- | A lényeges különbség az, hogy a kliens nem kapcsolódik közvetlenül az üzenetsorra, hanem a JBoss ban futó szolgáltatás küldi tovább az üzenetet a sorra. | + | A lényeges különbség az, hogy a kliens nem kapcsolódik közvetlenül az üzenetsorra, hanem a Wildfly-ban futó szolgáltatás küldi tovább az üzenetet a sorra. |
====== 4. ====== | ====== 4. ====== | ||
- | Készítsen alkalmazást, amely az 2. feladat alapján működik, annyi különbséggel, hogy a kliens egy webszolgáltatás, amely SOAP-on keresztül küldi a véletlenszerű színeket a a JBoss webszolgáltatásnak, és a webszolgáltatás küldi tovább '/queue/colorQueue' üzenetsorra pont-pont csatlakozással az üzeneteket. Az ez utáni teendők megegyeznek az 2.-es feladatban leírtakkal. A lényeges különbség az, hogy a kliens nem kapcsolódik közvetlenül az üzenetsorra, hanem a JBoss ban futó szolgáltatás küldi tovább az üzenetet a sorra. | + | Készítsen alkalmazást, amely az 2. feladat alapján működik, annyi különbséggel, hogy a kliens egy webszolgáltatás, amely SOAP-on keresztül küldi a véletlenszerű színeket a a Wildfly webszolgáltatásnak, és a webszolgáltatás küldi tovább '/queue/colorQueue' üzenetsorra pont-pont csatlakozással az üzeneteket. Az ez utáni teendők megegyeznek az 2.-es feladatban leírtakkal. A lényeges különbség az, hogy a kliens nem kapcsolódik közvetlenül az üzenetsorra, hanem a Wildfly ban futó szolgáltatás küldi tovább az üzenetet a sorra. |
Sor 40: | Sor 40: | ||
====== 5. ====== | ====== 5. ====== | ||
- | Készítsen alkalmazást amelynek egyik kliense a '/queue/colorQueue' üzenetsorra véletlen szöveges üzeneteket küld. ('RED', 'GREEN', 'BLUE') szöveggel 0.5 másodpercenként. Készítsen 3 további klienst amelyek folyamatosan 'hallgatják' a '/queue/colorQueue' üzenetsort, ha valamelyik üzenetet olvas a sorról, akkor véletlenszerűen (2000-9000) milliszekundum ideig várakozik, majd utána újra hallgatja az üzenetsort. (A véletlenszerű feldolgozási idő miatt -e közben egy másik üzenetet a következő kliens fogja feldolgozni). A 3 kliensnek ne legyen konzol outputja, azaz ne írjon ki semmit a konzolra. Minden üzenet feldolgozása után a '/queue/processedColors' sorra küldjenek egy üzenetet, ami azt jelzi, hogy feldolgozták a feladatot. Készítsen egy klienst, ami a '/queue/processedColors' sort olvassa és a megjelenő üzeneteket kiírja az outputra. pl: 'Client 2, processed a 'BLUE' message'. Ennél a feladatnál nem kell a JBOSS-ban komponenst létrehozni. | + | Készítsen alkalmazást amelynek egyik kliense a '/queue/colorQueue' üzenetsorra véletlen szöveges üzeneteket küld. ('RED', 'GREEN', 'BLUE') szöveggel 0.5 másodpercenként. Készítsen 3 további klienst amelyek folyamatosan 'hallgatják' a '/queue/colorQueue' üzenetsort, ha valamelyik üzenetet olvas a sorról, akkor véletlenszerűen (2000-9000) milliszekundum ideig várakozik, majd utána újra hallgatja az üzenetsort. (A véletlenszerű feldolgozási idő miatt -e közben egy másik üzenetet a következő kliens fogja feldolgozni). A 3 kliensnek ne legyen konzol outputja, azaz ne írjon ki semmit a konzolra. Minden üzenet feldolgozása után a '/queue/processedColors' sorra küldjenek egy üzenetet, ami azt jelzi, hogy feldolgozták a feladatot. Készítsen egy klienst, ami a '/queue/processedColors' sort olvassa és a megjelenő üzeneteket kiírja az outputra. pl: 'Client 2, processed a 'BLUE' message'. Ennél a feladatnál nem kell a Wildfly-ban komponenst létrehozni. |
Sor 52: | Sor 52: | ||
Indítson 3 klienst, amelyek egy előre adott telefonszám halmazt használnak és véletlenszerűen teszt és feltöltés tranzakciókat indítanak. | Indítson 3 klienst, amelyek egy előre adott telefonszám halmazt használnak és véletlenszerűen teszt és feltöltés tranzakciókat indítanak. | ||
+ | |||
====== 7. ====== | ====== 7. ====== | ||
- | Készítsen REST API-t django frameworkben, amely egy videokölcsönző adatbázisát használja. Készítsen egy angularJS klienst, amely filmeket tud hozzáadni az adatbázishoz. Készítsen, a kölcsönzéshez használható funkciót, amely a filmeket kikölcsönzött, illetve visszavitt státuszra állítja. Listázza a kikölcsönzött és kölcsönözhető filmeket. | + | Készítsen egy kliens alkalmazást, ami http POST kérésekkel szöveges adatokat küld egy üzenetsor vezérelt mintarendszerbe. Úgy tervezze meg az alaprendszert, hogy később nemcsak szöveges, hanem más, pl. bináris állományokat is tudjon kezelni. A mintarendszer alapfeladata, hogy megszámolja a szöveges állományokban a szavak számát és eredményként visszadja a kliensnek. Készítsen egy futtató környezetet amiben több kliens párhuzamosan, véletlenszerű állományokkal használja a szolgáltatást. Készítsen legalább 3 mintaszöveget a teszteléshez. Tételezzük fel, hogy a működő rendszert ki kell egészíteni egy új funkcióval: mostmár bmp formátumú képeket is lehet küldeni, amelyeknél a rendszer a kép méretét adja vissza ereményként. Készítse el úgy a rendszert, hogy menet közben lehessen kicserélni a kliens és szerver komponenseket, azaz nem lehet leállítani a rendszert. A megoldáshoz használja az itt bemutatott elveket: http://ait2.iit.uni-miskolc.hu/oktatas/doku.php?id=tanszek:oktatas:informacios_rendszerek_integralasa:oesszetett_pelda_1 |
====== 8. ====== | ====== 8. ====== | ||
- | A 7. feladat alapján készítsen egy könyvtári rendszert könyvek kölcsönzéséhez. | + | Adott egy A és egy B szerverkomponens. A B komponens hozzáfér egy SQL adatbázishoz, amiben 1 db tábla van, ami személyek adatait tartalmazza (név, szül idő, stb..). Az 'A' komponensnek nincs hozzáférése az adatbázishoz. Az 'A' komponens rendelkezik viszont egy browser-ben megjelenő felülettel, ahol személyek adatait lehet lekérdezni (összes személyt egyszerre) és új személyt lehet felvenni. A 'B' komponens két funkciója: egy új személy felvétele és a személyek lekérdezése az adatbázisból. Készítse el az A és B komponenseket és hozzon létre kapcsolatot közöttük SOAP felhasználásával. Az A és B komponens tetszőleges technológia lehet. |
====== 9. ====== | ====== 9. ====== | ||
- | + | Adott egy A és egy B szerverkomponens. A B komponens hozzáfér egy NO-SQL adatbázishoz, amiben 1 db tábla van, ami könyvek adatait tartalmazza (cím, szerzők, kiadó, év, stb..). Az 'A' komponensnek nincs hozzáférése az adatbázishoz. Az 'A' komponens rendelkezik viszont egy browser-ben megjelenő felülettel, ahol könyvek adatait lehet lekérdezni (összes könyvet egyszerre) és új könyvet is fel lehet venni. A 'B' komponens két funkciója: egy új könyv felvétele és a könyvek lekérdezése az adatbázisból. Készítse el az A és B komponenseket és hozzon létre kapcsolatot közöttük JAX/RS felhasználásával. Az A és B komponens tetszőleges technológia lehet. | |
- | A 7. feladat alapján készítsen egy autókölcsönző rendszert autók kölcsönzéséhez. | + | |
====== 10. ====== | ====== 10. ====== | ||
- | + | Készítsen olyan mintarendszert, ami képes működés közben updgradel-ni. Adott egy kliens komponens (A), ami 2 másodpercenként üzenetet küld a //tasks// üzenetsornak. A kezdeti üzenetek verziója V1.0. Készítsen egy consumer komponenst (B), ami feldolgozza az üzeneteket és a //finishedTasks// üzenetsorra küldi a kész üzeneteket, az üzenetekhez hozzáfűzi az aktuális időt. A B komponens fel legyen készítve arra az esetre, ha az üzenet verziószáma nem V1.0, ekkor az üzenetet az invalidTasks üzenetsorra továbbítja. | |
- | A 7. feladat alapján készítsen egy betegnyilvántartó rendszert betegek adatinak kezeléséhez. Az adatfelvitel után készítsen a vizitek menedzseléséhez alkalmas modult. | + | A (C) consumer komponens az //invalidTasks// üzenetsorról leveszi az üzeneteket és 5 másodperc késleltéssel visszateszi a //tasks// üzenetsorra. |
- | + | Mutassuk be, ha a (A) komponens módosításával v2.0 verziószámú üzeneteket küldünk és a (B) komponensben feldogozzuk a V2.0 üzeneteket (azaz nem küldjük az //invalidTasks// sorra őket) akkor a rendszer kis késleltetéssel, de leállítás nélkül tud üzemelni. | |
- | + | ||
- | + | ||
- | ====== 11. ====== | + | |
- | + | ||
- | Készítsen el egy szabadon választott feladatot innen: http://ait2.iit.uni-miskolc.hu/oktatas/doku.php?id=tanszek:oktatas:informatikai_rendszerek_epitese:feleves_feladat django framework segítségével, készítsen unit, funkcionális és GUI teszteket (egyenként kettőt). Ebben a feladatban a github CI rendszerét használja. | + | |
- | + | ||
- | + | ||
- | + | ||
- | ====== 12. ====== | + | |
- | + | ||
- | Készítsen egy kliens alkalmazást, ami http POST kérésekkel szöveges adatokat küld egy üzenetsor vezérelt mintarendszerbe. Úgy tervezze meg az alaprendszert, hogy később nemcsak szöveges, hanem más, pl. bináris állományokat is tudjon kezelni. A mintarendszer alapfeladata, hogy megszámolja a szöveges állományokban a szavak számát és eredményként visszadja a kliensnek. Készítsen egy futtató környezetet amiben több kliens párhuzamosan, véletlenszerű állományokkal használja a szolgáltatást. Készítsen legalább 3 mintaszöveget a teszteléshez. Tételezzük fel, hogy a működő rendszert ki kell egészíteni egy új funkcióval: mostmár bmp formátumú képeket is lehet küldeni, amelyeknél a rendszer a kép méretét adja vissza ereményként. Készítse el úgy a rendszert, hogy menet közben lehessen kicserélni a kliens és szerver komponenseket, azaz nem lehet leállítani a rendszert. A megoldáshoz használja az itt bemutatott elveket: http://ait2.iit.uni-miskolc.hu/oktatas/doku.php?id=tanszek:oktatas:informacios_rendszerek_integralasa:oesszetett_pelda_1 | + | |
- | + | ||
- | ====== 13. ====== | + | |
- | + | ||
- | A 12. feladatban bemutatott módszert a https://labs.play-with-docker.com/ mintarendszer segítségével oldja meg. Ennél a feladatnál használhat bármilyen üzenetkezelő megoldást. | + | |