2/14/2009

Características de una organización y gerencia moderna

¿Porque persiste en la mayoría de las organizaciones la situación de apatía e indiferencia en la utilización de las tecnologías?. La mayoría de los gerentes están aislados de la evolución natural de las TI, por ende no tienen la capacidad de incentivar acciones dirigidas a la mejora continua en todos los estratos estratégicos, tácticos, y operacionales de una organización.

La velocidad de los cambios que requerimos no esta acorde con el nivel de madures presente en el mundo de TI. Un ejemplo palpable es el desconocimiento de SOA a nivel gerencial y su estrecha relación con el concepto del gobierno digital, un mundo donde todas las organizaciones desplieguen servicios relacionados en aras del bien común del ciudadano.

Todavía no percibimos que existe una conexión evidente entre las tecnologías de información y la calidad de vida de los ciudadanos.

Sobre estas premisas y realidades que son palpables en muchas organizaciones, quiero compartir con la comunidad los atributos que debe caracterizar a una organización y gerencia moderna.

Estos son los atributos de una organización moderna:

Las organizaciones modernas tienen un propósito y una dirección clara, visible, y transparente.

Las organización modernas tienen una cultura organizacional que incentiva la innovación y el desarrollo de equipos de alto desempeño.

Las organizaciones modernas diseminan, contagian, transmiten, comparten, y evangelizan su visión de negocio mediante estrategias de comunicación claras y precisas.

Las organización modernas conocen que su valor descansa en las personas.

Las organización modernas atraen y retienen a campeones.

Las organizaciones modernas conocen el poder de los wikis, blogs, comunidades virtuales, etc.

Las organizaciones modernas estimulan la participación.

Las organizaciones modernas están conformadas por estructuras organizacionales horizontales.

Las organizaciones modernas conocen el valor de las métricas.

Las organizaciones modernas conocen el valor de los estándares.

Las organizaciones modernas conocen el valor del software libre y Open Source.

Las organizaciones inteligentes tienen claro los objetivos estratégicos, tácticos y operacionales y su relación con las actividades que desarrollan las personas que la integran.

Las organizaciones modernas conocen la importancia de la formalización de sus procesos, pero consideran de mayor valor agregado su automatización.

Las organizaciones modernas conocen la importancia del modelado de procesos de negocio,

Las organizaciones modernas se centran en la mejora continua de sus procesos,

Las organizaciones modernas miden el desempeño general de sus procesos para evaluar su eficiencia.

Las organizaciones modernas conocen la relación entre el concepto de agilidad operacional y los diversos estilos de arquitectura y tecnologías como SOA, ESB, MOM, EDA, BRE, CEP, BPM, etc.

Las organizaciones modernas desarrollan estrategias para diseminar e incentivar la utilización de las disciplinas BPM.

Las organizaciones modernas utilizan SOA como estrategia para disminuir costos.

Las organizaciones modernas utilizan SOA como estrategia para evitar la dependencia con sistemas de soporte operacional y de negocio.

Las organizaciones modernas utilizan ESB como estrategia para implementar las necesidad de integración en ambientes heterogéneos de forma ágil y eficiente.

Las organizaciones modernas utilizan BRE como estrategia para automatizar sus reglas de negocio

Las organizaciones inteligentes conocen el valor de almacenar el conocimiento.

Las organizaciones inteligentes incrementan exponencialmente su eficiencia de negocio mediante actividades de investigación y desarrollo.


2/09/2009

STC foro 2009

Este año, tendré de nuevo la oportunidad de incentivar el uso efectivo de las tecnologías de información en las organizaciones mediante la ponencia “Como automatizar los procesos de negocio con orientación a Toma de decisiones, utilizando software Open Source y las arquitecturas SOA, ESB, BPM, CEP y BRE.”.

Invito a toda la comunidad, para que asistan A STC Foro 2009, un evento que se convertirá en un espacio para transformar e impulsar ideas que puedan ser aplicadas para mejorar nuestra relación con las tecnologías, un espacio para conectarnos con las temáticas del futuro, un espacio para enriquecer nuestra visión, un espacio para impulsar cambios, un espacio para conversar sobre tecnología y tomarnos un café con buena compañía. Un espacio para motivar e inspirar.

