Architektúra softvérových systémov

Prednášajúci:Igor Kossaczký
Cvičiaci:
Kategória predmetu:,
Organizácia
Podmienky
Technológie
Oznamy

Organizácia predmetu

Predmet je členený do nasledujúcich aktivít:

  • Prednášky: 2 hodiny týždenne
  • Cvičenie: 2 hodiny týždenne
  • Samostatné domáce štúdium

ONLINE výuka

Prednášky sa budú konať formou online prednášok prostreníctvom MS-teams kanálu ASOS prednášky termíne podľa rozvrhu. t.j. utorok 9:00-11:00.

Cvičenia budú takisto prebiehať online na MS-teams kanály ASOS cvičenia  vždy vo štvrtok od 17:00.

Individuálne konzultacie

  • s predášajúcim – online v utorok doobeda po prenáške
  • s cvičiacim – podľa dohody

Dokumenty k prenášakam a materíály k cvičeniam nájdete na podstránke Vyučovanie. Stránka bude postupne aktualizovaná.

Obsah

predmet a pokrýva z 3 tematické okruhy:

  • Návrhové  vzory a architektúra frameworku Spring
  • SOA – tvorba webových servisov
  • Funkcionálne programovanie, paralelné výpočty – Apache Spark

Plán semestraorientačne

  1. Návrhové vzory
  2. Inversion of Control, Dependency injection. Spring framework
  3. Spring AoP
  4. Rezerva ( úvod do servisne orientovanej architektúry )
  5. SOAP web-servisy
  6. Tvorba web-servisov: Code first
  7. Návrh WSDL a XML-schémy na základe UML
  8. Tvorba web-servisov: Contract first
  9. Funkcionálne programovanie, Java8 lambda výrazy
  10. Paralelné výpočty, Spark RDD – API
  11. Výpočtový model Spark a Hadoop
  12. Spark Sql, Spark a Kafka streaming

Podmienky absolvovania

Cvičenia

Ťažisko prípravy spočíva v riešení implementačných zadaní. Pre jednotlivé cvičenia sú vytvorené podstránky obsahujúce vzorové implementačné zadania pokrývajúce témy: Webové servisy, Spring a Apache-Spark. Odporúčame študentom si tieto zadania implementovať priebežne v rámci domácej prípravy. Nenechávať implementaciu len na samotné cvičenie. Cvičenie je určené predovšetkým na konzultáciu implementačných problémov!

Zápočet

Implementačné zadania spolu za 50 bodov.

Skúška

bude pozostávať z teoretickej a implementačnej časti spolu za 50 bodov. Na úspešné absolvovanie predmetu je potrebné získať zo skúšky minimálne 25 bodov a samozrejme spolu s cvičeniami aspoň 56!

Samoštúdium

Téme Návrhové vzory bude venovaná 1. prednáška. Cvičenia sa jej osobitne venovať nebudú. Ku skúške si študenti v rámci samoštúdia naštudujú nasleduúce návrhové vzory:

Ku skúške si študenti v rámci samoštúdia naštudujú nasledujúce  návrhové vzory:

  • Structural
    • Proxy
    • Adapter
    • Bridge
    • Decorator
    • Composite
  • Creational
    • Singleton
    • Prototype
    • Factory Method
    • Abstract Factory
    • Builder
  • Behavioral
    • Chain of responsibility
    • Command
    • Template Method
    • Visitor
    • Observer

Technológie

Na prenáškach budem zväčša používať vývojové prostredie Apache Netbeans 12.1. s java platformou openjdk-8-jdk a aplikačným serverom GlassFish-5.0.1

Virtuálny disk s OS linuxmint-20 a nainšalovaným vývojovým prostredím technológiami stiahnuť  tu: MintEDU2021.vdi. (User: edu Password: edu4edu).

Stručný návod na inštaláciu vývojového prostredia pre linux:
1. Inštalácia openjdk8
$ sudo apt-get install openjdk-8-jdk
$ sudo update-alternatives –config java
z ponuky vybrať jdk8.
Nastavenie premennej prostredia JAVA_HOME=“/usr/lib/jvm/java-1.8.0-openjdk-amd64″
2. Inštalácia Netbeans12.1
$ sudo ./Apache-NetBeans-12.1-bin-linux-x64.sh
pri inštalácii zadať/zmeniť cestu k naištalovanému jdk-1.8. (/usr/lib/jvm/java-1.8.0-openjdk-amd64)
3. Inštalácia GlassFish – prostredníctvom Netbeans:
Záložka Services Servers/add … vybrať GlassFish 5.0 (5.0.1)
Počas inštalácie treba zadať prihlasovacie údaje  pre Glassfish-admina: user: admin a password nechať prázdne.
( Pozn. inštalácia trochu trvá a nakoniec sa nerefrešne dialóg)

Študenti však môžu pre implementáciu úloh na cvičeniach aj zápočtových testoch používať aj iné vývojové prostredie, potrebné je však používať platformu jdk8  Verzie jdk 11 a vyššie nie sú totiž spätne kompatibliné.

Pre riešenie implementačných úloh k téme 7. Návrh WSDL a XML-schémy je (zatiaľ) možné použiť vývojové prostredie Netbeans 8.* s inštalovaným pluginom XML-Tools.  Virtuálny disk s týmto prostredím asi môžete stiahnuť  tu:  EDU2020.vdi. User: vsa Password: vsa4vsa