SlideShare a Scribd company logo
1 of 40
Arquitectura Orientada a
Servicios
M.C. Juan Carlos Olivares Rojas
Morelia, Michoacán, México, Octubre 2008
Disclaimer
El autor es responsable de toda la información
contenida en esta presentación, la cual no
refleja el punto de vista de toda la Línea de
Investigación de Ingeniería de Software.
Parte del material de esta presentación se ha
obtenido de diversas fuentes cada una de las
cuales tiene propiedad intelectual, por lo que en
esta presentación se tiene solamente algunos
derechos reservados.
Agenda
• Introducción
• SOA: una nueva piedra angular en el desarrollo
de software
• Caso Práctico
• Conclusiones
Software Hoy en Día
• Mito: los
programadores de
ahora ya no
programan como los
de antes.
• Herramientas más
fáciles y productivas
• El software es cada
día más complejo
ServicioServicio ServicioServicio ServicioServicio
ServicioServicio ServicioServicio ServicioServicio
BusBus
Solución
SOASOA
Arquitectura del Sistema
Desde el Punto de Vista del Usuario
Arquitectura de una Casa
Desde el Punto de Vista del Constructor
Planta Alta Planta Baja
Arquitectura de Hardware
Arquitectura Windows NT 5.0
Interfaces de Hardware(buses, Dispositivos de E/S , interrupcciones,
intervalos de temporizadores, DMA, control de memoria cache , etc.)
Sistema de Despachador de Sistemas
Admon- de Tareas
Explorer
SvcHost.Exe
WinMgt.Exe
SpoolSv.Exe
Servicio de
Control de
Gestión
LSASS
Manejadorde
Objetos
Windows
USER,
GDI
Cachédel
Sistemade
Archivos
Manejador E/S
Subistema de
Entornos
Aplicaciones de los
Usuarios
Subsistema de DLLs
Procesos del Sistema Servicios Aplicaciones
Hilos de
Sistemas
User
Mode
Kernel
Mode
NTDLL.DLL
Manejador del
Sistema de
Archivos y
Dispositivos
WinLogon
Manejador de
Sesiones
Services.Exe POSIX
Windows DLLs
Administrador
DePlugandPlay
Administrador
DeEnergía
Monitorde
Referencias
DeSeguridad
Memoria
Virtual
Procesose
Hilos
Llamadaa
Procesos
Locales
Manejador
de Gráficos
Kernel
Hardware Abstraction Layer (HAL)
(interfaces invocables en el modo kernel)
Administrador
DeConfiguración
(Registro)
OS/2
Windows
Arquitectura de un Sistema
Arquitectura de Datos
Almacén de Datos en Copo de Nieve
Arquitectura de Software
Servicios
(SOA)
Arquitecturas
Monolíticas
Antes 1950’s
hasta 1960’s
1970’s
mediados
1980’s
Mediados1990’s
Comienzo
2000’s
HoyFinales
1990’s
Subrutinas
/Llamadas a
Procedimient
os Remotos
Invocación de
Objetos
Remotos
Procesamient
o de
Mensajes
Web
1980’s
mediados
1990’s
Línea del Tiempo del Desarrollo de Arquitecturas
Mayor Flexibilidad
Motivación
“Casas de Perros”
Proyectos Escolares
SIN ARQUITECTURA
Poco $
Casas
Proyecto de PyMES
ARQUITECTURAS SIMPLES
Rentable $
Edificios
Grandes Corporativos
ARQUITECTURAS COMPLEJAS
Mucho $$$$
Desarrollo de Software en la Academia
Arquitecturas Empresariales Hoy
Integración Años más Tarde
Enterprise Service Bus
•Agilidad
•SOA
•Servicios
Web
•Middleware
ESB
Servicios
Servicio: Nivel de abstracción
Ejemplo de Servicios en SOA
Contabilidad
Proveedor
Servicios
Compartidos
Divisiones
Cliente
Proceso de Negocio de una Aplicación
¿Qué es SOA?
• “Conjunto de componentes que pueden ser
invocados, cuyas descripciones de interfaces
se pueden publicar y descubrir”
• “SOA es un estilo de arquitectura que
promueve descomponer la lógica funcional de
una aplicación en unidades autónomas
denominadas servicios”
De acuerdo al W3C
Arquitectura de Servicios Web
Proveedor del
Servicio
Consumidor el
Servicio
Directorio de
Servicios
Publicación
del Servicio
Descubrimiento
del Servicio
Invocación y
respuesta
1
3
2
UDDI
4
SOAP
Definición
del Servicio
WSDL
Características de SOA
Sin SOA Con SOA
Orientado a Función Orientado a Procesos
Construido para Durar Construido para
Cambiar
Ciclo de Desarrollos
Largos
Ciclos de Desarrollo
Incrementales
Aplicaciones Aisladas Aplicaciones
Orquestadas
Fuerte Acoplamiento Bajo Acoplamiento
Orientada a Objetos Orientado a Mensajes
CLIENTES GRUPO EJECUTIVO
Proceso: Gestión
solicitud crédito
BPM
Dashboard,
KPI (Key Performance
Indicator)
BAM
Crear
cliente
Realizar
Análisis
crediticio
Validar
Riesgo
Crear
Crédito
Desembolsar
crédito
SERVICIOS
RiesgoCréditoCRM Core Bancario
EMPLEADOS
EIS
PORTAL
¿Qué es SOA?
¿Qué es SOA?
Servicios Reutilizables
Crédito Inversiones
CRM
Servicio
Historial
Servicio
de Acceso
Checa
Crédito
Detección
de Fraudes
DWH
Servicio
Clientes
Servicio
Datos
Internet
Historial
Adeudo
s Cheques
Fondo
Retiro
Fuentes de
Información
Cálculo de
Intereses
Checa
Inversiones
Bancos Finanzas
Acceso
Multiplataforma
Componetes
de Negocio
Reutilizables
ESBCliente
Administración de
servicios
Ruteo Transacción Orquestación Seguridad Auditoria Otros
ServiciosdeNegoc
ServiciosdeNegoc
ServiciosdeNegoc
ServiciosdeNegoc
ServiciosdeNegoc
ServiciosdeNegoc
ServiciosdeNegoc
ServiciosdeNegoc
ServiciosdeNegoc
Middleware de Servicios
Composición de Aplicaciones
Servicio A (Verificación de Crédito)
Portlet A
Servicio D
(Colocar una Orden)
Servicio B (Balance de Cuenta)
Servicio C (Verificación de Inventario)
Portlet B
Portlet C
Portlet D
Agenda
• Introducción
• SOA: una nueva piedra fundamental en el
desarrollo de software
• Caso Práctico
• Conclusiones
Arquitectura SOA de Oracle
Apps Bulk ELT
Adapters
Partners
B2B
RFID
SES
DB
Multi
Protocol Routing
XSLT
Transform
Enterprise Service Bus
Native
BPEL
Business
Rules
Human
Workflow
BPEL Process Manager
ROUTING & ORCHESTRATION
Messaging
UDDI
Policies
Security
Web Services
Manager
Registry
Events Analytics
Business
Monitoring System
Monitoring
EMBAM BI
App Dev
Framework
&
Web Center
JDeveloper
Analyst
Tools
BPA Suite
AIA Foundation PackAIA Foundation Pack
J2EE Application Server
ODI
Process Integration Packs
Enterprise Business
Service & Object Library
SOA Governance
SOA Reference
Architecture
SOA Programming
Model
La Pila de Protocolos WS-*
De acuerdo al W3C
JAVA Integration Server
J2EE + JBI
Manages diverse
data and content in a
unified manner
Integrated
environment
for design
and creation
of solution
assets
Manage
and secure
services,
applications
&
resources
Facilitates better decision-making
with real-time business information
Enables collaboration
between people,
processes & information
Orchestrate and
automate business
processes
Connect with trading
partners
Build on a robust,
scaleable, and secure
services environment
Facilitates interactions
with existing information
and application assets
Optimizes throughput,
availability and performance
Arquitectura SOA de IBM
Business Innovation & Optimization Services
Development
Services
Interaction Services Process Services Information Services
Partner Services Business App Services Access Services
Enterprise Service Bus: Facilitates communication between services
ITService
Management
Infrastructure Services
Agenda
• Introducción
• SOA: una nueva piedra fundamental en el
desarrollo de software
• Caso Práctico
• Conclusiones
Caso de Uso
Fallecimiento de una Persona
Identificar Servicios
• Alta fallecimiento
• Cerrar Vínculos
• Fin de Trámites
• Fin de Relaciones Laborales
Orquestación del Proceso de
Negocio
Diagrama de Flujo de Trabajo
Parte Práctica
• Consumir/Construir Servicios Distintas
Plataformas
– Java
– .NET
– Office
• Composición de Servicios Web utilizando
NetBeans
– Hola Mundo
Agenda
• Introducción
• SOA: una nueva piedra fundamental en el
desarrollo de software
• Caso Práctico
• Conclusiones
Conclusiones
• SOA no es una moda, es un estilo
arquitectónico que tiene muchos años de
madurez.
• El desarrollo de software es un proceso socio-
tecnológico, por lo que para tener éxito
implantando una Arquitectura Orientada a
Servicios no sólo requiere de tecnologías sino
de personas.
• Se debe pensar en grande pero actuar en
pequeño.
Conclusiones
• Existen actualmente problemas de
interoperabilidad debido a las diferentes
implementaciones de la arquitectura.
• No hay un estándar “de jure” para SOA.
• Puede ser que en el futuro surjan nuevas
arquitecturas más poderosas.
• Se debe tener cuidado en crear arquitecturas
de tipo espagueti.
¿Preguntas?
E-mail: jcolivar@itmorelia.edu.mx
MSN: juancarlosolivares@hotmail.com
Web: http://antares.itmorelia.edu.mx/~jcolivar/
Ubicación: Coordenadas (19.72388, -101.1848) Edificio J

