Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    Szolgáltatásorientált rendszerek és alkalmazások fejlesztése

    A tantárgy angol neve: Development of Service-Oriented Systems and Applications 

    Adatlap utolsó módosítása: 2023. január 13.

    Budapesti Műszaki és Gazdaságtudományi Egyetem
    Villamosmérnöki és Informatikai Kar

    Mérnök informatikus szak, MSc képzés

    Felhőalapú elosztott rendszerek mellékspecializáció

    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIIIMA27   2/1/0/v 5  
    3. A tantárgyfelelős személy és tanszék Dr. Simon Balázs,
    A tantárgy tanszéki weboldala Kari Moodle
    4. A tantárgy előadója Dr. Simon Balázs, egyetemi docens, IIT
    5. A tantárgy az alábbi témakörök ismeretére épít Operációs rendszerek, számítógép hálózatok, adatbázisok, Java programozás, C# programozás
    6. Előtanulmányi rend
    Kötelező:
    NEM
    (TárgyEredmény( "BMEVIIIMA04", "jegy" , _ ) >= 2
    VAGY
    TárgyEredmény("BMEVIIIMA04", "FELVETEL", AktualisFelev()) > 0)

    A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

    A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

    7. A tantárgy célkitűzése A tárgy célkitűzése, hogy megismertesse a hallgatókat az elosztott informatikai rendszerek fejlesztésének elméleti és technológiai hátterével. A tárgy részletesen elemzi az elosztott rendszerek fejlesztése során előforduló problémákat és azok megoldásait, főként az elosztott rendszerek közötti kommunikációt megvalósító szolgáltatásokra fókuszálva, melyek többek között a felhőalapú megoldásokban is előfordulnak. A tárgy a fejlesztés teljes életciklusát lefedi, így egyaránt hangsúlyos a szolgáltatások tervezése, megvalósítása és tesztelése és felhőkörnyezetbe való illesztése is. A tantárgy bemutatja a legfontosabb kommunikációs technológiákat (SOAP, REST, WebSocket, stb.), valamint az ezekre épülő szolgáltatások fejlesztését támogató platformokat (.NET, Java, node.js, stb.). A tárgy gyakorlati óráin összetett, érdekes kihívásokat rejtő fejlesztési feladatok segítik elő az elméleti ismeretek elmélyítését.
    8. A tantárgy részletes tematikája Az előadások részletes tematikája
    1. Szolgáltatás-Orientált Architektúra (SOA). A SOA története a korábbi technológiák (elosztott objektum-orientáltság, elosztott komponens alapú programozás) fényében, a SOA definíciója és alapelvei.
    2. SOAP webszolgáltatások. A webszolgáltatások interfészleíró nyelve (WSDL), a webszolgáltatások kommunikációs protokollja (SOAP).
    3. SOAP webszolgáltatások fejlesztése. Webszolgáltatások fejlesztési lehetőségei .NET és Java környezetben.
    4. WS-* protokollok. A webszolgáltatások kiegészítő protokolljai címzésre, megbízható üzenetküldésre, titkosításra és digitális aláírásra.
    5. REST szolgáltatások. A REST kommunikációs technológia, a REST alapelvei. RESTful szolgáltatások. REST szolgáltatásokhoz interfészleírási lehetőségek (pl. Open API).
    6. REST szolgáltatások fejlesztése. REST szolgáltatások fejlesztési lehetőségei .NET és Java környezetben.
    7. WebSocket szolgáltatások. A WebSocket kommunikációs technológia. WebSocket szolgáltatások fejlesztési lehetőségei .NET, Java és JavaScript környezetben.
    8. További hasznos kommunikációs technológiák. Konkrét szoftvergyártókhoz köthető, nem szabványos, de nyílt forráskódú megoldások (pl. Google ProtoBuf, Facebook GraphQL, Amazon Smithy).
    9. Mikroszolgáltatások. A mikroszolgáltatások fogalma és alapelvei. Mikroszolgáltatások fejlesztésének és üzemeltetésének előnyei és hátrányai. Mikroszolgáltatások futtatási lehetőségei konténerekben.
    10. Mikroszolgáltatások fejlesztése. Mikroszolgáltatások fejlesztési lehetőségei .NET és Java környezetben.
    11. Összetett integrációs feladatok. Az Enterprise Service Bus (ESB) különböző technológiák (adatbázis, FTP, SMTP, webszolgáltatások, stb.) integrálására, üzenetek irányítása és transzformálása.
    12. ESB környezet elemei. Üzleti folyamatok tervezése és futtatása, humán feladatok, üzleti szabályok, eseménykezelés, szolgáltatáskatalógus.
    13. Tervezési és fejlesztési irányelvek webszolgáltatásokhoz. A bottom-up (code first) fejlesztés előnyei és hátrányai, a top-down (interface first) fejlesztés előnyei és hátrányai. Interfésztervezési alapelvek, szolgáltatások verziózása. Szolgáltatások tesztelési lehetőségei.
    14. Szolgáltatásorientált rendszerek és alkalmazások modell alapú fejlesztése és tesztelése. Automatikus programkód és konfiguráció generálásának lehetőségei.

    A gyakorlatok részletes tematikája:

    1. SOAP webszolgáltatások fejlesztése és tesztelése.
    2. REST szolgáltatások fejlesztése és tesztelése.
    3. WebSocket szolgáltatások fejlesztése és tesztelése.
    4. Mikroszolgáltatások fejlesztése és tesztelése.
    5. Összetett integrációs fejlesztés és tesztelés.
    6. A hallgatók által elkészített házi feladat beadása és ellenőrzése.

    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) A tárgy előadásokból és az előadások anyagát illusztráló gyakorlatokból áll.
    10. Követelmények

    Szorgalmi időszakban:
    A félév során 5 házi feladatot kell megoldani és határidőre beadni. A feladatok otthon is megoldhatók. Az aláírás feltétele: legalább 3 házi feladat legalább 40%-os teljesítése.

    Vizsgaidőszakban:
    A fenti módon aláírást szerző hallgatók írásbeli vizsgát tesznek. A házi feladatok a végső jegybe nem számítanak bele, csak az aláíráshoz szükségesek.

    11. Pótlási lehetőségek A házi feladatok pótlására a pótlási héten van lehetőség. A pótlások díjmentesek.
    12. Konzultációs lehetőségek Konzultációra elsősorban a gyakorlatok szolgálnak. Igény esetén a gyakorlatokon túl is van lehetőség konzultációra tantárgy hallgatóival egyeztetve.
    13. Jegyzet, tankönyv, felhasználható irodalom
    • Thomas Erl: Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services, Prentice Hall (April 26, 2004), ISBN-10: 0131428985, ISBN-13: 978-0131428980
    • Thomas Erl: Service-Oriented Architecture: Concepts, Technology, and Design, Prentice Hall (August 12, 2005), ISBN-10: 0131858580, ISBN-13: 978-0131858589
    • Thomas Erl: Service-Oriented Architecture: Principles of Service Design, Prentice Hall (July 28, 2007), ISBN-10: 0132344823, ISBN-13: 978-0132344821
    • Thomas Erl: Service-Oriented Architecture: SOA Design Patterns, Prentice Hall (January 9, 2009), ISBN-10: 0136135161, ISBN-13: 978-0136135166
    • Thomas Erl: SOA Governance: Governing Shared Services On-Premise and in the Cloud, Prentice Hall (April 24, 2011), ISBN-10: 0138156751, ISBN-13: 978-0138156756
    • Dirk Krafzig, Karl Banke, Dirk Slama: Enterprise SOA: Service-Oriented Architecture Best Practices, Prentice Hall (November 19, 2004), ISBN-10: 0131465759, ISBN-13: 978-0131465756

    14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
    Kontakt óra42
    Félévközi készülés órákra14
    Felkészülés zárthelyire-
    Házi feladat elkészítése40
    Kijelölt írásos tananyag elsajátítása14
    Vizsgafelkészülés40
    Összesen 
    15. A tantárgy tematikáját kidolgozta Dr. Simon Balázs, egyetemi docens, IIT
    IMSc tematika és módszer -
    IMSc pontozás -