Sinopsis
La mayoría de las organizaciones, no utilizan las tecnologías de información y comunicaciones de forme efectiva, generando escenarios donde la toma de decisiones es ineficiente, con poco o ningún análisis, produciendo una perdida de capital, ventas y recursos. Por otro lado no existe el concepto de mejoramiento continuo de procesos, basado en el análisis y medición en tiempo real de diversas variables de negocio. Esta situación, genera un esquema de decisiones aislado, que no puede ser monitoreado, controlado, ni mejorado, por ende; el ejercicio de toma de decisiones es pobre, inconsistente, y costoso.

En esta ponencia, hablare de las estrategias para mejorar la toma de decisiones en la organización, mediante la utilización de tecnologías de software Libre y Open Source, realizare una demostración técnica que establecerá las bases para el desarrollo de un marco de decisiones basado en la aplicación de los estilos de arquitectura SOA, ESB; las disciplinas de BPM, y tecnologías BRE y CEP. Trabajare sobre un proceso que incluirá la identificación, formalización, estandarización, modelado, automatización, y monitoreo de variables que puedan ser medidas, mejoradas y optimizadas.

Agenda Preliminar.

La ponencia, estará conformada por 5 bloques de conocimiento: decisiones, estilos de arquitectura, BPM, demostración técnica, y conclusiones.
  1. Definición de decisión, clasificación, inhibidores en el proceso de toma de decisiones, y áreas de mejoras.
  2. Definición, historias, anécdotas e importancia de la aplicación de arquitectura SOA, ESB, BRE en una organización para mejorar el proceso de toma de decisiones.
  3. Definición, importancia, disciplinas relacionadas, y estrategias de adopción de BPM en las organizaciones.
  4. Escenario Real y demostración de diversas tecnologías para potenciar la creación de un marco de tomas de decisiones, que incluirá el modelado, automatización (servicios de datos, servicios de decisión, orquestación de servicios, orquestación de procesos, y patrones de workflow), gestión de eventos, y monitoreo de procesos de negocio.
  5. Recomendaciones, lecciones aprendidas, reflexiones y conclusiones.
Este en el link del evento: http://www.stcforo.com

1/30/2009

BPM procesos y decisiones

Hoy en día, la mayoría de las organizaciones tienen un esquema de decisiones aislado, que no puede ser monitoreado, controlado, ni mejorado, por ende; el ejercicio de toma de decisiones es pobre, inconsistente, y costoso.

Se requiere un nuevo enfoque, un cambio de dirección estratégico, donde los procesos sean modelados para apoyar la toma de decisiones.

Un elemento que muchas veces no contemplamos, es la necesidad de identificar y formalizar las decisiones que impulsan el negocio y sus áreas clave de procesos. De allí, debemos partir.

En este grafico, podemos ver las diversas verticales de un proyecto BPM, donde los servicios de decisiones están sustentados en el monitoreo de variables de negocio. Lo clave es mapear estas variables; con decisiones para optimizar áreas operativas (OSS) y de negocio (BSS) en la organización.
El verdadero valor de BPM, descansa en la capacidad de mejora continua de las decisiones, haciéndolas mas precisas, consistentes, rápidas, ágiles, y económicas.

1/11/2009

La Innovacion, su esencia.

Hablar de innovación parece complejo, y comprender como llegamos a ella aun más. La innovación requiere de liderazgo, planes, y pensamientos audaces, lo que la hace tan difícil de obtener.

Necesitamos actores que puedan producir, transmitir, y transferir una visión que estimule e incentive la creatividad en nuestras casas de estudio y en las organizaciones. Es vital que comprendamos que la innovación es un instrumento de cambio, que puede propulsar proyectos en diversas áreas de interés estratégico.

Es muy común, escuchar de diversos actores la palabra innovación, como si fuera un sello del trabajo hacia futuro, un sello de “Se que es bueno, pero no se como aplicarlo a mi entorno”.

En realidad, la innovación debe estar acompañada de un cambio de paradigma, donde las habilidades de comunicación acertadas y claras, son las que potencian una idea que puede desencadenar eventos de cambio.

Un ejemplo de esta realidad: la mayoría de las organizaciones no utilizan las tecnologías de información de forma efectiva, y al menos más del 70% de sus decisiones están soportadas por hojas en excel. Para crear un marco de decisiones claro, se necesita investigación, divulgación, ideas audaces, conocer de tecnología y como la podemos utilizar para mejorar las relaciones ciudadano, servicios, cliente, producto, mercado, etc.

