Download - SOA (arquitectura orientada a servicios)
L/O/G/O
Presentado
Doris Guerra
Dinali pineda
Kathy García
Arquitectura Orientada a Servicios (SOA)
SOA
Permite la creación de sistemas de
información altamente escalables
Proporciona una metodología y un
marco de trabajo para documentar las capacidades de
negocio
Rinda una forma bien definida de exposición
e invocación de servicios
Paradigma de arquitectura para
diseñar y desarrollar sistemas distribuidos
Origen
En los años 80 aparecieron los
modelos orientados a
objetos.
en los 90 aparecieron los
modelos basados en
componentes.
en la actualidad han aparecido los modelos orientados a
servicios.
la arquitectura SOA ha hecho
que el desarrollo de software orientado a
servicios sea factible.
Terminología
Término Definición
Servicio
Los servicios pueden también ejecutar unidades discretas de trabajo como serían editar y procesar una transacción. Los servicios no dependen del estado de otras funciones o procesos.
OrquestaciónSecuenciar los servicios y proveer la lógica adicional para procesar datos. No incluye la presentación de los datos.
Sin estado
En una SOA los servicios no son dependientes de la condición de ningún otro servicio. Reciben en la llamada toda la información que necesitan para dar una respuesta.
ProveedorLa función que brinda un servicio en respuesta a una llamada o petición desde un consumidor.
Consumidor La función que consume el resultado del servicio provisto por un proveedor
Principios
Algunos de los principios publicados
son los siguientes:
Contrato de servicios
estandarizados
Acoplamiento débil de sistemas
Abstracción de servicios
Reutilización de servicios
Servicios sin-estado
Composición de servicios
La normalización de servicios
Transparencia de ubicación de servicios
SOA y los Servicios Web
Web Services (WS) engloba varias tecnologías, incluyendo XML, SOAP, W
SDL,UDDI…los cuales permiten construir
soluciones de programación para
mensajes específicos y para problemas de
integración de aplicaciones.
SOA y los Servicios Web
SOA es una arquitectura de aplicación en la cual todas
las funciones están definidas como servicios
independientes con interfaces invocables que pueden ser llamados en
secuencias bien definidas para formar los procesos de
negocio.
Capas de software
Aplicaciones básicas
De exposición de
funcionalidades
De integración de servicios
De composición de procesos
De entrega
Diseño y desarrollo de SOA
La metodología de
modelado y dise
ño para
aplicacio
nes SOA se
conoce
como 'a
nálisis
y
diseño orie
ntado a
servi
cios.
El desarrollo de sistemas
usando SOA requiere un
compromiso con este
modelo en términos de
planificación,
herramientas e
infraestructura.
Diseño y desarrollo de SOA
En un ambiente SOA, los nodos de la red hacen disponibles sus recursos a
otros participantes en la red como servicios independientes a los que tienen
acceso de un modo estandarizado.
Lenguajes de alto nivel
Los lenguajes de alto nivel como BPEL o WS-
Coordination llevan el concepto de servicio un paso
adelante al proporcionar métodos de definición y
soporte para flujos de trabajo y procesos de negocio.
Beneficios
Mejora en los tiempos de realización de cambios en procesos
Facilidad para evolucionar a modelos de negocios basados en tercerización
Facilidad para abordar modelos de negocios basados en colaboración con otros entes (socios, proveedores
Poder para reemplazar elementos de la capa aplicativa SOA sin disrupción en el proceso de negocio
Facilidad para la integración de tecnologías disímiles
Mejora en la toma de decisiones
Aplicaciones flexibles
Diferencias con otras arquitecturas
Al contrario de las arquitecturas orientado a objetos, las SOA están formadas por servicios de aplicación débilmente
acoplados y altamente interoperables.
Para comunicarse entre sí, estos servicios se basan en una definición formal
independiente de la plataforma subyacente y del lenguaje de programación (p.ej., WSDL).
un servicio C# podría ser usado por una aplicación Java. En este sentido, ciertos autores definen SOA como una Súper-
Abstracción.
Mitos y realidades
Mito Realidad
SOA es una tecnologíaSOA es una filosofía de diseño independiente de cualquier proveedor, producto, tecnología o industria. Las necesidades de SOA varían de una compañía a otra.
Las SOA requieren de servicios web
SOA se puede realizar a través de servicios web pero los servicios web no son un requisito necesario para implementar SOA
SOA es nuevo y revolucionario EDI, CORBA y DCOM son ejemplos conceptuales de orientación de servicios
SOA garantiza la alineación de TI y el negocio SOA no es una metodología
Una arquitectura de referencia SOA reduce riesgo de implementación
No hay dos SOA iguales. Una arquitectura de referencia SOA puede no ofrecer la mejor solución para su organización
SOA requiere una revisión completa de la tecnología y procesos de negocios
SOA debe ser gradual y construirse sobre sus inversiones actuales
Necesitamos construir una SOA SOA es un medio, no un fin
Ambiente SOA
El primer paso es asegurar que todo el software nuevo que se
instale sea compatible con
SOA.
El segundo paso es
identificar las funciones
dentro de los sistemas legacy
que desean integrar y
publicarlas como servicios.