1 / 47

Ra zvoj aplikacija sa servisno-orijentisanom arhitekturom (SOA)

Ra zvoj aplikacija sa servisno-orijentisanom arhitekturom (SOA). Prof. dr Angelina Njeguš. SOA koncept. Osnovni zadatak svake ozbiljnije softverske arhitekture je da omogući maksimalnu fleksibilnost i proširivost

teresa
Télécharger la présentation

Ra zvoj aplikacija sa servisno-orijentisanom arhitekturom (SOA)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Razvoj aplikacija sa servisno-orijentisanom arhitekturom (SOA) Prof. dr Angelina Njeguš

  2. SOA koncept • Osnovni zadatak svake ozbiljnije softverske arhitekture je da omogući maksimalnu fleksibilnost i proširivost • Fleksibilnost i proširivost znantno pojednostavljuju životni ciklus poslovnih aplikativnih sistema za sve zainteresovane strane (stakeholders) koji u njemu učestvuju (krajnji korisnici, naručioci, softverski arhitekte, razvojni inženjeri, testeri i dr.) • Pojednostavljenje životnog ciklusa ogleda se u mogućnosti brze reakcije na promene u poslovnim zahtevima, modularnosti, konfigurabilnosti, robusnosti i dr. • Servisno-orijentisana arhitektura (Service-Oriented Architecture, SOA) predstavlja rezultat evolucije softverske industrije na području postizanja maksimalne fleksibilnosti i proširivosti. • Postoje različite definicije SOA koncepta, mada se većina slaže da servisno-orijentisana arhitektura predstavlja arhitekturalni stil koji promoviše primenu labavo povezanih servisa kako bi osigurao maksimalnu poslovnu fleksibilnost na interoperabilan i tehnološki nezavisan način.

  3. SOA koncept • Važno je primetiti odnos između fleksibilnosti i ponovne upotrebljivosti s jedne strane, i količine programskog koda koji se bavi povezivanjem i komunikacijom sa druge strane • Takav programski kod je, u većini slučajeva, vezan za određenu tehnologiju, komplikovan i teško se održava, što drastično smanjuje fleksibilnost, interoperabilnost i ponovnu upotrebljivost • Noviji tehnološki koncepti donose smanjenje količine programskog koda koji se bavi povezivanjem i komunikacijom kroz dislociranje koda u infrastrukturne komponente – čime su komponente poslovne logike oslobođene detalja koji ne pripadaju poslovnoj logici, što ih čini ponovo upotrebljivim u više različitih poslovnih procesa • Iz navedenog je jasno kako SOA predstavlja arhitekturalnu paradigmu primarno vezanu uz softverski dizajn, a ne uz tehnologiju • Prihvatanje SOA koncepta vodi ka promeni prstupa u pisanju aplikacija • Pojam aplikacije evoluira u koncept kompozicije i grupisanja labavo povezanih, usko definisanih i na standardima utemeljenih servisa u veće i složenije celine • SOA se temelji na servisima kao osnovnim gradivnim jedinicama, a servisi su poslovna kategorija (npr., obrada platnog naloga, autorizacija plaćanja kreditnom karticom, generisanje fakture itd.)

  4. Zašto SOA? • U prošlosti, kompanije su imale linearne poslovne procese, dok danas isti ti poslovni procesi su razbijeni i odvijaju se na različitim mestima (npr. klijent popunjava porudžbenicu preko Web-a; poslovne servise dele različita odelenja u kompaniji; dobavljač upravlja zalihama kompanije; ili isporučivanje su autsorsing (outsourcing) itd.) • Zašto sistemi treba da budu fleksibilni? • Ekonomija – globalizacija tržišta, nova tržišta, nova radna snaga i novi konkurenti neminovno dovode do toga da kompanije moraju brzo da se prilagođavaju (nekada su kompanije retko menjale svoje poslovne procese, a danas su te promene mesečne ili čak nedeljne ili pak dnevne) • U prošlosti su menadžeri bili fokusirani uglavnom na smanjenje troškova, dok se danas CEO suočava sa problemom povećanja odzivnosti na sve veći rast potreba klijenata, odnosno fokus je na povećanju prihoda (ne znači da je danas smanjenje troškova izgubilo važnost, već se pronalazi način da se postojeća investicija najbolje upotrebi, tj. razmatra se ponovna upotrebljivost) • SOA omogućava tu fleksibilnost i ona postaje krucijalna za tzv. On Demand Business. • On Demand Business podrazumeva da preduzeće čiji su poslovni procesi – integrisani kroz odelenja kompanije i sa ključnim partnerima, dobavljačima i klijentima – mogu brzo i agilno da se odazivaju novim ili promenljivim zahtevima klijenata, prilikama na tržištu i spoljnim pretnjama. • Poslovanje koje fleksibilno reaguje na zahteve svog okruženja zove se On Demand Business.

  5. Koje su barijere poslovne fleksibilnosti i ponovne upotrebljivosti? • Poslovna fleksibilnost danas zahteva IT fleksibilnost • IT fleksibilnost je vrlo teška i skupa sa današnjim postojećim sistemima • Na primer, na slici se vidi infrastrukutra nekog sistema, koji organizaciono i haotično raste bez jasnih i prepoznatljivih standarda, konekcije između delova su nefleksibilne, teško ih je izmeniti, skupe su, a njihove izmene zahtevaju dosta vremena • Rešenje je prelazak na SOA • Barijere su: • Nedostatak standarda u poslovnim procesima • Ograničene arhitekturalne politike i procesi • Redundantni linije poslovnih potreba - nabavka više poslovnih rešenja dovodi do dupliranja procesa u organizaciji

  6. Fleksibilan biznis zahteva fleksibilan IT • Vaše poslovanje je fleksibilno onoliko koliko je fleksibilan vaš IT! – IT podržava sve što vaša komanija radi i ukoliko se on ne može brzo i efikasno promeniti, onda ne može ni vaš biznis. • Danas ne možete da priuštite da budete nefleksibilni! • prvo možete početi sa jednim potpunim pogledom na vaše poslovanje • Slomite vaše poslovanje na komponente i odlučite koje komponente su troškovno efektivne • Optimizujte prioritetne procese tako što ćete ih distribuirati najboljim provajderima servisa (service providers) • SOA premošćava ovaj jaz i omogućava da koristite IT investiciju na jedan fleksibilan način.

  7. Evolucija preduzeća • Arhitekturalna evolucija u preduzećima se kreće prema On Demand Business i tehničkoj agilnosti • Monolitna arhitektura – podaci, UI, obrada sve se nalazi na jednom sistemu. Npr., mainframe ili DOS koji siromašno radi sa više korisnika • Podrutine i pozivi udaljenim procedurama – npr. RPC (inicira klijent tako što šalje poruku sa zahtevom poznatom udaljenom serveru da izvrši određenu proceduru koristeći date parametre, a zatim se odziv šalje klijentu gde aplikacija nastavlja sa svojim procesom) • Pozivanje udaljenih objekata – uvođenje koncepta poslovnih objekata – delova koda koji uključuju podatke i ponašanja koji mogu da menjaju u zavisnosti od konteksta. • Procesiranje poruka – objektne tehnologije su uglavnom usko spregnute te su razvijene tehnologije messaging za slabo spregnute aplikacije • Enterprise Application Integration, EAI – integracija skupa računarskih aplikacija preduzeća korišćenjem softverskih arhitekturalnih principa. Obuhvata metodologije kao što su OO programiranje, komunikacija distribuiranih programa korišćenjem brokera poruka (npr. CORBA, COM+), modifikacija ERP rešenja da reflektuju nove ciljeve, distribuiranje podataka preko XML-a, middleware, message quiuing i drugi pristupi • SOA – omogućana otvorenim standardima

  8. Šta je servisno-orjentisana arhitektura? • Arhitekturalni stil i princip projektovanja kod razvoja i integracije aplikacija • Uključuje: • Arhitekturu koja podstiče otvorene standarde i prikaz softverskih elemenata kao servisa • Fokus je na sklapanju (assembly) aplikacije pre nego na detaljima implementacije • Objektno-orjentisane, proceduralne, centrirane oko podataka pristupe za implementaciju rešenja (servisi su obično implementirani korišćenjem neke od ovih tehnologija) • Set arhitekturalnih principa i paterna kao što su modularnost, enkapsulacija, labava spregnutost, ponovna upotrebljivost, kompozitna implementacija itd.

  9. Različite SOA perspektive • Sa biznis perspektive, SOA je skup poslovnih IT servisa • Sa perspektive IT arhitekture, servisi su deo celokupne arhitekture koju čine provajder servisa (service provider), konzumator (consumer) i opis interfejsa servisa (interface-based service description) • Sa perspektive implementacije, ovi servisi su implementirani upotrebom otvorenih standarda i protokola kao što su Web servisi • SOA teži da približi biznis i IT – perspektive arhitekture i implementacije omogućavaju fleksibilno i agilno korišćenje poslovnih servisa

  10. Šta je servis? • Servis predstavlja diskretnu jedinicu ponovo upotrebljive poslovne (ili tehničke) funkcije • Servisi su: • Kompozitni (composable) • Slabo spregnuti (loosely coupled) – servisi su definisani interfejsima nezavisnih od implementacije. Konzumer servisa će zavisiti samo do interfejsa kod poziva servisa. Labava spregnutost promoviše fleksibilnost u izmeni implementacije servisa bez uticaja na konzumera servisa • Lokaciono transparentni (location transparent) • Interoperabilni i pristupačni nezavisno od implementacije ili protokola prenosa – konzumeri i provajderi servisa će biti implementirani na različitim platformama, komunikacioni protokoli koji podržavaju interakcije servisa treba da budu kompatibilni sa različitim platformama, što ističe ulogu otvorenih standarda (npr. XML ili konkretne WebSphere MQ komunikacione tehnologije) • Servisi su: • Ponuđeni od strane provajdera servisa (Service Providers) • Objavljuju interfejse i politike • Korišćeni od strane konzumera servisa (Service Consumers) • Pouzdani, bezbedni • Posredovani od strane medijatora servisa (Service mediators) • Obezbeđuju proširivo otkrivanje, selekciju, merenje, nadgledanje i dr.

  11. Opis servisa • Servisi su opisani korišćenjem standardizovanih interfejsa (metapodaci) • Definiše servis, njegove operacije, ulazne i izlazne parametre • Definiše kako se servis preuzima i njegovu lokaciju (service endpoint) • Postojećoj aplikaciji se može dodeliti servis ‘façade’ • Façade izlaže funkcionalnost aplikacije kao servis • Web Services Description Language (WSDL) je standard koji se koristi za opisivanje Web servisa • WSDL je baziran na XML-u • WSDL je jedan od mogućih standarda za opisivanje servisa

  12. Registar servisa • Registar servisa (service registry) omogućava organizacijama da objavljuju (publish) i pronalaze (discover) servise • Organizacije mogu da objave (register) skup servisa tako da ih njihovi interni ili spoljni poslovni partneri mogu pronaći • Registar servisa je jedan repozitorijum publikovanih servisa (slično Yellow Pages koji omogućava pretragu usluga) • Na slici desno je prikazan dijagram koji se koristi za opisivanje SOA • SOA definiše tri ključne role: Service Provider, Service Consumer i Service Registry i operacije koje treba da izvršavaju • SOA ne definiše određeni skup tehnologija. Prikazani na dijagramu SOAP, WSDL i UDDI, opisuju jednu moguću implementaciju SOA – implementaciju koja koristi Web servise. • Universal Discovery, Description, Integration (UDDI) registar omogućava organizacijama da publikuju i pronalaze Web servise • UDDI je jedan framework koji je nezavisan od platforme i služi za opisivanje servisa, otkrivanje poslovanja i integrisanje poslovnih servisa preko Interneta • Karakteristike su: • direktorijum za skladištenje informacija o Web servisima • Podrška za otkrivanje servisa • Sredstvo za uspostavljanje relacije između provajdera i konzumera

  13. Tipovi servisa u SOA • Servisi su osnova SOA (key building blocks) • Servisi se mogu kategorizovati prema svrsi (softver, infrastruktura ili biznis) i domenu (granularnost ili nivo apstrakcije poslovne funkcionalnosti) • Mogući tipovi servisa su: • Servisi poslovnih procesa (business process services) • Poslovni procesi predstavljaju sekvence aktivnosti koji ispunjavaju jedan poslovni cilj. Takav jedan proces se može predstaviti kao servis. Na primer, proces prijave za dobijanje kredita od banke se može predstaviti kao servis poslovnog procesa. Servis poslovnog procesa može biti i kreiranjePorudžbine (createStockOrder), izmirenjeRačuna (reconcileAccount) i sl. • Servisi poslovnih procesa se mogu sastojati i iz drugih servisa (choreographed) • Servisi poslovnih transakcija (business transaction services) • Predstavljaju poslovne funkcije koje menjaju stanje poslovanja, kao na primer, nabavka materijala ili servisa od dobavljača ili snimanje nove transakcije klijenta. Takvi servisi mogu uključiti orderStock ili transferFunds i sl. • Servisi poslovnih funkcija (business function services) • Servisi poslovnih funkcija predstavljaju poslovne funkcije koji ne menjaju stanje poslovnih procesa ili vraćaju podatke ili izvršavaju jednostavnija izračunavanja, npr. calculateDollarValueFromYen ili getStockPrice • Servisi tehničkih funkcija (technical function services) • 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. auditEvent, checkUserPassword ili checkUserAuthorization.

  14. Upravljanje poslovnim procesima • Upravljanje poslovnim procesima (Business Process Management, BPM) kombinuje poslovne procese, informacije i IT resurse, približavajući ključne faktore organizacije – ljude, informacije, tehnologije i procese – radi kreiranja jednog integrisanog pogleda sa real-time inteligencijom • Faze BPM-a su: • Identifikacija procesa • Modeliranje procesa – modeliranje tekućeg stanja poslovnih procesa • Analiza procesa – ispituju se uska grla, redundantnost procesa itd. • Poboljšanje procesa – modeliranje željenog stanja procesa • Implementacija procesa – dodaje se IT detalji implementacije • Izvršavanje procesa – uvođenje i izvršavanje procesa • Nadgledanje i kontrola procesa – radi redefinisanja procesa

  15. Slojevi u BPM • Na najvišem nivou razmatra se optimizacija procesa u okviru koje se procenjuju modeli procesa i uz pomoć simulacije predviđa potencijalno unapređenje sistema • Upravljanje procesima nadgleda performanse u odnosu na IT sloj • Workflow ili automatizacija procesa gde koordiniraju sekvence aplkacija i niži nivoi IT servisa • Na donjem sloju postoje različiti IT servisi i podržana infrastruktura

  16. Potreba za automatizacijom procesa – studija slučaja

  17. Potreba za automatizacijom procesa – studija slučaja (nastavak)

  18. Izazovi kod manuelnog sistema • Predugo traje • Uključene su različite tehnologije: • Legacy sistemi • Aplikacioni serveri • Email aplikacije • Integracija ljudi, procesa i informacija je teška • Ukoliko deo procesa ne uspe da se realizuje, administrator mora da uradi seriju reverznih manuelnih koraka • Teško se reaguje na promene poslovnih pravila

  19. BPM i SOA • Usvajanje SOA principa rezultira u: • Fleksibilnosti i agilnosti u BPM životnom ciklusu: identifikacija, modelovanje, implementacija, monitoring poslovnih servisa i procesa • Automatizaciji procesa korišćenjem koreografije (choreographies) servisa • Koreografija servisa ili procesa se može definisati kao proces sklapanja (assembling), uređivanja (sequencing) i definisanja izvršnog toka servisa i pozivanja servisa kako bi se implementirao poslovni proces visokog nivoa • Koreografija servisa (ili orkestracija) zahteva: • Standarde za definisanje procesa (npr. WS-BPEL) • SOA i SOI principe za integraciju sa različitim servisima zahtevanih od poslovnog procesa • Korišćenje standarda za definisanje interfejsa servisa (npr. WSDL) • Podršku više nivoa apstrakcije procesa • Monitoring i funkcije analize • Quality of Service karakteristike (bezbednosni aspekti, kao što su atuentikacija, pouzdanost podataka, politiku i menadžment poverenja; pouzdano slanje poruka; transakcioni integritet) • Kontrolu Workflow-a, konkurentnost uključujući i podršku za poslovna pravila • Upravljanje stanjima • Korelacija instanci procesa sa klijentima

  20. Koreografija servisa • Životni ciklus BPM zavisi od sposobnosti ponovnog sklapanja i ponovonog uvođenja poslovnih procesa • Koreografija servisa omogućava brzo, dinamičko ponovno sklapanje servisa radi optimizovanja poslovnog procesa • Zateva fleksibilnu i slabo spregnutu integracionu infrastrukturu koja se zasniva na SOA principima

  21. Servisno-orijentisana integracija • Koreografija servisa podržava BPM tako što omogućava fleksibilne i adaptibilne implementacije procesa na integracionoj infrastrukturi – takva infrastruktura mora da se zasniva na SOI (service-oriented integration) infrastrukturi • SOI uključuje integraciju višestrukih internih i spoljnih aplikacija kako bi se zadovoljili poslovni ciljevi • Integracija aplikacija - uključuje razvoj novih interfejsa • Integracija informacija – uključuje podatke kompanije i dr. izvora • Integracija procesa – podrazumeva integraciju kroz koreografiku aplikacijai servisa sa višestrukim interfejsima • Integracija sistema – podrazumeva povezanost heterogenih i legacy sistema i integraciju aplikacija • Na slici su prikazana tri integraciona pristupa u odnosu na to kako rešenje reaguje na promene u poslovnom okruženju

  22. Posrednički servisi • Različite posredničke servise (mediation services) nudi ESB: semantički interfejs ka zahtevaocima servisa, interfejs sa konzumerima servisa implementiranih u heterogenim jezicima i platformama, rukovanje protokolom prevođenja, obezbeđivanje transparentnosti lokacije, rukovanje sa prevođenjem formata podataka, obezbeđivanje sigurne isporuke i rukovanje greškama, bezbednost itd. • Enterprise Service Bus, ESB koncept opisuje mehanizam interakcije servisa sa konzumerima i sa drugim servisima, tj. obezbeđuje komunikacionu infrastrukturu • Povezuje i integriše IT poslovne aplikacije organizacije • ESB nudi posredničke servise koji obezbeđuju mnoge prednosti: • Integraciju baza podataka i legacy aplikacija • Mapiranje servisa • pretvaranje protokola • Mapiranja između jezika interfejsa kod poziva servisa • Inteligentno rutiranje • Agregacija i korelacija poruka i servisa • Provera poruka • Logovanje, merenje, monitoring i dr. funkcionalnosti • QoS

  23. Mediation services - nastavak • Postoji nekoliko osnovnih paterna za posredovanje: • Protocol switch: omogućava da konzumer servisa pošalje svoju poruku korišćenjem različitih interakcionih protokola ili API-ja, kao što su SOAP/HTTP, JMS (Java Message Service) i MQ Integrator (MQI) • Transform: prevodi sadržaj poruke iz šeme konzumera u šemu provajdera • Enrich: povećava sadržaj poruke dodajući informacije iz spoljnih izvora podataka, kao što su kastimizirani parametri definisani npr. upitom baze podataka i sl. • Route: izmena rute poruke birajući između provajdera servisa koji podržavaju sadržaj zahtevaoca servisa • Distribute: distribuiranje poruke ka zainteresovanim stranama • Monitor: posmatranje poruka da prolaze kroz posredničke servise nepromenjeni • Correlate: uključuje pravila za identifikaciju paterna i pravila • Posrednički servisi treba da zadovolje zahteve kvaliteta servisa (QoS): • Enkripcija i dekripcija • Pouzdanost slanja poruka • Kontrola pristupa, praćenje i politike autentifikacije • Rukovanje greškama • Posrednički servisi se mogu kombinovati kako bi se realizovala složenija posredovanja:

  24. Koreografija servisa i SOI • ESB posreduje pozivima servisa tako što ih preusmerava na korektnog provajdera servisa

  25. SOA – slojevi arhitekture (migracija OO sistema u SOA)

  26. Web servis • Web servis je jedna određena implementacija servisa • Mogu se koristiti određene tehnologije i otvoreni standardi iz tri ključne oblasti: • XML-based description format - kao što je WSDL koji se koristi za definisanje, opisivanje i mogućnost pronalaženja servisa • Application messaging protocol - kao što je SOAP • Collection or transport protocol - kao što su SMTP, HTTP

  27. Standardni stekovi Web servisa • Organizacije, u fazama, usvajaju protokole i standarde Web servisa, gde svaka doprinosi celokupnom rešenju • Danas organizacije razmenjuju jednostavnije transakcije i informacije koristeći osnovne, dokazane standarde protokola • Da bi prevazišli jednu od njihovih primarnih barijera u korišćenju Web servisa, organizacije počinju da usvajaju WS-Security • Organizacije će zatim da počnu da implementiraju složenija transakciona ponašanja i orkestraciju višestrukih servisa – tako da već postoji povećano interesovanje za BPEL koji je već podržan u nekoliko proizvoda • Prethodni korak prati upotreba sigurnosnih protokola koji će podržati takav ujedinjeni scenario koji uključuje više učesnika, kao i dinamičko rutiranje zahteva učesnicima koristeći adresiranje • Sa sve većim ujedinjavanjem servisa, dovodi do potrebe pažljivog nadgledanja i upravljanja, koristeći WSDM • Nakon svega organizacije će početi da ugrađuju sve više autonomnih ponašanja u svoje sisteme

  28. Odnos Web servisa i SOA • SOA se može realizovati kroz upotrebu Web servisa i tehnologija Web servisa, ali nije obavezno • Jedna od opcija implementacije SOA bez Web servisa bi bila kroz CORBA ili WBI (WebSphere Business Integration) Message Broker • Web servisi su vodeća tehnologija današnjice • Cilj SOA je da se ključni poslovni procesi grupišu u komponente kako bi im se lakše upravljalo i menjalo • SOA omogućava modelovanje poslovnih problema u terminu diskretnih servisa • Ovi modelovani servisi su implementirani kao Web servisi • Ključni elementi SOA uključuju servise i interfejse

  29. Primeri servisa

  30. Poslovne vrednosti SOA • Maksimalna agilnost poslovanja • Sposobnost brzog odziva na promene u zahtevima • Integracija poslovnih procesa kroz preduzeće • IT i poslovne jedinice preduzeća rade kao jedinka • Integracija poslovnih procesa sa partnerima, dobavljačima i potrošačima • Partnerima je lakše da posluju sa vama • Potrošačima je lakše da pronađu vaše servise • Dobavljačima je lakše da obezbede servise • Bolja vidljivost i transparentnost IT troškova, IT vrednosti poslovanja i poboljšana poslovna inteligencija • Mogućnost da netehničko osoblje sklapa softverska rešenja bez ulaženja u detalje kodiranja sistema

  31. SOA referentna arhitektura

  32. SOA životni ciklus 1.

  33. SOA razvoj – uloge i aktivnosti • Biznis analitičar (Business Analyst) • Identifikuje i analizira poslovne procese • Odgovoran za poznavanje poslovnih procesa i njihovo modelovanje • Developer integracije (Integration Developer) • Integriše funkcionalne komponente kroz organizaciju u jednu bezbednu, kompozitnu SOA aplikaciju organizacije • ESB je važan alat u dostizanju ove integracije • Arhitekta softvera (Software Architect) • Identifikuje i projektuje servise i SOA arhitekturu • Developer aplikacija (Application Developer) • Implementira komponente servisa identifikovane u dizajnu • Identifikuje scenarija koja se mogu ponovo upotrebiti i razvija komponente koje će se koristiti kroz preduzeće • Administrator sistema (System Administrator) • Uvodi, konfiguriše, usklađuje i upravlja kompozitnim aplikacijama • Uvodi gotove aplikacije u proizvodno okruženje (obično koristi WebSphere Process Server) i nadgleda proces izvršavanja (obično pomoću WebSphere Business Monitor)

  34. Pregled SOA proizvoda SOA životni ciklus

  35. Uvod u SOA životni ciklus • U SOA arhitekturi servisi i poslovne komponente preduzeća su međusobno povezani činjenicom da poslovne komponente realizuju servise, odnosno odgovorne su za realizaciju njihove funkcionalnosti i održavanje kvalitetne usluge • Tokovi poslovnih procesa realizovani su komponovanjem servisa, tj. kreiranjem kompozitnih aplikacija • SOA definiše nekoliko arhtekturalnih slojeva: sloj operacionih sistema, sloj komponenata preduzeća, sloj servisa, sloj poslovnih procesa i kompozitnih aplikacija, prezentacioni sloj, integracioni sloj, SOA Governance, upravljanje podacima itd. • Spomenuti arhitekturalni slojevi dele zajedničku infrastrukturnu osnovu u obliku integrisane infrastrukture povezivanja čiji je osnovni zadatak osiguranje usluga usmeravanja poruka, posredovanja (konverzije komunikacionih protokola između tehnološki raznorodnih servisa), transformacije prenesenih sadržaja itd. • Infrastruktura povezivanja, kao deo SOA paradigme, realizovana je primenom Enterprise Service Bus (ESB) koncepta • Osim ESB platforme, koncept koji je zajednički svim servisima jeste mogućnost nadzora njihovog funkcionaisanja i svojstvo upravljivosti • Nadzor i upravljivost su ključne tačke u osiguranju željenog nivoa kvaliteta usluga i zadovoljenja nefunkcionalnih zahteva postavljenih pri izgradnji kompozitnih sistema

  36. Faze SOA životnog ciklusa • Postupak razvoja rešenja utemeljenih na SOA paradigmi i prikazanoj referentnoj arhitekturi podrazumeva iteriranje kroz nekoliko faza SOA životnog ciklusa • SOA životni ciklus: • Model – faza modeliranja obuhvata prikupljanje poslovnih zahteva, modeliranje, dizajniranje, simuliranje i optimizovanje željenih poslovnih procesa • izvršavanje ovih aktivnosti pripada domenu odgovornosti poslovnih analitičara, softverskih arhitekata i razvojnih inženjera • IBM, kao jedan od lidera na području SOA pruža podršku za izvođenje aktivnosti ove faze unutar alata WebSphere Architect • Assemble – kada su poslovni procesi optimizovani, u fazi sklapanja razvojni inženjeri realizuju i vrše koreografiju servisa i izvršavaju odgovarajuće testove i na kraju faze pripremaju rešenje za transfer u izvršno okruženje • sistem se implementira sklapanjem novo kreiranih i ponovo upotrebljivih postojećih servisa kako bi se formirala kompozitna aplikacija • Deploy – faza uvođenja podrazumeva uvođenje kompozitnih aplikacija u jedno bezbedno i integrisano okruženje. Cilj je da se osigura bezbednost svih ključnih elemenata kompanije, kao i to da rade zajedno kao celina • U okiru ove faze odvija se interakcija kompozitne aplikacije (tj. poslovnog procesa) sa ljudima i drugim procesima (tj. kompozitnim aplikacijama) - integracija ljudi, procesa i informacija

  37. Faze SOA životnog ciklusa (nastavak) • Manage – faza upravljanja podrazumeva upravljanje i nadgledanje svih aktivnosti i interakcija u SOA okruženju, odnosno upravljanje kompozitnim aplikacijama • Informacije koje se prikupljaju u ovoj fazi se koriste za sticanje realnog pogleda na poslovne procese što dovodi do boljih poslovnih odluka kao i za prosleđivanje informacija nazad u sistem radi kontinualnog poboljšanja procesa • Ova faza je ključna za životni ciklus SOA rešenja jer omogućava povratnu vezu i zatvaranje životnog ciklusa • Informacije koje su dobijene nadzorom i praćenjem služe poslovnim analitičarima kako bi mogli da realizuju nove iteracije modeliranja nad izgrađenim rešenjem i na taj način poboljšati njegove performanse, ukloniti eventualne nelogičnosti u izbođenju poslovnoga procesa itd. • Iterativan pogled na životni ciklus SOA rešenja, nasleđen je iz dokazanih i pouzdanih razvojnih metodologija (Rational Unified Process), jer se osigurava konstantno unapređivanje sistema • Prikaz faza SOA životnog ciklusa sadrži i element koji se proteže kroz sve faze, a naziva se SOA Governance čiji je zadatak obezbeđivanje finansijske, poslovne, organizacione i IT kontrole nad SOA okruženjem kroz uvođenje niza pravila i procesa koje treba sprovoditi u svim fazama živtonog ciklusa

  38. SOA Foundation • Governance (upravljivost) i proces, najbolje prakse i edukacija su osnova za uspešno implementiranje SOA • Governance i proces pomažu u uspostavljanju SOA strukture tako što uvode SOA centar, koriste RUP i biblioteku IT infrastrukture koja obezbeđuje centralnu lokaciju za sve vaše servise • Governance je ključni faktor uspeha SOA – “ljudska strana SOA” koja predstavlja kolektivno iskustvo SOA lidera kao što je npr. IBM • SOA najbolje prakse, kao što su SOA paterni i IBM Redbooks • Edukacija kao nezaobilazni deo uspešne primene SOA

  39. Faza modeliranja – WebSphere Business Modeler • WebSphere Business Modeler • Koriste ga biznis analitičari (businesss analysts) • Dizajniraju se poslovni procesi • Obezbeđuje vizuelnu prezentaciju poslovnih procesa, organizacije, resursa i performansi • Mogućnost importovanja bilo kog statičkog dijagrama prethodno kreiranih u Microsoft Visio • Uključuje alate simulacije za analizu procesa i testiranje (ove analize se koriste za optimizovanje biznis dizajna) • Eksportuje poslovne (biznis) modele u WebSphere Integration Developer ili Rational Software Architect

  40. Faza modeliranja – Rational Software Architect • Rational Software Architect (RSA) je razvojni alat za modeliranje komponentata softverskih aplikacija • Koriste ga Software Architect-e • Zasnovan na UML2 notaciji i semantici • Koristan za prevođenje poslovnih modela, razvijenih u WebSphere Business Modeler-u, u SOA servisne specifikacije i detaljan dizajn komponenti u UML-u, koje dalje developeri razvijaju i implementiraju • RSA nudi podršku za plug-in dizajn paterne koji automatizuju razvoj i promovišu ponovnu upotrebljivost (podržava klasične paterne opisane u knjizi Design Patterns: Elements of Reusable Object-Oriented software, autora Erich Gamma, Richard Helm i John Vlissides (često nazivanih Gang of Four ili GoF) • Sadrži mehanizme za razvoj sopstvenih paterna i njihove ponovne upotrebljivosti

  41. Faza sklapanja – WebSphere Integration Developer • WebSphere Integration Developer (WID) je projektovan tako da kreira tokove poslovnih procesa, stanje mašina i poslovna pravila • Predstavlja okruženje za modeliranje poslovnih procesa • Omogućava prihvatanje interakcija human-to-process, process-to-human i human-to-human • Podržava Service Component Architecture (SCA) i Common Event Infrastructure (CEI) • WID ima punu podršku za Business Process Execution Language (BPEL) jezik • Common Event Infrastructure (CEI) je IBMova impelementacija konzistetnih i unificiranih skupova APIja i infrastrukture radi kreiranja, transmisije, perzistentnosti i distributivnosti širokog opsega poslovanja, sistema ...

  42. Faza sklapanja – Rational Application Developer • Rational Application Developer (RAD) je integrisano razvojno okruženje za J2EEE programiranje • Kao i prethodni Rational alati i ovaj se zasniva na Eclipseframework-u, te se može integrisati sa bilo kojim Eclipse alatom radi obezbeđivanja potpune tranzicije od modelovanja, do arhitekture, razvoja softvera, debagovanja itd. • RAD pokriva osnovno java programiranje, Enterprise Java programiranje prema J2EE, Portal Server programiranje... • Sadrži potpuno integrisani debug alat i predefinisano okruženje za testiranje za WebSphere Application Server za kreiranje EJB poslovnih servisa • Važno je napomenuti da WebSphere Integration Developer sadrži sve funkcionalnosti Rational Application Developer alata tj. developeri mogu da kreiraju Web servise, Web i EJB komponente u WebSphere Integration Developer na isti način kao u RAD-u.

  43. Faza uvođenja – WebSphere Process Server i WebSphere Application Server • WebSphere Process Server je primarno izvršno okruženje za poslovne procese • Uključuje podršku za BPEL tokove procesa kao i biznis stanje mašina • Podržava integrisanje poslovnih pravila u selekciji procesa i servisa • Process Server je prvi proizvod u IBM suite koji nudi direktnu podršku za Service Component Architecture SOA model programiranja • Integriše se sa WebSphere portalom radi kreiranja portala koji podržavaju zadatke ljudi u poslovnim procesima (zadaci ljudi su definisani kao aktivnosti unutar definicije procesa koje obavljaju ljudi - delegiranje zadataka, vremensko raspoređivanje i dr.) • WebSphere Application Server obavlja dve uloge u SOA: • Hostuje okruženje za osnovne SOA biznis servise – prevashodno one koje su implementirane u J2EEE Enterprise JavaBeans EJBs (ovi servisi mogu biti prikazani WSDL-om i integrisani kroz standardne protokole Web servisa i enkodiranja ili se mogu integrisati na tradicionalni način kroz Remote Method Invocation/InterORB Protocol (RMII/IIOP) bindings. • Služi i kao izvršna platforma za WebSphere Portal, WebSphere Process Server, WebSphere Enterprise Service Bus i dr. – što omogućava njihovo tesno povezivanje

  44. Faza uvođenja – ESB podrška • WebSphere Enterprise Service Bus (WESB) instancira ESB arhitekturalni patern obezbeđujući osnovu za transparentnu međupovezanost servisa kroz distribuiranu mrežu preduzeća • Podržava service bus mediations (posrednike) koji umanjuju nekoherentnosti koje se mogu dogoditi između servisa • Predstavlja implementaciju ESB paterna omogućavajući posredničke servise, transformisanje, rutiranje, logging i mnoge druge meta servise • WebSphere MQ omogućava Simple Object Access Protocol (SOAP) interakcije poruka između konzumera servisa i provajdera sa potpuno integrisanom podrškom Web Service standarda • Omogućava optimalan transport i pouzdanost i praćanje servisa koji se konektuju na ESB • Povezuje aplikacije sa različitih platformi – podržava oko 80 različitih konfiguracija platformi • Omogućava pouzdan JMS (Java Message Service) messaging kao osnovu za ESB uvođenje i kao standard za asinhroni messaging • Podržava Web servise, CICS, IMS, DB2, .Net, J2EE i dr. • WebSphere Message Broker • Proširuje mogućnosti ESB tako što obezbeđuje podršku za prenos poruka koje nisu XML tipa, kao što su: AL3, HL7, Swift, HIPAA, EDI i dr. • Treba koristiti tamo gde je potrebno obraditi kompleksne događaje i transformacije, a potom koristiti WebSphere ESB za optimizovanje međupovezanosti između XMLa i standardnih SOA servisa • Obezbeđuje napredne mogućnosti ESBa kao što je univerzalna povezanost i transformacija tipa “any-to-any”

  45. Faza uvođenja – WebSphere Portal i DataPower • WebSphere Portal je okruženje za hostovanje portal aplikacija • DataPower XI50 Integration Appliance – omogućava rad sa procesiranjem Web servisa • Ponaša se kao ruter koji na osnovu Web servis zahteva izvršava transformisanje poruka, funkcije integracije i rutiranja. • DataPower XA35 Acceleration Appliance • Omogućava XML procesiranja kao što su parsiranje, validacije šema i XSLT transformacije XML dokumenta • DataPower XS40 XML Security Gateway • Vrši autentifikaciju i autorizaciju zahteva servisa pre nego što se odu na hosting servere

  46. Faza upravljanja – WebSphere Business Monitor i Tivoli Performance Viewer

  47. Komentari, demo, izvori ... • http://demos.dfw.ibm.com/on_demand/Demo/en/IBM_Demo_The_Front-End_to_SOA-May07.html?S=index • http://demos.dfw.ibm.com/on_demand/Demo/en/IBM_Demo_WebSphere_Business_Modeler-Mar07.html?S=SWCAT • http://download.boulder.ibm.com/ibmdl/pub/software/dw/demos/WBMinSOA1/WBMinSOA1.htm?S_TACT=105AGY50&S_CMP=DEMOS • http://www.youtube.com/watch?v=OIj1wbP8RcY (part 1) • http://www.youtube.com/user/InfoWorld (part 2)

More Related