Į viršų


Į paslaugas orientuota architektūra (SOA). SOA yra jėga, kuri apsaugo nuo galvos skausmo.

Į paslaugas orientuota architektūra (toliau – SOA, Service oriented architekture – angl.) – tai naujas programinės įrangos architektūros modelis, kuris gali padėti įmonei lengviau prisitaikyti prie nuolat kintančių verslo sąlygų.

Kas yra paslauga? Paslauga – tai standartizuota pasikartojanti verslo užduotis, pvz., jei patikrinti, ar prekė yra sandėlyje, arba tos prekės pardavimo procedūra. Kiekviena didesnė įmonė turi daugybę tokių sukurtų paslaugų, ir visos jos turi „bendradarbiauti“ tarpusavyje. Įmonei augant, kuriamos vis naujos paslaugos, jos integruojamos į vieną visumą su jau egzistuojančiomis paslaugomis, taip sudarydamos bendrą sudėtingą statinį tinklą. Kiekvieną kartą, atsiradus naujai paslaugai ar jai pasikeitus, reikia vėl iš naujo derinti sąsjas.

Programinės įrangos architektūra – tai reikalavimų visuma, kuria vadovaujantis kuriama programinė įranga. Kuo SOA skiriasi nuo įprastinės architektūros? SOA leidžia padaryti pagrindinį įmonės verslą nepriklausomą nuo jos informacinių technologijų. SOA pagrindas  - standartizuotas centrinis modulis (Enterprise service bus), per kurį jungiami visi kiti moduliai. Šis modulis užtikrina, kad visos paslaugos naudotų vienodus standartus, jungia ir transformuoja skirtingus standartus ir sumažina jungčių skaičių. Visos paslaugos yra derinamos tik prie centrinio modulio, todėl jas lengva pakeisti kitomis. Tarkime, jūsų sandėlininkystės programa paseno, tačiau kiti versle naudojami programiniai moduliai jums vis dar tinka. Jeigu norite jį pakeisti nesinaudodami SOA, jums gali tekti redaguoti visas programas, kurios yra susijusios su sandėlininkystės moduliu. O naudojant SOA, jums tereiks pakeisti vienintelį modulį, ir vėl bus galima naudoti visas ankstesnes sąsajas. SOA padaro verslą lankstesnį ir greičiau prisitaikantį prie pokyčių.

Standartizuotas centrinis modulis (Enterprise Service bus)

Standartizuotas centrinis modulis yra tarpinė programinė įranga, skirta atskirų programų arba sistemų integracijai ir atliekanti duomenų transformavimo ir persiuntimo funkciją.  Paprasčiau tariant, tai jungiamoji grandis, sujungianti visas įmonės paslaugas ir leidžianti joms bendradarbiauti.

Tarkime, jūs vadovaujate nedidelei bendrovei. Jeigu nenaudojate SOA, jūsų įmonės paslaugų tarpusavio ryšiai atrodys maždaug taip:

Jeigu pradėtumėte teikti naują paslaugą, tarkime, siuntinių draudimą, turėtumėte ją susieti su kitais komponentais. Jeigu pasinaudosite SOA, jūsų įmonės paslaugos išsidėstys šitaip:

Centrinis modulis – tai šios schemos diskas, prie kurio jungiasi visos paslaugos. Jis užtikrina sklandų modulių bendradarbiavimą (koreliaciją). Net jeigu kiti komponentai naudoja skirtingus „bendradarbiavimo“ standartus, centrinis modulis gali atlikti „vertėjo“ funkciją ir užtikrinti, kad kiekvienas prie jo prijungtas modulis gaus informaciją jam reikalingu formatu.

