ESB y SOA, Plataforma de integracion.

7,157 views
7,017 views

Published on

Caso de Exito en la creacion de una plataforma de integracion utilizando SOA y ESB como estilos de arquitectura. Recomendaciones y lo aprendido.

Published in: Technology, Travel
1 Comment
5 Likes
Statistics
Notes
No Downloads
Views
Total views
7,157
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
661
Comments
1
Likes
5
Embeds 0
No embeds

No notes for slide
  • ESB y SOA, Plataforma de integracion.

    1. 1. Julio Cejas Asesor en Tecnología Aplicada y Soluciones Gerencia de Tecnología Aplicada y Soluciones PIC CANTV Un caso de éxito de implementación de SOA, dentro de un ambiente complejo y heterogéneo
    2. 2. Agenda <ul><li>Obstáculos generales en proyectos de integración. </li></ul><ul><li>Como los enfrentamos en Cantv? </li></ul><ul><li>El Qué y el Cómo de un proyecto de integración. </li></ul><ul><ul><li>Algunos Datos. </li></ul></ul><ul><ul><li>Como lo hicimos? </li></ul></ul><ul><ul><li>Mas detalle. </li></ul></ul><ul><li>Que Aprendimos. </li></ul><ul><ul><li>Lecciones Aprendidas. </li></ul></ul><ul><ul><li>Recomendaciones. </li></ul></ul><ul><ul><li>Algunas Reflexiones. </li></ul></ul><ul><li>Próximos Pasos. </li></ul><ul><ul><li>WS-*. </li></ul></ul><ul><ul><li>Capa GPN (Gestión de Procesos de Negocio) </li></ul></ul>
    3. 3. Obstáculos : Agilidad Operacional <ul><li>Agilidad Operacional </li></ul>↑ Cambios + Impacto ↓ = Flexibilidad
    4. 4. Obstáculos : Agilidad Operacional Recaudador S2K Facturador CBSS Averías Cliente 1 App1 Cliente 2 App1 Cliente 3 App2 App3 Cliente 4 App3 Cliente 5
    5. 5. Obstáculos : Agilidad Operacional Recaudador S2K Facturador CBSS Averías Cliente 1 App1 Cliente 2 App1 Cliente 3 App2 App3 Cliente 4 App3 Cliente 5 Nuevo Facturador Nuevo Facturador Kenan
    6. 6. Obstáculos : Agilidad Operacional : Implicaciones Alta Dependencia Alto Acoplamiento Poca P rotección Tecnológica Grandes Impactos ante un Reemplazo. Información Redundante. Alta Complejidad.
    7. 7. Obstáculos : El Bombardeo Tecnológico EDA SOA REST BPM MOM WS-* MDA JBI SaaS Web 2 CEP
    8. 8. Obstáculos : El Equilibrio : Toma de Decisiones Madurez comunidad ROI Open Source Prueba de Concepto mapa de ruta Matriz de funciones Evaluación
    9. 9. Obstáculos : La Evolución Constante Fuente: Forrester
    10. 10. Obstáculos : Como vender un proyecto de Integración ? Protege la inversión tecnológica. Proporciona Agilidad Operacional. Independiente de tecnología. Evita la Información Redundante. Acelera la implantación de proyectos BPM. Lenguaje Común. Único Punto de Acceso. Proporciona una arquitectura simple, flexible, reusable. Proporciona una arquitectura mantenible, desacoplada e interoperable. No es fácil de vender!!! etc.
    11. 11. Obstáculos : En Resumen Agilidad Operacional Comprender la sopa de letras Equilibrio en la Selección de alternativas Evolución y Adaptación Vender integración <ul><li>Agilidad Operacional </li></ul>?
    12. 12. Introducción : Como enfrentamos esos obstáculos?
    13. 13. Introducción : Como enfrentamos esos obstáculos? Se conceptualiza el Mapa de Arquitectura Corporativo Se inicia el desarrollo Del piloto PIC Se introduce el PIC como Componente piloto. Oct 2004 Nov 2004 Ene 2005 Dic 2005 Se inicia el desarrollo del piloto PIC
    14. 14. Introducción : Como enfrentamos esos obstáculos? Poco control de la Tecnología. Errores no documentados . Soporte y resolución de problemas lento. Consultoría Externa muy costosa . Alto impacto ante los cambios . Poca Experiencia . Inmadurez .
    15. 15. Introducción : Como enfrentamos esos obstáculos? Se fortaleció la metodología y procesos de QA. Se conocen aspectos técnicos y lógica de integración. Se potencia la capacidad de evaluación. En el piloto se descartan tecnologías. Se reforzaron áreas funcionales.
    16. 16. Introducción : Como enfrentamos esos obstáculos? Se introduce el PIC como Componente mediador para AT Proyecto Atención Total Desarrollo de Atención Total Se introduce Nuevo Recaudador y Facturador para CANTV Ene 2006 Ene 2006 Feb 2006 Feb 2007 <ul><li>Utilizar dos proveedores uno Open Source y el otro Propietario. </li></ul><ul><li>Se decide usar una sola tecnología. </li></ul><ul><li>Open Source. </li></ul>
    17. 17. Obstáculos : Recomendaciones <ul><li>Introducir una plataforma de integración como componente mediador de un proyecto mayor. </li></ul>
    18. 18. Obstáculos : Recomendaciones <ul><li>Utilizar Pilotos para seleccionar la tecnología ( no laboratorio ). </li></ul>
    19. 19. Obstáculos : Recomendaciones <ul><li>Producción nacional. </li></ul>
    20. 20. Plataforma de Integración PIC
    21. 21. Plataforma de Integración : Objetivo Desarrollar una plataforma de integración corporativa , que disponibilize funcionalidades existentes en diversos sistemas heterogéneos, realizando tareas de conexión, adaptación, transporte, transformación, integración , etc, mediante Servicios .
    22. 22. Plataforma de Integración : Que es un Servicio PIC? Facturador Recaudador Averías Aprovisionamiento F E Orquestación de Servicios Conector Adaptador Filtro Transformador Servicio s/a WSDL HTTP SOAP JMS TCP T S S Enrutador Conector Lógica de Integración C Contrato
    23. 23. Plataforma de Integración : Algunos Datos Entra en produccion en Febrero del 2007 ... Se inicia el desarrollo en Febrero del 2006 ...
    24. 24. Plataforma de Integración : Algunos Datos Soporta areas funcionales como: Atencion al Cliente, Planes, Reclamos, facturación, aprovisionamiento, tasación, pagos, etc.
    25. 25. Plataforma de Integración : Algunos Datos Disponibiliza mas de 476 Servicios .. <ul><li>100 Web Services. </li></ul><ul><li>376 Servicios Batch. </li></ul>
    26. 26. Plataforma de Integración : Algunos Datos Servicios FTP... Transporte de Informacion Segura. Utilizacion del protocolo TCP/IP via FTP y SFTP. Logica de Integracion para Conexion y Transporte. Archivo A Archivo B Archivo C Archivo D Archivo E A+B+C+D+E F T-A+B+C+D+E T Archivo A Archivo B Archivo C Archivo D Archivo E Origen A Spliter IN Spliter Out Transformador Filtro XSLT
    27. 27. Plataforma de Integración : Algunos Datos Servicios Online Sincronos... Servicio WSDL Trasformar Xml1 a Xml2 Invocar S1 Xml1 Xml2i Transformar Split xml2 y Xml1 Servicio WSDL Invocar S1 Xml2i Servicio WSDL Servicio WSDL
    28. 28. Plataforma de Integración : Algunos Datos Maneja mas de 250 mil TX diarias ...
    29. 29. Plataforma de Integración : Algunos Datos Soporta multiples Protocolos. .. HTTP, SOAP, JMS, TCP, etc. Facturador Recaudador Averías Aprovisionamiento mainframe Adaptador HTTP SOAP JMS TCP
    30. 30. Plataforma de Integración : Algunos Datos Transporta mas de 250 Gigas de datos comprimidos mensualmente. ..
    31. 31. Plataforma de Integración : Algunos Datos <ul><li>Data Entry. </li></ul><ul><li>DM. </li></ul><ul><li>FrontWeb. </li></ul><ul><li>PAF </li></ul><ul><li>Qmatic. </li></ul><ul><li>SGCR </li></ul><ul><li>CtuC Conoce tu Cliente. </li></ul><ul><li>Atencion Total. </li></ul><ul><li>IVR. </li></ul><ul><li>IVR Centralizado. </li></ul><ul><li>RMCA. </li></ul><ul><li>Portales. </li></ul><ul><li>A futuro: CRM, PAO, WebTV </li></ul><ul><li>Etc... </li></ul>Conecta a mas de 40 Aplicaciones. .. OSS
    32. 32. Plataforma de Integración : Algunos Datos PIC Monitor PIC SMS PIC Completador PIC Estadisticas Framework FTP Mejores Practicas PIC JMS Plataforma de Integración Corporativa (PIC) Periféricas Herramientas
    33. 33. Plataforma de Integración : Algunos Datos <ul><li>Monitoreo de Servicios Web (Web Services). </li></ul><ul><li>Monitoreo de listeners (Sockets). </li></ul><ul><li>Agendar invocación de servicios. </li></ul><ul><li>Notificación de eventos mediante Email y SMS. </li></ul>PIC SMS y Monitor
    34. 34. Plataforma de Integración : Algunos Datos <ul><li>Invocación Fallida </li></ul>Servicio WSDL Trasformar Xml1 a Xml2 Invocar S1 Xml1 Xml2i Transformar Split xml2 y Xml1 Servicio WSDL Invocar S1 Xml2i Servicio Compensación Servicio de Compensación Orquestación de Servicios Servicio WSDL Servicio WSDL
    35. 35. Plataforma de Integración : Volver al Inicio Conocemos los obstáculos . Nos llevamos algunas recomendaciones . Conocemos que es un servicio PIC (Atributos Generales). Pero, cual es el cambio?
    36. 36. Plataforma de Integración : Volver al Inicio Recaudador S2K Facturador CBSS Averías Cliente 1 App1 Cliente 2 App1 Cliente 3 App2 App3 Cliente 4 App3 Cliente 5 Nuevo Facturador Kenan
    37. 37. Plataforma de Integración : Volver al Inicio Lógica de Integración Cliente 1 App1 Cliente 2 App1 Cliente 3 App2 App3 Cliente 4 App3 Cliente 5 Recaudador S2K Facturador CBSS Averías Nuevo Facturador Nuevo Facturador Kenan
    38. 38. Plataforma de Integración : Volver al Inicio
    39. 39. Plataforma de Integración : Como lo hicimos? OK Pero como lo hicimos?
    40. 40. Plataforma de Integración : Como lo hicimos? Utilizamos Procedimientos de Aseguramiento de Calidad...
    41. 41. Plataforma de Integración : Como lo hicimos? PICQA Aseguramiento de Calidad <ul><li>Procesos de Certificación. </li></ul><ul><li>Establecer Casos de Prueba. </li></ul><ul><li>Aplicar Casos de Prueba. </li></ul><ul><li>Despliegue en Ambientes. </li></ul><ul><li>Pruebas de Carga y Stress. </li></ul>Arquitectura Diseño y Especificaciones <ul><li>Diseño de Servicio. </li></ul><ul><li>Construcción de Especificaciones. </li></ul>Fabrica Construcción de Servicios <ul><li>Desarrollo de Servicios. </li></ul><ul><li>Pruebas Unitarias. </li></ul>Cliente Areas Funcionales <ul><li>Pruebas Funcionales. </li></ul><ul><li>Pruebas Integrales. </li></ul><ul><li>Certificación. </li></ul>
    42. 42. Plataforma de Integración : Como lo hicimos? Utilizamos una amplia gama de software Open Source
    43. 43. Plataforma de Integración : Como lo hicimos? Utilizamos SOA como estilo de arquitectura. Utilizamos un Bus de Servicios para la lógica de integración .
    44. 44. Plataforma de Integración : Como lo hicimos? Utilizamos herramientas para pruebas de carga y Stress, propietarias y Open Source . Utilizamos herramientas para pruebas unitarias Open Source.
    45. 45. Plataforma de Integración OK mas detalle?
    46. 46. Plataforma de Integración : Mas Detalle : Mule ESB <ul><li>EndPoints. </li></ul><ul><li>Routers. </li></ul><ul><li>Transformers. </li></ul><ul><li>Filters. </li></ul><ul><li>Transports. </li></ul><ul><li>Connectors </li></ul>
    47. 47. Plataforma de Integración : Mas Detalle : SOAP Testing Jmeter pruebas de carga Pruebas masivas tiempo de respuesta SOAPUI Monitoreo de Servicios Listener agendar SMS notificacion de eventos Email (ESB) monitoreo pruebas carga y stress XML Schemas Compliance Expresiones Xpath TestCase y TestSuite
    48. 48. Plataforma de Integración : Mas Detalle : SOAP Pruebas de Carga Mercury Load Runner, Jmeter
    49. 49. Plataforma de Integración : Mas Detalle : Infraestructura Física
    50. 50. Plataforma de Integración : Lecciones Aprendidas Lecciones Aprendidas
    51. 51. Plataforma de Integración : Lecciones Aprendidas Desarrollar servicios no asegura la interoperabilidad. Web Services Interoperability Organization (WS-I) Especificaciones y lineamientos Aplicaciones interoperativa Comprobación y Monitoreo Analyzer TOOL - WS-I Monitor Tool
    52. 52. Plataforma de Integración : Lecciones Aprendidas El contrato nos hace flexibles , proporcionan agilidad! La verdad: depende del modelo de implementación. Cambios en los contratos WSDL Regeneración de Proxis Extender las interfases Implementación Rota
    53. 53. Plataforma de Integración : Lecciones Aprendidas Con frecuencia, los servicios son adaptaciones específicas de las aplicaciones. Servicios Reusables Modelo de Datos Únicos Redundancia
    54. 54. Plataforma de Integración : Lecciones Aprendidas Es necesario establecer un equilibrio entre los conceptual y lo pragmático . Un mapa de Arquitectura Se puede implantar?
    55. 55. Plataforma de Integración : Lecciones Aprendidas Lecciones , Técnicas Utilizar namespace únicos Extender las interfaces para los proxies . Evitar el uso de underscore “_” en el nombrado de elementos. Evitar el uso de patrones f2v5 en el nombrado de elementos.
    56. 56. Plataforma de Integración : Recomendaciones Algunas Recomendaciones
    57. 57. Plataforma de Integración : Recomendaciones Aplicar Aseguramiento de Calidad previo a la Construcción de servicios (contratos ajustados, especificaciones claras antes de ir a construcción). Interfaz Ancha Servicios con interfaz “ancha” permite reusabilidad , Incluso si los servicios son diseñados “a la medida” de un cliente. 4ta Generación Codificar con herramientas de 4ta generación es bonito, fácil y aparentemente simple, pero cuando hay problemas, resolverlos es difícil
    58. 58. Plataforma de Integración : Recomendaciones Roll back No hacer diseños complejos Logs, Logs, Logs!!! Preparar una arquitectura reusable de manejo de Logs con niveles, homogénea y parseable . Logs en base de datos Olvidarse de Logs en BD simplemente no es buena idea . Errores en Web Services Manejo homogéneo de errores  Árbol de Excepciones (Fault)
    59. 59. Plataforma de Integración : Recomendaciones Auditoria Y Monitoreo Incluir como parte del Framework capacidades de Auditoria y Monitoreo. Viva la Orquestación Mas orquestación , interfaces mas complejas  menos llamadas de stack SOAP sobre la red. RPC mala idea Preferir WS Document / Literal en lugar de RPC encoded.
    60. 60. Plataforma de Integración : Recomendaciones Ir a lo Básico no olvidar lo elemental  Herramientas de control de versiones, ciclo de vida de artefactos de SW, manejo de incidencias / CC, Diccionario de Servicios + procesos claros es igual de relevante que la tecnología en uso Utilizar Document Style para los Web Services, es la mejor practica. No se rompen las implementaciones, o rientado a mensajes, extensible.
    61. 61. Plataforma de Integración : Recomendaciones Viva los Xml* Usar tecnologías X* para transformaciones de datos en la lógica del servicio  evitar cableado de transformaciones. BPM el futuro El alcance hasta ahora ha sido de servicios atómicos y orquestación de servicios de “corto aliento”  Próximo paso es modelar procesos de largo aliento sobre la capa SOA implantada. ( BPM ).
    62. 62. Plataforma de Integración : Reflexiones Algunas Reflexiones
    63. 63. Plataforma de Integración : Reflexiones La verdadera integracion es de la gente ...
    64. 64. Plataforma de Integración : Reflexiones La ausencia de un Arquitecto puede cambiar un Plan .. Prepara el Camino Blueprint Identifica elementos Heterogéneos . Pruebas de Concepto . Factibilidad Técnica .
    65. 65. Plataforma de Integración : Reflexiones La interoperabilidad es importante, utilize los tools de la WS-I ... WS-I Profile Conformance Report. WS-I Testing Tools Log File
    66. 66. Plataforma de Integración : Reflexiones Crear estándares , disminuye los riesgos de implementación. Nombrado de Servicios Web Services Exceptions. Xml Schemas. Orquestación de Servicios.
    67. 67. Plataforma de Integración : Reflexiones Existe la practica generalizada de construcción de servicios específicos para los clientes . Las interfaces deben evolucionar sin impacto a los clientes previos Es difícil de evitar Lineamientos. QA.
    68. 68. Plataforma de Integración : Reflexiones Pensamos en el desarrollo de software, pero no en como administrarlo y operarlo . No lo dejemos para el final.
    69. 69. Plataforma de Integración : Próximos Pasos
    70. 70. Plataforma de Integración : Próximos Pasos WS-*
    71. 71. Plataforma de Integración : Próximos Pasos Gestion de Procesos de Negocio BPEL
    72. 72. Muchas Gracias. Una buena implementación otorga grandes beneficios …

    ×