Comparteix:

Funcionament SOA

Equip

La SOA a la UPC s’organitza amb una sèrie d’actors els quals disposen de mecanismes de comunicació per a un funcionament òptim.
El següent esquema mostra com s’engrana la SOA a la UPC:
• La direcció informàtica patrocina el projecte i proveeix els mecanismes necessaris per tal de dur-lo a terme.
• El govern SOA té la finalitat de vetllar per la qualitat, l’ús de la SOA i el bon funcionament de la SOA a la UPC, donar suport als usuaris de SOA i escoltar les seves necessitats. El govern SOA, amb col•laboració del grup de coordinació SOA, estableix polítiques i defineix processos per tal que el funcionament SOA sigui òptim. Per tal de portar a terme els seus objectius ofereix serveis molt diversos que a continuació detallarem:
• Documentar i enregistrar els serveis i subscripcions en el catàleg SOA.
• Realitzar anualment el “Programa d’adopció de SOA” per detectar noves necessitats SOA.
• Definir el model de dades de la UPC per tal d’identificar les principals entitats de dades així com els Sistemes d’informació encarregats de proveir-les.
• Validar i consensuar les polítiques, bones pràctiques i procediments de SOA.
• Gestionar el cicle de vida dels serveis.
• Suport tècnic a aquells Sistemes d’Informació de la UPC que ho requereixin.
• Formar a la comunitat SOA de la UPC.
• Accions de difusió per donar a conèixer SOA a la UPC, augmentar la seva utilització i aconseguir que tota l’organització pugui beneficiar-se dels seus avantatges.
• Posar els mitjans per informar als usuaris TIC
• Transformar missatges entre l’aplicació sol•licitant i el servei per tal de facilitar la integració entre sistemes.
• Implementar la seguretat entre client i proveïdor.
• Alertar d’incidències.
• Orquestrar serveis.
• El grup de coordinació SOA el formen representants dels Sistemes d’Informació corporatius de la UPC (responsables i arquitectes dels sistemes d’informació). El grup de coordinació SOA col•labora amb el govern i li dóna suport validant i ratificant les polítiques, processos i bones pràctiques proposades pel govern.
El govern SOA i el grup de Coordinació SOA es reuneixen bimestralment. El govern SOA presenta polítiques, processos i bones pràctiques i el grup les ratifica.
La SOA a la UPC s’organitza amb una sèrie d’actors els quals disposen de mecanismes de comunicació per a un funcionament òptim.
El següent esquema mostra com s’engrana la SOA a la UPC: 


  • La direcció informàtica patrocina el projecte i proveeix els mecanismes necessaris per tal de dur-lo a terme.
  • El govern SOA té la finalitat de vetllar per la qualitat, l’ús de la SOA i el bon funcionament de la SOA a la UPC, donar suport als usuaris de SOA i escoltar les seves necessitats. El govern SOA, amb col•laboració del grup de coordinació SOA, estableix polítiques i defineix processos per tal que el funcionament SOA sigui òptim. Per tal de portar a terme els seus objectius ofereix serveis molt diversos que a continuació detallarem:
  • Documentar i enregistrar els serveis i subscripcions en el catàleg SOA.
  • Realitzar anualment el “Programa d’adopció de SOA” per detectar noves necessitats SOA.
  • Definir el model de dades de la UPC per tal d’identificar les principals entitats de dades així com els Sistemes d’informació encarregats de proveir-les.
  • Validar i consensuar les polítiques, bones pràctiques i procediments de SOA.
  • Gestionar el cicle de vida dels serveis.
  • Suport tècnic a aquells Sistemes d’Informació de la UPC que ho requereixin.
  • Formar a la comunitat SOA de la UPC.
  • Accions de difusió per donar a conèixer SOA a la UPC, augmentar la seva utilització i aconseguir que tota l’organització pugui beneficiar-se dels seus avantatges.
  • Posar els mitjans per informar als usuaris TIC
  • Transformar missatges entre l’aplicació sol•licitant i el servei per tal de facilitar la integració entre sistemes.
  • Implementar la seguretat entre client i proveïdor.
  • Alertar d’incidències.
  • Orquestrar serveis.

