11/09/2008

Complex Event Processing ( CEP )


Actualmente, CEP esta complementando estilos de arquitectura como SOA, ESB y BPM, proporcionando una visión orientada a la gestión de decisiones. CEP fue concebido para resolver problemas complejos de procesamiento de sucesos, en la cual se infieren o deducen situaciones; que se ha producido a partir de una combinación de eventos.

CEP proporcionara en el futuro, la plataforma para la toma de decisiones, basado en el análisis de situaciones de negocio y la detección de comportamientos complejos.

Desde el punto de vista de arquitectura, es vital comprender que CEP esta en una capa superior a la arquitectura EDA, el cual; se definen patrones para la producción, detección, consumo, y el procesamiento de eventos. CEP realiza un análisis más complejo, basado en algoritmos que pueden ser procesados en tiempo real.

En conclusión, CEP esta proporcionando una perspectiva única, para la toma de decisiones inteligente en la organización, identificando las normas y los datos que impulsarán los sistemas de inteligencia de negocio del futuro.

9/21/2008

Seminario de BPM (Business Process Managment) en Venezuela CNTI

Hace poco, tuve la oportunidad enriquecedora de dictar un seminario para el Centro Nacional de Tecnologías de Información (CNTI) en Venezuela, en donde abordamos los estilos de arquitectura SOA, ESB y BPM, y la importancia estratégica de insertarlos dentro de la cultura tecnológica como elementos claves para implementar el gobierno electrónico.

El Gobierno Electrónico esta constituido por una sociedad interconectada, donde existe un comité de servicios nacional, que identifica todas las áreas y dominios de servicios, necesarios para agilizar la relación estado-ciudadano. El trabajo de este comité, es desarrollar una visión holistica sobre los servicios de salud, educación, seguridad, control de gestión, política, etc; que requiere el estado y sus ciudadanos para obtener la mayor suma de felicidad posible, es decir el bien común.

Algunos ejemplos Básicos de servicios que deberíamos tener:
  1. Un servicio, para conocer el tipo de sangre de un ciudadano, tan necesario en los centros de salud.
  2. Un servicio, para conocer el record educativo de un ciudadano, y validar su solvencia.
  3. Un servicio, para identificar si un ciudadano tiene antecedentes penales.
  4. Un servicio, para conocer el número de trámites de un organismo, estatus, ciclo de vida, para la toma de decisiones, el control y la planificación estratégica.
  5. Un servicio para conocer el número de tierras destinadas a la siembra de caña de azúcar.
  6. Un servicio integral destinado a conocer la gestión de un organizamos sobre variables macro políticas, para el presidente de la nación.
  7. etc....
Son muchos los ejemplos, que pudieran existir; pero lo importante es el cambio que puede impulsar el CNTI para crear una base de implementación seria, contundente y viable, el CNTI pretende dictar ese camino, y revolucionar la manera en que utilizamos la tecnología en el pais.

Cuales fueron los objetivos de las charlas:
  1. Conocer las áreas de aplicación de SOA, ESB y BPM dentro de las organizaciones.
  2. Identificar los beneficios y ventajas de SOA y ESB como estrategia para la construcción de servicios.
  3. Gestión de Procesos de Negocio (BPM), disciplinas que la comprenden, beneficios y el cambio organizacional que introduce su aplicación.
  4. Entender las bases de la notación grafica BPMN.
  5. BAM como disciplina para la toma de decisiones.
  6. Estrategias para impulsar su aplicación, y el salto quántico que puede obtener la nación si accionamos, y no nos quedamos en el verbo.
Algunas Apreciaciones:
  1. Los analistas de procesos tiene un rol vital, en la identificación de indicadores de desempeño y el modelamiento de procesos de negocio.
  2. Es necesaria la creación de "tecnopoliticos", que desarrollen una visión integral de la vinculación necesaria entre la política y la tecnología para avanzar en la modernización del estado, y la creación de un mapa de servicios integrado e interoperable, que dicte las normas necesarias para obtener indicadores de gestión y desempeño, tan necesarias en el país.
  3. El crecimiento de los servicios de integración mediante la utilización de un bus de servicios, que permita la centralización de servicios de conexión, adaptación, transporte, transformación, mensajería sincrono y asíncrona, etc. sobre el concepto de servicios (SOAP sobre HTTP/JMS).
  4. La importancia de crear mesas de trabajo, donde los gerentes de TI comprenda la importancia de SOA, ESB y BPM como estrategias de transformación tecnología que simplifiques, aceleren y potencia la eficiencia y agilidad operacional.
  5. La necesidad de incentivar la clara separación entre servicios de gestión y desempeño, que permitan la toma de decisiones.
  6. El área de estandarización, tendra la responsabilidad de almacenar el conocimiento y las practicas aplicadas en el proyecto piloto, y crear lo que denomino “un marco para la implementación tecnopolitica del gobierno electrónico”, un modelo exportable. Basado en SOA, ESB y BPM.
