Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Masterat
Domeniul: Informatică
Programul de studii: Optimizarea modelelor informatice - în limba maghiară
Limba de predare: Maghiară

SYLLABUS

I. Általános adatok
Kód	Tantárgy neve	
MID1033	Java alapú vállalati szoftverrendszerek fejlesztése	

Félév	Órák: C+S+L+P	Kategória	Típus	
3	2+1+0+1	szaktárgy	választható	

II. Főállásban az Egyetem oktatói
Név	Tudományos	Oktatói	Tanszék	Tevékenység	
	fokozat	státus		E	Sz	L	
SIMON Károly	Dr. 	Lect.	Magyar Matematika és Informatika	*	*		

Társult oktatók
Név	Tudományos	Intézmény	Állás	Tevékenység 	
	fokozat		típusa	E	Sz	L	

III. A tantárgy célkitűzései
-	A nagyméretű, osztott vállalati szoftverrendszerek fejlesztésénél alkalmazott módszerek, stratégiák elsajátítása
-	Fejlesztők és fejlesztői csapatok munkáját és együttműködését támogató eszközök megismerése
-	A vállalati rendszerek fejlesztését támogató Java technológiák, keretrendszerek bemutatása
-	A Java EE platform, valamint az EJB használatának elsajátítása, gyakorlása
-	Betekintés vállalati rendszerek fejlesztését támogató más Java platformok (pl. Spring) szerkezetébe   	

IV. A tantárgy tartalma
-	A vállalati rendszerek fejlesztésénél érvényesülő általános alapelvek, alkalmazott stratégiák és felhasznált eszközök általános áttekintése
-	Az előzőekben megismert Java technológiákkal, keretrendszerekkel kapcsolatos ismeretek felfrissítése
-	A Java EE platform bemutatása
-	Az EJB komponens modell
-	Alkalmazásszerverek, szolgáltatások és erőforrás menedzsment
-	Perzisztencia (JPA)
-	Alapvető szolgáltatások: tranzakciók menedzsmentje, biztonság, időzített szolgáltatások, interceptorok stb.
-	Webes technológiák, keretrendszerek, webszolgáltatások
-	A Java EE platform és a Spring keretrendszer összehasonlítása
-	Projekt fejlesztése az elsajátított technológiák alkalmazásával 	

V. Könyvészet
1. Andrew Lee Rubinger, Bill Burke, Enterprise JavaBeans 3.1 (Enterprise JavaBeans – 6th Edition), O'Reilly, 2010.
2. Simon Károly, Kenyerünk Java – A Java programozás alapjai, Kolozsvári Egyetemi Kiadó, 2010.
3. ***, Java EE 6 Tutorial, Sun Microsystems, http://download.oracle.com/javaee/6/tutorial/doc/
4. Fowler, M., Patterns of Enterprise Application Architecture, Addison-Wesley, 2002.	

VI. Az oktatói tevékenység heti tematikája
1.	Ismeretfelmérő és ismétlés
-	Az előzőekben elsajátított Java technológiákkal kapcsolatos ismereteket felmérő teszt
-	Java SE ismétlés
2.	Ismétlés
-	Az előzőekben elsajátított Java technológiák és keretrendszerek ismétlése (a felmérő eredményeinek alapján összeállított anyagnak megfelelően)
3.	Vállalati rendszerek – általános bevezető
-	Vállalati rendszerek fejlesztésénél alkalmazott módszerek, stratégiák, eszközök
4.	Java EE és alkalmazásszerverek
-	A Java EE platform általános bemutatása
-	Java alkalmazásszerverek, alapvető szolgáltatások áttekintése
-	A Glassfish bemutatása
5.	Az EJB komponensmodell
-	Az EJB komponensmodell ismertetése, a kapcsolódó szolgáltatások áttekintése
-	Entitások (Entity Bean-ek)
-	Szerver oldali komponensmodell (állapotnélküli, állapottal rendelkező és singleton Session Bean-ek, Message-Driven Bean-ek)
6.	Erőforrások menedzsmentje, elérése és használata
-	Erőforrások menedzsmentje az EJB konténeren belül
-	JNDI
-	Injection
7.	EJB – példa
-	Egy egyszerű EJB alkalmazás fejlesztésének lépései – példa, gyakorlati bemutató
8.	Perzisztencia
-	JPA alapok, entitások menedzsmentje
-	ORM leképezések megvalósítása
9.	Perzisztencia – folytatás
-	Entitások közötti kapcsolatok
-	Entitások közötti öröklődési viszony, osztályhierarchia leképezése
-	Az Entity Callback mechanizmus és figyelők alkalmazása
10.	Perzisztencia – folytatás
-	A JPA QL
11.	Tranzakciók menedzsmentje
-	Deklaratív tranzakció-menedzsment
-	Tranzakciók és perzisztencia
-	JTA
12.	Biztonság
-	A Java EE biztonsági mechanizmusa, jogosultsági körök menedzsmentje
13.	Egyéb alapvető szolgáltatások
-	Időzített szolgáltatások, a Timer Service szolgáltatás
-	Aspektusorientált megközelítés, Interceptorok
14.	Összefoglaló, ismétlés, ismeretek felmérése

