24
PRINCIPI SOA Informacioni sistemi 2 dr Miloš CVETANOVIĆ dr Miloš CVETANOVIĆ dr Vladimir BLAGOJEVIĆ

PRINCIPI SOA Informacioni sistemisi4is2.etf.rs/Nastava/Predavanja/2. SOA/06/IS2-10-Principi SAO.pdfOgraničeni poslovni procesi Poslovni kontekst Finansije It i Vezanoza Nabavka Integraciona

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PRINCIPI SOA Informacioni sistemisi4is2.etf.rs/Nastava/Predavanja/2. SOA/06/IS2-10-Principi SAO.pdfOgraničeni poslovni procesi Poslovni kontekst Finansije It i Vezanoza Nabavka Integraciona

PRINCIPI SOAInformacioni sistemi 2

dr Miloš CVETANOVIĆdr Miloš CVETANOVIĆdr Vladimir BLAGOJEVIĆ

Page 2: PRINCIPI SOA Informacioni sistemisi4is2.etf.rs/Nastava/Predavanja/2. SOA/06/IS2-10-Principi SAO.pdfOgraničeni poslovni procesi Poslovni kontekst Finansije It i Vezanoza Nabavka Integraciona

Aplika‐centričnopMali broj korisnikaOgraničeni poslovni procesi

Poslovni kontekst

Finansije

I t i Vezano zaNabavka

Integraciona Arhitektura

Vezano zaEAI proizvođača

RedudansaDistribucijaProizvodnja

Preklopljeni resursiPreklopljeni proizvođači

Poslovna funkcionalnost je dupliciranak j lik iji k j j ht

EAI  “dovodi do pojave” aplikacionih silosauz nedostatak dadolazi do redudanse u podacima i funkcionalnosti.

u svakoj aplikaciji koja je zahteva.

Page 3: PRINCIPI SOA Informacioni sistemisi4is2.etf.rs/Nastava/Predavanja/2. SOA/06/IS2-10-Principi SAO.pdfOgraničeni poslovni procesi Poslovni kontekst Finansije It i Vezanoza Nabavka Integraciona

Servi‐centričnoVeći broj korisnika servisaVeči broj poslovnih procesa

Poslovni kontekst

Servis

ServisFinansije

Servisna arhitektura

Servis

Servis

NabavkaDeljeni servisi

DistribucijaProizvodnja

Više diskretnih resursaViše servis proizvođača

Servis virtuelizuje kako se određena usluga sprovodi, kao i to, gde i od strane koga su resursi obezbeđeni, i time omogućava da veći broj proizvođača i korisnika učestvuju u deljenim poslovnim aktivnostima.

SOA strukturira posao i njegove sistemekao skup usluga koje se nude kao servisi, organizovanih u vidu servisne arhitektureorganizovanih u vidu servisne arhitekture

Page 4: PRINCIPI SOA Informacioni sistemisi4is2.etf.rs/Nastava/Predavanja/2. SOA/06/IS2-10-Principi SAO.pdfOgraničeni poslovni procesi Poslovni kontekst Finansije It i Vezanoza Nabavka Integraciona

Zašto SOA?Omogućava fleksibilnu federaciju poslobnih procesa

Omogućava virtuelnu federaciju učesnika koji sarađuju u poslovnom procesu

Omogućava alternativne implementacije

Omogućavaponovnu upotrebu servisa

koji sarađuju u poslovnom procesu

Identifikacija Preuzimanje

Servis

ServisNarudžbina

Maloprodaja

Servis

Servis

MagacinLogistika

Proizvodnja D

Servis Servis

Servis

Servis Servis Servis

Omogućavavirtuelizaciju poslovnih resursa

Omogućavaagregaciju od većeg broja proizvođača

Proizvodnja Dostupnost

Page 5: PRINCIPI SOA Informacioni sistemisi4is2.etf.rs/Nastava/Predavanja/2. SOA/06/IS2-10-Principi SAO.pdfOgraničeni poslovni procesi Poslovni kontekst Finansije It i Vezanoza Nabavka Integraciona