More Related Content

What's hot

Modelamiento de software
Modelamiento de softwareModelamiento de software
Modelamiento de softwaresairarcf
 
Unidad 3: Desarrollo de aplicaciones para dispositivos móviles
Unidad 3: Desarrollo de aplicaciones para dispositivos móviles Unidad 3: Desarrollo de aplicaciones para dispositivos móviles
Unidad 3: Desarrollo de aplicaciones para dispositivos móviles Juan Anaya
 
Análisisde requerimientos
Análisisde requerimientosAnálisisde requerimientos
Análisisde requerimientosmayrapeg
 
Lectura 3 Modelo De Analisis
Lectura 3   Modelo De AnalisisLectura 3   Modelo De Analisis
Lectura 3 Modelo De Analisisguest0a6e49
 
Diagrama de interaccion(secuencia y colaboracion)
Diagrama de interaccion(secuencia y colaboracion)Diagrama de interaccion(secuencia y colaboracion)
Diagrama de interaccion(secuencia y colaboracion)marianela0393
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de softwareGuillermo Lemus
 
25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de SoftwareCamila Arbelaez
 
Desarrollo iterativo e incremental
Desarrollo iterativo e incrementalDesarrollo iterativo e incremental
Desarrollo iterativo e incrementalnoriver
 
Métricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de softwareMétricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de softwareLorena Quiñónez
 
2. requerimientos del software
2. requerimientos del software2. requerimientos del software
2. requerimientos del softwareuniv of pamplona
 
Tareas de ingenieria de requerimientos
Tareas de ingenieria de requerimientosTareas de ingenieria de requerimientos
Tareas de ingenieria de requerimientosnenyta08
 
Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)katherine revelo gomez
 

What's hot (20)

Modelamiento de software
Modelamiento de softwareModelamiento de software
Modelamiento de software
 
Unidad 3: Desarrollo de aplicaciones para dispositivos móviles
Unidad 3: Desarrollo de aplicaciones para dispositivos móviles Unidad 3: Desarrollo de aplicaciones para dispositivos móviles
Unidad 3: Desarrollo de aplicaciones para dispositivos móviles
 
Sqa
SqaSqa
Sqa
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
Análisisde requerimientos
Análisisde requerimientosAnálisisde requerimientos
Análisisde requerimientos
 
Diapositivas xp
Diapositivas xpDiapositivas xp
Diapositivas xp
 
Lectura 3 Modelo De Analisis
Lectura 3   Modelo De AnalisisLectura 3   Modelo De Analisis
Lectura 3 Modelo De Analisis
 
Diagrama de interaccion(secuencia y colaboracion)
Diagrama de interaccion(secuencia y colaboracion)Diagrama de interaccion(secuencia y colaboracion)
Diagrama de interaccion(secuencia y colaboracion)
 
Ingenieria requerimientos
Ingenieria requerimientosIngenieria requerimientos
Ingenieria requerimientos
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de software
 
25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software
 
Desarrollo iterativo e incremental
Desarrollo iterativo e incrementalDesarrollo iterativo e incremental
Desarrollo iterativo e incremental
 
Métricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de softwareMétricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de software
 
PRESENTACIÓN RUP
PRESENTACIÓN RUPPRESENTACIÓN RUP
PRESENTACIÓN RUP
 
Diagrama de Componentes
Diagrama de ComponentesDiagrama de Componentes
Diagrama de Componentes
 
2. requerimientos del software
2. requerimientos del software2. requerimientos del software
2. requerimientos del software
 
Tareas de ingenieria de requerimientos
Tareas de ingenieria de requerimientosTareas de ingenieria de requerimientos
Tareas de ingenieria de requerimientos
 
5. Métodos de Prueba de Software
5. Métodos de Prueba de Software5. Métodos de Prueba de Software
5. Métodos de Prueba de Software
 
Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)
 
Control de versiones
Control de versionesControl de versiones
Control de versiones
 

Viewers also liked

Aplicaciones prácticas de las arquitecturas orientadas al servicio
Aplicaciones prácticas de las arquitecturas orientadas al servicioAplicaciones prácticas de las arquitecturas orientadas al servicio
Aplicaciones prácticas de las arquitecturas orientadas al servicioGrial - University of Salamanca
 
Arquitectura Orientada a Servicios
Arquitectura Orientada a ServiciosArquitectura Orientada a Servicios
Arquitectura Orientada a Serviciosfinger10
 
Introducción a las Arquitecturas Orientadas a Servicios
Introducción a las Arquitecturas Orientadas a ServiciosIntroducción a las Arquitecturas Orientadas a Servicios
Introducción a las Arquitecturas Orientadas a ServiciosMarta Silvia Tabares
 
SOA (arquitectura orientada a servicios)
SOA (arquitectura orientada a servicios)SOA (arquitectura orientada a servicios)
SOA (arquitectura orientada a servicios)dina_k_d
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de softwareLiliana Pacheco
 
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREDISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREjose_rob
 
Mis Ìdolos Mis Padres
Mis Ìdolos Mis Padres Mis Ìdolos Mis Padres
Mis Ìdolos Mis Padres Maria Cortez
 
Modelo de casos de uso 2ª versión(2)
Modelo de casos de uso 2ª versión(2)Modelo de casos de uso 2ª versión(2)
Modelo de casos de uso 2ª versión(2)Jose Torres Gonzales
 
Arquitectura orientada-a-servicios
Arquitectura orientada-a-serviciosArquitectura orientada-a-servicios
Arquitectura orientada-a-serviciosCiencias
 
Arquitectura Orientada a Servicios
Arquitectura Orientada a ServiciosArquitectura Orientada a Servicios
Arquitectura Orientada a ServiciosDamián Rotta
 
Arquitectura orientada a servicios soa (accenture)
Arquitectura orientada a servicios soa (accenture)Arquitectura orientada a servicios soa (accenture)
Arquitectura orientada a servicios soa (accenture)Ronald Ramirez Blanco
 
Webinar Conceptos SOA & Oracle SOA Suite
Webinar Conceptos SOA & Oracle SOA SuiteWebinar Conceptos SOA & Oracle SOA Suite
Webinar Conceptos SOA & Oracle SOA SuiteatSistemas
 

Viewers also liked (20)

Aplicaciones prácticas de las arquitecturas orientadas al servicio
Aplicaciones prácticas de las arquitecturas orientadas al servicioAplicaciones prácticas de las arquitecturas orientadas al servicio
Aplicaciones prácticas de las arquitecturas orientadas al servicio
 
