BizTalk, MOSS y WF. Y todos hablan de workflow y procesos de negocio!!
Recientemente, durante el descanso en un evento, a punto de atacarle a un café con su correspondiente bollo suizo (*), uno de los asistentes, conocido mío desde hace un montón de tiempo, me decía que había perdido la cuenta del número de distintos productos de workflow que se pueden encontrar en la plataforma Microsoft. Hombre, esto no es nuevo, y ciertamente tiene razón; por mencionar solamente algunos, encontramos workflow en Exchange, CMS, SharePoint -ahora ambos en MOSS-, BizTalk Server -aquí por partida doble, workflow de sistemas y workflow humano- Y por si acaso no era suficiente, en su momento, aparece Workflow Foundation como uno de los componentes de .NET Framework 3.0 (junto con Windows Presentation Foundation, Windows Communication Foundation y CardSpace). Hala, ¡que no falte de nada!
Para comprender por qué hay tres tecnologías que, aparentemente, realizan el mismo trabajo es importante conocer primero cuál es el ámbito de los distintos tipos de procesos.
Podemos hablar de dos grandes categorías de tipos de procesos:
- Procesos colaborativos: donde tenemos software diseñado para ayudar a la gente involucrada en una tarea común a conseguir su objetivo. La gente trabaja o interactúa de tres maneras principales, algunos lo denominan las tres C's:
- Comunicación: ejemplo: correo electrónico, mensajería instantánea, video conferencia ...
- Colaboración: involucra al trabajador del conocimiento, el knowledge worker, que trabaja en equipo; donde tenemos un repositorio de documentos y mecanismos para localizar esos documentos.
- Coordinación: además de comunicar y colaborar, las personas también trabajan juntas participando en procesos estructurados o semi -estructurados; como aprobaciones, revisiones de documentos, etc.
- Procesos transaccionales: son procesos altamente estructurados o fijos, con importantes diferencias con respecto a los procesos colaborativos, por ejemplo la velocidad, estos procesos mueven datos entre aplicaciones, por lo que trabajan a la velocidad de un ordenador. Un retraso de unos segundos puede significar un importante cuello de botella en un proceso; interfaz de usuario, no se requiere un GUI, pues los participantes son aplicaciones; número de participantes, el número de aplicaciones no suele ser elevado; sin embargo el número de participantes puede ser grande en cualquier tipo de organización; excepciones, las aplicaciones están disponibles cuando se necesitan; uno sin embargo tiene vacaciones, cambia de trabajo, de departamento, de posición, en fin, una lista interminable de posibles causas de excepciones.
Vemos entonces que hay un abanico de tipos de procesos, cada uno con unas necesidades y requerimientos distintos; cada uno con sus particularidades. Lo que está claro es que necesitamos ser ágiles en cualquiera de esas categorías; y debemos tener claro cuál es la mejor aproximación a cada tipo de escenario.
En el último TechEd Developers, celebrado el pasado año 2007 en Barcelona, hubo una sesión con especial éxito de crítica y público para tratar este tema. El título "How to Select the Right Combination of Microsoft Office SharePoint Server, Windows Workflow Foundation, and BizTalk".
Esta sesión describía las capacidades de BizTalk Server, Workflow Foundation y MOSS. El resumen final, con recomendaciones de alto nivel sería:
Cúando BizTalk Server:
- Complejos procesos de negocio
- Requisitos de escalabilidad y alta disponibilidad
- Necesidades de integración de entornos heterogéneos (EAI o B2B)
- Entornos EDI (con soporte ahora de AS2)
- Entornos RFID (nuevo motor RFID en BizTalk Server 2006 R2)
- Soluciones verticales: SWIFT, HL7, RosettaNet
Cuándo Workflow Foundation:
- Aplicaciones departamentales
- Procesos entre aplicaciones
- Soluciones personalizadas
- Librería personalizada de actividades
- Framework de desarrollo
Cuándo MOSS:
- Procesos departamentales alrededor del Information Worker
- Aprovechar entorno ya existente de SharePoint
- Personalización del usuario
- Procesos alrededor de SharePoint: tareas, vistas, documentos
El mundo no es blanco y negro, así que en soluciones en la vida real tendremos la posibilidad de combinar las tres tecnologías y que cada una de ellas juegue su papel en el terreno para el que ha sido desarrollada.
(*) el bollo se escapó 'vivo y coleando'.