En hora buena CNTI y el proyecto de servicios e integración nacional!

Nota del CNTI: http://www.cnti.gob.ve/index.php?option=com_content&view=article&id=682:cnti-y-cantv-dictaron-taller-sobre-gestion-de-procesos-de-negocios-y-las-alternativas-tecnologicas-libres&catid=43:actualidad&Itemid=87

8/28/2008

Una Propuesta Exportable

La mayoría de los países subdesarrollados, no están utilizando las TIC de una manera efectiva, a pesar de la gran diversidad de iniciativas existentes en los gobiernos; la mayoría de estos planes, proyectos, etc; sufren de la falta de coherencia, en la identificación de un mapa de responsabilidades tecnopolitico y la experticia necesaria para ejecutar planes de vanguardia tecnológica que mejoren la relación estado-ciudadano.

Uno de los principales problemas, es el desconocimiento en las líneas gerenciales de TI, acerca de las potencialidades de diversos estilos de arquitectura como: SOA, ESB, BPM como modelo para la transformación tecnológica e incentivar la mejora del nivel de servicios de los entes del estado. Otro aspecto es la falta de una decisión política compartida, que arrastre una visión de integración, su importancia y relevancia estratégica.

Esta situación sigue provocando un retraso tecnológico en las naciones para el despliegue de un verdadero mapa de servicios, que potencie y agilice todas todos los servicios y relaciones estado-ciudadano.

Líneas de Acción que deberian ser tomadas:
  1. Una línea de acción clave, es insertar los conceptos de estilos de arquitectura SOA, ESB, BPM dentro de las áreas gerenciales de TI de los entes del estado.
  2. Es necesario crear un organismo de alto nivel que suministré especificaciones, estándares y políticas para la construcción de un mapa de servicios nacional, e incentive la construcción de soluciones de software orientadas en servicios.
  3. Es necesario la creación de un comité de servicios nacional, que identifique los servicios, intercambios, y relaciones sobre un modelo de planificación estrategica.
Necesitamos una propuesta exportable

Los estados necesitan un modelo global de desarrollo tecnológico, un modelo productivo de alto impacto socioeconómico, político, administrativo, e integracionista; orientado a la generación de nuevas capacidades y potenciales nacionales. Este modelo debe estar sustentado en la utilización efectiva de las TIC, y debe convertirse en un modelo exportable e internacional. Su objetivo es mejorar las relaciones entre los ciudadanos y los entes de gobierno, agilizando todos los procesos en los cuales participan de forma transparente y efectiva.

Porque no pueden existir iniciativas, para el desarrollo de un proyecto internacional que acelere y potencie la utilización efectiva de las TIC. Porque no podemos crear una base de conocimiento pragmática y disponible, que sea compartida por los estados, universidades, donde la experiencia pueda ser distribuida con un solo fin: Mejorar la relación tecnopolitica de los estados, o países.

Objetivos de este proyecto


Su objetivo, seria acelerar la implantación del gobierno electrónico y generar capacidades nacionales, que contribuyan con el desarrollo integral de la nación, apoyando sus procesos, aumentando sus niveles de eficiencia, y proporcionando un modelo productivo, social e integracionista.

Que debe proporcionar?

Un proyecto de este tipo debe proporcionar estrategias, aceleradores, visores, y productos de valor público; orientados en tres aspectos fundamentales: la eficiencia operacional, los servicios y las políticas públicas.

Este propuesta exportable debe proporcionar:
  1. Un modelo para utilizar las TIC de forma efectiva, e icentivar el desarrollo de arquitectura SOA, ESB, BPM.
  2. Un modelo tecnológico para la utilización de software Libre y Open Source.
  3. Un modelo para generar capacidades nacionales TIC exportables.
  4. Un modelo para la utilización del conocimiento y su diversificación.
  5. Debe estar orientado a la mejora de la eficiencia y efectividad del estado y su relación con los ciudadanos.
  6. Debe estar orientado a la producción y no al consumo de tecnología (Desarrollo de patentes).
  7. Un modelo para responder a la evolución del mercado global y evitar el desfase tecnológico.
  8. Aceleradores para ingresar en el mercado global de forma efectiva y eficiente.
  9. Un modelo de trascendencia para el desarrollo humano.
  10. Estrategias para el desarrollo de capacidades tecnológicas, generación de patentes, ecosistema de innovación, calidad, y certificaciones.
