Service Oriented Architecture

SOA este un model arhitectural menit sa ofere companiilor eficienta, agilitate si productivitate - scopurile strategice sunt atinse prin gasirea unei solutii logice bazata pe orientarea pe servicii.
Arhitectura Orientata pe Servicii (SOA) este un grup de servicii care comunica intre ele. Procesul de comunicare implica atat schimburi simple de date intre un furnizor de servicii si beneficiarul acestora, cat si un sistem complex de sisteme intre doi sau mai multi furnizori. Inter-comunicarea implica gasirea unor legaturi de conectare a doua sau mai multe servicii intre ele.
SOA construieste aplicatiile in afara serviciilor software. Serviciile cuprind in mod intrinsec unitati de functionalitate neasociate si interconectate imprecis, care nu contin caracteristici de conectivitate. Fiecare serviciu implementeaza o singura actiune, de exemplu, completarea unei aplicatii on-line pentru un cont, vizualizarea unui extras de cont bancar on-line, plasarea unei rezervari on-line sau unui numar de ordine pentru biletele de avion. In locul apelarilor cuprinse in codul sursa al serviciilor, se folosesc protocoale definite care descriu modul in care unul sau mai multe servicii pot comunica.
Scopul SOA este facilitarea conectarii unor parti consistente ale functionalitatilor, utilizand servicii software existente, pentru a forma aplicatii ad hoc construite in intregime. Cu cat mai mari sunt aceste parti, cu atat mai putine sunt punctele de interfata necesare implementarii seturilor de functionalitati. Totusi, partile foarte mari de functionalitati se pot dovedi insuficient de divizate pentru o reutilizare facila. Fiecare punct de interfata are la baza unitati de procesare a informatiilor. Indicatorul de performanta este instrumentul care pledeaza pentru gradul de divizare a serviciilor. In ceea ce priveste costurile periferice ale construirii unei aplicatii suplimentare, SOA a demonstrat ca acestea sunt scazute deoarece exista toate componentele software necesare pentru a satisface cerintele altor aplicatii. In mod ideal, este nevoie doar de organizare pentru a produce noi aplicatii.
SOA ofera asa numita arhitectura de perspectiva. Aceasta unifica procesele de business structurand aplicatiile mari sub forma unei colectii de module mici, numite servicii. Astfel, grupuri diferite de utilizatori, atat din interiorul unei organizatii, cat si din exteriorul acesteia, pot folosi aceste aplicatii, dar si noile aplicatii mai flexibile si cu o uniformitate mai mare, construite dintr-un conglomerat de servicii. Nu este nevoie, spre exemplu, ca cineva sa fie nevoit sa furnizeze in mod redundant acelasi informatii personale pentru a putea sa isi faca o rezervare, un cont de economii si chiar mai mult, privind dintr-o alta perspectiva, interfata cu care se interactioneaza sa aiba acelasi aspect, campuri si sa utilizeze aceleasi date de intrare pentru validare. Obiectivului este mult mai usor de obtinut si de folosit de catre companiile afiliate atunci cand aplicatiile fac parte din aceeasi structura comuna de servicii.
Fiecare companie are propriile „insule” de active corporative – angajatii, furnizorii, partenerii (si informatii despre acestia) sau infrastructura IT existenta – care trebuie conectate si mai apoi puse in slujba atingerii obiectivelor companiei. Una dintre cele mai eficiente si eficace metode de integrare a aplicatiilor este printr-o Arhitectura Orientata pe Servicii (Service Oriented Architecture – SOA). SOA este o abordare de prelucrare distributiva, care implica crearea si administrarea de servicii separate (verificare creditului clientului, crearea unei inregistrari), care poate accesa activele companiei si parti de informatii printr-o interfata comuna, indiferent de locatia sau particularitatile tehnice ale datelor. Aceste servicii sunt evidentiate si administrate intr-o maniera de asociere libera, care este conceputa sa maximizeze reorganizarea lor si sa fie folosite, datorita extensiei lor, in procesele de business.

Cheia livrarii unor procese de business imbunatatite se afla in armonizarea noilor procese si aplicatii cu infrastructura existenta, incluzand tehnologii de genul Enterprise Resource Planning (ERP) si customer relationship management (CRM). O solutie eficienta de BPM va sustine conceptul si implementarea SOA si aplicatiile adiacente. Orice solutie trebuie sa aduca beneficii la final, fara a neglija ceea ce functioneaza. De fapt, se poate ajunge la o polemica: orice SOA trebuie aiba o arie de BPM pentru a organiza executia acestor servicii diverse, aferente unui proces menit sa atinga scopurile afacerii respective. BPM-ul nu beneficiaza numai de un SOA implementat . Este importanta asigurarea tehnologiei care sa permita utilizatorilor sa identifice procesele afacerii printr-o notatie grafica clara. Vitale sunt si capacitatea de executie a acelui proces; facilitarea integrarii sistemelor deja existente si a pachetele comerciale disponibile; si apoi analizarea si administrarea functionarii impreuna a acestor procese. Enterprise Concept foloseste o abordare unica si independenta a proceselor care separa logica proceselor afacerii de nivelul aplicatiilor, facand integrarea mult mai lina si mai adaptabila modificarilor ulterioare.
BENEFICII
Imbunatatirea vizibilitatii afacerii
Integrarea sistemelor si colectionarea datelor pentru o perceptie exacta si consistenta a clientilor:
• Informatii actualizate permanent pentru imbunatatirea serviciilor catre clienti
• Informatii inter-companii pentru activitati de tipul 1:1
• Informatii consistente, precise si usor de inteles, importante in actul decizional.
Obtinerea flexibilitatii afacerii
Crearea unei infrastructuri de software integrata si agila, care sa raspunda rapid nevoilor afacerii:
• Livrarea rapida a functionalitatilor noii afacerii
• Reducerea impactului schimbarilor de business si de tehnologie
• Protejarea investitiilor in timpul creari noilor functionalitati
Obtinerea eficientei afacerii
Fluidizeaza, automatizeaza si permite o mai buna supervizare si vizibilitate a proceselor de business:
• Permite transmiterea securizata a proceselor de business in interiorul si in afara barierelor de siguranta ale companiei
• Creaza punti intre calupuri de date si asigura integritatea acestora
• Administreaza deciziile de business in mod proactiv folosind indicatori de performanta.