Arquitectura Orientada a Servicios
Arquitectura Orientada a ServiciosArquitectura Orientada a Servicios
Arquitectura Orientada a Servicios
 
Introducción a las Arquitecturas Orientadas a Servicios
Introducción a las Arquitecturas Orientadas a ServiciosIntroducción a las Arquitecturas Orientadas a Servicios
Introducción a las Arquitecturas Orientadas a Servicios
 
Arquitectura Orientada a Servicios (SOA)
Arquitectura Orientada  a Servicios (SOA)Arquitectura Orientada  a Servicios (SOA)
Arquitectura Orientada a Servicios (SOA)
 
SOA para Novatos
SOA para NovatosSOA para Novatos
SOA para Novatos
 
SOA (arquitectura orientada a servicios)
SOA (arquitectura orientada a servicios)SOA (arquitectura orientada a servicios)
SOA (arquitectura orientada a servicios)
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREDISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
 
Arquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosArquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidos
 
Git
GitGit
Git
 
Mis Ìdolos Mis Padres
Mis Ìdolos Mis Padres Mis Ìdolos Mis Padres
Mis Ìdolos Mis Padres
 
Redes P2P
Redes P2PRedes P2P
Redes P2P
 
Modelo de casos de uso 2ª versión(2)
Modelo de casos de uso 2ª versión(2)Modelo de casos de uso 2ª versión(2)
Modelo de casos de uso 2ª versión(2)
 
Introducción SOA - Cloud Computing
Introducción SOA - Cloud ComputingIntroducción SOA - Cloud Computing
Introducción SOA - Cloud Computing
 
Arquitectura orientada-a-servicios
Arquitectura orientada-a-serviciosArquitectura orientada-a-servicios
Arquitectura orientada-a-servicios
 
Arquitectura Orientada a Servicios
Arquitectura Orientada a ServiciosArquitectura Orientada a Servicios
Arquitectura Orientada a Servicios
 
Arquitectura orientada a servicios soa (accenture)
Arquitectura orientada a servicios soa (accenture)Arquitectura orientada a servicios soa (accenture)
Arquitectura orientada a servicios soa (accenture)
 
4.2 power
4.2 power4.2 power
4.2 power
 
Webinar Conceptos SOA & Oracle SOA Suite
Webinar Conceptos SOA & Oracle SOA SuiteWebinar Conceptos SOA & Oracle SOA Suite
Webinar Conceptos SOA & Oracle SOA Suite
 
Patron de Arquitectura Broker
Patron de Arquitectura BrokerPatron de Arquitectura Broker
Patron de Arquitectura Broker
 

Similar to Arquitectura Orientada a Servicios

Similar to Arquitectura Orientada a Servicios (20)

SOA en la Práctica: WCF & WSSF
SOA en la Práctica: WCF & WSSFSOA en la Práctica: WCF & WSSF
SOA en la Práctica: WCF & WSSF
 
SOA Open Source
SOA Open SourceSOA Open Source
SOA Open Source
 
Evolución TI en el sector de Telecomunicaciones
Evolución TI en el sector de TelecomunicacionesEvolución TI en el sector de Telecomunicaciones
Evolución TI en el sector de Telecomunicaciones
 
SOA
SOASOA
SOA
 
Soa
SoaSoa
Soa
 
Benchmarking
BenchmarkingBenchmarking
Benchmarking
 
Resumido
ResumidoResumido
Resumido
 
Altenia SOA
Altenia SOAAltenia SOA
Altenia SOA
 
Arquitectura SOA
Arquitectura SOAArquitectura SOA
Arquitectura SOA
 
Cloud Computing VS SOA
Cloud Computing VS SOACloud Computing VS SOA
Cloud Computing VS SOA
 
5. rollbase
5. rollbase5. rollbase
5. rollbase
 
Clase Soa
Clase SoaClase Soa
Clase Soa
 
Integracion de soluciones SOA.pptx
Integracion de soluciones SOA.pptxIntegracion de soluciones SOA.pptx
Integracion de soluciones SOA.pptx
 
ingenieria web.pptx
ingenieria web.pptxingenieria web.pptx
ingenieria web.pptx
 
1 Estrategia De Cs A Soa
1  Estrategia De Cs A Soa1  Estrategia De Cs A Soa
1 Estrategia De Cs A Soa
 
2 Integracion Forms Bpel
2  Integracion Forms Bpel2  Integracion Forms Bpel
2 Integracion Forms Bpel
 
Arquitectura SOA y herramientas .net
Arquitectura SOA y herramientas .netArquitectura SOA y herramientas .net
Arquitectura SOA y herramientas .net
 
Progress Rollbase
Progress RollbaseProgress Rollbase
Progress Rollbase
 
avanttic Webinar Hoja de Ruta SOA
avanttic Webinar Hoja de Ruta SOA avanttic Webinar Hoja de Ruta SOA
avanttic Webinar Hoja de Ruta SOA
 
Fundamentos SOA
Fundamentos SOAFundamentos SOA
Fundamentos SOA
 

More from Juan Carlos Olivares Rojas

Analítica de Datos usando Single Board Computers
Analítica de Datos usando Single Board ComputersAnalítica de Datos usando Single Board Computers
Analítica de Datos usando Single Board ComputersJuan Carlos Olivares Rojas
 