Cuales serian los beneficios?
  1. Fortalecería el sistema nacional de ciencia, tecnología e innovación.
  2. Disminuiría el nivel de dependencia tecnológica de la nación.
  3. Protegería la inversión tecnológica y el retorno de inversión del estado.
  4. Reducirá entre un 30% y 40% en el presupuesto nacional orientado en el desarrollo de soluciones para el gobierno electrónico.
  5. Reducirá entre un 40% y 50% en el presupuesto nacional orientado al mantenimiento de infraestructura E-GOB.
  6. Impulsaría la relación ciudadano, mercado laboral, y la demanda.
  7. Generara mayor velocidad de despliegue de los servicios que el estado proporciona al ciudadano.
  8. Desarrollara nuevas capacidades en el área de las tecnologías de información y comunicaciones en el estado.
  9. Permitirá solucionar problemas en los países a escala mundial.
  10. Establece un modelo que puede ser replicado internacionalmente.
Tal ves la idea es muy grande, pero es perfectamente implementable!!!, es simplemente una propuesta exportable.

7/02/2008

Seminario de Intalio BPMS, SOA y ESB en Costa Rica

Hace poco tuve la oportunidad de ir a la Universidad Nacional de Costa Rica a impartir dos seminarios "SOA y ESB" y "BPM utilizando Intalio BPMS", donde aborde diversos temas de arquitectura empresarial y gestión de procesos de negocio utilizando las alternativas Open Source y de software libre: Mule ESB, ActiveMQ, e Intalio BPMS.
Quiero agradecer la hospitalidad que los tico me brindaron durante mi estadía; a Xenia y Dinia por toda la colaboración prestada, y al Sr. Francisco por su visión y capacidad de vigilia en el tema de nuevas tecnologías. La UNA (Universidad Nacional de Costa Rica), tiene un programa de especialización en el área de las tecnologías de información y la gestión de proyectos (PMI) llamada Progestic. Progestic esta planeando incorporar la Gestión de Procesos de Negocio (BPM) como un elemento dentro de su plan integral de capacidades, para convertirse en una guía en Centro América.
Ha sido una experiencia invaluable, donde he podido compartir con la comunidad estudiantil, empresarial y de gobierno; la importancia de incluir SOA, ESB y BPM como estrategia para utilizar las tecnologías de información y comunicaciones de forma efectiva y con una orientación clara en la gestión de procesos de negocio y todas las disciplinas que lo comprende; por supuesto utilizando software libre y open source.
Muchas Gracias UNA - Progestic - Costa Rica.
Nota: Pronto estaran disponibles para la comunidad las presentaciones que utilize para incentivar la utilizacion de BPM e intalio BPMS en la comunidad universitaria.

5/09/2008

Mapa de Servicios


Existen diversos tipos de servicios que pueden ser expuestos para una plataforma de integracion (SOA) o gestión de procesos de negocio (BPM). Este mapa contempla en lineas generales la categoría de servicios que puede ser utilizada para sustentar un buen modelo de implementación.

Saludos;

4/28/2008

Atributos de una Plataforma de integracion Corporativa

Cuando se necesita desarrollar una plataforma de integracion, es necesario conocer que parámetros deben ser utilizados para seleccionar las tecnologias que la sustentaran; ya sean libres o propietarias.

Un marco de arquitectura tecnológica debe proporcionar:
  1. Simplicidad.
  2. Flexibilidad y mantenibilidad (Tolerancia ante Cambios).
  3. Reusabilidad.
  4. Desacoplamiento.
  5. Extensibilidad.

Una plataforma de integracion debe poseer los siguientes atributos:
  1. Debe poseer una arquitectura de integración desacoplada, ágil, adaptable y de tecnología neutral.
  2. Debe garantizar el bajo impacto ante cambios en los sistemas de soporte operacional y los sistemas de negocio.
  3. Debe permitir una disminución significativa de la complejidad y dependencia tecnología de los ambientes heterogéneos.
  4. Debe considerar la evolución de las tecnologías y su adecuacion.
  5. capacidad de desacoplamiento mediante plug-in
Son estas las premisas que deben guiar el camino para seleccionar las tecnologías que implementaran los diversos estilos de arquitectura, basados sobre una especificación formal y sólida.

