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 la
descripción
del Servicio
vía WSDL
Registro de
Servicios
(UDDI)
Service providerService requester
132
4
Enfoque tradicional:
Servicio de Atención de Denuncias
FormularioFormulario dede
PresentacionPresentacion dede
DenunciasDenuncias
FormularioFormulario dede
EvaluacionEvaluacion
DenunciasDenuncias
FormularioFormulario dede
ConsultaConsulta deldel
ResultadoResultado
FormularioFormulario dede
VerificacionVerificacion
DenunciasDenuncias
Lógica de NegocioLógica de Negocio
Base deBase de DatosDatos
DenunciasDenuncias N-tier
J2EE
PL/SQL
Base deBase de DatosDatos
DeclaracionDeclaracion
JuradaJurada
Base deBase de DatosDatos
SistemaSistema 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 deReglas de
AsignaciónAsignación
Reglas deReglas de
ValidaciónValidación
Proceso de DenunciaProceso de Denuncia
Registro deRegistro de
DenunciaDenuncia
VerificaciónVerificación
de Denunciade Denuncia
ValidaciónValidación
de Denunciade Denuncia
AsignaciónAsignación
de Denunciade Denuncia
Sistema de DenunciaSistema de Denuncia Sistema de RegistroSistema de Registro
de Declaracionesde Declaraciones
JuradasJuradas
Sistema de ControlSistema de Control
GubernamentalGubernamental
Proceso de Registro deProceso de Registro de
Declaraciones JuradasDeclaraciones Juradas
Proceso deProceso de
Elaboración de PlanElaboración de Plan
de Controlde Control
Plan dePlan 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?

CROSSNET - Introduccion SOA

  • 1.
    Introducción a laArquitectura Orientada a Servicios Mag. Javier Lacherre Mag. Joel Moreno CROSSNET www.crossnet.ws
  • 2.
    Agenda • Definición deArquitectura 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
  • 3.
    Arquitectura Orientada aServicios • 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)
  • 4.
    Arquitectura Orientada aServicios • 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)
  • 5.
    Definición de Arquitecturade 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)
  • 6.
    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
  • 7.
    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
  • 8.
    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
  • 9.
    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
  • 10.
    ¿Qué es unServicio? • 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)
  • 11.
    ¿Qué es unServicio? • 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
  • 12.
    Servicios Web • Esuna 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)
  • 13.
    Interacción de ServiciosWeb Publicar el Servicio vía UDDI Conectar via SOAP. Buscar el servicio via UDDI Recuperar la descripción del Servicio vía WSDL Registro de Servicios (UDDI) Service providerService requester 132 4
  • 14.
    Enfoque tradicional: Servicio deAtención de Denuncias FormularioFormulario dede PresentacionPresentacion dede DenunciasDenuncias FormularioFormulario dede EvaluacionEvaluacion DenunciasDenuncias FormularioFormulario dede ConsultaConsulta deldel ResultadoResultado FormularioFormulario dede VerificacionVerificacion DenunciasDenuncias Lógica de NegocioLógica de Negocio Base deBase de DatosDatos DenunciasDenuncias N-tier J2EE PL/SQL Base deBase de DatosDatos DeclaracionDeclaracion JuradaJurada Base deBase de DatosDatos SistemaSistema ControlControl Sistema de Atención de Denuncias
  • 15.
    Enfoque SOA:Enfoque SOA: Serviciode Atención de DenunciasServicio de Atención de Denuncias DenunciaDenuncia OCIOCI Reglas deReglas de AsignaciónAsignación Reglas deReglas de ValidaciónValidación Proceso de DenunciaProceso de Denuncia Registro deRegistro de DenunciaDenuncia VerificaciónVerificación de Denunciade Denuncia ValidaciónValidación de Denunciade Denuncia AsignaciónAsignación de Denunciade Denuncia Sistema de DenunciaSistema de Denuncia Sistema de RegistroSistema de Registro de Declaracionesde Declaraciones JuradasJuradas Sistema de ControlSistema de Control GubernamentalGubernamental Proceso de Registro deProceso de Registro de Declaraciones JuradasDeclaraciones Juradas Proceso deProceso de Elaboración de PlanElaboración de Plan de Controlde Control Plan dePlan de ControlControl Portafolio de Servicios Inventario o portafolio de servicios
  • 16.
    Enfoque SOA Proveedores deServicios Aplicaciones Legacy Componentes J2EE Componentes .NET Proveedor de Servicios de IT • Correo • Logging • FTP Servicios PLATAFORMA SOA Consumidores de Servicios Aplicaciones Internas Aplicaciones Externas
  • 17.
    Finalmente…. • La aplicaciónde 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
  • 18.
    Algunos principios • LosServicios 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.
  • 19.
    Algunos principios • LosServicios 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
  • 20.
    SOA Escenario I– Integración de Aplicaciones
  • 21.
    SOA Escenario II– Gestión de datos maestros
  • 22.
    SOA Escenario III- Optimización de Procesos de Negocio
  • 23.
  • 24.
    Beneficio principal parael 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.
  • 25.
    Beneficio: Eficiencia • Menorestiempos, esfuerzo y costos • Desarrollo • Mantenimiento • Integración
  • 26.
  • 27.
  • 28.
  • 29.
    El servicio comopieza clave • Los beneficios de SOA solo se pueden alcanzar si: • Los servicios son reusables • Los servicios tienen bajo acoplamiento • Los servicios participan en composiciones
  • 30.
    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?