64
<Insert Picture Here> Evolución de Arquitecturas Empresariales Orientadas a Servicios Mauricio Naranjo Oracle ACE Director – Oracle Fusion Middleware Chief Architect – Lucasian Consulting Services. Strategic Architect – We Core IT S.A. ITIL v3 – Foundation Certification Peru Oracle Users Group - PEOUG Lima, Mayo 2008

Evolución de Arquitecturas

  • Upload
    lamtruc

  • View
    226

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Evolución de Arquitecturas

<Insert Picture Here>

Evolución de Arquitecturas Empresariales Orientadas a Servicios

Mauricio NaranjoOracle ACE Director – Oracle Fusion MiddlewareChief Architect – Lucasian Consulting Services.Strategic Architect – We Core IT S.A. ITIL v3 – Foundation Certification

Peru Oracle Users Group - PEOUGLima, Mayo 2008

Page 2: Evolución de Arquitecturas

Agenda• Evolución de la Arquitectura• Definiendo Arquitectura SOA• Modelo de Madurez SOA de Oracle• Tipos de Proyectos• Casos Empresariales:

• Banca• Telecomunicaciones

• Conclusiones y Recomendaciones

Page 3: Evolución de Arquitecturas

<Insert Picture Here>

“No estamos seguros, pero la reconocemos cuando vemos una”

Fuente: IEEE – 1471

QUE ES ARQUITECTURA DE SOFTWARE?

Page 4: Evolución de Arquitecturas

• La arquitectura de software de un sistema es la estructura o estructuras, la cual consiste de:

• Sus elementos• Propiedades visibles entre sus

elementos.• Relaciones entre sus elementos• Relaciones como el mundo exterior.• Principios que guían su diseño y

evolución

IEEE-1471:Estándar para la Definición de

Arquitecturas

QUE ES ARQUITECTURA DE SOFTWARE?

Page 5: Evolución de Arquitecturas

• Definir la arquitectura en los proyectos actuales es crítico...

Page 6: Evolución de Arquitecturas

• Dos factores primarios en la ingeniería de software que han incrementado la importancia de la arquitectura:

EVOLUCIÓN DE ARQUITECTURAS

Page 7: Evolución de Arquitecturas

EVOLUCIÓN DE ARQUITECTURAS

Aplicaciones Monolíticas

• Interfaces gráficas de usuario (GUI).• Servicios de presentación, negocios y

persistencia en la misma máquina.

• No hay concurrencia de usuarios.• Alto acoplamiento entre tiers.

Arquitectura Cliente-Servidor

• Clientes pesados, no estándar• Conexiones dedicadas a BD• Protocolos pesados• Ejecución remota de SQLs

• Alta administración• Bajo rendimiento• Alto tráfico de red• Baja accesibilidad

Page 8: Evolución de Arquitecturas

EVOLUCIÓN DE ARQUITECTURASArquitectura Cliente-Servidor

Mejorada

• Lógica de negocios en BD• Clientes pesados, no estándar.• Conexiones dedicadas a la BD.• Mejora en rendimiento• Alta administración• Baja escalabilidad• Baja flexibilidad• Baja portabilidad

Arquitectura de 3 niveles

• Reutilización de lógica de negocio para diferentes clientes o sistemas.

• Mejora la escalabilidad.• Mejora la flexibilidad.• Independencia de la base de

datos.

Page 9: Evolución de Arquitecturas

EVOLUCIÓN DE ARQUITECTURAS

• Arquitectura de N-niveles

100.000+

• Bajo costo de administración de clientes.• Alta accesibilidad.

• Alta flexibilidad.• Alta disponibilidad y tolerancia a fallos.

• Alta escalabilidad.• Independencia de DB

Page 10: Evolución de Arquitecturas

EVOLUCIÓN DE ARQUITECTURAS• Visión de Arquitectura Orientada a Servicios (SOA)

Cluster deServidores de Aplicaciones

AplicacionesLegadas

Servidor de Procesos

(BPM)

Base de Datos

SistemaBatch

Portal deServicios Integrados

• Requerimientos Arquitectónicos

• Heterogeneidad• Escalabilidad• Disponibilidad• Distribución• Manejabilidad de Procesos• Administración y monitoreo de procesos,