Para terminar algunas características:
  1. Debe poseer capacidades de Plug-in.
  2. Capacidad de interoperar con tecnologias distintas (conectores / adaptadores, etc.).
  3. Debe proporcionar un modelo desacoplado entre componentes.
  4. Los componentes no deben interactuar con otros componentes directamente.
  5. La semántica debe estar basada en mensajes.
  6. La definición de la secuencia de mensajes durante la ejecución de una operación debe estar basada en MEP.
  7. Clara separación entre la lógica de negocio (procesamiento) de la lógica de comunicación.
  8. Debe existir una clara separación entre los proveedores y consumidores de servicios.
  9. El modelo de intercambio de mensajes debe estar basado en WSDL 1.1 o 2.0.
  10. No usar metadatos propietarios en la definición de objetos de negocio (Xml Schemas).
  11. Modelo de implementación no-intrusivo.
  12. Ensamblado de servicios desde otro servicio, basado en reglas de negocio.
  13. Soporte de servicios sincronos, asíncronos, y conversacionales.
  14. Automatización de la transformación entre estructuras de datos dispares (semántica).
  15. Soporte para la simulación, testing y debuging.
  16. Definición del servicio con independencia de su implementación, localización o uso.
Consideraciones para elevar el nivel de desacoplamiento de la arquitectura:
  1. Capacidades de “Inversion of Control Containers”.
  2. Implementación del patrón de diseño “Dependency Injection pattern”.
  3. Capacidades y soporte para arquitecturas Event-driven architecture (EDA) y service-oriented architecture (SOA).
  4. Integración con JBI.
  5. Estandarización de la arquitectura para el enrutamiento de mensajes.
Saludos;

2/13/2008

Proyectos de Integracion SOA-ESB-BPM

Hace poco tuve el honor de participar como ponente en el evento STC Foro http://www.stcforo.com/home.php, para hablar sobre el desarrollo de proyectos de integración, y he querido registrar los puntos generales de mi ponencia en este blog, para contribuir con toda la comunidad. Es necesario decir, que estas recomendaciones provienen no solo de mi autoria, sino de todo un equipo magnifico de venezolanos, que con su profesionalismo y dedicacion contribuyeron con esta ponencia.

La agenda fue muy sencilla, y cubrí los siguientes puntos:
  1. Que obstáculos iniciales debe enfrentar una empresa para desarrollar un proyecto de integración?
  2. Recomendaciones.
  3. Algunas Reflexiones.
Que es un proyecto de integración


Un proyecto de integración es una plataforma tecnológica que sirve para disponibilizar funcionalidades existentes en sistemas heterogéneos, realizando tareas de conexión, adaptación, transporte, transformación, integración, etc, mediante servicios.
Un servicio es un artefacto de software que puede exponer una funcionalidad específica sobre diversos protocolos de transporte y lenguajes.

Que Obstáculos generales debe enfrentar un organización para desarrollar un proyecto de integración?
  1. En primer lugar, las organizaciones deben entender el concepto de agilidad operacional: Agilidad es contar con una plataforma tecnológica de servicios que soporte muchos cambios, pero que estos generen poco impacto. Las implicaciones de no poseer una plataforma de integración en una organización son: alta dependencia, alto acoplamiento, poca proteccion tecnológica, grandes impactos ante un reemplazo, información redundante, alta complejidad, etc.
  2. En segundo lugar soportar el constante bombardeo de los proveedores tecnológicos de estándares, tecnológias, y especificaciones que tienen como objeto primordial: "Entregar el Santo Grial: la Agilidad Operacional", términos como SOA, ESB, BPM, EDA, MOM son elementos de esa sopa de letras interminable.
  3. Una vez que hemos entendido esta sopa de letras, es necesario conseguir un equilibrio donde la evaluación de aspectos como la madurez de la tecnología, comunidad, soporte, open source o propietario, matriz de funcionalidades, pruebas de concepto, etc, son vitales.
  4. Otro obstáculo es la constante evolución de las tecnologías, fue en el 2004 cuando los Web services aparecieron en el escenario tecnológico, donde estarán las organizaciones en ese mapa de ruta?
  5. Por ultimo, y el mas importante como vender un proyecto de integración. Vender un proyecto de integración no es fácil, a pesar de todas las ventajas que promociona tecnológicamente.
Recomendaciones para afrontar estos Obstáculos:
  1. Introduzca un proyecto de integración como un componente más de un proyecto mucho mayor.
  2. Utilice pilotos, y no pruebas de concepto o laboratorio, los pilotos tienen un rango mucho mas amplio, el cual nos permite evaluar todos los aspectos técnicos necesarios para exponer servicios.
  3. Utilice la vigilia tecnologia y el direccionamiento como elementos claves de la estrategia organizacional.
