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
• Erl, T. (2008). SOA: principles of service design (p. XXXII, 573). Prentice Hall. http://www.loc.gov/catdir/toc/ecip0715/2007013447.html
• Erl, T. (2009). SOA design patterns (1st ed., p. XLIII, 814). Prentice Hall.
• Taylor, H. (Ed.). (2009). Event-driven architecture: how SOA enables the real-time enterprise (p. XVIII, 308). Addison-Wesley.
• Jurič, M. B., Loganathan, R., Sarang, P. G., & Jennings, F. (2007). SOA approach to integration: XML, web services, ESB, and BPEL in realworld SOA projects (p. VIII, 366). Packt Publishing.
• Baun, C. (2011). Cloud computing: web-based dynamic IT services. Springer. http://dx.doi.org/10.1007/978-3-642-20917-8
• SAZANAVETS, FIODAR. (2022). Microservices Communication in .NET Using GRPC.
• Sharma, S. (2021). Modern API Development with Spring and Spring Boot. Packt Publishing Ltd