Analitica de Datos en Dispositivos de Internet de las Cosas
Analitica de Datos en Dispositivos de Internet de las CosasAnalitica de Datos en Dispositivos de Internet de las Cosas
Analitica de Datos en Dispositivos de Internet de las CosasJuan Carlos Olivares Rojas
 
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...Juan Carlos Olivares Rojas
 
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de México
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de MéxicoPropuesta de Flexibilidad Curricular en el Tecnológico Nacional de México
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de MéxicoJuan Carlos Olivares Rojas
 
Analítica de Datos en Simulador de Redes para Sistemas de Medición Inteligente
Analítica de Datos en Simulador de Redes para Sistemas de Medición InteligenteAnalítica de Datos en Simulador de Redes para Sistemas de Medición Inteligente
Analítica de Datos en Simulador de Redes para Sistemas de Medición InteligenteJuan Carlos Olivares Rojas
 
Propuesta de Mercado Eléctrico Minorista Transactivo en México
Propuesta de Mercado Eléctrico Minorista Transactivo en MéxicoPropuesta de Mercado Eléctrico Minorista Transactivo en México
Propuesta de Mercado Eléctrico Minorista Transactivo en MéxicoJuan Carlos Olivares Rojas
 
Cyber Security on Transactions in Smart Metering Systems usign Blockchain
Cyber Security on Transactions in Smart Metering Systems usign BlockchainCyber Security on Transactions in Smart Metering Systems usign Blockchain
Cyber Security on Transactions in Smart Metering Systems usign BlockchainJuan Carlos Olivares Rojas
 
A Survey on Smart Metering Systems using Blockchain for E-mobility
A Survey on Smart Metering Systems using Blockchain for E-mobilityA Survey on Smart Metering Systems using Blockchain for E-mobility
A Survey on Smart Metering Systems using Blockchain for E-mobilityJuan Carlos Olivares Rojas
 
Detección de Movimiento usando Medidores Inteligentes
Detección de Movimiento usando Medidores Inteligentes Detección de Movimiento usando Medidores Inteligentes
Detección de Movimiento usando Medidores Inteligentes Juan Carlos Olivares Rojas
 
A Survey on Smart Metering Systems using Human-Computer Interaction
A Survey on Smart Metering Systems using Human-Computer InteractionA Survey on Smart Metering Systems using Human-Computer Interaction
A Survey on Smart Metering Systems using Human-Computer InteractionJuan Carlos Olivares Rojas
 
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...Juan Carlos Olivares Rojas
 
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...Juan Carlos Olivares Rojas
 
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...Juan Carlos Olivares Rojas
 
Internet de las Cosas en Redes Eléctricas Inteligentes
Internet de las Cosas en Redes Eléctricas InteligentesInternet de las Cosas en Redes Eléctricas Inteligentes
Internet de las Cosas en Redes Eléctricas InteligentesJuan Carlos Olivares Rojas
 
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...Juan Carlos Olivares Rojas
 
Ciber Seguridad en Redes Eléctricas Inteligentes
Ciber Seguridad en Redes Eléctricas InteligentesCiber Seguridad en Redes Eléctricas Inteligentes
Ciber Seguridad en Redes Eléctricas InteligentesJuan Carlos Olivares Rojas
 
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...Juan Carlos Olivares Rojas
 

More from Juan Carlos Olivares Rojas (20)

Ieee itmsb20
Ieee itmsb20Ieee itmsb20
Ieee itmsb20
 
Ropec20neural stick
Ropec20neural stickRopec20neural stick
Ropec20neural stick
 
Analítica de Datos usando Single Board Computers
Analítica de Datos usando Single Board ComputersAnalítica de Datos usando Single Board Computers
Analítica de Datos usando Single Board Computers
 
Analitica de Datos en Dispositivos de Internet de las Cosas
Analitica de Datos en Dispositivos de Internet de las CosasAnalitica de Datos en Dispositivos de Internet de las Cosas
Analitica de Datos en Dispositivos de Internet de las Cosas
 
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...
 
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de México
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de MéxicoPropuesta de Flexibilidad Curricular en el Tecnológico Nacional de México
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de México
 
Analítica de Datos en Simulador de Redes para Sistemas de Medición Inteligente
Analítica de Datos en Simulador de Redes para Sistemas de Medición InteligenteAnalítica de Datos en Simulador de Redes para Sistemas de Medición Inteligente
Analítica de Datos en Simulador de Redes para Sistemas de Medición Inteligente
 
Propuesta de Mercado Eléctrico Minorista Transactivo en México
Propuesta de Mercado Eléctrico Minorista Transactivo en MéxicoPropuesta de Mercado Eléctrico Minorista Transactivo en México
Propuesta de Mercado Eléctrico Minorista Transactivo en México
 
Cyber Security on Transactions in Smart Metering Systems usign Blockchain
Cyber Security on Transactions in Smart Metering Systems usign BlockchainCyber Security on Transactions in Smart Metering Systems usign Blockchain
Cyber Security on Transactions in Smart Metering Systems usign Blockchain
 
A Survey on Smart Metering Systems using Blockchain for E-mobility
A Survey on Smart Metering Systems using Blockchain for E-mobilityA Survey on Smart Metering Systems using Blockchain for E-mobility
A Survey on Smart Metering Systems using Blockchain for E-mobility
 
Detección de Movimiento usando Medidores Inteligentes
Detección de Movimiento usando Medidores Inteligentes Detección de Movimiento usando Medidores Inteligentes
Detección de Movimiento usando Medidores Inteligentes
 