Zašto SOA? Omogućava optimizaciju poslovnih procesa i kompaniju u realnom vremenu (RTE)

BPM izražen u vidu servis proizvođača i korisnika

Celokupan proces

proizvođača i korisnika

Servisi  od većeg broja dobavljačaKompanijaServisi ka većem broju korisnika

Pametni uređaji

Prodavnica ‐ POSMobilni

Agenti posrednici

Interni sistemiStandardizovani servisimplementiran od većeg broja dobavljača

Jedan servis 

Portal

implementiran od većeg broja dobavljačaImplementiran za veći broju korisnika

Page 6: PRINCIPI SOA Informacioni sistemisi4is2.etf.rs/Nastava/Predavanja/2. SOA/06/IS2-10-Principi SAO.pdfOgraničeni poslovni procesi Poslovni kontekst Finansije It i Vezanoza Nabavka Integraciona

Zašto SOA? Omogućava strukturalna poboljšanja

ERP X Proces Z Partner A Proces Y

Servis

Mogućnost standardizacije Konzistentnost infromacija

Konzistentost polisanpr. ServisDetalji korisnikaj _

Konsolidacija/Proces odabira

Smanjenje uticajaprilikom promene

Enkapsulacijaimplementacionekompleksnosti

CRM CRM Proizvodni npr Veći broj izvoraERP Z CRMSistem 2

CRMSistem 1

ProizvodniSistem

Racionalizacija polisa i njihova evolucija

npr. Veći broj izvora za detalje o koirsniku

Virtuelizacija resursa

Page 7: PRINCIPI SOA Informacioni sistemisi4is2.etf.rs/Nastava/Predavanja/2. SOA/06/IS2-10-Principi SAO.pdfOgraničeni poslovni procesi Poslovni kontekst Finansije It i Vezanoza Nabavka Integraciona

Definicija SOA

• SOA je model softverske arhitekture– kod koje su poslovne funkcionalnosti logičkikod koje su poslovne funkcionalnosti logički grupisane i enkapsulirane u vidu:

• samostalnih, različitih i ponovo upotrebljivih jedinicanazvanih servisi od kojih svaki

• predstavlja poslovni koncept visokog nivoa• može biti distribuiran preko računarske mreže• može biti distribuiran preko računarske mreže• može biti ponovo upotrebljneradi kreiranja nove poslovne aplikacija 

• sadrži ugovor sa specifikacijom namene, funkcionalnosti, interfejsa (grubo granulisan), ograničenja, upotrebe

... neke poslovne funkcionalnostiServisi su autonomne, diskretne i ponovno upotrebljiive jedinice poslovnih funkcionalnosti koje svoje mogućnosti izlažu u vidu svojih potpisa (ugovora). Servisi mogu biti nezavinosno razvijani, premeštani, skalirani čak i u vreme izvršavanja.

Page 8: PRINCIPI SOA Informacioni sistemisi4is2.etf.rs/Nastava/Predavanja/2. SOA/06/IS2-10-Principi SAO.pdfOgraničeni poslovni procesi Poslovni kontekst Finansije It i Vezanoza Nabavka Integraciona

Šta je servisna arhitektura?• Kolekcija servisa servisi

• Klasifikovanih u tipove tip tiptip

• Organizovanih u slojeve• Organizovanih u slojeve

• Usmereni arhitekturnimobrascima i polisama

Page 9: PRINCIPI SOA Informacioni sistemisi4is2.etf.rs/Nastava/Predavanja/2. SOA/06/IS2-10-Principi SAO.pdfOgraničeni poslovni procesi Poslovni kontekst Finansije It i Vezanoza Nabavka Integraciona

SOA je evolutivni korak

• u pogledu:  1. ponovne upotrebljivosti

K

Distribuirani objekti

Servisi

p p j

Moduli

Komponente

b i i

Servisi

2. mogućnosti komunikacije

Zaštićena tehnologija

Web servisi

Servisna magistrala

3. distribucije komunikacije

Centralizovano

