Opis predmeta
Razvoj aplikacij, ki se izvajajo na strežnikih
Definicija računalništva v oblaku: kaj je računalništvo v oblaku, namen, vloga in pomen, cilji
Izzivi: upravljanje infrastrukture, arhitektura aplikacij za oblak, shranjevanje podatkov, varnost, ostali vidiki
Lastnosti: samo oskrba na zahtevo, elastičnost in skalabilnost, dostop v obliki storitev, nadzor storitev, souporaba virov (pooling), itd.
Storitveni modeli: IaaS (Infrastruktura kor storitev), PaaS (Platforma kot storitev), SaaS (Aplikacije kot storitve), XaaS
Podrobni pregled IaaS (Infrastruktura kor storitev)
- Pregled konceptov, arhitekturni vidik
- Privatni oblak, javni oblak, hibridni oblak, virtualni oblak
- Spoznavanje in primerjava najpomembnejših IaaS tehnologij
Podrobni pregled PaaS (Platforma kot storitev)
- Pregled konceptov, arhitekturni vidik
- Spremembe v razvojnih modelih: Trajno stanje: distribuirani datotečni sistemi, nestrukturirane shrambe, NoSQL baze, SQL baze v oblaku; Poslovna logika: spletne storitve, REST storitve, ostale tehnologije; Izvajalno okolje
- Spoznavanje in primerjava najpomembnejših PaaS tehnologij: Java EE, Azure, Google App Engine, itd.
Podrobni pregled SaaS (Aplikacije kot storitve)
- Pregled konceptov, arhitekturni vidik
- Model dostopa, koncept razvoja
- Poslovni model, storitve v oblaku (lokacijske, dostava podatkov, bogatenje podatkov, integracijske storitve, poslovna inteligenca, itd.)
Namestitveni modeli
- Zasebni, javni, hibridni, skupni oblak
- Na lokaciji, pri ponudniku, hibridni model, pregled ponudnikov
Migracija v oblak
Nadzor, upravljanje, SLA in QoS
Praktični del:
- Vzpostavitev lastnega računalniškega oblaka
- Razvoj aplikacij za oblak
o Tehnološki vidiki
o Vsebinsko-poslovni vidiki
- Razvoj inovativnih aplikacij, ki delujejo v oblaku
- Konfiguriranje hibridnega računalniškega oblaka
- Spoznavanje najpomembnejših javnih oblakov: Amazon, Google App Engine, Azure, OpenStack, itd.
- Študija prenosljivost oblačnih rešitev med ponudniki
- Razvoj specifičnih razširitev za oblak
Predmet učimo na programih
Cilji in kompetence
Cilj predmeta je osvojiti poglobljene znanje in poznavanje področja računalništva v oblaku in vseh nivojev storitvene usmerjenosti (XaaS), osvojiti znanje s področja infrastrukture, platforme in aplikacij v obliki storitev, spoznati načrtovalske vzorce, arhitekturne modele in dobre prakse ter razumeti pomen inovativnih aplikacij v oblaku.
Kompetence:
Študentje bodo sposobni vzpostaviti infrastrukturo za delovanje privatnih, hibridnih in zasebnih oblakov, načrtovati in implementirati arhitekturo platforme PaaS, načrtovati in implementirati aplikacije, ki se izvajajo na PaaS, razumeti specifike oblačnih arhitektur in infrastruktur. Usposobljeni bodo za razvoj SaaS aplikacij na najpomembnejših PaaS/IaaS. Razumeli bodo pomen inovacij v oblaku.
Metode poučevanja in učenja
Predavanja, računalniške vaje, projektni način dela pri seminarjih.
Predvideni študijski rezultati
Po uspešnem zaključku predmeta bo študent:
– razvijal programske rešitve za delovanje v oblaku
– poznal lastnostni javnih in zasebnih oblakov
– razumel infrastrukture in arhitekture računalniških oblakov
– razumel cloud-native arhitekturo in jo uporabil pri razvoju
– obvladal razvoj mikrostoritev
– razumel in uporabljal vzorce za razvoj mikrostoritev
– uporabil vsebnike in orkestracijo vsebnikov
– sposoben razvoja SaaS aplikacij
Reference nosilca
- JURIČ, Matjaž B. WSDL and BPEL extensions for event driven architecture. Inf. softw. technol.. [Print ed.], 2010, vol. 52, iss. 10, str. 1023-1043
- JURIČ, Matjaž B., ŠAŠA, Ana, BRUMEN, Boštjan, ROZMAN, Ivan. WSDL and UDDI extensions for version support in web services. J. syst. softw.. [Print ed.], 2009, vol. 82, iss. 8, str. 1326-1343
- JURIČ, Matjaž B., ŠAŠA, Ana, ROZMAN, Ivan. WS-BPEL extensions for versioning. Inf. softw. technol.. [Print ed.], 2009, vol. 51, iss. 8, str. 1261-12
- JURIČ, Matjaž B., PANT, Kapil. Business process driven SOA using BPMN and BPEL: from business process modeling to orchestration and service oriented architecture. Birmingham; Mumbai: Packt Publishing, cop. 2008. V, 311 str., ilustr. ISBN 978-1-84719-146-5
- JURIČ, Matjaž B., MATHEW, Benny, SARANG, Poornachandra G., Business process execution language for web services: an architect and developer's guide to orchestrating web services using BPEL4WS. Birmingham: Packt Publishing, 2006. X, 353 str., ilustr. ISBN 1-904811-81-7.
- JURIČ, Matjaž B., LOGANATHAN, Ramesh, SARANG, Poornachandra G., JENNINGS, Frank. SOA approach to integration: XML, web services, ESB, and BPEL in real-world SOA projects. Birmingham; Mumbai: Packt Publishing, cop. 2007. VIII, 366 str., ilustr. ISBN 978-1-904811-17-6
Temeljni viri in literatura
1. Barrie Sosinsky, Cloud Computing Bible, Wiley; 2011.
2. George Reese, Cloud Application Architectures: Building Applications and Infrastructure in the Cloud, O'Reilly Media; 2009.
3. David S. Linthicum, Cloud Computing and SOA Convergence in Your Enterprise, Addison-Wesley Professional, 2009.
4. John Rhoton, Risto Haukioja, Cloud Computing Architected: Solution Design Handbook, Recursive Press, 2011.
5. Matjaz B. Juric et al., Do more with SOA Integration, Packt Publishing, 2011.