En el entorno actual de cambios constantes, las organizaciones están obligadas a emprender una búsqueda continua de nuevos métodos para consolidar ventajas competitivas sostenibles. En 80% de los eventos de negocio que provocan cambios con impacto significativo, se requiere modificar código de alta complejidad, concentrado alrededor de la evaluación e implementación de reglas de negocio. Desafortunadamente, el mayor obstáculo para que las organizaciones se adapten ágilmente a cambios, son los ambientes heterogéneos generados por TI a lo largo de varios años, compuestos por islas automatizadas de sistemas inflexibles, que sólo generan beneficios marginales y locales a departamentos funcionales[1].
Hoy en día, el enfoque tradicional de desarrollo y administración de software genera un desperdicio organizacional enorme y no permite responder adecuadamente a los nuevos retos, ya que los sistemas son construidos para durar y resolver problemas funcionales de bajo nivel de abstracción. Para tener éxito, las organizaciones requieren un nuevo enfoque de solución, basado en el aprovechamiento de tecnologías de información diseñadas para soportar la adaptabilidad y la agilidad organizacional.
Nuevo Enfoque de Solución
El escenario delineado por estos hechos nos obliga a considerar un nuevo enfoque de solución a nivel proceso, arquitectura y herramientas para el desarrollo de software empresarial; donde una de las metas centrales debe ser un manejo ágil y eficiente de reglas de negocio.
En este artículo, veremos un ejemplo de la plataforma y arquitectura del nuevo enfoque de solución, cuyos objetivos generales son: (a) Asegurar que la calidad de los sistemas se mantenga alineada a los objetivos cambiantes de la organización; (b) Contar con sistemas fácilmente adaptables a las necesidades de evolución de la organización; (c) Disminuir el riesgo, costo y complejidad de los proyectos de software; (d) Disminuir la complejidad de la administración del ciclo de vida completo de los sistemas (desarrollo, soporte y evolución).
BPMS
El nuevo enfoque está centrado en el uso de un BPMS. En este caso utilizaré como referencia el Carnot Process Engine, un producto de Carnot AG (www.carnot-usa.com). Este producto se basa en estándares abiertos, funciona sobre cualquier servidor de aplicaciones J2EE, y facilita la integración de aplicaciones y datos empresariales en ambientes heterogéneos bajo una arquitectura orientada a servicios (SOA). Para entender el funcionamiento de un BPMS como este, es importante entender cómo funciona el patrón Modelo-Vista-Controlador (MVC) [2].
En la Figura 1, podemos ver un proceso de adquisición de clientes, mapeado e integrado en el CARNOT Definition Desktop, donde podemos ver aplicaciones y datos empresariales integrados a un mismo nivel de abstracción. El motor de procesos de CARNOT juega el rol de Controlador bajo el patrón MVC, ya que es el orquestador que sincroniza a todas las entidades de negocio requeridas para generar valor. En este caso, otorgando un crédito a un nuevo cliente. En el mismo contexto, las aplicaciones (“Página Vista de Promoción”, “Página de Actualización” y “Panel de Autorización”) son las Vistas y los datos (“Crédito” y “Clientes”) son los Modelos.
Figura 1. Aplicaciones y Datos Empresariales Integrados en el CARNOT Definition Desktop.
Interfaz Rica de Usuario
Otro aspecto clave de esta solución es contar con un elemento para generar interfaces de usuario ricas de manera rápida y sencilla. En este caso, mi voto se va al Composite Application Integrator (CAI) de Software AG (www.softwareag.com), que es una herramienta para desarrollo acelerado de RIAs (Rich Internet Application) utilizando AJAX.
Nota del Editor: AJAX es una abreviación de “Asynchronous Javascript and XML communication”, una tecnología orientada a proveer funcionalidad rica —como en aplicaciones de escritorio— en clientes web. En artículos próximos hablaremos más sobre AJAX.
Arquitectura del Nuevo Enfoque
En la Figura 2, podemos apreciar la arquitectura MVC-SOA sobre la plataforma J2EE extendida por el CARNOT Process Engine y el CAI Server, desde el punto de vista del ambiente de desarrollo.

Figura 2. Perspectiva de Desarrollo de la arquitectura.
Un aspecto importante a resaltar, es que el CAI implementa Vistas mediante dos componentes lógicos complementarios: las interfaces gráficas, que son ejecutadas del lado del cliente, y los adaptadores, que son ejecutados del lado del servidor (ver también Figura 3). Estas interfaces son construidas visualmente como simples “cascarones”, ya que no manejan los datos de entrada ni los de salida; esta responsabilidad, junto con las validaciones de estos datos, la comunicación con lógica de negocio del lado del servidor, e inclusive algunos manejos de navegación, las tienen los adaptadores, que son componentes sencillos escritos en Java, que el desarrollador puede hacer con el IDE de su elección.
En la Figura 3, podemos apreciar esta arquitectura desde el punto de vista del ambiente de ejecución.
Figura 3. Perspectiva de Ejecución de la arquitectura. Algunos aspectos clave a resaltar son: a) la gran flexibilidad para la implementación de los clientes, b) la claridad de la arquitectura para todos los partícipes de las soluciones, y sobre todo, c) la visibilidad de la solución en términos financieros a nivel negocio; ya que las métricas de desempeño del sistema de negocio (incluyendo las relacionadas con todas las piezas tecnológicas orquestadas por CARNOT) quedan registradas con precisión en el Audit Trail (bitácora de operaciones), y pueden ser monitoreadas en tiempo real. De la misma manera y entre otros beneficios, se puede conocer el estado de cada una de las actividades, y de cada una de las instancias del proceso automatizado, incluyendo las actividades manuales orquestadas.
Para finalizar, quiero enfatizar que tanto la evaluación, como el manejo de las reglas de negocio, quedan a nivel del BPMS, explícitos en los modelos de procesos, e independientes del código.
Referencias
1. Roberto Silva, “BPMS: La Nueva Plataforma de Misión Crítica”. Software Guru, Año 01 No. 4, Julio-Agosto 2005.
2. Alfredo I. López, “El Patrón MVC: Separando Responsabilidades para Brindar Flexibilidad”.
Software Guru, Año 1 No. 02, Marzo-Abril 2005
Acerca del Autor
Roberto Silva es VP de Marketing y Desarrollo Organizacional de TCDS (www.tcds.com.mx). Es consultor asociado de FUNDinnova y miembro activo del BPMG.org, BPMInstitute.org y KMInstitute.org. Estudió Actuaría (UNAM), cuenta con diploma y certificaciones en 8 Omega (BPMG), dirige el desarrollo permanente de los Diplomados Impulsare, cuenta con certificaciones de Rational en Implementación de RUP, Análisis y Diseño Orientado a Objetos usando UML, Administración de Requerimientos usando Casos de Uso, y Administración de Proyectos de Software Iterativos.
- Log in to post comments