Debemos incentivar la creación de organizaciones orientadas en la innovación, como instrumento del desarrollo organizacional y humano, pienso que cuando comprendamos y utilicemos estos conceptos con una visión de mejoramiento continuo, podremos impulsar la creación de patentes, ideas, sueños, visiones, etc., elementos tan necesarios en nuestro país.

Lamentablemente, todavía no he observado un plan estratégico claro y contundente para introducir estos conceptos en las organizaciones. Estoy convencido que requerimos de espacios que permitan ejercitar la creatividad, proponer ideas, con una dirección precisa y clara basada en las necesidades del país. Por otro lado; necesitamos que el estado apoye estas iniciativas de forma transparente, necesitamos que confíen en nuestras habilidades, utilicemos mano de obra nacional, desarrollemos un marco de trabajo que nos permita aparecer en los diversos informes de análisis de competitividad y desarrollo tecnológico, porque si no lo saben; no aparecemos.

Para finalizar, necesitamos un liderazgo, que desarrolle y aliente planes y pensamientos audaces, que incentiven la creación de un marco de creatividad e innovación, capaz de insertarnos en los diversos informes mundiales de desarrollo tecnológico.

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.

11/08/2007

Una gran verdad: SOA (Arquitectura orientada en servicios)

Las promesas de SOA como estilo de arquitectura, donde se promete una infraestructura de TI adaptable, ágil, y eficiente; en toda su cadena de valor, debe manejarse con mucho criterio, porque su implantación introduce cambios profundos y significativos, generando grandes riesgos, pero también una amplia gama de oportunidades.

La disminución de costos sustentada por el reuso de servicios, la protección de la infraestructura de TI través del desacoplamiento de los sistemas de soporte operacional, el desarrollo de software pensado para la integración, la disminución de costos de mantenimiento, la reducción del impacto ante el cambio, la protección de la inversión y el retorno, son algunas de las ventajas descritas como sus beneficios.

En la practica, "Hacer SOA no asegura el retorno de inversión, la interoperabilidad, el bajo acoplamiento, ni la agilidad operativa; si este no esta acompañado de lineamientos de arquitectura, estándares, y especificaciones que disminuyan los riesgos de su adopción". Esta es una verdad, que debe ser extendida a toda la comunidad empresarial.

La importancia de SOA, desde el punto de vista organizacional, es que establece el mapa de ruta preliminar para la construcción de una plataforma de servicios, un rompezabezas inteligente de integración, que prepara el camino para implementar BPM (Gestión de Procesos de Negocios).

El mensaje fundamental, es aceptar; que "es necesario contar con un marco de prácticas acertadas, nociones aprendidas, y buscar un equilibrio entre la practica (ideas pragmáticas) y la visión conceptual, antes de desarrollar un marco o mapa de servicios".

9/09/2007

Los objetivos y la accion nacional

Hace poco, termine de leer un libro llamado "Cuentos Chinos" del conocido periodista Andrés Oppenheimer. En líneas generales se abordan temas y comparaciones entre sistemas económicos, culturas y estrategias; que incentiven el desarrollo sostenido, para que pueblo alcance la mayor suma de felicidad posible, como decía Bolívar.

Desde mi humilde perspectiva, considero que es muy fácil realizar comparaciones, en diversas áreas para decir lo que debemos hacer, el camino que debemos tomar, lo correcto, lo incorrecto. Las comparaciones tienden a evitar los problemas de mayor relevancia, porque cada experiencia, cada decisión, cada objetivo, descanso sobre escenarios, culturas y tiempos muy diversos. Yo creo firmemente que al final todo se trata de la acción.

Todo se trata de los objetivos y la acción nacional.

En América latina existe una visión muy pobre sobre la acción nacional. La acción nacional significa poner en práctica de forma pragmática y creadora, las ideas que pueden cambiar los escenarios de desarrollo actuales de una nación.

Esta claro como el agua, que nuestros países nos hemos dedicado a explotar nuestros recursos naturales, esa siempre ha sido la estrategia, la vendemos y los otros países mas desarrollados crean productos a partir de esa materia prima. Es muy sencillo desde el punto de vista económico, el problema radica en que no utilizamos estos recursos para crear productos de mayor valor agregado.

