====== Metody vývoje softwaru ====== Ve spolupráci s obecně prospěšnou společností Liberix o.p.s. (http://www.liberix.cz) jsem připravil sadu prezentací, které přednesu studentům oboru Informatika na Unverzitě Palackého v Olomouci v zimním semestru 2007. Na této stránce najdete osnovy jednotlivých prezentací jakož i jednotlivé prezentace samotné. Budu je postupem času (někdy i zpětně) přidávat ke stažení. Pro dotazy mne kontaktujte na adrese lukas.zapletal zavináč liberix cz. Sylabus je k dispozici také v [[liberix_metody_english|v anglickém jazyce]]. * [[https://stagweb.upol.cz/prohlizeni/pg$_prohlizeni.sylabus?kat=KMI&predm=MVSW&rok=2007|Sylabus ve STAGu]] * [[https://stagweb.upol.cz/prohlizeni/pg$_prohlizeni.akce_stud?aid=114320|Seznam studentů]] Děkuji studentům, kteří navštěvovali pravidelně mé podídání, a těším se na další setkání. V anketě [[http://www.inf.upol.cz/download/study/study/Evaluace_ZS_07_nejlepsi.pdf|Evaluace výuky pro rok 07/08]] jsem byl pochválen studentem, za což také děkuji. Je to motivace do další práce. ===== Anotace předmětu ===== Předmět Metody vývoje softwaru se věnuje implementaci a nasazení informačních systémů ve větších společnostech, kde se klade důraz na přenostitelnost, interoperabilitu a integrovatelnost. Cílem je přiblížit architektury stávajících systémů založených na platformách Java, J2EE a SOA a připravit studenty do praxe v oboru. ===== Požadavky na studenta ===== Znalost OOP, jazyka Java nebo jazyka C#, přehled v relačních databázích (tabulky, spojování, SQL) a v počítačových sítích (TCP, UDP, IP). ===== Přehled probírané látky ===== - Úvod do jazyka Java - základní znalosti - virtuální stroj - přehled technologií - rozdíly s jazykem C Sharp - rozdíly platforem .NET a Java - vývojové nástroje - dokumentace - Java efektivně - základní zásady programování - vybrané návrhové vzory a jejich aplikace - návrhový vzor jedináček - neměnitelné třídy - práce s výjimkami - špatné praktiky a postupy, kterým se vyvarovat - Programování řízené testy - představení TDD - ukázka vývoje programu v Javě v prostředí IntelliJ IDEA - technologie JavaBeans a objektová databáze Db4o - ukázka xUnit (JUnit) - Platforma J2EE - představení technologie - servlety - JSP stránky - EJB komponenty - webové služby - služby pro posílání zpráv - představení technologií v J2EE - JBoss Application Server - přehled aplikačních serverů JBoss a Glassfish - instalace JBosse - spouštění - konfigurace - nasazení aplikace - konfigurace aplikace - Vývoj J2EE aplikace - spuštění serveru a vývojového prostředí - implementace EJB beanu - vývoj EJB klientské aplikace - implementace webové služby - vývoj JSP frontendu - vytvoření archivu a nasazení na ostrý server - Vývoj webových aplikací a služeb - vícevrstevná architektura - MVC programovací model - servlety, kontexty, aplikace - JSP, JSTL, vlastní značky, JSF - tvorba jednoduché JSP aplikace - deployment JSP a Servletu - tvorba JAX-WS webové služby pomocí Apache Axis - představení nových technologií JavaServer Faces - JavaServer Faces - historie a vznik - úvod do JSF - uživatelské rozhraní - datový model - validátory - lokalizace - ukázka aplikace - Spring Framework - důvod vzniku - beans, AOP - transakce - databázová vrstva, ORM - webová vrstva - integrační vrstva - Integrace a JMS - vysvětlení pojmů - BPM, BPEL - technologie JMS - ukázky JMS technologie - backpone, connectors - ukázky v nástrojích firmy TIBCO ===== Slajdy ===== Pořadí přednášek nebylo dodržováno, takže čísla nemusejí souhlasit. - {{projekty:liberix:mvs:java_pro_net.pdf|Java pro programátory .NET}} - {{projekty:liberix:mvs:java_efektivne.pdf|Java efektině}} - {{projekty:liberix:mvs:tdd.pdf|Programování řízené testy}} - {{projekty:liberix:mvs:platforma_j2ee.pdf|Představení J2EE}} - {{projekty:liberix:mvs:ejb3.pdf|EJB 3.0 a JPA 1.0}} - {{projekty:liberix:mvs:j2ee_web.pdf|Vývoj webových aplikací v J2EE}} - [[blog:middleware_orientovany_na_zpravy|Middleware orientovaný na zprávy]] ===== Literatura ===== * Kito D. Mann: //JavaServer Faces in Action//. Manning 2004. ISBN: 1932394125. * Raghu R. Kodali, Jonathan R. Wetherbee, Peter Zadrozny: //Beginning EJB 3 Application Development: From Novice to Professional//. Apress 2006. ISBN: 1590596714. * Eckels, Bruce: //Thinking in Java, 4rd edition//. Prentice-Hall 2002, Grada 2004. Dostupné na http://www.mindview.net/Books/TIJ/. * Sun Microsystems: //Java EE Tutorials//. Dostupné na http://java.sun.com/javaee/reference/tutorials/. * Kolektiv autorů: //JSF Tutorials//. Dostpuné na http://www.jsftutorials.net/. * Kolektiv autorů: //Spring Framework Documentation//. Dostupné na http://www.springframework.org/. * Kolektiv autorů: //JBoss Application Server reference//. Dostupné na http://labs.jboss.com/.