460-4104/03 – Vývoj enterprise aplikací (VEA)
Garantující katedra | Katedra informatiky | Kredity | 5 |
Garant předmětu | Ing. David Ježek, Ph.D. | Garant verze předmětu | Ing. David Ježek, Ph.D. |
Úroveň studia | pregraduální nebo graduální | Povinnost | povinně volitelný typu A |
Ročník | 2 | Semestr | letní |
| | Jazyk výuky | čeština |
Rok zavedení | 2022/2023 | Rok zrušení | |
Určeno pro fakulty | FEI | Určeno pro typy studia | navazující magisterské |
Cíle předmětu vyjádřené dosaženými dovednostmi a kompetencemi
Frekventanti budou chápat jakým způsobem se vyvíjí rozsáhlé podnikové aplikace (Enterprise Application). Porozumí a budou schopni aplikovat vzory, techniky a přístupy běžně využívaných pro vývoj těchto aplikací. Do této oblasti znalostí spadá:
- Definic Rozsáhlé podnikové aplikace
- Architektury vhodné pro rozsáhlé podnikové aplikace
- Technologie využívané při tvorbě rozsáhlé podnikové aplikace
- Využití vzorů při tvorbě rozsáhlých podnikových aplikací
- Vzory prezentační vrstvy: MVC, Page Controller, Front Controller, Template View, Transform View, Intercepting Filter
- Vzory doménové vrstvy: Table Module, Transaction Script, Domain Model, Inversion of Control and Dependenci Injection, Proxy Pattern
- Aspektově orientované programování
- Vzory datové vrstvy pro přístup k datům: Table Data Gateway, Row Data Gateway, Active Record, Data Mapper, Data Access Object
- Vzory chování pro objektově relační mapování: Unit of Work, Identity Map, Lazy Load
- Vybrané strukturální vzory pro objektově relační mapování: Serialized LOB, způsoby mapování dědičnosti
- Webové služby
- Architektonický styl REST
- Servisně orientovaná architektura
- Architektura mikroslužeb
- Komunikace pomocí zasílání zpráv
Vyučovací metody
Přednášky
Cvičení (v učebně)
Projekt
Anotace
Předmět definuje charakteristiku rozsáhlých podnikových aplikací a následně se věnuje vícevrstvé architektuře, jako jedné z nejrozšířenějších architektur rozsáhlých podnikových systémů. Postupně je probrán význam jednotlivých vrstev a využití návrhových vzorů v těchto vrstvách. Dále se předmět věnuje dalším používaným přístupům a technikám jako jsou webové služby, architektonický styl REST, architektura mikroslužeb a další. Studenti jsou také seznamováni s technologiemi platformy JAVA, a způsobu integrace a využití zmiňovaných vzorů a technik v těchto technologiích.
Povinná literatura:
Doporučená literatura:
1. Alur, Deepak, Malks, Dan, Crupi, John. Core J2EE Patterns: Best Practices and Design Strategies Prentice Hall Press, 2013. ISBN 9780133807462.
2. Core J2EE Patterns: Patterns index page [online]. 2001-2002 [cit. 2014-09-05]. Dostupný z WWW: http://www.corej2eepatterns.com
Forma způsobu ověření studijních výsledků a další požadavky na studenta
Každý student musí vypracovat projekt, podmínkou udělení zápočtu je získání minimálně 20 bodů z celkového počtu 40.
Pro úspěšné absolvování písemné zkoušky je třeba získat minimálně 30 bodů ze zkouškové písemky na konci semestru a zároveň součet bodů za zkouškovou písemku a zápočet musí přesáhnout 51 bodů.
E-learning
Další požadavky na studenta
Základní znalost technologie JAVA. Základní znalosti v oblasti softwarového inženýrství.
Prerekvizity
Předmět nemá žádné prerekvizity.
Korekvizity
Předmět nemá žádné korekvizity.
Osnova předmětu
Přednášky:
1. Definic Rozsáhlé podnikové aplikace. Architektury vhodné pro rozsáhlé podnikové aplikace.
2. Technologie využívané při tvorbě rozsáhlé podnikové aplikace.
3. Využití vzorů při tvorbě rozsáhlých podnikových aplikací.
4. Vzory prezentační vrstvy: MVC, Page Controller, Front Controller, Template View, Transform View, Intercepting Filter.
5. Vzory doménové vrstvy: Table Module, Transaction Script, Domain Model, Inversion of Control and Dependenci Injection, Proxy Pattern.
6. Aspektově orientované programování .
7. Vzory datové vrstvy pro přístup k datům: Table Data Gateway, Row Data Gateway, Active Record, Data Mapper, Data Access Object.
8. Vzory chování pro objektově relační mapování: Unit of Work, Identity Map, Lazy Load.
9. Vybrané strukturální vzory pro objektově relační mapování: Serialized LOB, způsoby mapování dědičnosti.
10. Webové služby.
11. Architektonický styl REST.
12. Servisně orientovaná architektura.
13. Architektura mikroslužeb.
14. Komunikace pomocí zasílání zpráv.
Cvičení(PC učebna):
1. Seznámení s technologiemi pro vývoj rozsáhlých podnikových aplikací na platformě JAVA
2. Implementace první kostry aplikace.
3. Implementace klientské části prezentační vrstvy.
4. Implementace serverové části prezentační vrstvy s využitím vzorů.
5. Implementace doménové vrstvy aplikace s využitím vzorů.
6. Implementace rozšiřující funkcionality pomocí AOP.
7. Implementace datové vrstvy aplikace s využitím vzorů.
8. Implementace přístupu k datům pomocí JPA.
9. Implementace webové služby a klientské aplikace.
10. Implementace REST rozhraní.
11. Implementace komunikace pomocí JMS mezi dvěma moduly.
12. Konzultace k implementaci semestrálních projektů.
Podmínky absolvování předmětu
Výskyt ve studijních plánech
Výskyt ve speciálních blocích
Hodnocení Výuky