Integrace Služeb Softwarových Systémů
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
A4M36ISS | KZ | 4 | 0P+20C | česky |
- Garant předmětu:
- Přednášející:
- Cvičící:
- Předmět zajišťuje:
- katedra počítačů
- Anotace:
-
Účelem je seznámit studenty s principy integrace softwarových systémů a použití návrhových vzorů pro integraci. Kurz nabízí seznámení se s technologiemi pro řízení toku zpráv, jejich transformací napříč formáty, integraci byznys pravidel pro řízení událostí, řízení distribuovaných transakcí, apod. Kurz poskytuje kompletní přehled o Architekturách orientovaných na služby (SOA), se zaměřením na integraci služeb a byznys pravidel nebo heterogenních systémů. Mimo decentralizovaný softwarový návrh pro SOA se studenti naučí návrhu ?Microservice Architecture?, který umožní nezávislé nasazení a správu jednotlivých částí systému a služeb. Mimo výše uvedené se studenti naučí pracovat s cloudovými službami v přístupu Platform as a Service (PaaS), který se vyznačuje charakteristickými rysy pro vývoj a integraci služeb včetně snadné migrace v cloudových aplikacích. Studenti se seznámí se standardní specifikací pro modularizaci systémů v technologii Java - Open Service Gateway Iniciative (OSGi). Poslední část kurzu je zaměřena integraci služeb pro mobilní platformy, a to jak z pohledu frontendu, tak i možnosti připojení mobilních backendů.
- Požadavky:
-
Student musí být seznámen s Enterprise Java technologií (Java EE) a být schopen vytvořit jednoduchou aplikaci a tu nasadit na webový server, dále by měl mít znalosti objektově-orientovaného návrhu a mít základní přehled softwarových architekturách, měl by znát práci s relační databází. Tyto znalosti může získat v bakalářských předmětech OI nebo STM, či nastudováním běžné literatury o Java EE (i starších verzích), objektovém návrhu a návrhových vzorech.
- Osnova přednášek:
-
Plán seminářů
Den 1
1. Principy systémové integrace softwarových služeb
2. Nástroje integrace softwarových služeb
3. Základy standardní specifikace pro modularizaci systémů - OSGi
4. Aplikace OSGi
Den 2
5. Distribuované transakce a webové služby a zdroje
6. Technologie posílání zpráv, pravidla směrování, Komponenty (Apache Camel)
7. Integrace komponent SOA, Základní vzory integrace, Testování
Den 3
8. Integrace SW služeb a business proces management (BPM)
9. Integrace SW služeb a clustering
10. Testování Integrace SW služeb
11. Specifikace a aplikace architektury Platform as a Service (PaaS)
12. Řízení kontejnerů s PaaS
13. Integrace heterogenních služeb v architektuře SOA
14. Řízení a správa systémů SOA - Unified SOA Governance
Den 4
15. Mobilní aplikace pro integraci SW služeb
16. Mobilní backend
17. Mobilní frontend
- Osnova cvičení:
-
Plán cvičení
Den 1
1. Základy standardní specifikace pro modularizaci systémů OSGi
2. Základy standardní specifikace pro modularizaci systémů OSGi
3. Classloading, JBoss Fuse
4. Frameworky Karaf a Blueprint
Den 2
5. Posílání zpráv - Apache Camel
6. Posílání zpráv - Apache Camel: Consumer-Provider, komponenty
7. Posílání zpráv - Apache Camel: Konvertory, WS, REST
Den 3
8. Integrace SW služeb - SwitchYard
9. Integrace SW služeb - SwitchYard: Transformace, validace
10. Integrace SW služeb - SwitchYard: BPM, SCA
11. Integrace SW služeb - SwitchYard: Clustering, failover
12. Architektura PaaS - Fabric8
Den 4
13. Řízení kontejnerů
14. hawt.io
15. Mobilní JMS
16. Mobilní JMS iBus//Mobile
- Cíle studia:
-
Účelem je seznámit posluchače s projekty JBoss Fuse, JBoss SwitchYard a dalšími, a demonstovat na nich řešení problémů z oblasti integrace heterogenních systémů.
Studenti se seznámí s pojmy jako jsou
* Architektura orientovaná na služby (SOA)
* Podniková sběrnice služeb (ESB)
* Architektura řízená událostmi (EDA)
* Service Component Architecture (SCA)
* Mikroslužby
- Studijní materiály:
-
Literatura a reference:
* Beginning Java EE 6 with GlassFish 3, Antonio Goncalves, Apress
* Java EE 7 Essentials, Arun Gupta, O'Reilly
* The Java EE 6 Tutorial, 4th Edition, Eric Jendroc et al. Addison-Wesley
* http://docs.oracle.com/javaee/6/tutorial/doc/
Povinná literatura:
Předmět studentům nabídne materiály které budou vypracované ke kurzu.
Materiály a detaily budou postupně přidány zde: https://developer.jboss.org/wiki/SystemIntegrationWithJBoss a dále pak na courseware fakulty https://cw.fel.cvut.cz
Doporučená literatura:
* Richard S. Hall, Karl Pauls, Stuart McCulloch, David Savage: OSGi in Action
* Craig Walls: Spring in Action
* Holly Cummins, Timothy Ward: Enterprise OSGi in Action
* Claus Ibsen, Jonathan Anstey: Camel in Action
* Scott Cranton, Jakub Korab: Apache Camel Developer's Cookbook
* Mark Little, Jon Maron: Java Transaction Processing: Design and Implementation
* Thomas Erl: Next Generation SOA: A Concise Introduction to Service Technology & Service-Orientation
* Gregor Hohpe, Bobby Woolf: Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
* InfoQ eMag: Microservices
- Poznámka:
-
předmět probíhá formou blokové výuky po dobu 1 týdnů
- Další informace:
- Pro tento předmět se rozvrh nepřipravuje
- Předmět je součástí následujících studijních plánů: