Upload
crossnetws
View
1.854
Download
0
Embed Size (px)
DESCRIPTION
Introducción a SOA
Citation preview
Introducción a la Arquitectura Orientada a
Servicios
Mag. Javier Lacherre
Mag. Joel Moreno
CROSSNET
www.crossnet.ws
Agenda
• Definición de Arquitectura Orientada a
Servicios
• El concepto de Servicio
• Enfoque Tradicional vs Enfoque SOA
• Escenarios para introducción de SOA
• Beneficios de SOA
• Rutas de aprendizaje con Oracle
University
Arquitectura Orientada a Servicios
• SOA establece un modelo de arquitectura
que pretende incrementar la eficiencia,
agilidad y productividad de una empresa
posicionando los servicios como un
mecanismo esencial para el logro de las
metas estratégicas de la
organización(SOA: Principles of Service
Design by Thomas Erl)
Arquitectura Orientada a Servicios
• Arquitectura orientada a servicios es una
estrategia de TI que organiza las
funciones contenidas en las aplicaciones
empresariales en servicios interoperables
basados en estándares que pueden
combinarse y reutilizarse rápidamente
para satisfacer las necesidades del
negocio (Definición de Oracle)
Definición de Arquitectura de un Sistema
• Arquitectura: La organización básica de un sistema
formado por sus componentes, las relaciones, el
ambiente y los principios que guían su diseño y
evolución. (ANSI/IEEE 1471-2000:ISO/IEC 42010-
2007)
Característica de Diseño
• Una característica de algo es simplemente
un atributo o una cualidad de una solución
• Ejemplos:• Acoplamiento: medida de la interdependencia entre
los componentes de un sistema (objetos, procedimientos, tablas)
• Reusabilidad: medida en la que un componente puede ser reusado
Principio de Diseño
• Principio de diseño• Práctica aceptada por la industria
• Ejemplos:• Promover el bajo acoplamiento entre los
componentes
• Promover el reuso de los componentes
Paradigma de Diseño
• Un paradigma de diseño es un enfoque
de gobierno para el diseño lógico de una
solución.
• Es un conjunto complementario de reglas
o principios que en conjunto definen el
enfoque representado por el paradigma
Orientación a Servicios
• La Orientación a Servicios es un
Paradigma de Diseño o Modelo
Arquitectónico
• La aplicación de este paradigma resulta en
una Solución Orientada a Servicios.
• La unidad principal o bloque de
construcción de una solución orientada a
servicios es el Servicio
¿Qué es un Servicio?
• Es una unidad de software independiente,
empaquetada en forma de componente reusable
y con relevancia empresarial.
• Expone un conjunto de capacidades (funciones)
a través de la red de una manera estándar (Por
ejemplo: WSDL)
• Las aplicaciones clientes invocan a las
capacidades del servicio a través de
mecanismos estándar de comunicación y de
intercambio de mensajes (Por ejemplo: HTTP y
SOAP)
¿Qué es un Servicio?
• Simplificadamente, consta de dos partes: • Interfaz: capacidades (operaciones), parámetros de
entrada y salida (mensajes), la ubicación en la red (end point), protocolo de intercambio de mensajes, protocolo de comunicación
• Implementación: lógica de negocio + datos
• Las aplicaciones clientes solo tienen
conocimiento de la interfaz del servicio
Servicios Web
• Es una tecnología que abarca un conjunto
de estándares que posibilitan la
publicación, el descubrimiento y provisión
de servicios a través de la web
• Los principales estándares son:• XML: Es un metalenguaje (lenguaje para definir otros lenguajes)
• SOAP: Estándar para el intercambio de mensajes (basado en XML)
• WSDL: Estándar para describir la interfaz de un servicio web (basado en XML)
• UDDI: Estándar publicar y localizar información de los Servicios Web en un directorio (basado en XML)
Interacción de Servicios Web
Publicar el Servicio vía
UDDI
Conectar via SOAP.
Buscar el servicio via
UDDI
Recuperar ladescripcióndel Serviciovía WSDL
Registro de Servicios
(UDDI)
Service providerService requester
132
4
Enfoque tradicional: Servicio de Atención de Denuncias
FormularioFormulario de de PresentacionPresentacion de de
DenunciasDenuncias
FormularioFormulario de de EvaluacionEvaluacionDenunciasDenuncias
FormularioFormulario de de ConsultaConsulta del del
ResultadoResultado
FormularioFormulario de de VerificacionVerificacionDenunciasDenuncias
Lógica de NegocioLógica de Negocio
Base de Base de DatosDatosDenunciasDenuncias N-tier
J2EEPL/SQL
Base de Base de DatosDatosDeclaracionDeclaracion
JuradaJurada
Base de Base de DatosDatosSistemaSistema ControlControl
Sistema de Atención de Denuncias
Enfoque SOA: Enfoque SOA: Servicio de Atención de DenunciasServicio de Atención de Denuncias
DenunciaDenuncia OCIOCI Reglas de Reglas de AsignaciónAsignación
Reglas de Reglas de ValidaciónValidación
Proceso de DenunciaProceso de DenunciaRegistro de Registro de DenunciaDenuncia
Verificación Verificación de Denunciade Denuncia
Validación Validación de Denunciade Denuncia
Asignación Asignación de Denunciade Denuncia
Sistema de DenunciaSistema de Denuncia Sistema de Registro Sistema de Registro de Declaraciones de Declaraciones
JuradasJuradas
Sistema de ControlSistema de ControlGubernamentalGubernamental
Proceso de Registro de Proceso de Registro de Declaraciones JuradasDeclaraciones Juradas
Proceso de Proceso de Elaboración de Plan Elaboración de Plan
de Controlde Control
Plan de Plan de ControlControl
Portafolio de Servicios
Inventario o portafolio de servicios
Enfoque SOA
Proveedores de Servicios
Aplicaciones Legacy Componentes J2EE Componentes .NET
Proveedor de Servicios de IT
• Correo
• Logging
• FTP
Servicios
PLATAFORMA SOA
Consumidores de Servicios
Aplicaciones Internas Aplicaciones Externas
Finalmente….
• La aplicación de este paradigma o
enfoque de TI conduce:• Una colección de servicios, conocido como portafolio
de servicios
• Clasificada en tipos
• Organizada en capas
• Gobernada por principios y guías
Algunos principios
• Los Servicios deben ser reusables:
Todo servicio debe ser diseñado y
construido pensando en su reutilización
dentro de la misma aplicación, dentro del
dominio de aplicaciones de la empresa o
incluso dentro del dominio público para su
uso masivo.
Algunos principios
• Los Servicios deben tener bajo
acoplamiento: Es decir, se debe minimizar la
dependencia entre los servicios.
• Los Servicios deben permitir la composición:
Todo servicio debe ser construido de tal manera
que pueda ser utilizado para construir otros
servicios.
• Los Servicios deben tener un nivel adecuado
de abstracción
Los servicios deben publicar sólo información
esencial sobre sus capacidades
SOA Escenario I – Integración de
Aplicaciones
SOA Escenario II – Gestión de datos
maestros
SOA Escenario III -
Optimización de Procesos de Negocio
Beneficios de SOA
Agilidad
EficienciaFlexibilidad
Beneficio principal para el Negocio
• Mayor Agilidad, Flexibilidad y
Eficiencia para el Negocio porque se
pueden desarrollar nuevos negocios
y modificar los existentes con mayor
rapidez y con un menor costo.
Beneficio: Eficiencia
• Menores tiempos, esfuerzo y costos • Desarrollo
• Mantenimiento
• Integración
Beneficio: Eficiencia
Beneficio: Eficiencia
Beneficio: Eficiencia
El servicio como pieza clave
• Los beneficios de SOA solo se pueden
alcanzar si:• Los servicios son reusables
• Los servicios tienen bajo acoplamiento
• Los servicios participan en composiciones
Preguntas de autoevaluación
• Qué es SOA?
• Qué es un Servicio?
• Servicio y Servicio Web es lo mismo?
• Cuál es el beneficio principal del enfoque
SOA?