Los objetivos nunca han estado a la altura de las necesidades de desarrollo de la nación, cuando hemos escuchado a un presidente decir? "Nos convertiremos en una potencia mundial en el desarrollo de circuitos y componentes electrónicos" o "Seremos los primeros en el desarrollo de software y robótica" o "Desarrollaremos una lapto 100% venezonala, sin importar ningún componente del exterior, y me pregunto yo.... eso no es soberanía tecnológica?.

Si somos el primer exportador de aluminio, porque no hacemos barcos, artefactos electrodomésticos, piezas mecánicas, componentes electrónicos?, existen ejemplos de países que sin recursos naturales, han salido del subdesarrollo mediante la utilización del conocimiento.

El conocimiento se fue de parranda

En los países de América latina, el conocimiento no es el factor predominante de las estrategias nacionales de desarrollo
, la mayoría están basadas en la extracción de materias primas, la agricultura y otras áreas de dependen de la tierra como mecanismo de desarrollo.

Seguimos viviendo en el pasado, para darles un ejemplo, el grueso de la economía mundial esta en área de servicios, luego en el sector industrial, y de ultimo el manufacturero y agrícola. Si no cambiamos nuestros objetivos, como podremos entrar en la era del conocimiento?

Un ejemplo significativo es Holanda, primer productor de flores en el mundo, pero ellos no tienen casi tierra, el clima es malísimo, no hay mucha agua, condiciones contrarias a las de un país de América latina , es increíble verdad?, la diferencia fundamental es que este país pequeño quiere, acciona, y además tiene un objetivo claro, !Ser el primero¡ y para ello utiliza la ingeniería genética, su capacidad de distribución, y el marketing, es decir "Conocimiento Aplicado y Pragmático".

Necesitamos producir Ideas

Para crear productos de mayor valor agregado, necesitamos producir ideas, y desarrollar una infraestructura que potencie la educación, las ciencias y la tecnología.

La actual infraestructura de conocimiento, no es acta para sustentar estos cambios, es anticuada, desconectada del campo profesional, es necesario y vital, contar con expertos en ingeniería genética, electrónica, biotecnología, software, nanotecnologia, robótica, etc. Para desarrollar la bomba atómica, los EEUU recurrieron a los mejores cerebros de Alemania, porque no buscamos a los mejores en todas estas áreas, modificamos toda la infraestructura universitaria, para evitar que en la universidades todavía se imparta "COBOL", "Z80", etc., tecnologías viejas.

Conclusiones

Existen muchas Estrategias para cambiar esta realidad, el problema; es que no existe una acción política contundente e innovadora que vitalice, y prenda los motores para iniciar un cambio, una transformación, una revolución.

8/27/2007

BPM : BPMN, BPEL, BPEL4People y la Optimizacion de procesos.

BPM esta en plena ebullición, evolucionando y creciendo en su aceptación, con una rapidez significativa, BPM significa formalizar los procesos de una organización, significa manejar los objetivos de negocio de forma clara, con responsables y entregables conocidos. BPM habla sobre el diseño, la implementación y optimización de procesos, sobre la definición de procesos, no de forma funcional sino ortogonal a todas las unidades de negocio involucradas en obtener un determinado objetivo, por ejemplo: El tiempo de aprobación del otorgamiento de un trámite, no debe exceder de 4 días.

BPM es la evolución de los conocidos sistemas de workflow, BPM se adapta a un mundo de servicios (Web Services), donde workflow no tiene tanta fortaleza. BPM habla de interacciones sistema-sistemas para la orquestación de servicios y proyectos de integración; workflow habla sobre interacciones humano-sistema, orientado al flujo de documentos, transacciones, aprobaciones, escalamiento, etc. BPM esta sustentado sobre estándares como BPMN(Business Process Modelling Notation) que define la notación para el diseño de los procesos, BPEL(Business Process Execution Language) como lenguaje para la ejecución del proceso, y otros como BAM(Business Activity Monitoring) para medir el desempeño de los procesos, actividades y recursos disponibles.

La Realidad
BPM suena muy bien, pero la realidad es que su éxito no radica en conceptos tecnologicos sino es conceptos y estrategias politicas, de liderazgo y emprendimiento organizacional.

Si hicieramos algunas preguntas dentro de un contexto organizacional:
  1. Las organizaciones formalizan sus procesos?
  2. Las organizaciones cuenta con un indicador que responda a objetivos de negocio?
  3. Las organizaciones están continuamente evaluando sus procesos para mejorar?Las organizaciones optimizan sus procesos?
