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