El grup de coordinació SOA el formen representants dels Sistemes d’Informació corporatius de la UPC (responsables i arquitectes dels sistemes d’informació). El grup de coordinació SOA col•labora amb el govern i li dóna suport validant i ratificant les polítiques, processos i bones pràctiques proposades pel govern.
El govern SOA i el grup de Coordinació SOA es reuneixen bimestralment. El govern SOA presenta polítiques, processos i bones pràctiques i el grup les ratifica.

Polítiques

Entenem com a política un principi o regla per prendre decisions i arribar als resultats o objectius esperats de SOA a la UPC. El govern SOA estableix un seguit de polítiques per al bon funcionament de la SOA a la UPC i un mecanisme de revisió periòdica de les mateixes per tal d’adaptar-se a les necessitats canviants de SOA a la UPC així doncs les polítiques segueixen el cicle tancat de creació/tunning -> Desplegament -> Monitorització.
El govern SOA garanteix que tots els agents implicats de la UPC coneguin les polítiques SOA. És responsabilitat de cada agent aplicar aquestes polítiques. El grau d’aplicació de polítiques s’emprarà com a indicador del nivell de maduresa de SOA a la UPC.
Sempre que sigui possible, el govern oferirà eines per a l’aplicació automàtica de polítiques mitjançant una sèrie de punts de control.

Interoperabilitat, estàndards

És objectiu del govern SOA oferir interoperabilitat. Tots els SI Corporatius són compatibles amb SOA. La majoria de llenguatges de programació del mercat també ofereixen la possibilitat d’utilitzar serveis web (web Services). El govern SOA donarà suport als estàndards de serveis web existents a la xarxa. Actualment es dóna suport SOAP, HTTP i JSON.
L’estàndard seleccionat per treballar a la UPC és el SOAP, fent servir el WSDL per descriure els serveis i el SOAP fault les excepcions.
Els clients i proveïdors es poden programar en qualsevol llenguatge de programació. El govern SOA dóna suport per a la generar-los en JAVA, PHP, PERL i Python. Si us trobeu amb dificultats ja siguin per treballar en un altre llenguatge o per altres causes contacteu amb el govern SOA (govern.soa@upc.edu).
Qualitat
El govern SOA vetlla per la qualitat de la SOA a la UPC. Per aquesta raó ha creat una política de qualitat en la que:
El govern SOA garanteix:
  • Serveis disponibles.
  • Serveis segurs.
  • Monitorització de Serveis.
  • Logging de Serveis.
  • Notificació d’incidències.
  • Catàleg actualitzat.
  • Suport en l’ús de SOA.
El propietari o proveïdor del servei garanteix per mitjà d’un contracte:
Assegura un nivell de servei (SLA)
  • Informar al govern SOA i als subscriptors de qualsevol incidència en el servei
El subscriptor o consumidor del servei garanteix per mitjà d’una subscripció:
  • Bon ús del servei (SLA)
  • Notificar al proveïdor i al govern SOA de qualsevol canvi en l’ús del servei

Acords de servei (SLAs i mètriques)

Tant els proveïdors com els subscriptors pacten amb el govern SOA el que s’anomena un Acord de Servei o SLA (Service Level Agreement).
1. Els contractes entre el govern SOA i els proveïdors estipulen els següents SLA:
  • Percentatge de disponibilitat del servei (el percentatge de temps que el servei estarà disponible des del bus).
  • Temps mitjà de resposta del servei.
  • Temps màxim de resposta del servei.
  • Nombre màxim de peticions simultànies suportades.