servicios e infraestructura

Page 11: Evolución de Arquitecturas

TIPOS DE ARQUITECTURAS

Fuente: Capgemini

Page 12: Evolución de Arquitecturas

ARQUITECTURA Y GOBIERNO

Fuente: Capgemini

Page 13: Evolución de Arquitecturas

QUE ES UN ARQUITECTO DE SOFTWARE?

• Unified Process

Arquitecto es un rol en un proyecto de desarrollo de software el cual es responsable de:

• Liderar el proceso de arquitectura.• Producir los artefactos necesarios:

Documento de descripción de arquitectura

• Modelos y prototipos de arquitectura.

• SUN SL-425:

El arquitecto: • Visualiza el comportamiento del

sistema.• Crea los planos del sistema.• Define la forma en la cual los

elementos del sistema trabajan en conjunto.

• Responsable de integrar los requerimientos no-funcionales (NRFs) en el sistema.

Page 14: Evolución de Arquitecturas

• Cual es la diferencia entre arquitectura de software y diseño de software?

Page 15: Evolución de Arquitecturas

ARQUITECTURA DE SOFTWARE VS. DISEÑO DE SOFTWARE

• La arquitectura y el diseño difieren en tres áreas:

Requerimientos funcionales

Selección de tecnologías, Requerimientos no funcionales (QoS), Manejo de riesgos

Áreas de Enfoque

Diseño detallado componentes.

Especificaciones de codificación

Planear subsistemas, interfaces con sistemas externos, servicios horizontales, frameworks, componentes reutilizables, prototipo arquitectónico

Entregables

Bajo nivel. Enfoque específico en detalles

Alto nivelNivel de Abstracción

DiseñoArquitectura

Page 16: Evolución de Arquitecturas

ARQUITECTURA DE SOFTWARE VS. DISEÑO DE SOFTWARE• Según el Departamento de Defensa de USA:

Fuente: DoD

Page 17: Evolución de Arquitecturas

ARQUITECTURA DE SOFTWARE VS. DISEÑO DE SOFTWARE• La arquitectura envuelve un conjunto de decisiones

estratégicas de diseño, lineamientos, reglas y patrones que restringen el diseño y la implementación de un software.

Las decisiones de arquitectura causan un alto impacto en los proyectos de IT

Arquitectura

Diseño

Implementación

Código

Page 18: Evolución de Arquitecturas

ARQUITECTURA EMPRESARIAL VS. ARQUITECTURA DE SOFTWARE

• Arquitectura Empresarial es como la planeación urbana.

• Arquitectura de Software es como los planos de un edificio …

Page 19: Evolución de Arquitecturas

VISTAS ARQUITECTÓNICAS

• Un arquitectura empresarial considera, las diferentes vistas arquitectónicas:

Fuente: TOGAF

Page 20: Evolución de Arquitecturas

POR QUE ES IMPORTANTE LA ARQUITECTURA?

• La arquitectura brinda los siguientesbeneficios importantes:• Planeación y Evolución predecible.• Optimización de Costos desde el inicio y en el

tiempo.• Cumplimiento de requerimientos de calidad de

servicio.• Minimizar riesgos en las inversiones de IT.

Page 21: Evolución de Arquitecturas

Por que es importante la Arquitectura?

• Acorde con las políticas del Departamento de Defensa de USA:• Entendimiento del DoD como una Empresa.• Identificación de los requerimientos Operacionales.• Racionalización de las decisiones sobre las

inversiones de IT.• Mejoras en la interoperabilidad de varios sistemas.

Page 22: Evolución de Arquitecturas

<Insert Picture Here>

“Si Arquitectura Orientada a Servicios (SOA) es Arquitectura, debe ser definible, como su

nombre lo indica, como Arquitectura”

Fuente: OASIS – SOA Reference Model TC

DEFINIENDO ARQUITECTURA

ORIENTADA A SERVICIOS

Page 23: Evolución de Arquitecturas

• Es un paradigma para arquitectura de software.

• Los “servicios” son su concepto central. Hay otros conceptos.

• SOA no está actualmente definida, aparte de ser una arquitectura estándar de facto en las arquitecturas modernas.

• La percepción de “Que es SOA”, es dispareja en la industria.