Paimkime kaip pavyzdį muzikinę namų sistemą. Diegdami ją, turite du pasirinkimus – galite įsigyti paprastą muzikinį grotuvą, kuris bus nebrangus, tačiau jo komponentus keisti ateityje bus labai sudėtinga. Jie sujungti nestandartinėmis jungtimis, tad užsimanius vietoj CD įmontuoti DVD ar MP3 grotuvą taps praktiškai neįmanoma. Kitu atveju, nusipirkę stiprintuvą ir atskirai prie jo prijungę norimus komponentus (garsiakalbius, CD grotuvą ir t.t.), juos langvai pakeisite kada panorėję; jie visi bus moduliniai, t.y  jungiami prie centrinio modulio (šiuo atveju – stiprintuvo), o visų jų jungtys bus standartinės. Tokia sistema sukurta taip, kad ją būtų galima pakeisti paprastai ir greitai. Tokia pati sistema yra ir SOA.

Atviri standartai

Minėtas pavyzdys parodo, jog prie stiprintuvo jungti ir keisti komponentus lengva, nes jungtys yra standartizuotos. Būtent šią funkciją IT atlieka atviri standartai. Vadovai jau senokai susiduria su situacija, kai sumanius reformuoti įmonės veiklą ar ją išplėsti, tenka nusivilti ir atsisakyti naujovių, nes įmonėje veikianti IT sistema nespėja naujųjų užduočių įvykdyti laiku. Staiga paaiškėja, kad viską keisti yra per brangu ir beveik neįmanoma.

Gali būti, kad programuotojas, kūręs paslaugų sąsajas, jau nebedirba įmonėje, o jums prireikia kažką keisti. Jeigu tos sąsajos buvo sukurtos tik vienam programuotojui suprantama kalba, gali  tekti perdaryti didžiąją IT infrastruktūros dalį. Tačiau jei programuotojas naudojosi atvirais standartais, visa jo sukurta infrastruktūra bus lengvai perjungiama ir pakeičiama, kas ją betvarkytų. Būtent todėl, kad pagrindinis SOA tikslas yra sukurti greitai adaptuojamą ir modifikuojamą infrastruktūrą, šios architektūros diegimui būtini atviri standartai.

Kodėl SOA?

Paskutinėje Pasaulinėje Vadovų apklausoje, kurią atliko IBM korporacija, net 83 procentai įmonių vadovų sako, kad tikisi didelių permainų ateityje. Dauguma jų savo įmonių pasiruošimą keistis vertina prasčiau, nei norėtų, ir žada daug investuoti, kad verslo adaptacinės galimybės padidėtų. Pasaulis kasdien keičiasi vis greičiau, atsiranda vis naujų paslaugų poreikis. Įsivaizduokime, kad jūsų įmonei prireikė naujos draudimo paslaugos.
 
Skirtingai nuo įprastos architektūros, kai turėtumėte tarpusavyje susieti visas paslaugas, SOA leidžia naujai sukurtą paslaugą tiesiog prijungti prie centrinio modulio. Savaime suprantama, kad tai daug paprasčiau, nei kurti naujas sąsajas, ir kuo daugiau modulių turi įmonė, tuo daugiau naudos gaunate iš SOA. Pakeisti modulį yra visai paprasta, nereikia perkurti visų sąsajų - tiesiog išimate vieną modulį ir įdedate kitą. Naudodami SOA jūs įgysite pranašumą prieš konkurentus, nes naujas paslaugas galėsite įdiegti greičiau, o tai leis jūsų įmonei efektyviau prisitaikyti prie kintančios rinkos ir geriau išnaudoti atsiradusias galimybes.

Kaip diegti SOA?

Kaip pereiti prie SOA ? IBM rekomenduoja naudoti 2 pagrindinius principais:
Pirmas principas – perėjimas turi būti vykdomas palaipsniui. Jei pasirinkote SOA diegimą, tai nereiškia, kad reikia keisti visą turimą IT infrastruktūrą ar veiklos procesus. Tiesiog visus ateinančius projektus kurkite taip, kad jie atitiktų SOA principus, ir pereikite prie SOA žingsnis po žingsnio.
Antras principas – IBM rekomenduoja pradėti nuo vieno arba kelių išeities taškų:

Daugiau informacijos (anglų kalba):