la verdad y nada más que la verdad sobre soa, ea y...

53
1 La verdad y nada más que la verdad sobre SOA, EA y SA Jorge Humberto Arias B. [email protected] Consultor Independiente en Arquitecturas Empresariales y de Software Bogotá-Colombia

Upload: duonghanh

Post on 19-Sep-2018

233 views

Category:

Documents


0 download

TRANSCRIPT

  • 1

    La verdad y nada ms que la verdad sobre SOA, EA y SA

    Jorge Humberto Arias [email protected]

    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 !!!