Tips Generales:
  1. Desarrollar servicios no asegura la interoperabilidad: Utilice las herramientas de la Web Services Interoperability Organization (WS-I) para verificar si un web services o servicio es interoperable.
  2. El contrato nos hace flexibles, proporcionan agilidad: Eso es lo que por lo común nos venden, la verdad!, depende del modelo de implementación, por lo general; cambios en los contratos rompen las implementaciones de los servicios por lo que generalmente hay que regenerar los proxys (consumidores del servicio).
  3. Con frecuencia, los servicios son adaptaciones específicas de las aplicaciones: No es fácil crear servicios reusables, pero se deben contemplar servicios con la interfase lo más ancha posible (mayor numero de atributos).
  4. Es necesario establecer un equilibrio entre el conceptual y lo pragmático: aterrice el concepto que verdaderamente necesita.
Algunas Recomendaciones:

  1. Aplicar Aseguramiento de Calidad previo a la Construcción de servicios (contratos ajustados, especificaciones claras antes de ir a construcción).
  2. Diseñe los servicios con Interfaz “ancha” para potenciar la reusabilidad, Incluso si los servicios son diseñados “a la medida” de un cliente.
  3. Codificar con herramientas de 4ta generación es bonito, fácil y aparentemente simple, pero cuando hay problemas, resolverlos es difícil.
  4. Roll back: No hacer diseños complejos.
  5. Logs,Logs,Logs!!! : Prepare una arquitectura reusable de manejo de Logs con niveles, homogénea y parseable.
  6. Olviduese de Logs en base de datos, simplemente no es buena idea.
  7. Utilice un manejo homogéneo de errores (Web Services Árbol de Excepciones (Fault)).
  8. Incluir como parte del Framework capacidades de Auditoria y Monitoreo.
  9. RPC mala idea, Preferir WS Document / Literal en lugar de RPC encoded.
  10. Utilize Document Style para los Web Services, es la mejor práctica. No se rompen las implementaciones, orientado a mensajes, y es extensible.
  11. Ir a lo Básico, no olvide las herramientas de control de versiones, manejo de incidencias,etc.
  12. Viva los Xml*, evite cablear transformaciones, use tecnologías X* para transformaciones de datos en la lógica del servicio.
  13. BPM es el futuro.
Reflexiones
  • La verdadera integración es de la gente.
  • La ausencia de un Arquitecto puede cambiar un Plan.
  • La interoperabilidad es importante, utilice los tools de la WS-I.
  • Crear estándares, disminuye los riesgos de implementación.
  • Existe la practica generalizada de construcción de servicios específicos para los clientes, simplemente Evítelos.
  • Pensamos en el desarrollo de software, pero no en como administrarlo y operarlo. No lo dejemos para e final.

1/05/2008

Tecnologia Social

La constante evolución del mercado de las tecnologías de información, la necesidad de integración impulsada por nuevos modelos de negocio innovadores y emergentes, los marcos de arquitectura que prometen el santo grial: la agilidad operacional, están cambiando los conceptos organizacionales actuales.

Las organizaciones necesitan territorios creativos, lugares que impulsen propuestas para el desarrollo de una verdadera innovación. Estos territorios, serán los motores que generaran, aplicaran, y divulgaran nuevas tecnologías en todos los estratos de la organizacion, siempre orientada en la actividad productiva de la organización, la agilidad operacional, gobernabilidad, sus servicios, y el valor agregado.

Estas unidades, a los cuales yo llamo unidades de TI sociales, revolucionaran el modelo de organizacion actual, por el desarrollo de un ecosistema de conocimiento pragmático y creativo, un modelo de producción social de conocimiento tecnológico que pueda ser compartido y distribuido a toda la sociedad, fomentando la generación y desarrollo de emprendimientos tecnológicos externos a la organizacion.

El conocimiento debe ser compartido, distribuido, y utilizado como herramienta para aperturar las fronteras existentes en los organizaciones actuales.

Diferenciadores:
  1. Estas unidades de TI, comprenden que la exploración y anticipación tecnológica, es vital para proteger las inversiones y fortalecer la infraestructura de servicios con el nivel de calidad establecido.
  2. Son evangelizadoras, diseminadoras de tecnologías, estándares y arquitecturas de nueva generación.
  3. Promueven la transferencia de tecnología y el conocimiento, dentro y fuera del contexto organizacional.
  4. Diseminan el conocimiento y la ejecución de practicas en la organizacion.
  5. Difunden casos de éxito para impulsar modelos de implementación sobre un marco de cooperación abiertos.
  6. Aplican programas de investigación y desarrollo, evitan la teoría, son organizaciones pragmáticas.