A poco que se consulten  las páginas que hablan sobre orientación a servicios, SOA, BPM, etc. nos damos cuenta que muchas veces las definiciones que se dan a estos conceptos no son sencillas, en ocasiones hay diferentes definiciones (una por página), son ambiguas, etc. En definitiva no son fáciles de asimilar, sobre todo para personas que no tiene un perfil técnico.

El objetivo de esta entrada será, pues, centralizar en un sitio las definiciones más importantes de SOA y BPM. Definiciones escritas de una manera sencilla y fácil de entender. Esta entrada tendrá carácter permanente y se irán añadiendo poco a poco los conceptos que vayamos manejando. Para ello, por supuesto, pido tu ayuda para que matices las definiciones que se vayan recogiendo a tí, proponer que se traten nuevas palabras, etc.

Con tu ayuda tendremos el dicSOAnario, que parafraseando el eslogan de Ubuntu, debería ser “el diccionario SOA para humanos”. Aquí van las primeras entradas:

  • BPM: automatización de los procesos de negocio de la empresa. Es decir, que los procesos se puedan “informatizar” ejecutándolos en un servidor (process server)
  • orquestación: comportamiento resultante de la coordinación por parte de un controlador (director de orquesta) de varios servicios de una manera centralizada. Normalmente se implementa mediante BPEL
  • coreografía: comportamiento resultante de la interacción de un grupo de servicios sin un controlador central (por el ejemplo el lenguaje WS-CDL)
  • servicio: programita que hace algo útil, con unos parámetros de entrada/salida conocidos, que puede ser juntado con otros servicios para crear otro más complejo.
  • SOA: forma de diseñar aplicaciones que consiste en juntar servicios (programitas) según tus necesidades. El objetivo no es programar nuevos servicios si no “componer” nuevos servicios basándose en otros más básicos ya programados.

¿qué definición añadirías?

Actualización 07/04/2010: incorporadas las entradas coreografía y orquestación (gracias César)

Comparte este artículo…