Servisna magistrala

Svako sa svakim

Page 10: PRINCIPI SOA Informacioni sistemisi4is2.etf.rs/Nastava/Predavanja/2. SOA/06/IS2-10-Principi SAO.pdfOgraničeni poslovni procesi Poslovni kontekst Finansije It i Vezanoza Nabavka Integraciona

SOA organizovana u vidu slojeva

Razlozi za postojanje slojeva Primer slojevap j j j1. Fleksibilna kompozicija.2. Ponovna upotreba. 3. Funkcionalna standardizacija u nižim slojevima4 Laka prilagodljivost u višim slojevima

Prezentacija i poslovni tokovi

4. Laka prilagodljivost u višim slojevima5. Razdvajanje odgovornosti.6. Polise mogu varirati zavisno od sloja.

Kompozitni servisi

Osnovni servisi

Dostupni APIp

Page 11: PRINCIPI SOA Informacioni sistemisi4is2.etf.rs/Nastava/Predavanja/2. SOA/06/IS2-10-Principi SAO.pdfOgraničeni poslovni procesi Poslovni kontekst Finansije It i Vezanoza Nabavka Integraciona

Osnovni tipovi servisa

• Osnovni servisi:Data centrični i logi centrični servisi– Data‐centrični i logi‐centrični servisi

– Enkapsuliraju ponašanje podataka, modela podataka i obebeđuju konzistentnost podataka (samo na jednom mestu). 

– Osnovni servisi su bez konteksta (stateless) sa visokim stepenom– Osnovni servisi su bez konteksta (stateless) sa visokim stepenom ponovne upotrebljivosti.

– Predstavljaju osnovu za zrelost SOA i obično se grade na osnovu postojećih APIp j

• Kompozitni servisi:– Omogućavaju harmonizovani pristup 

promenljivim tehnologijama  osnovnih servisa p j g j(posredinici, adapteri, fasade, servisi za dodatne funkcionalnosti). 

– Enkapsuliraju specifične poslovne tokove ili orkestriraju druge servise. 

Page 12: PRINCIPI SOA Informacioni sistemisi4is2.etf.rs/Nastava/Predavanja/2. SOA/06/IS2-10-Principi SAO.pdfOgraničeni poslovni procesi Poslovni kontekst Finansije It i Vezanoza Nabavka Integraciona

SOA principi

• Standardizovani potpisi (ugovori) servisa• Nezavinost (Loose Coupling)• Apstrakcija (Abstraction)• Apstrakcija (Abstraction)• Ponovna upotrebljivost (Reusability)• Samostalnost (Autonomy)• Bez konteksta (Statelessness)• Mogućnost otkrivanja (Discoverability)• Mogućnost kombinovanja (Composability)• Mogućnost kombinovanja (Composability)

Page 13: PRINCIPI SOA Informacioni sistemisi4is2.etf.rs/Nastava/Predavanja/2. SOA/06/IS2-10-Principi SAO.pdfOgraničeni poslovni procesi Poslovni kontekst Finansije It i Vezanoza Nabavka Integraciona

Standardizovani potpis servisap p

• “Services within the same service inventory are in l h h dcompliance with the same contract design 

standards." S i i k i t t i i k k bi• Servisi koriste potpis servisa kako bi:– Izrazili svoju namenuIzrazili svoje mogućnosti– Izrazili svoje mogućnosti

• Koristiti formalne, standardizovani servisne potpise• Fokus na oblasti poput:• Fokus na oblasti poput:

– Funkcionalni iskaz– Reprezentacija podatakaReprezentacija podataka– Polise

Page 14: PRINCIPI SOA Informacioni sistemisi4is2.etf.rs/Nastava/Predavanja/2. SOA/06/IS2-10-Principi SAO.pdfOgraničeni poslovni procesi Poslovni kontekst Finansije It i Vezanoza Nabavka Integraciona

Nezavisnost

• “Service contracts impose low consumer coupling requirements and are themselves decoupled from their surrounding environment."

