Uvod u servisnoorijentisane sisteme Prof dr Angelina Njegu

  • Slides: 18
Download presentation
Uvod u servisno-orijentisane sisteme Prof. dr Angelina Njeguš Redovni profesor na Univerzitetu Singidunum anjegus@singidunum.

Uvod u servisno-orijentisane sisteme Prof. dr Angelina Njeguš Redovni profesor na Univerzitetu Singidunum anjegus@singidunum. ac. rs Beograd, 2019/2020.

Osnovni pojmovi 2

Osnovni pojmovi 2

Servisno-orijentisani pristup § Za razliku od objektno-orijentisanog (OO) pristupa, servisno-orijentisani (SO) pristup obuhvata tehnologije

Servisno-orijentisani pristup § Za razliku od objektno-orijentisanog (OO) pristupa, servisno-orijentisani (SO) pristup obuhvata tehnologije koje ističu: labavo povezane softverske komponente ponovnu upotrebljivost otvorene standarde kompozitnu implementaciju brzu primenu na tržištu … SOMF Software as Service (Saa. S) Model

Servisno-orijentisana arhitektura § Servisno-orijentisana arhitektura (Service-Oriented Architecture, SOA) predstavlja rezultat evolucije softverske arhitekture §

Servisno-orijentisana arhitektura § Servisno-orijentisana arhitektura (Service-Oriented Architecture, SOA) predstavlja rezultat evolucije softverske arhitekture § SOA se zasniva na primeni labavo povezanih servisa u cilju dostizanja maksimalne poslovne fleksibilnosti na interoperabilan i tehnološki nezavisan način

Različite SOA perspektive § Sa biznis perspektive, SOA je skup poslovnih IT servisa §

Različite SOA perspektive § Sa biznis perspektive, SOA je skup poslovnih IT servisa § Sa perspektive arhitekture, servisi su deo celokupne arhitekture koju čine provajder servisa (service provider), korisnik (service consumer) i registar servisa (interface-based service description) § Sa perspektive implementacije, ovi servisi su implementirani upotrebom otvorenih standarda i protokola

SOA koncept § SOA definiše tri ključne uloge » Service Provider – mrežno, adresni

SOA koncept § SOA definiše tri ključne uloge » Service Provider – mrežno, adresni entitet koji prihvata i izvršava zahteve korisnika i objavljuje (publikuje) servise » Service Consumer – aplikacija, modul ili dr. koji inicira traženje web servisa, povezuje se i izvršava operacije servisa » Service Registry – skladište web servisa, omogućava otkrivanje i pronalaženje servisa

SOA životni ciklus Na š fo kus

SOA životni ciklus Na š fo kus

SOA governance

SOA governance

SOA životni ciklus sa pratećim IBM tehnologijama Rational Software Architect (RSA)

SOA životni ciklus sa pratećim IBM tehnologijama Rational Software Architect (RSA)

Glavni blokovi razvoja servisno-orijentisanih sistema § SOA podrazumeva arhitekturu informacionih sistema koja se zasniva

Glavni blokovi razvoja servisno-orijentisanih sistema § SOA podrazumeva arhitekturu informacionih sistema koja se zasniva na servisima § Glavni gradivni blokovi za razvoj servisnoorijentisanih sistema su: Upravljanje poslovnim procesima (Business Process Management, BPM) – realizacija poslovanja Servisno-orijentisana arhitektura (SOA) – omogućava agilnost poslovanja Veb servisi – platforma za opsluživanje poslovanja XML, JSON. . . – open source tehnologije

Veb servis § Veb servis predstavlja bilo koji servis (softversku aplikaciju) dostupnu u distribuiranom

Veb servis § Veb servis predstavlja bilo koji servis (softversku aplikaciju) dostupnu u distribuiranom okruženju (Internet mreža), a koji koristi standardizovani XML sistem za razmenu poruka, te koji nije isključivo vezan za bilo koji operativni sistem ili programski jezik (O’Reilly) § Zašto kompanije sve više koriste veb servise? – Rešavaju jedan od najvećih problema, a to je kako rešiti nekompatibilnosti između različitih formata podataka i računarskih sistema, koji otežavaju i uvećavaju troškove slanja podataka od tačke A do tačke B § Veb servisi prevazilaze nekompatibilnosti skupom softverskih standarda kao što su: XML, JSON, SOAP, REST, WSDL, BPEL i dr. Slika: Tehnologije veb servisa

SOA, BPEL i WSDL za publikovanje servisa na Webu § Razvoj SO aplikacija zahteva

