Uslužno orijentirana arhitektura

Novosti

Uslužno orijentirana arhitektura

Uslužno orijentirana arhitektura – zvuči pomalo sofisticirano, zbunjujuće, ali ujedno i trendi. Je li to još jedan buzzword ili se iza tog pojma krije stvarna vrijednost?

Sama suština se može sažeti u jednoj rečenici. SOA (engl. Service Oriented Architecture) je način kreiranja distirbuiranih, lako dostupnih, te klijentu orijentiranih usluga. Kao primjer možemo spomenuti izradu određenog izvještaja u poduzeću. Ukoliko zaposlenik produkt svoga rada pohrani lokalno na svoje računalo, te e-mailom šalje izvještaj zainteresiranim korisnicima, sama vrijednost izvještaja se smanjuje. Osim toga, vrijeme kao bitan resurs u današnjem poslovanju se ne koristi optimalno. Međutim, ukoliko poduzeće uspostavi jedno centralizirano mjesto, kojemu će moći pristupati svi zaposlenici putem svojih računala i na kojem će se pohranjivati važni dokumenti, sam proces – od kreiranja do upotrebe određenog dokumenta – se ubrzava i olakšava.

Ako je sve tako jednostavno, zašto onda ovo ostaje samo teorija? Stvarnost nam opet upliće svoje prste i komplicira stvari. Dostizanje određene kvalitete u pružanju WWW usluga zahtjeva veliki trud, kao i konstantno ulaganje u tehnologiju, te obrazovan ljudski kadar. Cilj je pružiti klijentu distribuiranu, standardiziranu uslugu neovisnu o platformi koja će moći primati neograničen broj zahtjeva.

Osnovna prednost uslužno orijentiranih usluga je pružanje mogućnosti «real time» izvršavanja usluga, tj. u trenutku zahjeva. Usluga je ta koja se konstatno razvija, i radi na njenoj održivosti. Naime, bitno je da se kvaliteta usluge ne smanjuje svakim daljnjim pružanjem iste.

Slijedeća slika prikazuje način pomoću kojeg poduzeće može iskoristiti prednost SOA-e. Umjesto multipliciranja tri funkcije u svaku aplikaciju (primjerice otvaranje računa, promjenu adrese i proces narudžbe), poduzeće može projektirati unificiranu uslugu koju će koristiti svaka aplikacija i na taj način uštedjeti i na vremenu i na novcu.

SOA1

Mnogi IT stručnjaci vide potencijal SOA-e u rapidnom poboljšanju razvoja usluga, kao i većoj uspješnosti IT-a u zadovoljavanju tržišnih potreba, koje su dugi niz godina bile zadovoljavane na „klasičan“ način. Poznata istraživačka kuća Gartner Group predviđa da će do kraja 2008. godine 75% web projekata podržavati postulate SOA-e. Međutim, stvarnost je nešto drugačija. Averzija prema on-line načinu obavljanja poslovanja još uvijek postoji u mnogim poduzećima, koja još uvijek drže distancu od revolucionarnog medija poslivanja – Interneta. Mnogo češće se susrećemo sa situacijom u kojoj se web poslovanje smatra kao jedan od načina marketinškog prodiranja do kupaca, dok se zanemaruje njegov financijski efekt.

SOA2

Optimalna arhitektrua SOA-e se temelji na komponentama – CBD (engl. Component Based Development) i mogučnošću obavljanja usluge putem weba. Težnja je stvoriti World Wide Web Serivices, odnosno uslugu dostupnu svima, agilnu i prilagodljivu, te neovisnu o platformi na kojoj je implementirana.

Usluga osigurava specifičnu funkciju, primjerice analize kredititanja pojedinog klijenta ili obrade naruđbe kupaca. Usluga dostupna putem mreže može biti vrlo jednostavna (usluga kovertiranja valuta), ali isto tako može povezivati niz zavisnih, složenih usluga (usluga rezervacije avionskih karata).

Često se niz povezanih usluga u IT žargonu naziva «coarse grained services». Jedan od načina korištenja SOA-e je pronaći pravi način kako koordinirano povezati više odvojenih usluga u jednu funkcionalnu cijelinu.