• Kreirati specifične tipove odnosa unutar i van granica servisa sa konstantnim naporom da se smanji (“popusti”) zavisnost među njima– Potpis servisa– Implementacija servisa– Korisnici servisa

Page 15: PRINCIPI SOA Informacioni sistemisi4is2.etf.rs/Nastava/Predavanja/2. SOA/06/IS2-10-Principi SAO.pdfOgraničeni poslovni procesi Poslovni kontekst Finansije It i Vezanoza Nabavka Integraciona

Apstrakcijap j

• “Service contracts only contain essential information and y finformation about services is limited to what is published in service contracts”

• Izbegavati proliferaciju nepotrebnih informacija o servisu(meta‐podaci).(meta podaci).

• Sakriti detalje implementacije servisa što je moguće više.– Omogućava i očuvava nezavinosnost odnosa– Igra značajnu ulogu u pozicioniranje i dizajn kompozicija servisa

Page 16: PRINCIPI SOA Informacioni sistemisi4is2.etf.rs/Nastava/Predavanja/2. SOA/06/IS2-10-Principi SAO.pdfOgraničeni poslovni procesi Poslovni kontekst Finansije It i Vezanoza Nabavka Integraciona

Ponovna upotrebljivostp j

• “Services contain and express agnostic logic and can be positioned as reusable enterprise resources." 

• Ponovno upotrebljivi servisi imaju sledeće karakteristike:karakteristike:– Definisani uz agnosticizam funkcionalnog konteksta– Logika je veoma generičkaLogika je veoma generička– Imaju generički i proširiv potpisMože im se pristupati konkurektno– Može im se pristupati konkurektno

Page 17: PRINCIPI SOA Informacioni sistemisi4is2.etf.rs/Nastava/Predavanja/2. SOA/06/IS2-10-Principi SAO.pdfOgraničeni poslovni procesi Poslovni kontekst Finansije It i Vezanoza Nabavka Integraciona

Samostalnost

• "Services exercise a high level of control over their underlying runtime execution environment."

• Predstavlja mogućnost servisa da obavi svoju funkcionalnost nezavinosno od uticaja okruženja

• Da bi postigli samostalnost, servisi moraju biti izolovani

• Primarne koristi– Povećana pouzdanost– Predvidivost ponašanja

Page 18: PRINCIPI SOA Informacioni sistemisi4is2.etf.rs/Nastava/Predavanja/2. SOA/06/IS2-10-Principi SAO.pdfOgraničeni poslovni procesi Poslovni kontekst Finansije It i Vezanoza Nabavka Integraciona

Bez konteksta

• "Services minimize resource consumption by deferring the management of state information when necessary."

• Uključiti proširenja za odloženo upravljanje stanjima u okviru dizajna servisastanjima u okviru dizajna servisa

• CiljeviPovećana skalabilnost servisa– Povećana skalabilnost servisa

– Podrška dizajnu agnostičke logike i poboljšanje ponovne upotrebljivostponovne upotrebljivost

Page 19: PRINCIPI SOA Informacioni sistemisi4is2.etf.rs/Nastava/Predavanja/2. SOA/06/IS2-10-Principi SAO.pdfOgraničeni poslovni procesi Poslovni kontekst Finansije It i Vezanoza Nabavka Integraciona

Mogućnost otkrivanja

• "Services are supplemented with communicative 

g j

meta data by which they can be effectively discovered and interpreted." 

• Potpis servisa sadrži odgovarajuće meta‐podatke za oktrivanje koji takođe služeza oktrivanje koji takođe služeda korisnicima pojasne namenu i mogučnosti

• Čuvati meta‐podatke u registru servisa• Čuvati meta‐podatke u registru servisaili profilu dokumenata

Page 20: PRINCIPI SOA Informacioni sistemisi4is2.etf.rs/Nastava/Predavanja/2. SOA/06/IS2-10-Principi SAO.pdfOgraničeni poslovni procesi Poslovni kontekst Finansije It i Vezanoza Nabavka Integraciona

Mogućnost kombinovanjag j