QUE ES ARQUITECTURA ORIENTADA A SERVICIOS?

Page 24: Evolución de Arquitecturas

NECESIDADES COMUNES EN LAS EMPRESAS• Intercambio de información por

correo, fax, archivos.• Gestión del riesgo a través de

información oportuna y consistente.• Controlar sus procesos de negocio.• Obtener indicadores del negocio,

para mejorar la calidad de la toma de decisiones.

• Reducir costos de las operaciones.

Page 25: Evolución de Arquitecturas

NECESIDADES COMUNES EN LAS EMPRESAS• Aumentar los canales de interacción

con el cliente y mejorar su experiencia y satisfacción.

• Lograr diferencias competitivas y agilidad del negocio.

• Desarrollar de servicios a través de la utilización efectiva de nuevas tecnologías.

• Controlar en la complejidad de las regulaciones.

Page 26: Evolución de Arquitecturas

CONTEXTO DE NEGOCIOS: RED EMPRESARIAL EXTENDIDA

Clientes

Información

Empresa

Gobierno y Reguladores

Información

Info

rma

ció

n

Proveedores y Asociados de

Negocio

EntidadesFinancieras

Proveedores de Servicios Públicos

Info

rmació

nInform

ación

Page 27: Evolución de Arquitecturas

SOAP HTTP SOAP

CORE CRM ERP

Procesos de NegocioBPEL

Sistemas Empresariales

INTEGRADOR SOA:Servicios de Integración:

Validación, Transformación, Enrutamiento de Mensajes

GOBIERNO SOA:Gobernabilidad, Monitoreo y

Políticas de Seguridad

<<O

RIG

EN>> CANALES

DE ATENCIÓN

<<M

IDD

LEW

AR

E>>

<<D

ESTI

NO

>> ADAPTADORES SOA

ARQUITECTURA DE INTEGRACIÓN

PORTAL INTERNET OFICINAS

APLICACIONES

Page 28: Evolución de Arquitecturas

ARQUITECTURA DE PROCESOS

Enpresa

BancoCentral

SOAP

ERP

Central de Riesgo

JDBC

SCORING

Banco Local #1

MSMQ

CREDITOS

Proveedor de Servicios

SOCKETS

AUDITORIA

Servicios de Integración

BPEL BPEL BPEL BPEL

Page 29: Evolución de Arquitecturas

CASOS DE NEGOCIO PARA SOA

• Automatización de Procesos de Negocio.

• Integración de Aplicaciones.• Modernización Incremental de

Sistemas Legados.• Consolidación de Información.• Aplicaciones Multi-Canal.• Inteligencia de Negocios, Indicadores

de Claves de Rendimiento.

Page 30: Evolución de Arquitecturas

QUE NO ES SOA?

SOA como tal no es:

• Metodología de Desarrollo de Proyectos.

• Metodología de Arquitectura Empresarial.

• Lenguaje de Programación

Page 31: Evolución de Arquitecturas

<Insert Picture Here>

“Si no hay un plan definido, cualquier ruta es válida.”

MODELO DE MADUREZ SOA DE ORACLE

Page 32: Evolución de Arquitecturas

MODELO DE MADUREZ SOAQué es un modelo de Madurez?• Permite medir el estado actual de una

empresa con respecto a la utilización de SOA: Proyectos, Arquitectura, Infraestructura, Gobierno

• Permite definir una ruta de evolución.

Por qué un Modelo de Madurez?• Forma la base para comunicar y extender

capacidades.• Ayuda en la construcción de planes.• Base para crear una adopción incremental

de SOA.

Page 33: Evolución de Arquitecturas

MODELO DE MADUREZ SOA DE ORACLE

StrategicGoals

Tactical Plans

Level 1Opportunistic

Identify Simple “quick win” Projects

Build Services

Consume in Portal, BAM

Organize and Strategize

Create_customer, Messaging, Error

HandlingExamples

Level 2Tactical

Sell Business on SOA Benefits

IntegrateServices

Manage Services

Tactical SOAImplementations

Customer DataIntegration

Level 3Strategic

Business Process

Automation

EnterpriseArchitecture

Group DrivingSOA

Process AutomationAnd Improvement

With SOA

Integrated Work Order Management

Be a leader in the industry eco-system and provide/