A Survey on Smart Metering Systems using Human-Computer Interaction
A Survey on Smart Metering Systems using Human-Computer InteractionA Survey on Smart Metering Systems using Human-Computer Interaction
A Survey on Smart Metering Systems using Human-Computer Interaction
 
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...
 
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...
 
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...
 
Internet de las Cosas en Redes Eléctricas Inteligentes
Internet de las Cosas en Redes Eléctricas InteligentesInternet de las Cosas en Redes Eléctricas Inteligentes
Internet de las Cosas en Redes Eléctricas Inteligentes
 
Estrategias didacticas
Estrategias didacticasEstrategias didacticas
Estrategias didacticas
 
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...
 
Ciber Seguridad en Redes Eléctricas Inteligentes
Ciber Seguridad en Redes Eléctricas InteligentesCiber Seguridad en Redes Eléctricas Inteligentes
Ciber Seguridad en Redes Eléctricas Inteligentes
 
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...
 

Arquitectura Orientada a Servicios

  • 1. Arquitectura Orientada a Servicios M.C. Juan Carlos Olivares Rojas Morelia, Michoacán, México, Octubre 2008
  • 2. Disclaimer El autor es responsable de toda la información contenida en esta presentación, la cual no refleja el punto de vista de toda la Línea de Investigación de Ingeniería de Software. Parte del material de esta presentación se ha obtenido de diversas fuentes cada una de las cuales tiene propiedad intelectual, por lo que en esta presentación se tiene solamente algunos derechos reservados.
  • 3. Agenda • Introducción • SOA: una nueva piedra angular en el desarrollo de software • Caso Práctico • Conclusiones
  • 4. Software Hoy en Día • Mito: los programadores de ahora ya no programan como los de antes. • Herramientas más fáciles y productivas • El software es cada día más complejo
  • 5. ServicioServicio ServicioServicio ServicioServicio ServicioServicio ServicioServicio ServicioServicio BusBus Solución SOASOA
  • 6. Arquitectura del Sistema Desde el Punto de Vista del Usuario
  • 7. Arquitectura de una Casa Desde el Punto de Vista del Constructor Planta Alta Planta Baja
  • 9. Arquitectura Windows NT 5.0 Interfaces de Hardware(buses, Dispositivos de E/S , interrupcciones, intervalos de temporizadores, DMA, control de memoria cache , etc.) Sistema de Despachador de Sistemas Admon- de Tareas Explorer SvcHost.Exe WinMgt.Exe SpoolSv.Exe Servicio de Control de Gestión LSASS Manejadorde Objetos Windows USER, GDI Cachédel Sistemade Archivos Manejador E/S Subistema de Entornos Aplicaciones de los Usuarios Subsistema de DLLs Procesos del Sistema Servicios Aplicaciones Hilos de Sistemas User Mode Kernel Mode NTDLL.DLL Manejador del Sistema de Archivos y Dispositivos WinLogon Manejador de Sesiones Services.Exe POSIX Windows DLLs Administrador DePlugandPlay Administrador DeEnergía Monitorde Referencias DeSeguridad Memoria Virtual Procesose Hilos Llamadaa Procesos Locales Manejador de Gráficos Kernel Hardware Abstraction Layer (HAL) (interfaces invocables en el modo kernel) Administrador DeConfiguración (Registro) OS/2 Windows
  • 11. Arquitectura de Datos Almacén de Datos en Copo de Nieve
  • 12. Arquitectura de Software Servicios (SOA) Arquitecturas Monolíticas Antes 1950’s hasta 1960’s 1970’s mediados 1980’s Mediados1990’s Comienzo 2000’s HoyFinales 1990’s Subrutinas /Llamadas a Procedimient os Remotos Invocación de Objetos Remotos Procesamient o de Mensajes Web 1980’s mediados 1990’s Línea del Tiempo del Desarrollo de Arquitecturas Mayor Flexibilidad
  • 13. Motivación “Casas de Perros” Proyectos Escolares SIN ARQUITECTURA Poco $ Casas Proyecto de PyMES ARQUITECTURAS SIMPLES Rentable $ Edificios Grandes Corporativos ARQUITECTURAS COMPLEJAS Mucho $$$$ Desarrollo de Software en la Academia
  • 15. Integración Años más Tarde Enterprise Service Bus •Agilidad •SOA •Servicios Web •Middleware ESB
  • 17. Servicio: Nivel de abstracción
  • 18. Ejemplo de Servicios en SOA Contabilidad Proveedor Servicios Compartidos Divisiones Cliente Proceso de Negocio de una Aplicación
  • 19. ¿Qué es SOA? • “Conjunto de componentes que pueden ser invocados, cuyas descripciones de interfaces se pueden publicar y descubrir” • “SOA es un estilo de arquitectura que promueve descomponer la lógica funcional de una aplicación en unidades autónomas denominadas servicios” De acuerdo al W3C
  • 20. Arquitectura de Servicios Web Proveedor del Servicio Consumidor el Servicio Directorio de Servicios Publicación del Servicio Descubrimiento del Servicio Invocación y respuesta 1 3 2 UDDI 4 SOAP Definición del Servicio WSDL
  • 21. Características de SOA Sin SOA Con SOA Orientado a Función Orientado a Procesos Construido para Durar Construido para Cambiar Ciclo de Desarrollos Largos Ciclos de Desarrollo Incrementales Aplicaciones Aisladas Aplicaciones Orquestadas Fuerte Acoplamiento Bajo Acoplamiento Orientada a Objetos Orientado a Mensajes
  • 22. CLIENTES GRUPO EJECUTIVO Proceso: Gestión solicitud crédito BPM Dashboard, KPI (Key Performance Indicator) BAM Crear cliente Realizar Análisis crediticio Validar Riesgo Crear Crédito Desembolsar crédito SERVICIOS RiesgoCréditoCRM Core Bancario EMPLEADOS EIS PORTAL ¿Qué es SOA?
  • 23. ¿Qué es SOA? Servicios Reutilizables Crédito Inversiones CRM Servicio Historial Servicio de Acceso Checa Crédito Detección de Fraudes DWH Servicio Clientes Servicio Datos Internet Historial Adeudo s Cheques Fondo Retiro Fuentes de Información Cálculo de Intereses Checa Inversiones Bancos Finanzas Acceso Multiplataforma Componetes de Negocio Reutilizables
  • 24. ESBCliente Administración de servicios Ruteo Transacción Orquestación Seguridad Auditoria Otros ServiciosdeNegoc ServiciosdeNegoc ServiciosdeNegoc ServiciosdeNegoc ServiciosdeNegoc ServiciosdeNegoc ServiciosdeNegoc ServiciosdeNegoc ServiciosdeNegoc Middleware de Servicios
  • 25. Composición de Aplicaciones Servicio A (Verificación de Crédito) Portlet A Servicio D (Colocar una Orden) Servicio B (Balance de Cuenta) Servicio C (Verificación de Inventario) Portlet B Portlet C Portlet D
  • 26. Agenda • Introducción • SOA: una nueva piedra fundamental en el desarrollo de software • Caso Práctico • Conclusiones
  • 27. Arquitectura SOA de Oracle Apps Bulk ELT Adapters Partners B2B RFID SES DB Multi Protocol Routing XSLT Transform Enterprise Service Bus Native BPEL Business Rules Human Workflow BPEL Process Manager ROUTING & ORCHESTRATION Messaging UDDI Policies Security Web Services Manager Registry Events Analytics Business Monitoring System Monitoring EMBAM BI App Dev Framework & Web Center JDeveloper Analyst Tools BPA Suite AIA Foundation PackAIA Foundation Pack J2EE Application Server ODI Process Integration Packs Enterprise Business Service & Object Library SOA Governance SOA Reference Architecture SOA Programming Model
  • 28. La Pila de Protocolos WS-* De acuerdo al W3C
  • 30. Manages diverse data and content in a unified manner Integrated environment for design and creation of solution assets Manage and secure services, applications & resources Facilitates better decision-making with real-time business information Enables collaboration between people, processes & information Orchestrate and automate business processes Connect with trading partners Build on a robust, scaleable, and secure services environment Facilitates interactions with existing information and application assets Optimizes throughput, availability and performance Arquitectura SOA de IBM Business Innovation & Optimization Services Development Services Interaction Services Process Services Information Services Partner Services Business App Services Access Services Enterprise Service Bus: Facilitates communication between services ITService Management Infrastructure Services
  • 31. Agenda • Introducción • SOA: una nueva piedra fundamental en el desarrollo de software • Caso Práctico • Conclusiones
  • 32. Caso de Uso Fallecimiento de una Persona
  • 33. Identificar Servicios • Alta fallecimiento • Cerrar Vínculos • Fin de Trámites • Fin de Relaciones Laborales
  • 34. Orquestación del Proceso de Negocio Diagrama de Flujo de Trabajo
  • 35.
  • 36. Parte Práctica • Consumir/Construir Servicios Distintas Plataformas – Java – .NET – Office • Composición de Servicios Web utilizando NetBeans – Hola Mundo
  • 37. Agenda • Introducción • SOA: una nueva piedra fundamental en el desarrollo de software • Caso Práctico • Conclusiones
  • 38. Conclusiones • SOA no es una moda, es un estilo arquitectónico que tiene muchos años de madurez. • El desarrollo de software es un proceso socio- tecnológico, por lo que para tener éxito implantando una Arquitectura Orientada a Servicios no sólo requiere de tecnologías sino de personas. • Se debe pensar en grande pero actuar en pequeño.
  • 39. Conclusiones • Existen actualmente problemas de interoperabilidad debido a las diferentes implementaciones de la arquitectura. • No hay un estándar “de jure” para SOA. • Puede ser que en el futuro surjan nuevas arquitecturas más poderosas. • Se debe tener cuidado en crear arquitecturas de tipo espagueti.
  • 40. ¿Preguntas? E-mail: jcolivar@itmorelia.edu.mx MSN: juancarlosolivares@hotmail.com Web: http://antares.itmorelia.edu.mx/~jcolivar/ Ubicación: Coordenadas (19.72388, -101.1848) Edificio J

