Hacia el mundo real

Anuncio
Software Orientado a
Servicios:
Hacia el mundo real
Ignacio Vissani*
FACAS 2016
* this->dc.uba.ar
Menú
1) SOA today
2) Qué hicimos (pasado)
3) Qué hacemos (presente)
4) SOA tomorrow (futuro)
Service Oriented Architecture
runtime
Service Broker
Discover
SOA
Service Client/Requestor
Bind
Repository
Publish
Service Provider
SOA en la actualidad
ver
SOA
• Enterprise Service Bus by Oracle, IBM, Microsoft (sort of) y otros
‣ Integración de arquitecturas, sistemas, protocolos de
comunicación heterogéneos
‣ Resolución en runtime de la ubicación de un servicio
• Pasaje de mensajes (sync/async)
• Utilización de estándares (WSDL, SOAP)
• Protocolos de comunicación conocidos: TCP/IP, HTTP
Bind
P
SOA en la actualidad
• Inexistencia de soluciones industriales
‣ Limita la adopción del paradigma
• Soluciones académicas basadas en contratos
‣ Visión limitada a un aspecto del servicio
‣ No realizables en runtime
‣ Consideración muy pobre de los aspectos NO funcionales
‣ Herramientas no disponibles, obsoletas, etc.
Discover
Nuestra visión
Discovery automático en runtime
1. Interoperabilidad (protocolo de comunicación)
2. Contratos funcionales
3. Atributos NO funcionales
1. Disponibilidad
2. Costo computacional
3. Costo monetario
4. etc.
Pasado
1) Interoperabilidad
•
•
•
Autómata
Aceptación por
inifinite state
passing
i.e. Büchi, Muller,
etc.
•
Global graph (coreografía)
•
Describe la comunicación
esperada
Pasado
1) Interoperabilidad
~
G’
Síntesis
Presente
2) Contratos funcionales
<x,y,z,…>
{∂}
Futuro
(cercano)
X
Falla:
• Rollback (hasta dónde?)
• Síntesis de contratos de
interoperabilidad parcial
Terminación:
• Interoperaciones con
estado final
• Binding parcial
Futuro
3) Atr. NO funcionales (mediano plazo)
Adición de contratos no funcionales en función de indicadores como
ser el costo temporal, el precio, la disponibilidad, la latencia, la
probabilidad de fallo, etc.
•Análisis de los poliedros determinados por un conjunto de
restricciones sobre los indicadores
•Estimación de indicadores de un servicio basados en su semántica
y los de aquellos servicios registrados en un repositorio
•Aplicación de técnicas de machine learning para el refinado de
los indicadores de los servicios registrados en un repositorio
¿Futuro? (posibles colaboraciones)
LAFHIS
Depend. Systems
No puedo encontrar un
conjunto de servicios que
satisfaga mi protocolo,
pero…
Satisfacción probabilística
de atributos NO
funcionales.
¿Será posible sintetizar
un orquestador que con
lo que hay en el repo me
provea lo que yo
necesito?
Por ejemplo: Tengo dos
servicios S1 y S2 que
hacen lo mismo
S1 | $1 | avail. del 50%
S2 | $10 | avail. del 90%
Descargar