consumerelevant

services. Enable the virtual

enterprise with business

insight, and real time information

access

Level 5

SOA isindustrialized

Strategic SOA, B2B, B2C, A2A

Deploy BAM + BPEL for

Measurement

Level 4Enterprise

SOA isQuantitatively

Managed

Monitor End Customer SLAs

Measurement&

Improvement

Fuente: Oracle SOA Project Methodology

Page 34: Evolución de Arquitecturas

<Insert Picture Here>

“Que Tipos de Proyectos puedoImplementar en mi evolución hacia

SOA en mi empresa?.”

TIPOS DE PROYECTOS

Page 35: Evolución de Arquitecturas

NIVEL 1 | HABILITAR SERVICIOS DE SISTEMAS LEGADOS

Consulta estado de crédito

Portal InternetDepartamento de

Crédito

Crédito

Page 36: Evolución de Arquitecturas

NIVEL 1 | HABILITAR SERVICIOS DE SISTEMAS LEGADOS

Consulta estado de

crédito

Portal InternetDepartamento de

Crédito

CréditoSERVICIO DE INTEGRACIÓN

ESB

Page 37: Evolución de Arquitecturas

NIVEL 2 | SINCRONIZAR INFORMACIÓN

inicio

Tarea1

?

tarea2

Tarea3

Tarea4

Tarea5

fin

BANCO

Crédito

ENTIDAD REGULADORA

Crédito

PROCESO BPEL

Page 38: Evolución de Arquitecturas

NIVEL 2 | SINCRONIZAR INFORMACIÓN

inicio

Tarea1

?

tarea2

Tarea3

Tarea4

Tarea5

fin

BANCO

Crédito

ENTIDAD REGULADORA

Crédito

PROCESO BPEL

SERVICIO DE

INTEGRACIÓN

ESB

Entidad 2

Entidad 1

Page 39: Evolución de Arquitecturas

Contabilidad

ERP

Inventario

Ventas

NIVEL 3 | PROCESAMIENTO AUTOMATIZADO Y FLEXIBLE

PROCESO DE NEGOCIOS

Base de Datos de Clientes

Page 40: Evolución de Arquitecturas

inicio

Tarea1

?

tarea2

Tarea3

Tarea4

Tarea5

fin

Contabilidad

ERP

Inventario

Ventas

NIVEL 3 | PROCESAMIENTO AUTOMATIZADO Y FLEXIBLE

PROCESO BPEL

SERVICIO DE

INTEGRACIÓN

SERVICIO DE

INTEGRACIÓN

ESB

Base de Datos de Clientes

ESB

Page 41: Evolución de Arquitecturas

NIVEL 4 | MONITOREO DE NEGOCIO

inicio

Tarea1

?

tarea2

Tarea3

Tarea4

Tarea5

fin

Portal de Indicadores de

Negocio en Tiempo Real

Base de Datos

BD

Aplicación

APP

Reglas de negocio

REGLAS

Central de Riesgo

Banco Local #1

SISTEMASEMPRESARIALESPROCESO BPEL

Page 42: Evolución de Arquitecturas

NIVEL 5 | APLICACIONES CON REACCIÓN AUTOMÁTICA

SUSCRIPCIÓN

inicio

Tarea1

?

tarea2

Tarea3

Tarea4

Tarea5

fin

inicio

Tarea1

?

tarea2

Tarea3

Tarea4

Tarea5

fin

NUEVOCREDITO

!

ALERTA:DEMORA EN

APROBACIÓN DE CRÉDITO

! INDICADOR DE VOLUMEN DE

CRÉDITOS

!

SISTEMA DE CRÉDITOS BANCO LOCAL

APRUEBA O RECHAZA EL CRÉDITO

Page 43: Evolución de Arquitecturas

SOA & BPMEscenario Tipico – Integración de Procesos Empresariales con BD

CRM Financials HRMSProcurement

Page 44: Evolución de Arquitecturas

Solucion de Arquitectura de Oracle (Oracle SOA Suite)

Procesos de Negocios de aplicacionescruzadas

CRM Financials HRMSProcurement

Servicios deAplicacion

OptimizacionDiseño MonitoreoEjecutar y Optimizar losProcesos de Negocio

