View
233
Download
0
Category
Preview:
Citation preview
1
La verdad y nada ms que la verdad sobre SOA, EA y SA
Jorge Humberto Arias B.jorgarbe@gmail.com
Consultor Independiente en Arquitecturas Empresariales y de Software
Bogot-Colombia
XXVII Saln de
Informtica -
Septiembre'2007 2
Objetivo
Presentar cmo la correcta combinacin de los enfoques de arquitectura empresarial, software y orientado a servicios genera valor de negocio a la organizacin a travs de la alineacin de la estrategia organizacional con la estrategia IT, flexilibidad y velocidad de negocio soportada en servicios reutilizables y estndares, y calidad funcional y tcnica centrada en buenas prcticas, patrones, frameworks y lenguajes de dominio
Introducir realidades y mitos alrededor de la adopcin de estos enfoques al interior de la organizacin.
XXVII Saln de
Informtica -
Septiembre'2007 3
Empresa Inteligente = EA + SOA + SA2
Agenda
Conclusiones3
Contexto1
Preguntas & Respuestas4
XXVII Saln de
Informtica -
Septiembre'2007 4
Qu esta pasando all afuera?
Cmo se operan y/o evolucionan actualmente los sistemas de informacin al interior de las empresas para
soportar los nuevos requerimientos de negocio y demandas del mercado ?
Qu estn requiriendo y cules son las expectativas de las reas de negocio alrededor del grupo de tecnologa?
XXVII Saln de
Informtica -
Septiembre'2007 5
Portal
ManejadorOrdenes
Area de redes yprovisioning
Facturacion
Area de Facturacin
CRM
Atencin a clientes Area financiera y Contabilidad
ERP
Clientes
Comprar LneaTelefnica
Porqu no me han instalado mi telefono ?
Base de datos temporal(SOLO ES TEMPORAL)
Crear Cliente Crear cuenta Facturacin
24 horas
12 horas
Activar la lineaen la red
Costear orden de trabajo /
Colocar Orden de pedido
12 horas 24 horas
Por que no cumplimos las
metas?
Cmo va este negocio?
GrupoGerencial
Empleados (Procedimientos)
Procesos
Indicadores
XXVII Saln de
Informtica -
Septiembre'2007 6
Caracterizacin de las necesidades de los actuales sistemas informacin
Las compaias estn orientando su estratega en clientes ms que en el tradicional modelo de orientacin a productos.
Los clientes demandan procesos de negocio.
Los procesos de negocio motivan estrategias de medicin a nivel ejecutivo.
Las empresas debe operar transversalmente basado en un enfoque de procesos de negocio ms que operar verticalmente centrado en procedimientos de negocio.
Los procesos se apoyan en funcionalidades de negocio existentes, las cuales residen en sistemas de informacin que se soportan en diversas tecnologas (RPG, CISC, Java, C++, Delphi, Power Builder, Visual Basic)
Los procesos de negocio requieren flexibilidad y parametrizacin externa
XXVII Saln de
Informtica -
Septiembre'2007 7
CLIENTES GRUPO EJECUTIVO
Proceso de negocio
BPM Dashboard,KPI (Key Performance
Indicator)
BAM
ManejadorOrdenes
FacturacionCRM ERP
EMPLEADOS
EIS
Crear Cliente
Crear Cuenta de Facturacin
Aprovisionar Linea
Colocar pedido
Costear Orden
SERVICES
PORTAL Procesos de negocio
Modelos de informacin
Integracin y servicios
Estructura tcnica y
aplicaciones
XXVII Saln de
Informtica -
Septiembre'2007 8
Herramientas
Los proyectos de IT hoy en da requieren de la articulacin de varios frentes
Procesos y Metodologas
Arquitectura
Tecnologa
Gerencia de Proyectos
Calidad
XXVII Saln de
Informtica -
Septiembre'2007 9
Y ademas Requieren un cambio en el enfoque de arquitectura
Tiempo
Benefici
on
de n
egoci
o y
enfo
que
em
pre
arialde a
rquitect
ura
Contexto de negocio
Visin Empresarial de Arquitectura
Procesos de negocio
Datos e Informacin
Integracin & Servicios & Aplicacin
Tecnologa
Logica(Software)
Fisica(Infraestructura)
Negocio
Tecnologa
Seguridad
Gobernabilidad de negocio y tecnolgica
XXVII Saln de
Informtica -
Septiembre'2007 10
1994 Slo el 16.2% de los proyectos son exitosos
31.1% de los proyectos son cancelados antes de terminarlos
52.7% de los proyectos terminadosno cumplen con los requerimientosfuncionales minimos.
Tiempo Alcance
Recursos ( $$$, Gente)
Calidad
Usabilidad
2006 Slo el 35% de los proyectos son exitosos
19% de los proyectos son cancelados antes de terminarlos
46% de los proyectos terminadosno cumplen con los requerimientosfuncionales minimos.
Estado actual del desarrollo de software
Por qu la mejora ?Gerencia de proyectos, metodologas iterativas,
evolucin de frameworks y arquitectura
XXVII Saln de
Informtica -
Septiembre'2007 11
Requerimientos y especificaciones incompletas
Visin del problema centrada en tcnologia
Nuevas tecnologias
Poco acompaamiento y compromiso del cliente
Cambios constantes de requerimientos y especificaciones
Frames de tiempos irreales
Expectativas irreales
Carencia de recursos
Recursos compartidos entre proyectos
Mala planeacin
Mala gerencia de proyectos
Objetivos de negocio poco claros
Resolver problemas que no existen
Por qu fracasan los proyectos ?
XXVII Saln de
Informtica -
Septiembre'2007 12
De acuerdo al contexto anterior Cuales fuerzasque gobiernan o dirigen un proyecto IT?
Problema de negocio a resolver
Procesos de negocio
Modelo de datos e informacin
Modelo de interfaces, integracin y cooperacin. Aplicaciones
Tecnologa y marcos de referencia tecnolgicos
XXVII Saln de
Informtica -
Septiembre'2007 13
Cambio de foco: Desde la tecnologa al negocio
Los problemas que debemos resolver hoy en da son problemas de negocio ms que problemas de tecnologa
Debemos ser ingenieros de software cada da ms cercanos al negocio, la tecnologa de desarrollo de software terminar volvindose un commodity donde las fabricas terminarn imponindose a todos los niveles, y el xito de los artefactos generados por estas dependern en gran medida de la calidad de las especificaciones del negocio y el DSL empleado.
El secreto a nivel de desarrollo de software radica en la correcta articulacin de Buenas Practicas, Patrones, Frameworks y lenguajes de dominio bajo el contexto de una fabrica de software
XXVII Saln de
Informtica -
Septiembre'2007 14
Los problemas que tenemos que resolver hoy en da no son de tecnologa son de negocio
Arquitectura tecnolgica Solucin
Em p re sa r io s
L g ic a P r e se n ta c i n
P o r ta l & P ro c e so s
D a to s D a to s
D B 2
S A N
A p p S e r v e r
L g ic a N e g o c io ( c o m p o n e n t e s )
A p p S e r v e r
L g ic a N e g o c io ( c o m p o n e n te s )
H T T P , S O A P , W M L , X M L
S e d e s
R M I, C O R B A , S O A P
B a la n c e o d e C a r g a
S e r v id o r s e g u r id a d & P o lit ic a s
A u te n t ic a c i n A u to r iz a c i n
R e p lic a c io n & C lu s te r in g
T r a n sa c c io n e s D is t r ib u id a s
C R M
E R P ( S A P )
D IA N / R U E /S H D / C O R F E R IA S
W e b se r v ic e s
In te g r a c i n
Arquitectura e Implementacin
XXVII Saln de
Informtica -
Septiembre'2007 15
Necesidad de un enfoque arquitectnico con visin empresarial
Arquitectura de Procesos de Negocio
Arquitectura de datos e informacin
Arquitectura de interfaces & Aplicaciones
Arquitectura tecnolgica
Solucin
Arquitectura Empresarial
Arquitectura orientada a serviciosArquitectura de
software
Arquitectura orientada a serviciosArquitectura de
software
XXVII Saln de
Informtica -
Septiembre'2007 16
Entonces Como alinear estrategia de negocio con tecnologa
Estrategia de negocio
Estrategia IT ( Hardware + Software + Seguridad)
GAP?Arquitectura Empresarial
Arquitectura Orientada aServicios (SOA)
Arquitectura de Software
XXVII Saln de
Informtica -
Septiembre'2007 17
Empresa Inteligente = EA + SOA + SA2
Agenda
Conclusiones3
Contexto1
Preguntas & Respuestas4
XXVII Saln de
Informtica -
Septiembre'2007 18
Como se articulan los enfoques de arquitectura para generar valor
Arquitectura empresarial (EA)
Arquitectura Orientada a
servicios
Arquitectura de SoftwareFlexibiliza
Define la estructura
Gua Sirve de referencia
Problema
Solucin
XXVII Saln de
Informtica -
Septiembre'2007 19
Valor generado por una arquitectura empresarial
XXVII Saln de
Informtica -
Septiembre'2007 20
Enfoques EA: Zachman
1
2
3
4
5
6
Contextual
Conceptual
Lgica
Fsica
Deployment
Execucin
Visionador
ModeladorNegocio
Diseador
Implementador
Integrador
Usuario final
QuenDndeQu Cmo Cuando Porque
Tomado: Framework Zachman (www.zifa.com)
XXVII Saln de
Informtica -
Septiembre'2007 21
Enfoque EA: Togaf
Principios &Frameworks
VisinArquitectura
ArquitecturaNegocio
ArquitecturaInformacin
ArquitecturaTecnolgica
Opurtinidades&Soluciones
Plan de migracion
ImplementacinGobierno
Gestion de CambiosArquitect
RequerimientosNegocio
Enfoque Togaf 8.1.1 Derechos reservados opengroup.
XXVII Saln de
Informtica -
Septiembre'2007 22
El negocio es quien gua la adopcin tecnolgica
Visin 360 del problema a resolver
Cualquier definicin debe ser guada por los requerimientos de negocio.
Un enfoque EA especficamente busca eliminar incertidumbres. Cuando hay incertidumbres hay:
Sobre costos en el proyectos
Estimaciones incorrectas
Poca claridad de los objetivos de negocio que se buscan soportarcon el sistema de informacin
XXVII Saln de
Informtica -
Septiembre'2007 23
Negocio
Datos & Informacin
Aplicaciones
Tecnologa
Modelo de operacin de una arquitectura EA (Parte I)
AS-IS TO-BE
Modelos de referencia
Buenasprcticas & Regulaciones
Condiciones de mercado
Estandaresactuales
Operacindiaria
SistemasActuales
XXVII Saln de
Informtica -
Septiembre'2007 24
Modelo de operacin de una arquitectura EA (Parte 2)
AS-IS TO-BE
Modelos de referencia
Buenasprcticas & Regulaciones
Condiciones de mercado
Estandaresactuales
Operacindiaria
SistemasActuales
GAP
ROADMAP
XXVII Saln de
Informtica -
Septiembre'2007 25
Caso de Uso
Funcionalidad de Negocio
Macro Procesonegocio
UC UC UC
ReglasNegocio
Input
Output
RDBMS
Table
FN
FN
FNFNFNProceso de negocio
FN
FN
FNFNFNProceso de negocio
FN
FN
FNFNFNProceso de negocio
EA promueve el desarrollo bajo un enfoque TOP-Down
XXVII Saln de
Informtica -
Septiembre'2007 26
Casos de Uso
Arquitectura lgica de software
Arquitectura Fsica de la solucin
Modelo tradicional de hacer sistemas
Estudios Relacionados Chaos Report (Standish Group Report)
22%-31% de los proyectos son cancelados antes de terminarlos
45% -52.7% de los proyectos cuestan cerca del 189% del presupuesto inicial
Tiempo Alcance
Recursos ( $$$, Gente)
Calidad
Usabilidad
Qu tan xitoso es?
Dado este contexto..Seguir desarrollando software bajo el contexto actual?
XXVII Saln de
Informtica -
Septiembre'2007 27
Arquitectura deProcesos
Arquitectura de Integracin
Casos de Uso
Arquitectura lgica de software
Arquitectura Empresarial de la
solucin
Arquitectura de Seguridad
Arquitectura de datos
Identificacin y Especificacin de requerimientos no funcionales
Correlacion de enfoques
XXVII Saln de
Informtica -
Septiembre'2007 28
Valor generado por una arquitectura orientada a servicios
XXVII Saln de
Informtica -
Septiembre'2007 29
ServicesPortfolio
Qu se busca tras la adopcin de este estilo de arquitectura?
Clientes
1. Solicitan servicios que activan procesos de negocio
RegistrarPago
GenerarLiquidacin
Verificar nombre
Crear Empresa
ERP (SAP)
RUE ContabilidadJ2EE Platform Sistemas de informacin corporativos
Registrar Empresa Matricular Empresa CambiarNombreLegal
BPM
2. Los procesos de negocio se apoyan en funcionalidades Existentes publicadas como servicios
3. Durante la ejecucin del proceso se generanEventos de negocio
Dashboard
Grupo Ejecutivo
XXVII Saln de
Informtica -
Septiembre'2007 30
Caso de Uso
Funcionalidad de Negocio
Macro Procesonegocio
UC UC UC
ReglasNegocio
Input
Output
RDBMS
Table
FN
FN
FNFNFNProceso de negocio
FN
FN
FNFNFNProceso de negocio
FN
FN
FNFNFNProceso de negocio
Qu es entonces un proceso?
XXVII Saln de
Informtica -
Septiembre'2007 31
Macro Procesonegocio
Caso de Uso #1
ReglasNegocio
Input
Output
RDBMS
Table
Proceso de negocio
Caso de Uso #2
ReglasNegocio
Input
Output
RDBMS
Table
Caso de Uso #N
ReglasNegocio
Input
Output
RDBMS
Table
Capa SOA
Capa Arquitectura de software
Como los procesos convergen con la capa de arquitectura de software
XXVII Saln de
Informtica -
Septiembre'2007 32
Roadmap de adopcin SOA al interior de unaorganizanizacin
Descubrimiento &Valoracin de
procesos de negocio
Descubrimiento deServicios: Top-Down,
Bottom-up
Especificacin de servicios y contratos
Modelamiento, simulacin, y costeo
de procesos
Integracin mundoBPM + SOA
Despliegue y pruebasaplicacin centrada en procesos y basados en servicios reutilizables
Governance
Time
Project life
Completion
XXVII Saln de
Informtica -
Septiembre'2007 33
Como determinar servicios: EnfoqueTop-Down
Business functionality A
Business functionality B
Business functionality C
Business Process #1
X
X
X
Business functionality D
Business Process #2
Business functionality F
X
X
X
Business Process #3
Business functionality G
X
X X
X
Reusable service
XXVII Saln de
Informtica -
Septiembre'2007 34
ERP System
Accountingsystem
FunctionalModule
FunctionalModule
FunctionalModule
FunctionalModule
FunctionalModule
FunctionalModule
Use cases
Create Customer
Create Customer
Reusable service
Como determinar servicios: EnfoqueBottom-up
XXVII Saln de
Informtica -
Septiembre'2007 35
ServicesPortfolio
Ahora, como estos servicios se componente para estructura aplicaciones de gran escala
BF
BF
BFBFBF
BPM
JSwing JSF
Clients
UC UC UCUC UC UC
Functional Module Functional Module
RMI / JMS
RMI / JMS
RMI / JMS
RMI / JMS
BF BF
RMI RMISharedMemory
SOAPRMI
SOAP
-Determinar el nivel de granularidad adecuado, Tipos de datos,Contratos
XXVII Saln de
Informtica -
Septiembre'2007 36
Valor generado por una arquitectura de software
XXVII Saln de
Informtica -
Septiembre'2007 37
Usuario Final
Capa Cliente ( JSwing, JSF, Portlets)
Delegadores
Fachadas (EJB Session SL)
Capa de Persistencia (DAO / Hibernate / JPA)
RDBMS
BPM Server
Reglas & Componentes de negocio (POJO) Cach
eManager
Security
Manager
ExceptionManager
Arquitectura de Software
Siempre necesitamos un modelo de refencia
XXVII Saln de
Informtica -
Septiembre'2007 38
Macro Procesonegocio
De dnde partimos: Procesos, SOA
Caso de Uso #1
ReglasNegocio
Input
Output
RDBMS
Table
Proceso de negocio
Caso de Uso #2
ReglasNegocio
Input
Output
RDBMS
Table
Caso de Uso #N
ReglasNegocio
Input
Output
RDBMS
Table
Capa SOA
Capa Arquitectura de Software
XXVII Saln de
Informtica -
Septiembre'2007 39
Ahora, la base de toda arquitectura son los
requerimientos..Cmo mapearlos?
Caso de Uso
ReglasNegocio
Input
Output
RDBMS
Table
UCNameDTOInput.java
BusinessServiceNameLogic.java
UCNameDTOOutput.java
SchemaDAO.java
XXVII Saln de
Informtica -
Septiembre'2007 40
Macro Procesonegocio
Proceso de negocio
BusinessDelegate
IBusinessInterface
Facade
Como converge: Procesos de negocio, Servicios y
Software
XXVII Saln de
Informtica -
Septiembre'2007 41
Capa Cliente ( JSwing, JSF, Portlets)
Capa de Persistencia (DAO)
RDBMS
Cach
eManager
Security
Manager
ExceptionManager
Como converge: Procesos de negocio, Servicios y
Software dentro de la arquitectura definida
XXVII Saln de
Informtica -
Septiembre'2007 42
Valor generado por una arquitectura de software
XXVII Saln de
Informtica -
Septiembre'2007 43
RDBMS
Caso de Uso
ReglasNegocio
Input
Output
UCNameDTOInput.java
BusinessServiceNameLogic.java
UCNameDTOOutput.java
Table #1
Table #3Table #2
Schema A
Table #1
Table #3Table #2
Schema B
Table #1
Table #3Table #2
Schema C
TablaSchemaADAO.java TablaSchemaBDAO.java TablaSchemaCDAO.java
Internamente implementa:1- Lgica de conexin a las base de datos2- Lgica CRUD (Create, Update, Delete)3- Finders (Bsquedas)
Y dentro de todo esto dnde queda cada la capa
de persistencia ?
XXVII Saln de
Informtica -
Septiembre'2007 44
RDBMS
ReglasNegocio
Input
Output
Table #1
Table #3Table #2Schema A
Tabla#1SchemaADAO.javaTabla#2SchemaADAO.java Tabla#3SchemaADAO.java
ReglasNegocio
Input
Output
SchemaFactoryDAO
Tabla#2VO.java
Tabla#3VO.java
Tabla#1VO.java
CAPA DE PERSISTENCIABASADA EN DAO
Y dentro de todo esto dnde queda cada la capa
de persistencia ?
XXVII Saln de
Informtica -
Septiembre'2007 45
Capa Cliente ( JSwing, JSF, Portlets)
Cach
eManager
Security
Manager
ExceptionManager
xx
x
x x
x
x xx x
xxx
Estructura de un arquitectura de software
motivada por el negocio y centrada en servicios
XXVII Saln de
Informtica -
Septiembre'2007 46
Anlisis y Diseo
Ciclo de vida para generacin automtica de software basado en EA + SOA + SA
Implementacin
Especificacin de requerimientos
Especificacin de NegocioAnalista de negocio
Especificacin del procesonegocio en terminos de
funcionalidades
Analista de negocio
Especificacin de los casos de uso x Funcionalidad de negocio
Arquitectura de referencia y construccin de framework
Grupo de arquitectura
Especificacin archivo de Metadata x Servicio de negocio (Casos de Uso, entradas, salidas, Cache, etc.)
Grupo de desarrollo
Grupo de A&D
Diagrama de clases x Servicio de negocio (Fachadas, DTO)
Admon. InfraestructuraCommon
Cdigo GeneradoGrupo de desarrollo
XXVII Saln de
Informtica -
Septiembre'2007 47
Nuestro objetivo final es estructurar flexibles, robustas, centradas (Dominio y basadas en
estandares lineas de produccin de software
XXVII Saln de
Informtica -
Septiembre'2007 48
Acaso qu es una Fbrica de Sofware?
Frameworks
Buenas prcticas
Herramientas
Patrones
Conocimiento en undominio de un
problemaESPECIFICACION
Modelamiento del problema en un DSL
(MDD, MDA)MODELOS
+ =Producto
+ Variabilidad
XXVII Saln de
Informtica -
Septiembre'2007 49
Y todo esto como se materializa en una lnea de produccin?
Arquitectura multicapasJ2EE para SOA
Manejador de tablas
Maestros
LiquidadoresPolizas
Reclamaciones Manejo deprocesamiento
en Batch
Necesidadesde negocio
AnalistasDe negocio
Diseadores Developer Arquitectos
SistemaDe riesgos
70% del codigo de la solucin es generado y construido acorde a buenas prcticas
XXVII Saln de
Informtica -
Septiembre'2007 50
Empresa Inteligente = EA + SOA + SA2
Agenda
Conclusiones3
Contexto1
Preguntas & Respuestas4
XXVII Saln de
Informtica -
Septiembre'2007 51
Conclusiones
El camino es largo y curvoso, slo la correcta articulacin de: alineacin a la estrategia del negocio centrada en procesos de negocio, servicios bien definidos, modelos de referencia, buenas prcticas, uso de frameworks, compromiso ejecutivo, procesos metodolgicos y fabricas de software pueden ayudarnos a vencer la complejidad a la que nos enfrentamos todos los das, y hacernos llegar al destino final
Se hace necesario aportarle a un modelo de roles y especializacin alrededor del grupo de trabajo que soporta nuestro SDLC (Software Development Life Cycle), no podemos seguir usando modelos informales de construccin de software.
El mercado Colombiano esta necesitando de manera urgente ingenieros de software que sean capaz de abstraer y articular estos 5 frentes de trabajo: Metodologa y Procesos, Arquitectura, Tecnologa, Herramientas, Gerencia de Proyectos, y transversal a cada uno de ellos esta la Calidad.
Apustale a un grupo de gobierno y/o centro de excelencia dentro de la organizacin.
XXVII Saln de
Informtica -
Septiembre'2007 52
Empresa Inteligente = EA + SOA + SA2
Agenda
Conclusiones3
Contexto1
Preguntas & Respuestas4
XXVII Saln de
Informtica -
Septiembre'2007 53
Preguntas & Respuestas
MUCHAS GRACIAS !!!
Recommended