SOA, BPEL i WSDL za publikovanje servisa na Webu § Razvoj SO aplikacija zahteva meta podatake koji opisuju karakteristike servisa i podatke koje koristi. Obično se XML ili JSON koristi za opis podataka, WSDL opisuje same servise i SOAP (Simple Object Access Protocol) ili REST (REpresentational State Transfer) opisuje komunikaciju između servisa. § WSDL (Web Service Definition Language): § BPEL (Business Process Execution Language) ili WS-BPEL: § XML baziran jezik koji opisuje veb servise i načine kako im se pristupa definiše poslovne procese koji su u interakciji sa spoljnim entitetima definisanih pomoću WSDL-a. BPEL je jezik orkestracije, koji opisuje poruke ka i od poslovnih procesa. Ove poruke su definisane koiršćenjem WSDL-a. SO aplikacije su razvijene iz servisa koje komuniciraju preko poruka koristeći proces nazvan orkestracija. Za modelovanje poslovnih procesa koristi se BPMN (Business Process Modeling Notation).

Neke ključne osobine veb servisa § Samostalni – na klijentskoj strani nije potreban dodatni

Neke ključne osobine veb servisa § Samostalni – na klijentskoj strani nije potreban dodatni softver, već samo programski jezik sa XML i HTTP podrškom § Samoopisujući – definicija formata poruke nalazi se u samoj poruci § Modularni – isporučljivi § Mogu biti publikovani, locirani i pokrenuti preko veba § Nezavisni su od jezika i interoperabilni § Zasnovani na otvorenim standardima …

Interoperabilnost (I 14 y) § Cilj veb servisa je dostizanje interoperabilnosti između aplikacija korišćenjem

Interoperabilnost (I 14 y) § Cilj veb servisa je dostizanje interoperabilnosti između aplikacija korišćenjem veb standarda § Šta je interoperabilnost? Prema IEEE se definiše kao sposobnost dva ili više sistema ili komponenti da razmenjuju informacije i da razmenjene informacije koriste. Sposobnost heterogenih softverskih sistema ili jedinica da obezbede ili prihvate servise drugih sistema ili jedinica i omoguće efikasan zajednički rad, bez menjanja i degradiranja razmenjenih informacija. § Skraćenica za interoperabilnost je I 14 y, gde 14 označava broj nedostajućih slova I(14=nteroperabilit)y

Nivoi interoperabilnosti Kolaborativna interoperabilnost Potreban opšti način sporazumevanja za obavljanje funkcija/servisa/procesa/akcija Referentni model za

Nivoi interoperabilnosti Kolaborativna interoperabilnost Potreban opšti način sporazumevanja za obavljanje funkcija/servisa/procesa/akcija Referentni model za razmenu informacija, ontologije Definisani formati podataka npr. XML, SQL, rečnici podataka, ER šema Komunikacioni protokoli

Tipovi servisa u SOA § Servisi su osnova SOA (key building blocks) § Mogući

Tipovi servisa u SOA § Servisi su osnova SOA (key building blocks) § Mogući tipovi servisa su: Servisi poslovnih procesa (business process services) - nivo use case-a i čak aplikacije • Poslovni procesi predstavljaju sekvence aktivnosti koji ispunjavaju jedan poslovni cilj. Na primer, proces prijave za dobijanje kredita od banke, kreiranje porudžbine i sl. Servisi poslovnih procesa se mogu sastojati i iz drugih servisa. Servisi poslovnih transakcija (business transaction services) – nivo klasa • Predstavljaju poslovne funkcije koje menjaju stanje poslovanja, kao na primer, nabavka materijala od dobavljača, snimanje nove transakcije klijenta, rezervacija klijenta i sl. Servisi poslovnih funkcija (business function services) – nivo metode • Servisi poslovnih funkcija predstavljaju poslovne funkcije koji ne menjaju stanje poslovnih procesa, već vrše jednostavnija izračunavanja ili vraćaju podatke, kao npr. calculate. Dollar. Value. From. Yen ili get. Price Servisi tehničkih funkcija (technical function services) – nivo aktivnosti • Ovi servisi su ponovo upotrebljivi, ali ne obezbeđuju poslovne funkcije, već obezbeđuju tehničke ili infrastrukturne funkcije koje se zahtevaju radi podrške interakcija servisa u IT sistemima, npr. audit. Event, check. User. Password ili check. User. Authorization.

Primeri servisa

Primeri servisa

Lab 1: Kreiranje, uvođenje i testiranje jednostavnog veb servisa (vežba se nalazi na stranici

Lab 1: Kreiranje, uvođenje i testiranje jednostavnog veb servisa (vežba se nalazi na stranici predmeta pod Predavanja > Dodatni materijali)