Page 45: Evolución de Arquitecturas

1. Capturar losrequerimientosdel Negocio

Business Process ArchitectDefinir & Modelar los requerimientos del negocio

2. Definicion de los procesos del Negocio

3. Business Activity Mapping

Page 46: Evolución de Arquitecturas

Business Process DesignerGenerar y Capturar la Definicion del Proceso del Negocio

Business Process Architect Process Developer

Modelo Compartido Repositorio de losProcesos del Negocio

Page 47: Evolución de Arquitecturas

Business Process Manager (BPEL) - Orquestacion y Transformacion

Business Process State – Audit Trail

Clustering, Dehydration

Business Process Engines

Human Workflow1. Definir2. Desplegar 3. Monitorear

4. Optimizar

Page 48: Evolución de Arquitecturas

<Insert Picture Here>

Casos Reales en Sectores:Financiero y Telecomunicaciones

RETROSPECCIÓN: CASOS EMPRESARIALES

Page 49: Evolución de Arquitecturas

2002 – COSTA RICA – FINANCIERO: 18 BANCOS, 20 PUESTOS DE BOLSA: MERCADO DE CAPITALES

<<Web Service>>Movimientos de Efectivo

<<.NET>>SINPE

<<BANCO CENTRAL>>

SAC

SAC

<<Web Service>>Transacciones Multilaterales

<<BOLSA NACIONAL>>

<<SISTEMA>>Sistema Interbancario de Pagos Electrónicos

Page 50: Evolución de Arquitecturas

2003 – COLOMBIA –TELECOMUNICACIONES: RECLAMOS DE FACTURACIÓN

<<SESSION EJB>>Consulta Facturación

<<J2EE>>BILLING

<<TELECOMUNICACIONES>>

<<J2EE>>RECLAMOS

FACTURACIÓN

SAPRM-CA

<<BAPI>>Registro Nota Contable

Page 51: Evolución de Arquitecturas

2005 – COLOMBIA – FINANCIERO: 4 BANCOS, RECLAMOS FINANCIEROS

<<WS>>Registro

Reclamos

<<BANCO #1>>

<<CRM>>PEOPLE SOFT

<<BANCO #2>>

<<CRM>>PEOPLE SOFT

<<BANCO #3>>

<<CRM>>PEOPLE SOFT

<<BANCO #4>>

<<CRM>>PEOPLE SOFT

<<ENTIDAD>>

<<WS>>RECLAMOS

<<WS>>Registro

Reclamos

<<WS>>Registro

Reclamos

<<WS>>Registro

Reclamos

Page 52: Evolución de Arquitecturas

2006 – COLOMBIA – FINANCIERO: 4 BANCOS, BANCA INTERNET, 250,000 USUARIOS

<<ENTIDAD>>

<<J2EE>>BANCA

PERSONAL

<<WS>>INTEGRADOR

IFX

<<BANCO #1>>

<<HOST>>

<<BANCO #2>>

<<HOST>>

<<BANCO #3>>

<<HOST>>

<<BANCO #4>>

<<HOST>>

Page 53: Evolución de Arquitecturas

2007 – ECUADOR –TELECOMUNICACIONES: REPOSITORIO CENTRAL, 400,000 REGISTROS x HORA

SistemaDestino

<<WS>>RUClienteService

<<Middleware>>Oracle SOA Suite

Oracle ESB

INTEGRACION

Sistema Origen

SCLApp Server

PERSISTENCIA

Oracle Advanced Queue SOAPJMS

RU

JDBC

Page 54: Evolución de Arquitecturas

2007 – COLOMBIA – SALUD: EPS, PAGOS DIRECTOS Y SALDOS A FAVOR

SistemaDestino: ERP

<<Middleware>>Oracle SOA Suite

ORACLE BPEL

Sistemas Origen: EPS

ORACLESIPE

Oracle Advanced Queue JMS

JCO

RFC<<ERP>>

SAP

ORACLESIRAP

Page 55: Evolución de Arquitecturas

2007 – COLOMBIA – FINANCIERO: INTEGRACIÓN SOA Y PROCESOS BACK OFFICE

CORE

MAIL SERVER

PROCESOS DE NEGOCIOS

CRM

ERP

CANALES

ESB