Koncept SOA-e nije nova ideja. Usluge dostupne putem interneta postoje već duži niz godina, no, tek u zadnjih 10-ak godina (razvojem WWW servisa) dobivaju na značaju. Način na koji klijent komunicira s uslugom ne ovisi o implementaciji same usluge. To znači da klijent u principu ne mora razumjeti proces izvršavanja usluge. Drugim riječima, ne treba biti upoznat s porgramskim jezikom u kojem je usluga «napisana». Na taj način stvara se ozračje u kojem je web usluga dostupna širem krugu potencijalnih klijenata, pri čemu je nužno da korisnici imaju osnovnu informatičku pismenost (korištenje Interneta, preglednika i sl.). Klijent s uslugom komunicira prema unaprijed specificiranom i detaljno definiranom sučelju gdje se prikupljaju potrebni podaci o klijentu. Postavlja se pitanje o kakvom se to novitetu onda radi? Novost u ovakvom načinu pružanja usluge jest neovisnost o platformi na kojoj je usluga implementirana i operacijskim sustavima klijenata i same usluge.

Glavni razlozi implementacije SOA arhitekture možemo grupirati u slijedeće točke:

  • Mogućnost višekratnog korištenja usluga,
  • Neovisnost o platformskom rješenju (tehnološkom rješenju),
  • Skalabilnost,
  • Fleksibilnost,
  • Snižavanje troškova poslovanja.

Osnova karakteristika SOA-e, koja se i nameće kao glavna prednost, jest mogućnost istovremenog korištenja od strane većeg broja korisnika. Osim toga, korist se očituje i u sferi snižavanja troškova i uštede na vremenu. Primjerice, neka usluga razvijena u odjelu prodaje može se uz male modifikacije primjeniti i na druga područja unutar poduzeća. Glavna prepreka u iskorištavanju podstojećih aplikacija na razini poduzeća je jedinstvenost svake razvijene aplikacije i sustava. Raličite aplikacije funkcioniraju na različitim platformama (Windows, Linux itd.) stoga je ponekad vrlo teško uspostaviti «komunikaciju» između raznih aplikacija. Stoga IT odjeli mnogo vremena troše na uspostavu stanja u kojem će razne aplikacije međusobno funkcionirati. Problem se može jednostavnije riješiti uspostavom SOA-e. U takvom okruženju modifikacija korisničkog sučelja predstvalja jedini «problem» na kojem treba poraditi. Skalabilnost, odnosno proširivost usluge omogućava laku i jednostavnu nadogradnju po principu «lego kocaka» jer nisu potrebne velike intervencije u sustav prije same nadogradnje.

Namjena svakog alata ili softvera je za isporuku ili korištenje određene usluge. Isti takvi alati mogu biti ukomponirani u sistem kojemu će biti svrha kroz web portal, alate obrade, alate analize, isporučiti analitčku i taktičku informaciju. SOA omogućava korisniku efikasniju upotrebu prikupljanja, obrade, te isporuke podataka u uvjetima međusobno povezanih usluga.

SOA nije samo arhitektura sistema s tehnološke prespektive, već isto tako uključuje politiku poslovanja ispunjenje zadanih zadaća i načela po kojima osiguravamo da je prava usluga iskorištena. SOA mora zadovoljiti dvije temeljne pretpostavke:

  • Tehnološki principi – neovisnost o hardversko i softverskom rješenju, standardiziranost procesa i primjenjivost.
  • Principi dizajna – postizanje kvalitetne usluge, zadovoljavanje poslovnih zahtjeva poduzeća i olakšavanja korištenja usluga (prilagodljivost i jednostavnost).

Isto tako treba dati odgovore na neka od slijedećih pitanja:

  • Koja će usluga klijentu biti potrebna?
  • Koje usluge su dostupne klijentima?
  • Koje se uslugu mogu obavljati istovremeno?
  • Postoji li alternativa određenom načinu pružanja usluga?

U promjenjivom tržištu kapitala držati korak sa tehnološkim promjenama, može biti presudno u stjecanju kompetitvne prednosti. Formiranjem SOA arhitekture poslovanja nastoji se podići kvalitetu prikupljanja, obrade i distribucije podataka, a posljedično i pružanja brže, efikasnije te kvalitetnije usluge.

Literatura:

James Kobielus, Developing the Enterprise Roadmap, 2004.

Ed Ort, Service-Oriented Architecture and Web Services:-Concepts,Technologies, and Tools, 2005.

(S.B.)