Estas incognitas, son dificiles de responder, debido al dinamismo que las organizaciones. Para poder responderlas debemos considerar algunos aspectos:

Aspecto Político

Para implementar BPM, es necesario que las organizaciones, este comprometidas políticamente en formalizar todos sus procesos de negocio, partiendo de una estructura organizativa con su objetivos, estrategias y ambientes formalizados. Se deben establecer los objetivos de negocio de todas las unidades, sus relaciones e interacciones, se debe romper la estructura funcional de cajitas por una visión mucho más ortogonal.

Aspecto de liderazgo

Este cambio debe ser liderizado por una unidad de procesos que defina los procesos futuros requeridos para soportar los objetivos y estrategias de negocio, un modelo de transición de los que es, a lo que será, proporcionando un mapa de ruta. Esta debe monitorear el cumplimiento de los acuerdos de servicios y áreas claves de procesos, modelar los procesos e iniciar los requerimientos para automatizarlos. Analizar el comportamiento dinámico de los procesos, para optimizarlos y alcanzar los objetivos de negocio.

Optimización de procesos.

Optimizar significa mejorar algo con el nivel de recursos apropiado. La optimización de procesos, debe partir de un modelo donde se conozcan los nivel acordados de servicios (SLA), son números que tienen un significado de negocio, que puede mejorar o desmejorar. Su manejo establece un parámetro indispensable para hablar sobre optimización de procesos. La planeacion estatregica, el balanced scorecard, la inteligencia de negocio son las fuentes que debemos tomar en cuenta para usar la palabra optimización.

Algunas Recomendaciones para implementar BPM:
  1. Sustente las necesidades de modelado de proceso de negocios, sobre requerimientos específicos de negocio (SLA (niveles de servicio acordados) y KPI (Areas claves de proceso)).
  2. Modele sus procesos utilizando la notación BPMN.
  3. Describa los procesos y eventos de negocio sobre una plataforma de integración SOA.
  4. Identifique actividades que puedan ser automatizadas y automatícelas.
  5. Mida el desempeño de los procesos basado en número reales.
  6. Utilice ambas aproximaciones (BPMN- BPEL y workflow) según el tipo de interacciones necesarias.
  7. Utilice BPMN- BPEL para la orquestación de procesos.
  8. Utilice sistemas de workflow para las interacciones humanas, pero basadas en servicios orquestados sobre una capa BPEL.
  9. Actualmente existe un gap entre BPM (business process management) y los sistemas de workflow, el cual pretende ser cerrado mediante la especificación BPEL4People.
  10. Utilice un modelo estándar de datos y servicios sobre un modelo internacional, por ejemplo NGOSS.
Saludos.

7/26/2007

Como desarrollar un Plan de Software Libre.

Actualmente, las empresas buscan modelos para incentivar la utilizacion de software libre y Open Source como estrategia para disminuir la dependencia tecnológica con proveedores y los costos asociados al licenciamiento y servicios.

Para impulsar y potenciar este modelo, es necesario establecer lineas de negocio claras, areas claves que agreguen valor (ROI), alcance y las áreas sobre las cuales puede evaluarse una posible aplicacion, hay que tener presente que el abanico de software libre, tal vez no es tan extenso y no cubre la mayoría de las necesidades y áreas de interés estrategico de TI.

Una idea general para comenzar un plan de migracion a software libre, es identificar en primer lugar las posibles áreas y aplicaciones que pueden ser sustituidas, los riesgos de su implantación y el ROI que puede ser obtenido (valor agregado).

Algunas Recomendaciones
  1. Sensibilizar a la organización para reducir la resistencia al cambio dentro de un marco organizacional establecido.
  2. Crear un grupo de acción multidiciplinario cuya función sera formular el plan.
  3. Realizar inventario de los sistemas de soporte operativo (sso disponibles) /Áreas actuales % (propietario vs open source)..
  4. Utilizar un marco referencias para los sistemas de soporte y de negocio operacional (OSS/BSS).
  5. Desarrollar una Matriz de madurez de las alternativas oss open source disponibles (actual, futuro).
  6. Desarrollar una matriz formal de evaluación de software libre.
  7. Realizar Estudio de Factibilidad(económica, técnica, política, etc.) de Migración.
  8. Desarrollar un mapa de ruta para iniciar la transición.
  9. Desarrollo del Blueprint de arquitectura para cada área funcional.
  10. Automatizacion de la transición.
  11. Divulgar casos de exito.