Gyakorlati tevékenység, szemináriumok:
1.	hét: projekttel és szemináriumi bemutatókkal kapcsolatos megbeszélés
2.	hét: projekt specifikációjának elkészítése, fejlesztői csoportok, feladatkörök meghatározása, szemináriumi bemutatók elosztása és ütemezése
3.	hét: a projekt fejlesztése során felhasznált, a fejlesztési folyamatot és csapatmunkát támogató eszközök bemutatása
4.	hét: a projekt fejlesztéséhez használt eszközök konfigurálása, a fejlesztői környezet előkészítése
5.	hét: a projekt tervének elkészítése
6.	hét – 13. hét: a projekt fejlesztése, ezzel kapcsolatos megbeszélések, szemináriumi bemutatók
14.	hét: projekt bemutatása

Szemináriumi bemutatók témája: az előadás anyagához kapcsolódó kiegészítő témakörök (Java webes keretrendszerek, webszolgáltatások, a Spring keretrendszer részei, egyéb Java technológiák és fejlesztési eszközök)

Az előadás anyaga megtalálható a BBTE Magyar Matematika és Informatika Intézetének on-line tanulmánymenedzsment rendszerén belül, amely az www.infooktatas.ro weboldalon keresztül érhető el.

Az oktató honlapja és kapcsolatfelvétel: www.cs.ubbcluj.ro/~ksimon	

VII. Alkalmazott didaktikai módszerek
-	előadás, párbeszéd, gyakorlati feladatok, csoportos fejlesztési tevékenység
-	az előadásokhoz tartozó jegyzetek kivetítése, a jegyzetek és segédanyagok hozzáférhetővé tétele az Interneten	

VIII. Értékelés
A végső jegyet az alábbiakban leírtak szerint határozzuk meg: 
A: évközi tevékenységre és szemináriumi bemutatóra kapott jegy 
B: gyakorlati tevékenységre kapott jegy (projekt fejlesztése és bemutatása)
C: írásbeli elméleti vizsga eredménye
Végső jegy: (A+B+C)/3
Az elméleti jellegű írásbeli vizsgára és a projekt bemutatására a félév utolsó hetében kerül sor. 
A tantárgy sikeres letételéhez minden részeredmény (A, B és C) esetében átmenő osztályzatot (5) kell elérni.	

IX. Kiegészítő könyvészet
1.	Craig Walls, Spring in Action, 3rd Edition, Manning Publications, 2011.
2.	***, Hibernate Documentation, http://www.hibernate.org/5.html
3.	***, CORBA/IIOP Specifications, OMG,
http://www.omg.org/technology/documents/corba_spec_catalog.htm
4.	***, RMI Tutorial, Sun Microsystems, 2008.
   http://java.sun.com/docs/books/tutorial/rmi/index.html
5.	***, JDBC Tutorial, Sun Microsystems, 2008.
   http://java.sun.com/docs/books/tutorial/jdbc/index.html
6.	***, iBatis Documentation (for Java), The Apache Software Foundation, 2006
   http://svn.apache.org/repos/asf/ibatis/trunk/java/ibatis-2/ibatis-2-docs/en/
7.	***, AspectJ Documentation, Eclipse Foundation, 
   http://www.eclipse.org/aspectj/docs.php
8.	***, Java Servlet Technology Documentation, Sun Microsystems, http://java.sun.com/products/servlet/docs.html
9.	***, JavaServer Pages Technology Documentation, Sun Microsystems, http://java.sun.com/products/jsp/docs.html	

	Dékán,						Tanszékvezető,

	Dátum,						Előadás felelőse,
	2011. okt. 1.						Lect. Dr. SIMON Károly