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ó    

    Szoftverfejlesztés Java EE platformon

    A tantárgy angol neve: Software Design for J2EE Platform

    Adatlap utolsó módosítása: 2015. április 2.

    Tantárgy lejárati dátuma: 2023. július 31.

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

    Villamosmérnöki szak

    Szabadon választható tantárgy
    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIAUJV09   2/2/0/v 4  
    3. A tantárgyfelelős személy és tanszék Dr. Kovács Tibor,
    4. A tantárgy előadója
    Név Beosztás Tanszék, Intézet
    Dr. Juhász Sándor

     

    Docens

     

    Automatizálási és Alkalmazott Informatikai Tanszék
    Imre Gábor

     

    Tanársegéd

     

    Automatizálási és Alkalmazott Informatikai Tanszék
    5. A tantárgy az alábbi témakörök ismeretére épít Java programozási nyelv
    6. Előtanulmányi rend
    Kötelező:
    NEM ( TárgyTeljesítve("BMEVIAUAV09") )

    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ó.

    Ajánlott:

     

    A tantárgyat nem vehetik fel azok, akik már előzőleg teljesítették a VIAUAV09 (Szoftverfejlesztés J2EE plattformon) tantárgyat. 

    A tárgy elvégzése előtt kötelező „A programozás alapjai 3.” (VIIIAB00) vagy a a régi BSc képzésből a „Szoftver laboratórium 3.” (VIIIA212) tárgyak elvégzése.

     

     

    7. A tantárgy célkitűzése

    A tantárgy keretében a hallgatók részletesen megismerik a Java Enterprise Edition platformot. A klasszikus többrétegű architektúra és a hozzá kapcsolódó technológiák tárgyalásán túl a tantárgy kiemelten foglalkozik a szolgáltatás orientált architektúrával, és annak Java EE platformon történő alkalmazásával. A gyakorlatok keretében a hallgatók számára lehetőség nyílik az előadás anyagának gyakorlatban történő kipróbálására korszerű fejlesztői eszközök segítségével.

    8. A tantárgy részletes tematikája

    A tantárgy az alábbi témaköröket dolgozza fel:

    • A Java Enterprise Edition alapjai
    • Név- és directory szolgáltatás – Java Naming and Directory Interface
    • Üzleti logikai réteg – Enterprise JavaBeans
    • Webes technológiák – Servlet, JavaServer Pages
    • Webalkalmazás keretrendszerek: Struts, JavaServer Faces
    • XML webszolgáltatások
    • Szolgáltatás orientált architektúra, Business Process Execution Language
    • Üzenetsorok alkalmazása – Java Message Service
    • Java Connector Architecture
    • A Java EE biztonsági megoldásai
    • A Java EE teljesítménye
    • Java EE alkalmazások tesztelése

     

    Tervezett órai bontás a tantárgy oktatása során. A gyakorlatok 4*45 percesek, ezért páronkénti gyakorlatokhoz azonos gyakorlati anyag tartozik. Az első két héten gyakorlatok helyett előadást tartunk.

     

    Hét

     

    Gyakorlat

     

    Előadás

     

    1

    Tantárgykövetelmények ismertetése. A Java EE áttekintése. A Java platformok. A Java EE konténerei, komponensei, szolgáltatásai. Fejlesztői szerepek, alkalmazásszerverek. (előadás)

    Az Enterprise JavaBeans 2.1 bemutatása, EJB-k felépítése, állapotmentes és állapottal rendelkező session bean.

    2

    Az EJB 2.1 entity beanjeinek megoldása az objektum-relációs leképezésre. Entity beanek életciklusa. Bean és konténer által kezelt perzisztencia. (előadás)

    A tranzakciókezelés céljai. Izolációs szintek. Java EE tranzakciók szereplői. Tranzakciókezelés megvalósítása EJB környezetben. Tranzakciós attribútumok.

    3

    1. gyakorlati téma: EJB 2.1-es session beanek fejlesztése és meghívása. Állapotmentes és állapottal rendelkező session bean, távoli és lokális interfésszel.

    Időzítés, biztonság EJB környezetben. Az EJB 3 egyszerűsített fejlesztési modellje. Annotációk, függőséginjektálás, interceptorok.

    4

    1. gyakorlati téma: EJB 2.1-es session beanek fejlesztése és meghívása. Állapotmentes és állapottal rendelkező session bean, távoli és lokális interfésszel.

    EJB 3 entitások, a Java Persistence API. Az objektumrelációs leképezés annotációi. A perzisztenciakontextus fogalma. Entitások életciklusa. Öröklés, entitások közti kapcsolatok. A konkurenciakezelés finomhangolása.

    5

    2. gyakorlati téma: EJB 3-as session beanek és entitások együttes használata. Egyszerűsített banki alkalmazás fejlesztése, tranzakciókezeléssel, webes felülettel.

    Alapvető webes technológiák: Servlet. URL leképezés, telepítésleíró. Munkamenetek, szűrők. Életciklus, többszálúság.

    6

    2. gyakorlati téma: EJB 3-as session beanek és entitások együttes használata. Egyszerűsített banki alkalmazás fejlesztése, tranzakciókezeléssel, webes felülettel.

    Alapvető webes technológiák: JavaServer Pages. A JSP alapjai, életciklusa. Direktívák, akció elemek, szkript elemek. A tag library fogalma, saját tagek fejlesztése. A Java Standard Tag Library lehetőségei. Expression Language.

    7

    3. gyakorlati téma: A Java EE alapvető webes technológiái: Servlet és JSP. Szűrők, custom tagek, tag fájlok, session kezelés.

    Webalkalmazás keretrendszerek: Struts, JavaServer Faces. Model-View-Controller. JSF oldalak életciklusa. JSF komponensek. Deklaratív navigáció. AJAX és JSF

    8

    3. gyakorlati téma: A Java EE alapvető webes technológiái: Servlet és JSP. Szűrők, custom tagek, tag fájlok, session kezelés.

    Az XML webszolgáltatásokhoz kapcsolódó szabványok. Webszolgáltatások Java EE-ben JAX-RPC felhasználásával.

    9

    4. gyakorlati téma: A JavaServer Faces webalkalmazás-keretrendszer használata. Utazási iroda fejlesztése vizuális eszközökkel. Deklaratív navigáció, validáció, többnyelvűség támogatása.

    Webszolgáltatások Java EE-ben JAX-WS felhasználásával. Szolgáltatásorientált architektúrák. Business Process Execution Language.

    10

    4. gyakorlati téma: A JavaServer Faces webalkalmazás-keretrendszer használata. Utazási iroda fejlesztése vizuális eszközökkel. Deklaratív navigáció, validáció, többnyelvűség támogatása.

    Alkalmazásintegráció, aszinkron üzenetkezelés. A Java Message Service architektúrája, programozói modellje. Message-driven beanek.

    11

    5. gyakorlati téma: XML webszolgáltatások fejlesztése és meghívása egy repülőjegy-foglaló alkalmazás példáján keresztül.

    Java Connector Architecture. System Contract-ok: Life Cycle Management, Connection Management, Security Management, Transaction Management, Work Management, Transaction Inflow, Message Inflow

    12

    5. gyakorlati téma: XML webszolgáltatások fejlesztése és meghívása egy repülőjegy-foglaló alkalmazás példáján keresztül.

    A Java EE biztonsága, Java Authentication and Authorization Service. Autentikáció és autorizáció a web- és EJB-rétegben. Az adatforgalom biztonsága. Támadási módszerek és védekezés: SQL injection, cross-site scripting.

    13

    6. gyakorlati téma: Alkalmazásintegráció aszinkron üzenetsorokkal, a JMS technológia és message-driven beanek felhasználásával

    A Java EE teljesítménye. A teljesítmény mérőszámai, mérési technikák. Benchmarkok. Tuningolási lehetőségek a Java EE alkalmazásszerverekben. Klaszterezés.

    14

    6. gyakorlati téma: Alkalmazásintegráció aszinkron üzenetsorokkal, a JMS technológia és message-driven beanek felhasználásával

    Eszközök Java EE alkalmazások tesztelésére. JUnit, Cactus, EJBUnit.

    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

    Előadás és számítógépes gyakorlat. A számítógépes gyakorlat során az előadáson hallottak begyakorlására nyílik lehetőség korszerű fejlesztői eszköz (NetBeans) és alkalmazásszerver (Glassfish) felhasználásával.

    10. Követelmények

    a. A szorgalmi időszakban:

         A hallgatók a szorgalmi időszakban házi feladatot készítenek, melyet a szorgalmi időszak utolsó napjáig kell bemutatni.

        A hallgató a félév elismerését jelentő félév végi aláírást csak akkor kaphat, ha elégséges szintű házi feladatot ad be.

        Elővizsga tehető a szorgalmi időszak utolsó hetében.

    b. A vizsgaidőszakban:

        A tantárgy anyagából a hallgatók vizsgát tesznek. A félév végi osztályzatot a vizsgajegy (60%) és a házi feladat (40%) alapján kapják.

     

    11. Pótlási lehetőségek

    ·       Házi feladat pótlása a pótlási héten   - TVSz16 .§ (3)

    ·       Elégtelen vizsga a TVSZ szabályai szerint pótolható.

     

    12. Konzultációs lehetőségek

    Igény szerint az előadókkal egyeztetve.

    13. Jegyzet, tankönyv, felhasználható irodalom

    ·        Imre Gábor: Szoftverfejlesztés Java EE platformon, 2007, SZAK Kiadó, ISBN 978-9639131972

    ·        Rima Patel Sriganesh, Gerald Brose, Micah Silverman: Mastering Enterprise Java Beans, 2006, Wiley, ISBN: 978-0471785415

    ·        Kevin Mukhar, Chris Zelenak, James L. Weaver, Jim Crume: Beginning Java EE 5: From Novice to Professional, 2005, Apress, ISBN: 978-1590594704

     

    14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
    Kontakt óra

    56

    Félévközi készülés órákra

    0

    Felkészülés zárthelyire

    0

    Házi feladat elkészítése

    16

    Kijelölt írásos tananyag elsajátítása

    0

    Vizsgafelkészülés

    48

    Összesen

    120

    15. A tantárgy tematikáját kidolgozta
    Név: Beosztás: Tanszék, Int.:
    Dr. Juhász SándorDocens Automatizálási és Alkalmazott Informatikai Tanszék
    Imre Gábor Tanársegéd Automatizálási és Alkalmazott Informatikai Tanszék