7/12/2007

Un universo de Tecnologias.














Vivimos en un entorno acelerado y exponencial, cada día es mas difícil mantener la vigilia de las tecnologías que surgen. Los gerentes de TI deben comprender un enorme universo de siglas, para poder generar valor en todos los estratos tecnologicos de una organizacion.

La realidad, es que el gerente se sumerge en el día a día, resolviendo y operando, no hay tiempo para la innovación y el cambio saludable necesario para proporcionar agilidad y eficiencia operacional.

Este universo, esta sustentado sobre una batería de ideas, conceptos, y practicas para mejorar las condiciones de negocio, haciéndolas mas flexibles y humanas, apoyando la automatizacion de procesos y toda la cadena de valores necesarios para crecer y mantenernos en un mercado tan cambiante. Es necesario y vital, promover la investigación y el conocimiento de estándares y mejores practicas como ITIL, ISO, CMM, etc.

Universo de tecnologías Claves

SOA: Estilo de arquitectura, que sustenta los servicios de una organizacion en contratos formalizados, promoviendo la reusabilidad como modelo para disminuir los costos de desarrollo, el desacoplamiento de tecnologías y la protección de la inversión.

BPM: La gestión de procesos de negocio, formaliza y estandariza los procesos de negocio, los automatiza, y desacopla las reglas de negocio.

ESB: Bus de servicios para proporcionar funcionalidades de transformación, adaptación, conexion, enrutamiento, etc. Disponibiliza servicios de integracion de alto desempeño y escalabilidad.

EDA: es una arquitectura que gestiona eventos en un marco de integracion.

MOM: Estilo de arquitectura basado en una infraestructura de mensajería sobre diversos protocolos y mecanismo de transporte.

7/10/2007

Sobran las palabras!

Una presentacion que demuestra que estamos viviendo tiempos exponenciales.

6/30/2007

SOAP vs REST

Desde hace dos años he estado trabajando en proyectos de integración basados en arquitecturas orientadas en servicios (SOA) y bus de servicios empresariales. Una de las características mas resaltante de SOA, es que esta basada en contratos, donde el proveedor establece las reglas de comunicación, el transporte, y los datos de estrada y salida que serán intercambiados por ambas partes.

Los beneficios son grandes, se incentiva la reusabilidad, la independencia de la tecnología de implementación, el manejo de contratos, etc., y muchas otras.

Dentro del mundo Open Source, proyectos como Axis y Xfire nos permiten exponer un componente java como un servicio Web (Web Services), mediante un contrato establecido en un archivo WSDL, el cual describe las reglas e interacciones posibles entre el proveedor y el consumidor. Por lo general, estas tecnologías disponen de componentes de software para crear clientes que consumen los servicios, a partir de los archivos WSDL (WSDL a Java, o WSDL a .Net, o WSDL a C++) conocidos como proxys.

Este tipo de arquitectura, tiene técnicamente algunos inconvenientes, que deben ser manejadas por los arquitectos de software.

La existencia de un contrato, establece algunas brechas con una situación existente en todas las organizaciones "El Cambio". Los clientes que consumen un servicio, están atados a un contrato de operaciones y mensajes (request y respose). Esta esquema no es muy flexible, porque la implementación esta acoplada al contrato, lo que indica que si efectuamos un cambio en el mismo, por ejemplo, la adicción de un nuevo atributo al contrato, las implementaciones se rompen, afectando a todos los clientes que consumen el servicio. En conclusión "Un cambio en el contrato de un servicio, afecta a todas las implementaciones de los clientes, técnicamente tendrán que regenerar los proxys para cada servicio”.

Hace poco tuve que intentar desarrollar un modelo que permitiera desacoplar los proxys ante cambios de los contratos. En la mayoría de las implementaciones el proceso de deserealizacion (xml a objeto), es donde falla, indicando que se incluye un nuevo elemento que no puede ser mapeado a un atributo de una clase java. Este inconveniente puede resolverse en Axis, implementando un proceso de deserealizacion customizado para que no tome en cuenta atributos nuevos.

En otros escenarios, donde el desarrollador no tiene control de las generaciones de estos proxys, la cuestión se complica.

Una alternativa, es el tipo de arquitectura REST, donde a diferencia del modelo anterior, el contrato solo es de entrada, por ende tiende a ser mas flexible y apropiado para el "El Cambio".

