1. Ejemplo: Condicionantes de negocio para SOA en una gran
empresa
Northern Electronics es un fabricante de componentes electrónicos
con sede en Everett, Washington, y dispone de una fábrica en
Nanjing, China, de la cual es accionista mayoritario.
La compañía está padeciendo diversas presiones competitivas y
está buscando la forma de aumentar su ventaja mediante una
gestión más eficiente de su cadena de valor. Existe un
consenso general dentro de la compañía al respecto de que, para
conseguirlo, habrá que identificar y aprovechar las oportunidades de
consolidación y automatización de las actividades de negocio que
componen la cadena de valor.
La gestión de pedidos en Northern Electronics involucra a los
departamentos de ventas, clientes, almacén y logística. Los envíos
de productos, debido a que requieren un esfuerzo notable de
coordinación con otras empresas –empresas de transporte,
almacenamiento, etc.- siempre han sido especialmente conflictivos.
La gestión de incidencias –conseguir que la persona adecuada
disponga de la información necesaria para resolver los problemas
cuando surgen- ha sido ineficiente debido al elevado número de
pasos manuales que requiere. El resultado final es que la compañía
ha incurrido en unos sobrecostes de gestión y en algunos
casos han derivado en pérdida de negocio.
El responsable de operaciones asigna un gestor de proyecto para
crear un inventario de los procesos que componen la gestión de
pedidos, con el objetivo de conocer los roles de las personas que
intervienen en ellos, sus actividades y las tecnologías que se
aplican para esos procesos desde el principio hasta el final. Según
va creciendo la lista del inventario de procesos, es cada vez más
evidente que hay un elevado número de pasos manuales
relacionados con la toma de datos de clientes, seguimiento del
inventario y planificación de la logística que añaden tiempo, errores
e ineficiencias al proceso. Más aún: la deficiente integración entre
aplicaciones antiguas y las de línea de negocio –las bases de datos
de clientes y sistemas de inventario y contabilidad- no permiten el
nivel de inteligencia de negocio que se requiere para responder con
rapidez a los cambios dentro del proceso de cumplimentación de
pedidos.
2. Los ejecutivos de la empresa quieren empezar a integrar y
automatizar los procesos para eliminar las ineficiencias dentro del
proceso de envío de pedidos de clientes y el personal de IT
ha sugerido que la arquitectura SOA para integración puede
contribuir a crear dentro de Northern Electronics una infraestructura
tecnológica flexible y bien interconectada. Los directivos de
Northern Electronics destacan la visión de negocio y los
condicionantes más importantes, que se emplean para identificar y
delimitar el alcance de un conjunto de funcionalidades SOA bien
definidas y orientadas, necesarias para dar cobertura al proceso
una vez ha sido rediseñado y optimizado en la teoría.
Una estrategia de pasos progresivos
Una vez que los principales condicionantes del negocio están
claramente definidos, puede comenzar el proceso de
implementación. Partiendo de una visión y unas prioridades
claramente definidas, cada proyecto de implementación es un paso
progresivo con creación (“exposición”) de nuevos servicios,
agregación (“composición”) de dichos servicios dentro de procesos
más amplios, y puesta de estos agregados a disposición de los
usuarios (“consumo”) dentro de la empresa.
Exposición
La fase de exposición de esta metodología SOA se centra en
generar los servicios necesarios a partir de las aplicaciones y datos
disponibles. La creación de servicios puede ser de grano fino (un
servicio individual que se corresponde con un proceso de negocio
individual, como puede ser por ejemplo “insertar código de
producto”), o de grano grueso (múltiples servicios que van juntos
para realizar una serie de funciones de negocio relacionadas entre
sí, como “procesar un pedido”).
La fase de exposición viene también muy condicionada por la forma
en que se implementan los servicios. La funcionalidad de los
recursos de IT subyacentes puede hacerse disponible de forma
directa –nativa- si esas aplicaciones ya son, por sí mismas,
compatibles con los servicios Web o pueden hacerse disponibles
como servicios Web utilizando algún adaptador.
3. Composición
Cuando los servicios ya están creados se pueden combinar en
servicios de mayor nivel de complejidad, aplicaciones o procesos de
negocio multifuncionales. Puesto que los servicios son entidades
independientes entre sí y también con respecto a la infraestructura
de IT en la cual se basan, pueden combinarse y reutilizarse con la
máxima flexibilidad. Y según van evolucionando los
procesos de negocio, las reglas y prácticas internas pueden
ajustarse sin las restricciones impuestas por las limitaciones que
afectan a las aplicaciones de base.
Consumo
Después de crear una nueva aplicación o proceso de negocio, la
funcionalidad resultante se pone a disposición (consumo) por parte
de usuarios finales o de otros sistemas de IT. Al crear aplicaciones
compuestas que consumen estos servicios y procesos, la
organización dispone ahora de aplicaciones dinámicas que permiten
mejorar la productividad y la visión interna del rendimiento de la
empresa. Los usuarios pueden consumir los servicios compuestos
utilizando distintos medios, como pueden ser portales Web, clientes
avanzados, aplicaciones de Office y dispositivos móviles.
En el ejemplo siguiente se muestra un proyecto típico de
implementación para la misma empresa ficticia que vimos antes.
Ejemplo: implementación de SOA en la empresa
El proceso de servicio de pedidos en Northern Electronics comienza
con la apertura de una orden de pedido, y sigue con una consulta al
inventario para comprobar si los artículos existen en stock.
Finalmente, dentro de un proceso colaborativo, se organiza una
expedición de transporte para la carga y entrega del material al
cliente. Cada una de estas partes del proceso se compone de
varios pasos no automatizados aún.
4. Northern Electronics decide pasar de las órdenes de pedido escritas
en papel a los formularios
electrónicos, automatizando el proceso de transferencia de
información entre los departamentos de ventas y logística. Logística
verifica el stock: si no hay unidades de los artículos solicitados, la
orden de pedido (PO) se pone como “pendiente” y los artículos se
marcan también. Si los artículos existen en el almacén, un
empleado del departamento de logística contacta con la empresa de
transporte y luego entrega al encargado de la manipulación en el
almacén la lista de los artículos y cantidades que deben sacarse de
sus estanterías para la preparación de los embalajes. Northern
Electronics decide que estas dos partes de la fase de
cumplimentación de pedidos son dos buenas candidatas para su
automatización y conversión en servicios Web.
Exposición
Northern Electronics ha decidido implementar una capa orientada a
servicios flexible y reutilizable que exponga la lógica de negocio de
las aplicaciones actuales (y de sus partners), a fin de reducir las
ineficiencias detectadas en los procesos manuales de servicio de
pedidos y notificación de estado. Estos son algunos ejemplos:
• ShippingService – que es el servicio web que utilizan en Northern
Electronics para enviar
y recibir detalles de la manipulación del pedido.
• PickupService – que es el proceso interno de Northern Electronics
para notificar al
responsable de la carga en el almacén la lista de productos que
componen la expedición
y para confirmar que esta manipulación se ha realizado.
• TransportService – que es el servicio web de la empresa de
transportes, que se utiliza
para gestionar las expediciones y confirmar las salidas y entregas
de material. Esta parte
de la solución basada en servicios Web debe implementarla la
empresa de transportes.
Cada uno de estos servicios de negocio lleva debajo distintos
servicios de grano fino o llamadas al API que se combinan para
generar una capa de servicios de mayor alcance. Esta capa de
5. servicios se implementa en Northern Electronics utilizando
desarrollos propios basados en .NET Framework y Visual Studio y
también adaptadores de integración externos para sus aplicaciones
de línea de negocio (LOB) y sistemas de mainframe..
Composición
Cuando ya se puede acceder a las aplicaciones en forma de
servicios, Northern Electronics hace la correspondencia entre las
distintas fases de sus procesos de negocio y el modelo de procesos
orquestado que organiza, controla y monitoriza todas y cada una de
las etapas del flujo de trabajo de la gestión de pedidos. Un principio
estratégico fundamental para ellos es no escribir sus reglas y lógica
de negocio dentro del código de implementación, sino externalizar
dicha lógica en un modelo que pueda, en cualquier momento, verse
y modificarse con facilidad. Con esta medida se gana un mayor
grado de visibilidad y trazabilidad, e incluso la posibilidad de añadir
métricas de procesos en tiempo real y eventos dentro de un panel
de decisiones o cuadro de mandos. Se puede monitorizar el estado
de salud del proceso de principio a fin, y no solamente cuando las
aplicaciones individuales han finalizado su labor, y además se
puede hacer un seguimiento sobre el conjunto completo de
actividades que componen el proceso de negocio. Si algún paso
dentro del proceso falla, por ejemplo un retraso en la llegada de una
expedición, los usuarios pueden recibir notificaciones de inmediato,
y adoptar las acciones correctoras necesarias.
Esta capa de composición flexible está implementada en Northern
Electronics utilizando BizTalk Server y Visual Studio para modelizar
el proceso de negocio y definir la lógica de orquestación; con SQL
Server y BizTalk Server se hace el seguimiento de los procesos en
tiempo real, utilizando BAM (Business Activity Monitoring) y con
Microsoft Office SharePoint Server se automatizan los procesos de
colaboración de tipo manual y se asignan tareas del workflow a los
usuarios durante el proceso.
Consumo
Puesto que los usuarios finales no son expertos en sistemas de
6. información, Northern Electronics ha decidido crear una aplicación
compuesta basada en Office (se la suele denominar una “Aplicación
de Negocio de Office”, OBA por sus iniciales en ingles). Esta OBA
permite a los usuarios accede fácilmente a la información y
procesos que necesitan, utilizando unas herramientas que conocen
bien y a las que están acostumbrados. Este hecho mejora la
productividad y evita la necesidad de emprender un programa de
formación de gran envergadura para los usuarios finales.
Los formularios utilizados en los departamentos de ventas y
logística están creados con InfoPath, una solución para la captura
dinámica de información. Estos formularios de InfoPath se guardan
y se gestionan dentro de Microsoft Office SharePoint Server, y sus
capacidades internas de gestión del workflow documental les
permiten automatizar de forma sencilla el enrutamiento de los
formularios entre los distintos departamentos y equipos de trabajo.
Conforme se crean nuevos flujos de trabajo o se asignan tareas,
estas actividades quedan asignadas automáticamente a los
usuarios mediante correos de Outlook y su seguimiento se efectúa
mediante las colas de tareas de SharePoint.
Si se da la circunstancia de que los workflows de colaboración
alojados dentro de SharePoint tengan que acceder a sistemas de
backend estructurados, la integración nativa de SharePoint y
BizTalk Server permite invocar la capa de servicios de negocio o la
lógica de orquestación de los procesos.
Los resultados
El primer proyecto de implementación se acotó de forma muy
explícita y tras su puesta en
marcha se obtuvieron retornos de inversión a los 90 días. Aun
después de completarse esta
“tajada” inicial de la infraestructura SOA, Northern Electronics ha
seguido capitalizando estos
beneficios. Sin tener que esperar a un gran proyecto de
implementación de infraestructuras de
varios años de duración, ya pueden, casi al momento, gestionar su
cadena de valor de forma más eficiente y son capaces de identificar
y aprovechar nuevas oportunidades para consolidar y automatizar
actividades internas dentro de su cadena de valor.