Cilji in kompetence
Cilj predmeta je, da bodo študentje razumeli teoretične osnove s področja storitveno usmerjenih arhitektur, in znali analizirati, načrtovati, razviti in vpeljati kompleksne storitveno usmerjene informacijske sisteme ter organizirati vpeljavo storitvenih arhitektur in načrtovati celostni življenjski cikel SOA
Vsebina
• Uvod v storitvene arhitekture SOA: opredelitev vloge in pomena SOA, opredelitev tehnoloških in poslovnih prednosti, primerjava z obstoječimi pristopi, miti in zmote pri dojemanju SOA, sodobna SOA, karakteristike sodobne SOA.
• Lastnosti SOA: vpliv na poslovne procese, spremembe arhitekture informacijskih sistemov, sprememba modela razvoja aplikacij, vpliv na razvoj informacijskih sistemov in rešitev, vpliv na trženje, nameščanje, vrednostno verigo, organizacijo informatike.
• Storitvena usmerjenost: principi storitvene usmerjenosti, storitveno usmerjen IT, SOA in podpora poslovnim procesom, arhitekturni vidiki, tehnološki vidiki, organizacijski vidiki, kompozicija poslovnih procesov na načelih SOA.
• Tehnologije, potrebne za razvoj SOA: spletne storitve, standardi in tehnologije za razvoj vmesnikov storitev, BPEL in BPEL strežniki, ESB – storitveno vodilo, registri in repozitoriji, nadzor – BAM, upravljanje identitet, uporabniške interakcije, WSIF, SCA.
• Spletne storitve in sodobna SOA: vzorci izmenjave sporočil, storitvena aktivnost, koordinacija, atomarne transakcije, poslovne aktivnosti, orkestracija, koreografija, naslavljanje, zanesljiva dostava sporočil, korelacija, police.
• Tehnologij in arhitekturni stili za razvoj sodobnih rešitev SOA: REST, gRPC, GraphQL in drugi.
• Pregled programskih platform za SOA.
• Načrtovanje SOA rešitev in življenjski cikel: bottom-up vs top- down model razvoja storitev, storitveno naravnana analiza, storitveno naravnano načrtovanje, konstrukcija, implementacija, nadzor, upravljanje.
• Arhitekture mikrostoritev: osnovne definicije mikrostoritev, konceptualna zasnova rešitev na osnovi mikrostoritvene arhitekture, SOA vs mikrostoritvena arhitektura, mikrostoritveni vsebniki in ogrodja za razvoj mikrostoritev, praktični primeri razvoja rešitev na osnovi mikrostoritvene arhitekture.
• Izzivi in vzorci v mikrostoritvenih arhitekturah: upravljanje podatkov, zagotavljanje konsistentnosti, event-sourcing, CQRS, strategije nameščanja mikrostoritev, zagotavljanje skalabilnosti, orkestracija mikrostoritev.
• Dogodkovno vodene storitveno usmerjene arhitekture
• Računalništvo v oblaku in SOA: opredelitev karakteristik in prednosti računalništva v oblaku za razvoj rešitev SOA, storitveni modeli računalništva v oblaku, arhitekturni principi računalništva v oblaku, oblačne platforme za razvoj rešitev SOA.
Temeljni literatura in viri
• B. Šumak: Učno gradivo in primeri dosegljivi na E-študij UM: https://estudij.um.si/ (potrebna je prijava v portal) / B. Šumak: Up to date learning materials and examples available on E-študij UM: https://estudij.um.si (login is required).
• D. Krafzig, K. Banke, D. Slama: Enterprise SOA: Service-Oriented Architecture Best Practices, Prentice Hall, New York, 2004.
• T. Erl: Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services, Prentice Hall, New York, 2004.
• T. Erl: Service-Oriented Architecture (SOA): Concepts, Technology, and Design, Prentice Hall, New York, 2005.
• T. Erl: SOA Principles of Service Design, Prentice Hall, New York, 2007.
• M. B. Juric, R. Loganathan, P. Sarang, F. Jennings: SOA Approach to Integration, Packt Publishing, Birmingham, 2007.