Comparteix:

Què és SOA?

SOA són les sigles d'Arquitectura Orientada a Serveis (Service Oriented Architecture). Una Arquitectura Orientada a Serveis consta d’una cartera de serveis (catàleg de serveis) que s’utilitzen per a construir aplicacions orientades a serveis, implementar comunicacions entre aplicacions convencionals o per implementar BPM (Processos de negoci) entre d’altres.SOA augmenta la capacitat de resposta de les TIC en front al dinamisme del món del negoci en el que els requisits estan canviant constantment. Les organitzacions requereixen agilitat en el negoci per tal de respondre ràpid i eficientment al canvi. Per altra banda, és objectiu de SOA disposar d’un conjunt de serveis web que es poden combinar i modificar per tal de generar noves aplicacions.En aquest sentit existeix un compromís dels usuaris de la SOA pel tal que els serveis han de ser prou genèrics perquè puguin ser reutilitzables.Podem comparar SOA amb les construccions “LEGO”. Els serveis web serien les peces que es poden connectar fàcilment entre elles per formar una altra unitat que fàcilment es pot connectar amb una major per a poder formar ràpidament una construcció “LEGO” o aplicació SOA. 

Serveis web

Un servei web (també conegut com Web Service en anglès) és una col•lecció de protocols i estàndards que serveix per intercanviar dades entre aplicacions. Diferents aplicacions de programari desenvolupades en llenguatges de programació diferents i executades sobre qualsevol plataforma poden utilitzar els serveis web per l'intercanvi de dades en una xarxa com Internet. Aquesta gran interoperabilitat s'aconsegueix gràcies a l'adopció d'estàndards oberts. Les organitzacions OASIS i W3C són les responsables de l'arquitectura i reglamentació dels serveis web. Per garantir la interoperabilitat entre les diferents implementacions existeix un organisme, el WS-I, que és l'encarregat d'especificar de forma exhaustiva tots els aspectes d'aquests estàndards.

Subscriptors

són Són usuaris de les funcionalitats del serveis web que subscriuen. Com a tals han d’omplir un formulari responsabilitzant-se de l’ús que en fan.

Proveïdors

Ssón usuaris que ofereixen una funcionalitat a través d’un servei web (proveeixen un servei web). També omplen un formulari responsabilitzant-se d’uns acords de servei.

 

Principis de disseny

SOA es basa en els següents principis de disseny:
  • Poc acoblament: disseny dels serveis amb una interfície clara i ben definida que els aïlli de la seva lògica de negoci. Aquest principi és el que s’anomena el desacoblament dels serveis: definir els serveis físicament desacoblats de la seva implementació. D’aquesta manera, el proveïdor del negoci, en cas necessari, pot modificar la implementació del servei sense afectar als seus consumidors ja que es conserva la interfície.
  • Abstracte: els serveis s’especifiquen mitjançant una interfície que permet als consumidors accedir al servei i conèixer els detalls de com utilitzar-lo.
  • Autònom: els serveis no tenen dependències amb cap programa o software concret. Són cridats, mitjançant la seva interfície, directament des dels client per tal d’obtenir un resultat.
  • Sense estat: no hi ha cap estat associat al servei, s’executen i obtenen els resultat segons les seves especificacions.
  • Composable: és possible enllaçar els serveis   entre si per tal d’obtenir nous serveis.
  • Reusable: el disseny dels nous serveis s’ha d’orientar a la possible reutilització dels mateixos. En la mesura del que sigui possible cal evitar pensar en la resolució de necessitats molt específiques.
  • Amb la granuralitat adequada: els serveis amb una granularitat petita són poc útils per construir aplicacions amb ells i poden generar problemes de rendiment. Els serveis amb granularitat gran són poc flexibles i difícils de reutilitzar.
  • Fàcil de descobrir: mitjançant una eina de catàleg que permeti documentar, enregistrar, identificar i cercar els serveis. El Catàleg SOA conté tots els serveis i operacions de la UPC i les seves subscripcions. És l’eina bàsica pels subscriptors per a descobrir serveis i pels els proveïdors inspeccionar el conjunt de subscriptors dels seus serveis SOA. El  catàleg es troba disponible a: http://soa.upc.edu
  • Generació de nous serveis: dissenyar nous serveis en el cas que un servei modifiqui el seu comportament de manera important. És preferible crear nous serveis que generar noves versions d’un mateix servei amb comportaments molt diferents