OFICINAS

REGISTROUDDI

GOBIERNO SOA

INTEGRACIÓN

SISTEMASCORE

MONITOREO DEL NEGOCIO KPI

PORTAL INTERNET

Page 56: Evolución de Arquitecturas

2008 – COLOMBIA – FINANCIEROCASO DE NEGOCIO: REDUCIR A MAXIMO 4 HORAS LA APROBACION DE CREDITOS.

OficinasBPM

BD

SOA SUITE

Page 57: Evolución de Arquitecturas

EL RETO

BD BPM

BPMFRONT END

BankMasterTuxedo

DataWareHose

Oficinas

Data crédito

Cartera

BankMasterTuxedo Cartera CLP

Tarjeta de Credito

Rotativo

CréditoApp Server

Cobranzas

Análisis Financiero

CFSCaja

Inteligente

Lo Nuevo

CREDITO Mas de 10 sistemas (distintos lenguajes, DB, Ambientes, contando externos, …)

Construir

Page 58: Evolución de Arquitecturas

La solución

BD BPM

BPMFRONT END

BankMasterTuxedo

DataWareHose

Oficinas

Data crédito

Cartera

BankMasterTuxedo Cartera CLP

Tarjeta de Credito

Rotativo

CréditoApp Server

Cobranzas

Análisis Financiero

CFSCaja

Inteligente

Lo Nuevo

CREDITO

Construir

BPELOWSM

Oracle SOA Suite

Page 59: Evolución de Arquitecturas

RECOMENDACIONES: VALORE SU NIVEL DE MADUREZ SOA

StrategicGoals

Tactical Plans

Level 1Opportunistic

Identify Simple “quick win” Projects

Build Services

Consume in Portal, BAM

Organize and Strategize

Create_customer, Messaging, Error

HandlingExamples

Level 2Tactical

Sell Business on SOA Benefits

IntegrateServices

Manage Services

Tactical SOAImplementations

Customer DataIntegration

Level 3Strategic

Business Process

Automation

EnterpriseArchitecture

Group DrivingSOA

Process AutomationAnd Improvement

With SOA

Integrated Work Order Management

Be a leader in the industry eco-system and provide/

consumerelevant

services. Enable the virtual

enterprise with business

insight, and real time information

access

Level 5

SOA isindustrialized

Strategic SOA, B2B, B2C, A2A

Deploy BAM + BPEL for

Measurement

Level 4Enterprise

SOA isQuantitatively

Managed

Monitor End Customer SLAs

Measurement&

Improvement

Fuente: Oracle SOA Project Methodology

Page 60: Evolución de Arquitecturas

Costos y Riesgos de No Definir Arquitectura

• Aplicaciones que subutilizan la infraestructura.• Altos de costos en IT por heterogeneidad en

tecnologías, infraestructura, soporte, personal.• Ineficiencias de integración innecesaria de

aplicaciones empresariales.• Costo de oportunidad de soporte a necesidades de

negocio.• Freno el crecimiento de la empresa.

Page 61: Evolución de Arquitecturas

El Valor de la Arquitectura para Su Negocio

Fuente: Capgemini

Page 62: Evolución de Arquitecturas

FUENTES Y REFERENCIAS• Sitio de Oracle para SOA:

http://www.oracle.com/technologies/soa/index.html

• Oasis SOA Reference Model TC:http://www.oasis-open.org

• Oracle SOA Project Methodology. Training course.

• Architecting Web Services – Oellerman.• SOA Modeling - www.soamodeling.org• Enterprise Integration Patterns.

Martin Fowler.• Software Architecture in Practice.

Dr Rick Kazman, Dr Paul Clements, Len Bass- 2003

• Enterprise Service Bus. David A. Chappell.

Page 63: Evolución de Arquitecturas

BLOG: SOA PARA NEGOCIOS

www.lucasian.com/soa

• Participe en nuestra comunidad de profesionales de Latinoamérica, dedicada a compartir la experiencia real en proyectos empresariales con Arquitectura Orientada a Servicios, escrita en español.

Page 64: Evolución de Arquitecturas

GRACIAS!!!

Mauricio Naranjo - [email protected] ACE Director – Oracle Fusion MiddlewareChief Architect – Lucasian Consulting Services