2. Les subscripcions proveïdes en el catàleg estipulen:
  • Horari d’utilització del servei (24x7, de 8 a 18h, altres...)
  • Estimació d’ús (quantitat de sol•licituds prevista (crides al WS) per unitats de temps (mes, dia, hora, ...)

Periòdicament, el govern SOA informarà a proveïdors i consumidors de les mètriques per cada contracte i subscripció. En cas de no haver complert l’SLA se n’esbrinaran les causes i:
  • Es corregirà el servei
  • S’actualitzarà l’SLA

En cas de no acordar una solució, el govern SOA farà de mediador.

Seguretat

Aquest apartat tracta de la seguretat entre subscriptor i bus.
Hem explicat a l’apartat d’Infraestructura SOA que el bus es troba en un entorn segur i amb alta disponibilitat. A part, el bus disposa dels mecanismes per a garantir:
Explicar el bus públic i el bus privat, quina diferència hi ha. A nivell de seguretat
  • Autenticació: WS-Security (Tokens), OAuth (Tokens)
  • Autorització: Mitjançant l’usuari LDAP.
  • Confidencialitat: XML Encryption (WSS) o bé SSL
  • Integritat: XML Signature (WSS) o bé SSL
  • No repudi: XML Signature (WSS)

Segons el tipus de dades, el govern SOA disposa el nivell de seguretat mínim i posa els mitjans per complir-la:

 

MESURES DE SEGURETAT SUBSCRIPTORS

NIVELL DE SEGUERTAT OPERACIÓ

HTTPS

HTTPS

WSS

HTTPS

OAUTH

HTTPS

WS-SIGNATURE

Confidencialitat(NT)

Integritat (NT)

Confidencialitat(NT)

Integritat (NT)

Autenticació

Autorització usuari genèric

Confidencialitat(NT)

Integritat (NT)

Autenticació

Autorització usuari personal

Confidencialitat(NT)

Integritat (NT)

Autenticació

Autorització usuari personal

Integritat missatge

No repudi

ALT

 

MIG

 

 

BAIX

 

 

NM nivell de missatge, NT nivell de transport
Així per exemple, una operació que no requereix nivell de seguretat pot funcionar en qualsevol tipus de mesures. Una operació que requereix una seguretat baixa permetrem aquells accessos des de HTTPS, HTTPS+WSS i HTTPS+WS-SIGNATURE.

Testeig

El proveïdor d’un servei ha de proporcionar uns casos d’ús o jocs de proves. Aquest joc de proves s’inclou en el contracte d’un servei i l’utilitzen tan el govern SOA com els subscriptors del servei per validar que funciona correctament.

Nomenclatura

La Política de nomenclatura i versionat estableix com han de ser les URL de serveis, els noms de serveis i operacions, els paràmetres i dominis.

  • Nom del bus serà: bus-soa.upc.edu (entorn explotació) i bus-soades.upc.edu (entorn test). Aquests noms els estipula el govern SOA.
  • Domini: classifica als serveis dins el bus i el catàleg de serveis per sistema d’informació. Els noms dels dominis els estableix el govern SOA segons l’annex II Dominis.
  • Nom del servei i versió: al final del nom del servei s’indicarà el número de versió. Veure apartats 4.7.1 noms dels serveis, operacions i paràmetres i 4.7.2 Control de versions.

Nom dels serveis, operacions i paràmetres
  • Els noms han de ser un nom amb sentit, descriptiu del servei: fer servir noms que siguin fàcilment associables amb el seu propòsit.
  • Evitar noms llargs i evitar nom massa curts.
  • Evitar anomenar dos serveis, operacions o paràmetres igual.
  • El nom del servei ha de ser de la forma NomServei, NomOperació i nomParametre ("Camel case")
  • Al final del nom del servei es posarà la paraula Alta, Baixa, Modificació o Consulta segons sigui convenient.
  • El nom no contindrà les paraules WS, servei, servei web, operació, operation, parametre.

Específic de paràmetres

  • Pels paràmetres, es transferirà la informació el màxim de segregada. Per exemple, enviar nom, cognom 1, cognom 2. No enviar el nom complet.
  • Els valors dels paràmetres han d'estar tots en majúscules.
  • La codificació ha de ser UTF-8
  • El valor null s'haurà de passar utilitzant el XSI:null
  • El valor blanc es passarà com: <tag> </tag>

Control de versions

Hi ha dos tipus de versions: Les major version i les minor version. 

En la versió v1.2 (l'1 és la major version i el 2 és la minor version).
Les major version representa realitzar canvis en els SI subscriptors. Aquests canvis venen generats per:
  • Esborrar una operació.
  • Renombrar una operació.
  • Canviant els paràmetres (en tipus de dades o ordre) d’una operació.
  • Canviant l’estructura d’un tipus de dades complex.
Les minor version no representen canvis pels subscriptors. Són minor version:
  • Afegir noves operacions al WSDL
  • Afegir un nou tipus de dades dins de l’esquema XML
  • Al final del nom del servei s’hi posarà la versió major.
Per exemple: NomServeiAltav1.

  • La versió minor es passarà com a paràmetre. Per exemple:
<xs:schema xmlns=http://www.acme.com/types/pcconfig/NomServeiAltav1 
targetNamespace=http://www.acme.com/types/pcconfig/NomServeiAltav1 
version="1.2">
  • Només hi haurà una versió minor per cada versió major. Hi podrà haver paral•lelament tantes versions major com sigui necessari.
  • El govern SOA treballarà per unificar versions i convidar als subscriptors a que adoptin les noves versions.

Seguiment

El govern SOA facilita una sèrie de mecanismes de seguiment per tal que els diferents actors de la SOA a la UPC portin a terme un seguiment del projecte:
  • Les reunions de coordinació SOA: 5 reunions anuals amb l’objectiu de fer seguiment i evolucionar la SOA.
  • L’iespai SOA (http://iespaisoa.upc.edu) Els usuaris SOA poden consultar a la web el catàleg de serveis SOA, l’estat del SOA, també poden participar al SOA (subscriure’s al butlletí SOA, apuntar-se a les formacions esporàdiques que fem i al programa d’adopció SOA), llegir la documentació SOA, el llibre blanc i els processos (les instruccions) per poder subscriure o proveir un servei.
  • El butlletí SOA S’envia semestralment als usuaris que han sol•licitat l’alta a la llista butlletiSOA@llistes.upc.edu. Conté informació d’actualitat de la SOA a la UPC, una agenda i un tema que és tractat a fons (apartat “en detall”).
  • El llibre blanc de SOA Publicat a la web SOA, conté el detall del model SOA adoptat a la UPC amb l’objectiu que els usuaris SOA l’entenguin i el puguin posar en pràctica.
  • La pàgina SOA (http://soa.upc.edu) Aquesta pàgina es troba dins de la intranet de l’Oficina de Sistema d’Informació. És una pàgina que explica a el projecte i redirigeix als usuaris TIC a l’iespai SOA i la resta a posar-se en contacte amb el govern SOA.
  • L’adreça govern.soa@upc.edu s’usa com a únic canal de comunicació dels usuaris cap al govern SOA. A ell s’han de fer arribar totes les sol•licituds SOA, comentaris, propostes, queixes, incidències...
  • El programa d'adopció SOA s'executa anualment per conèixer l'estat de l'adopció de SOA a la UPC. En el programa hi participen més de 20 Sistemes d'Informació i està obert a tots els SI de la casa per a estudiar-ne l'ús de la SOA i intentar satisfer les seves necessitats SOA.
  • La formació SOA: facilita el coneixements teòrics-pràctics per utilitzar la SOA en temps de disseny i implementació dels sistemes. L’oferta formativa compren els programes de “Coneixements per a SOAlitzar un sistema d’informació” i “Eines per a SOAlitzar un sistema d’informació”.
  • Les alarmes SOA, alerten de possibles mal funcionaments en els serveis o les seves crides:
  • Alarma a proveïdor en cas que el Ràtio d’errors > 50% en els darrers 30 minuts.
  • Alarma a proveïdor i consumidor en cas que el temps de resposta > 3 seg en els darrers 30 minuts
  • Alarma a proveïdor i consumidor en cas que el Status del servei sigui offline.
  • Alarma a proveïdor en cas que #errors WSS > 5 en els darrers 10 minuts.