El acercamiento a SOA de una empresa puede venir por varios caminos… uno es simplemente que se necesita una solución a la maraña de aplicaciones silo que se comunican entre sí de manera improvisada y que impide la evolución de la TI de la empresa para dar respuesta a los requisitos de negocio…
Otros sin embargo, vienen a SOA a través de la gestión de procesos, del BPM. Digamos que los procesos de negocio, la automatización de los mismos o la reingeniería o mejora continua de los ya existentes en la empresa tiene mejor «venta» de cara al departamento de negocio.
Lo que no hay duda, o al menos eso espero, es que SOA y BPM se complementan. Tan es así, que los vendedores de productos Middleware, como Oracle, ya dan por supuesta una arquitectura orientada a servicios como paso previo a implementar BPM en la empresa.
¿Por qué BPM?
En un entorno para el negocio enormemente cambiante debido a la cada vez más fuerte competencia en un mundo globalizado, clientes cada vez más exigentes, cambios normativos y legales, etc., la velocidad para poner una aplicación en el mercado llega a ser crítica (el famoso time to market).
Por otra parte, en ocasiones, las empresas no tienen sus procesos de negocio correctamente definidos, por lo que no pueden ser gestionados ni optimizados correctamente. No se tienen métricas del negocio en tiempo real que proporcione información a los analistas de negocio para poder tomar decisiones casi inmediatamente.
Si a ello unimos que las aplicaciones tradicionales son poco flexibles y casi siempre limitadas al ámbito de un área concreta de la organización, tenemos la foto completa de una situación a la que se puede poner remedio con la combinación de dos conceptos muy complementarios: BPM y SOA
BPM es una metodología empresarial para la gestión de procesos mediante su automatización (mediante herramientas informáticas). Su objetivo es modelar, integrar, monitorizar y optimizar los procesos de negocio de la organización. De tal manera que obliga a las empresas a pensar en el proceso como elemento central.
¿Por qué SOA?
Por otra parte, SOA permite la implementación de nuevos procesos de negocio y la modificación de los actuales en menos tiempo y con menos coste, ayudando a rentabilizar la inversión ya hecha en software al integrar aplicaciones cerradas, antiguas y otros servicios de otras áreas de negocio (u otras organizaciones).
Al hacer corresponder un servicio SOA con un concepto de negocio, minimiza la “brecha” entre las áreas de negocio y T.I., pudiendo de esta manera hablar un lenguaje común.
Está claro que BPM y SOA se complementan y no se debería acometer una sin la otra. Con la aplicación de los dos, la organización puede adaptarse rápidamente al mercado obteniendo una ventaja competitiva.
¿Por qué SOA y BPM?
A mi modo de ver, y al de casi todos los expertos que he leído, BPM es la mejor aplicación para SOA (“killer application”):
- SOA es la infraestructura que necesita BPM
- SOA sin BPM sólo permite diseñar y construir un conjunto de servicios
- BPM sin SOA requeriría un desarrollo de código ad-hoc para cada integración con otros sistemas
- Juntos “orquestan a las personas y los servicios en un proceso de negocio”
Conclusión
No sé cual será vuestra opinión, pero yo no concibo tener BPM sin asentarse sobre una base de servicios con SOA. ¿Estáis de acuerdo?
16/04/2013 at 10:27
Totalmente de acuerdo. Lo único es que sí le veo sentido a SOA sin BPM, pero al revés no.
16/04/2013 at 10:29
Yo también lo veo así. Aunque si BPM te pierdes muchas cosas importantes, dando la sensación de que tienes muchos servicios (quizás cientos) sin que nadie los coordine u «orqueste».
16/04/2013 at 10:58
Aun así, sin llegar al nivel de implementación SOA con un BPM, SOA aporta valor por sí misma.
Con BPM, lo multiplica.
16/04/2013 at 12:24
Completamente de acuerdo. Además, me ha gustado mucho como lo has explicado. Considero también que SOA sin BPM es difícil que salga del ámbito de TI sin abordar los apectos de negocio a los que debe dar soporte.
03/05/2013 at 00:24
Buenas tardes, en la actualidad estoy inmerso en un proyecto SOA de gran impacto para mi país, sin embargo por cuestiones de contrato y del mismo cliente, se ah elegido orquestar los servicios con BPEL, esto me trae preocupado, pueden darme su opinión sobre lo mencionado es decir orquestar con BPEL o con BPM?
saludos cordiales
03/05/2013 at 11:23
Hola:
No sé si he entendido bien tu comentario, pero lo primero que hay que dejar claro es que BPM y BPEL no son excluyentes, al contario. BPEL se usa como lenguaje para hacer procesos en muchas de las herramientas BPM del mercado (incluido por ejemplo la de IBM).
Lo que habría que tener en cuenta, es que para hacer integraciones sencilla no compensa el esfuerzo y el coste de hacerlo con BPEL. Incluso hay integraciones que no merece la pena hacerlas en un ESB al uso. En su lugar, se podría tener en cuenta una solución más sencilla basada en un framework de integración como Spring integration o apache Camel.
En definitiva, BPEL se puede usa para hacer BPM, y en cada caso, usar la solución más sencilla posible.
Saludos
29/11/2014 at 23:28
Recien empiezo en este mundillo, pero me parece que BPM es como la directriz de SOA, ya que SOA esta orientada a la arquitectura de software y BPM es quien le dice que hay que hacer para hacerla tan bien que agrade al Cliente y a la empresa.
Por otra parte veo que BPM tiene su propio implementador de estrategias como son los conocidos Suites BPM… como los de Oracle, IBM, Bizagi, etc.
Sin duda BPM es la metodologia por excelencia, de alli a optar por una solucion SOA y/o BPMS dependera de los requerimientos propios del negocio.
Espero haber aportado algo, Dios les bendiga,