Editor's Notes

  1. Cláusula de exención de responsabilidad
  2. La arquitectura del software hace referencia a la estructura global del sistema, dicha estructura es jerárquica en forma de módulos. La arquitectura de software debe ayudar a definir como interactúan los componentes de software entre sí y las estructuras de los datos. La partición estructural de una arquitectura de software puede ser horizontal: datos, procesos y control; o bien vertical definiendo una jerarquía de módulos. El concepto de Arquitectura de Software tiene mucho tiempo de antigüedad, pero no fue hasta la década de los 1990s que comenzó a utilizarse de manera formal. Analizando los sistemas se puede observar que existen patrones que se repiten conformando lo que se conoce como estilos arquitectónicos. Los módulos deben programarse de tal forma que los datos no estén accesibles por otros módulos. Un estilo arquitectónico define un conjunto de familias de patrones de software con una determinada estructura y restricciones. Generalmente los patrones de diseño y arquitectura definen soluciones para medios repetitivos. La arquitectura de software es una abstracción del sistema que nos permite ver su estructura y su relaciones. Para el desarrollo del Diseño Arquitectónico se recomiendan seguir los siguientes pasos: Estructuración del sistema Modelado de control Descomposición modular Existen diferentes estilos arquitectónicos que a continuación se mencionan. La Arquitectura de Flujo de Datos parte del DFD para obtener una arquitectura del sistema: Se establece el tipo de flujo de información Se indican los límites del flujo Se convierte el DFD en una estructura del programa Se define la jerarquía de control mediante particionamiento. Se refina la estructura resultante utilizando heurísticas de diseño. La Arquitectura Centrada en Datos tiene como componente principal un repositorio, del cual surgen los demás componentes. Se define la jerarquía de control mediante particionamiento. Se refina la estructura resultante utilizando heurísticas de diseño. La Arquitectura Centrada en Datos tiene como componente principal un repositorio, del cual surgen los demás componentes. Las Arquitecturas Estratificadas son de las más utilizadas en la actualidad, dado que dividen las actividades y responsabilidades de sistemas por capas. El software más elaborado como los sistemas operativos, software de base, sistemas distribuidos y otros maneja variantes de esta arquitectura. El diseño se debe refinar realizando cada uno de los siguientes pasos: Desarrollar una descripción del procedimiento para cada módulo. Desarrollar una descripción de la interfaz para cada módulo. Se definen las estructuras de datos generales y globales. Se anotan todas las limitaciones/restricciones del sistema. Se debe refinar el diseño hasta que esté completo. Se recomienda completar la arquitectura con el Diseño de Interfaces.
  3. Fue mencionada por primera vez por Gartner en 1996 SSA Research Note SPA-401-068, 12 de abril, “‘Service Oriented’ Architectures, Part 1” Empieza a sonar en el mercado en el año 2000 SOA es una arquitectura conceptual. Organiza funciones de negocio como servicios interoperables. Permite reutilización de servicios para dar cumplimiento a las necesidades del negocio. SOA es basado en estándares. Independencia de fabricantes. SOA es una estrategia de IT, a nivel empresarial.
  4. Extraída desde la presentación “Software Architecture and UML” de Grady Booch (Rational Software).
  5. Es un componente / programa con el que interactuamos intercambiando mensajes. En SOA un Sistema equivale a un conjunto de Servicios operando conjuntamente con algún fin específico.
  6. SOA como Estilo de Arquitectura Componente: Servicio Conectores: RPC o Message Based Configuración: Distribuido Constraint: Bajo acoplamiento, independencia del modelo de programación, independencia de la plataforma, transporte y protocolos estándar. SOA NO es un nuevo nombre para la Integración de Aplicaciones Empresariales (EAI). Podemos integrar aplicaciones utilizando servicios pero esto NO inválida los patrones de integración existentes.
  7. Use example service e.g. a Flight selection service Bring the right services together based on the task at hand A big myth is that a “Service” (a unint of business activity) needs to be automated to be part of an SOA. In fact, MOST business services actually involve humans in their execution And many business services are actually collaborations between a number of participants The humans USE various IT services in the execution of their tasks Portals make it possible to make the automated services that assist the accessible in structured ways Create areas or sections of your portal targeted at specific tasks SOA Enablement 301 – Introduce Orchestration Orchestrate the users navigation through “task pages” by applying workflow technology to the management of process state The Workflow technology can maintain state information about the process, and provide that state to the task pages Process Integration and Execution Connecting portals to business processes puts the right composition of services in front of the right users at the right time. Provides users with a single destination for all their application access. Ties portal based activity to business procedures
  8. There are two things money cannot buy: Love(Lennon/McCartney) An SOA(Webber)
  9. Our brands play across the various elements of the integration platform. It is our brands’ capabilities and products that deliver Integration.
  10. Alta Fallecimiento Persona El usuario ingresa los datos del fallecimiento El sistema valida los datos ingresados por el usuario El sistema verifica la existencia de vínculos y los da de baja El sistema verifica la existencia de trámites pendientes y finaliza los mismos El sistema verifica la existencia de relaciones laborales y finaliza las mismas El sistema graba los datos del fallecimiento
  11. Alta Fallecimiento Persona Comenzar proceso de alta de fallecimiento Cerrar los vínculos vigentes Finalizar los trámites pendientes Finalizar las relaciones laborales de la persona Finalizar proceso de alta de fallecimiento El contrato de uso de un servicio equivale a: Las operaciones que expone Los datos que recibe y que retorna cada operación El contrato de datos determina los datos que mi servicio recibe y los datos que mi servicio retorna No es orientado a objetos Datos desnormalizados Por posibles problemas de interoperabilidad, evitar el uso de tipos específicos de una plataforma por ej. listas, datasets, mapas, etc. El modelo de dominio representa los datos que maneja internamente la implementación de mi servicio Puede ser orientado a objetos Es normalizado
  12. SOA no es: Tecnología, Webservices, BPM , ESB SOA es: Un estilo de arquitectura definido en términos de varios principios de diseño, los cuales buscan implementar unidades de negocio, información e infraestructura flexibles, reusables e interoperables. Enfoque arquitectónico que busca alinear Negocio y Tecnología a través de piezas de negocio bajamente acopladas y reutilizables que se componen en procesos de negocio flexibles y medibles contra una estrategia de negocio.