• "Services are effective composition participants, regardless of the size and complexity of theregardless of the size and complexity of the composition."

• Obezbediti da servisi mogu da učestvujuObezbediti da servisi mogu da učestvujuu višestrukim kompozicijama u cilju rešavanja većeg broja složenijih problemaP i i blji i• Povezano sa principom ponovne upotrebljivosti

• Izvršavanje servisa treab da bude efikasno u smislu prilagođenosti individualnog izvršavanjaprilagođenosti individualnog izvršavanja

• Fleksibilnost u potpisima servisa kako bi bili podržani zahtevi za razmenom različitih tipova podataka za slične funkcije

Page 21: PRINCIPI SOA Informacioni sistemisi4is2.etf.rs/Nastava/Predavanja/2. SOA/06/IS2-10-Principi SAO.pdfOgraničeni poslovni procesi Poslovni kontekst Finansije It i Vezanoza Nabavka Integraciona

Primena SOA ‐ vođenjej Vođenje je program koji omogućava da ljudi rade ono što “treba”

U skaldu sa softverom vođenje kontroliše razvoj i funkcionisanje softvera

Cilj U t iti đ j SAO i ij (SOA db ) k ji ć lj ti

U skaldu sa softverom, vođenje kontroliše razvoj i funkcionisanje softvera.

Cilj: Uspostaviti vođenje SAO organizacije (SOA odbor) koji će upravljati SOA naporima i dekomponovati usluge na disjunktne servise

Page 22: PRINCIPI SOA Informacioni sistemisi4is2.etf.rs/Nastava/Predavanja/2. SOA/06/IS2-10-Principi SAO.pdfOgraničeni poslovni procesi Poslovni kontekst Finansije It i Vezanoza Nabavka Integraciona

Primena SOA ‐ vođenjej

• PoliseDefinisanje pravila regulacija dobrih praksi– Definisanje pravila, regulacija, dobrih praksi

– Mora biti pokriven celokupni životni vek servisa• Procesi

– Uspostaviti polise– Proes vođen sistemom (verzionisanje, testiranje...)– Proces vođen ljudima (zahtevi, procene rizika...)Proces vođen ljudima (zahtevi, procene rizika...)

• Metrike– Mere ponovne upotrebljivosti servisa, saglasnost sa polisamapolisama

– Organizacija– Vođenje mora biti od strane SAO odboara koji mora imati predstavnike iz različitih organizacionih jedinicaimati predstavnike iz različitih organizacionih jedinica

Page 23: PRINCIPI SOA Informacioni sistemisi4is2.etf.rs/Nastava/Predavanja/2. SOA/06/IS2-10-Principi SAO.pdfOgraničeni poslovni procesi Poslovni kontekst Finansije It i Vezanoza Nabavka Integraciona

Primena SOA ‐ izazovi

• Servisna orjentisanost• Ponovna upotreba• Deljenje odgovornosti• Deljenje odgovornosti• Povećana kompleksnot!

Poslovna funkcionalnost treba da bude dostupna u vidu servisa.  Potpis servisa treba da bude fiksiran.

Implementirani servis  mora da bude dizajniran uzimajući u obzir ponovnu upotrebu. Ovo dovodi do povećanog opterećenja.

Potencijalni korisnici servisa moraju biti uključeni u proces di j i i i i i j di j idizajna  i time imati uticaj na dizajn servisa.

Page 24: PRINCIPI SOA Informacioni sistemisi4is2.etf.rs/Nastava/Predavanja/2. SOA/06/IS2-10-Principi SAO.pdfOgraničeni poslovni procesi Poslovni kontekst Finansije It i Vezanoza Nabavka Integraciona

Zaključakj

• Ako se uradi korektno, SOA nije “samo još jedna arhitekturalna priča”

• SOA pokušava da prebrodi razliku između biznisa i tehnologije promovišući poslovnu odgovornost (sve se vrti oko upravljanja promenama)

• SOA– Je kompleksna– Zahteva vođenje– Zahteva da se menadžment uključi– Zahteva posvećenost resursa (ljudstvo i novac)