REST (Representational State Transfer), es un estilo de arquitectura que ofrece un buen desempeño, escalabilidad y abstracción de recursos, donde cada petición HTTP contiene toda la información necesaria para responder a la petición, sin necesidad que el cliente ni el servidor tenga que recordar el estado de su comunicación.

REST se diferencia de los Web Services por:
  1. REST ofrece recursos y representaciones variadas por ejemplo, xml, html, text, pdf, binarios, etc. y permite la utilización de links entre diversos recursos, por el contrario los Web Services solo manejan XML como documentos de intercambio basados en el protocolo SOAP.
  2. Los servicios web no están focalizados en recursos, sino en operaciones.
  3. REST depende directamente del protocolo HTTP (Hypertext Transfer Protocol), este expone siempre la misma interfase a todos los consumidores, mediante operaciones bien definidas: POST, GET, PUT y DELETE. Desde el punto de vista REST es mucho más escalable que los Web Services donde tenemos diversas interfaces, es decir diversas operaciones.
  4. REST, expone sus recursos a través de un URI (Uniform Resource Identifier); y permite cambiar el estado de un recurso a través de una de operaciones genéricas para todos los consumidores.
Recomendaciones
  1. Lo mejor es utilizar REST cuando sea necesario tener representación distinta a XML.
  2. Si el criterio de la escalabilidad tiene mucho peso dentro del blueprint de arquitectura, REST es la mejor opción porque permite que todos los recursos presenten la misma interfase a los clientes.
  3. SOA y Web Services, están apoyados sobre estándares y especificaciones de amplia madurez por ejemplo WS-Security, REST no cuenta por ejemplo con una amplia gama de estándares.
  4. Los Web Services pueden soportar mas protocolos de transporte como JMS, SOAP, etc. REST solo conoce HTTP.
  5. Si tenemos que ofrecer servicios de la sindicación de por RSS o ATOM, REST es la mejor opción.
En conclusión, ambas aproximaciones tienen sus ventajas y desventajas, el papel fundamental de arquitecto evaluar su utilización dentro del escenario mas apropiado para obtener un modelo de arquitectura ágil y eficiente.

Una referencia...

5/21/2007

Pruebas en SOA(Arquitecturas orientadas en servicios)

En arquitecturas orientadas en servicios, la realización de pruebas de Web Services es crucial. El performance, interoperabilidad y la identificación de vulnerabilidades son los pilares de un buen SOA Testing. Solo su comprensión asegura que la infraestructura sea robusta, escalable, interoperable y segura.

Los tipos de pruebas mas comunes que deben ser aplicadas en este tipo de arquitecturas son:

Pruebas carga: El objetivo de las pruebas de carga es determinar el rendimiento del sistema bajo condiciones de carga que se aproximan a la realidad esperada en producción. Esto nos permite:
  1. Determinar la escalabilidad del sistema en TX / seg vs. #Usuarios concurrentes.
  2. Validar que el dimensionamiento de la infraestructura de hardware fue el adecuado.
  3. En este tipo de pruebas, a diferencia de las pruebas de estabilidad, la carga se va aumentando cada vez más para determinar la escalabilidad del sistema.Una vez determinada la escalabilidad de la plataforma, se usa este valor para las pruebas de estabilidad.
Pruebas de Volumen: Encontrar debilidades en el sistema al momento de manejar grandes volúmenes de datos durante prolongados períodos de tiempo, el objetivo principal es determinar si la plataforma de integración se degrada o deja de funcionar al manejar grandes volúmenes de datos.

Pruebas de Estabilidad: Miden la estabilidad de los servicios con una fuerte carga sostenida en el tiempo (la carga no cambia). Los servicios no deben fallar y los tiempos de respuesta para una carga constante deben permanecer constantes. Gráfica tipo: tiempo de respuesta de un WS vs. tiempo (debe tender a líneas de pendiente 0).

Las aserciones que deben considerarse para realizar pruebas unitarias en web services son:
  1. Conformidad con el XML Schema.
  2. Contenido simple, Expresiones Xpath.
  3. SOAP Fault.
  4. Transacción por segundo (TPS).
  5. Máximo Tiempos de Respuesta (Response Time).
  6. Máximo numero de errores.
  7. Average o promedio.
Saludos Mijanautas.