19.11.08

Web 2.0

¿Que es la web 2.0?. Existen muchas y muy variadas definiciones de este concepto, sólo basta con introducir web 2.0 en google y aparecerán cerca de 390 millones de coincidencias. ¿Bastantes o no?

Según Tom O'Reilly es la segunda generación de web's basada en el intercambio de información (por medio de comunidades, redes sociales, blogs, etc.) que fomentan la colaboración entre los usuarios. De esta definición se desprenden aspectos importantes que deben ser considerados para tener claridad de los que significa web 2.0, en un sentido amplio de la definición. La web es la plataforma que permitirá el desarrollo de aplicaciones, la integración y adición de usuarios, los cuales aportarán con sus propios recursos. Cada usuario pasa de ser un "consumidor" de información a un "productor" de la misma. El agregar y extraer información de las fuentes debe realizarse fácilmente. El software empaquetado pierde terreno frente a los servicios (¿Tendrá alguna relación con SOA?). Las aplicaciones son piezas pequeñas débilmente acopladas lo que permite ver la web como componentes. La aplicaciones mejoran a medida que más y más personas las usan.

Como ven, la web 2.0 la hacemos todos, con blog (como este), con wikis que comparten información de manera rápida y oportuna. Con portales que son facílmente "configurables" y que permiten interactuar con personas y/o aplicaciones de la misma organización o su entorno, etc.

Saludos.

18.11.08

BPEL - BPM - SOA

En el mundo TECNOLÓGICO-EMPRESARIAL se esta hablando con fuerza de conceptos como BPEL, BPM y SOA. Para encontrar el significado de estas siglas te puedes dirigir a http://www.wikipedia.org y encontrarás muchas definiciones con términos como: webservice, xml, orquestación, sla (service level agreement), protocolos de comunicación, etc.

Desde mi punto de vista, la cosa es más simple.

BPEL (Business Process Execution Languaje o Lenguaje de Ejecución de Procesos de Negocios) es un lenguaje de composición de servicios web. Este lenguaje permite componer nuevos servicios web a partir de servicios ya construidos. Este concepto esta más relacionado con la integración de sistemas en un contexto definido.

BPM (Business Process Management o Gestión de Procesos de Negocios) es un conjunto de actividades y conocimientos cuyo objetivo es mejorar la eficiencia de la organización a través de la gestión sistemática de los procesos, los cuales se deben modelar, automatizar, integrar, monitorizar y optimizar de manera continua. Este concepto está relacionado con, obviamente, los procesos de negocios, las tecnologías de información existentes y, fundamentalmente, las personas. Es en este punto donde se diferencia de manera significativa de BPEL.

SOA (Service Oriented Architecture o Arquitectura Orientada a Servicios) es un concepto de arquitectura de software que permite definir servicios (típicamente servicios web) que integran diferentes sistemas a toda la organización y su entorno.
Para alcanzar esta orientación es necesario contar con ciertas herramientas que permiten realizar la integración de sistemas y/o servicios. Es fundamental contar con un Bus de Servicios (herramienta que proporciona la infraestructura para integrar aplicaciones y servicios), Servicio de Registro (herramienta que proporciona una visión completa de los servicios y las relaciones existente entre ellos).

Los conceptos definidos de esta manera no parecen tan complicados. La implementación es otra cosa. :)

Saludos.