lunes, 22 de octubre de 2007

SOA para todos

El primer paso antes de pasar a explicar como SOA puede ser entendido y afectar al organigrama de la empresa, es conveniente empezar por definir ciertos conceptos básicos.

¿Qué es SOA?
Existen multitud de definiciones, prácticamente cada fabricante de software, autoridad académica o publicación especializada tiene la suya. Proponemos la siguiente definición integradora:
Arquitectura orientada a servicios, SOA, es una propuesta de arquitectura (o estructura base) para la comunicación entre servicios (o unidades de trabajo) que permite el diseño y construcción de soluciones de TI donde los procesos de negocio se organizan y colaboran de manera más eficiente y eficaz.
Como se puede observar en el nombre y la definición están incluidos los conceptos de arquitectura y servicio. Entendemos por arquitectura la estructura de un sistema, sus componentes, propiedades y relaciones entre los mismos. Aunque aplicado de manera intuitiva, se trata de un concepto relativamente moderno. Algunos ejemplos de arquitecturas son: cliente servidor, tres capas, punto a punto, computación distribuida, etc. Por otro lado, un servicio es una representación lógica de una actividad del negocio repetible (comprobar crédito, validar reserva de billete, etc.) que acepta una serie de llamadas y devuelve unos resultados mediante unos protocolos previamente definidos. Tanto para la arquitectura como para los servicios, la tecnología concreta que permite su realización queda fuera de la definición.

¿Por qué SOA?
Conviene citar la excelente respuesta a esta pregunta que da IBM [1]:

"Lo que hace la arquitectura orientada a servicios es crear un lenguaje para que los negocios y la IT hablen entre si. Y ese proceso es un proceso de negocios. Por lo tanto el analista de negocios observa el proceso, lo simula y entonces, uniendo las diferencias - a través del software o de la IT - obtiene el código que luego convierte en un idioma que la persona de IT pueda comprender.
Esto codifica el rol y el vínculo entre los negocios y la IT. Eleva ambos roles, en vez de realzar uno o minimizar otro. De esta manera los pone al mismo nivel y le da la posibilidad de comunicarse con el otro. Lo protege del síndrome de reescribir, revisar, rehacer todo."

Sandy Carter. Vice President, Strategy for Channels and Marketing IBM
Normalmente los objetivos a corto plazo de TI y de negocio son diferentes [2]. Negocio normalmente quiere que TI sea más ágil sin tener que pagar más, y prefiere o necesita desarrollos rápidos para poder ofrecerlos a los clientes. TI necesita recursos para mantener aplicaciones heredadas en perfecto estado y desarrollar nuevas soluciones, y prefiere construir infraestructura que soluciones puntuales. SOA trata de conciliar las dos visiones.

¿Qué no es SOA?
Quizás una buena manera de comprender que es SOA es revisar que no es. SOA no es un producto, una tecnología especifica, un lenguaje de programación, un sistema operativo, una herramienta, un estándar o un paquete de software que se pueda comprar a un fabricante de TI.
SOA es en definitiva una manera de pensar, una manera de organizar la fusión de distintas tecnologías y estándares para lograr el objetivo de reducir la distancia entre negocio y TI.

Un ejemplo
En este ejemplo (utilizado por accenture, SAP [3] y algunas publicaciones) se puede observar un paralelismo entre la industria del automóvil y la de las soluciones software. Si observamos la evolución del diseño y construcción de automóviles a lo largo del tiempo podemos diferenciar tres tipos de estrategias.

Al principio los modelos eran diseñados uno a uno, y tenían procedimientos de fabricación exclusivos. Los productos estaban altamente diferenciados a cambio de costes elevados de diseño y fabricación. Esta fase puede asimilarse a la de producción de software a medida.

El siguiente paso en la industria fue el que los fabricantes acordaron vender el mismo coche bajo dos nombres diferentes. Las piezas eran comunes y estaban dirigidas a compradores similares. El compartir piezas permitió la reducción de costes, pero a costa de la diferenciación del producto. Este quizás es el momento actual para el software, en la que por ejemplo los ERP dan soluciones similares a todos los usuarios y, aunque permiten cierta personalización, el producto final es básicamente el mismo.

La industria del automóvil, más antigua que la del software, se encuentra en nuestros días aún más avanzada. En el modelo actual de plataformas los fabricantes son capaces de ofertar coches muy diferenciados, pero el interior (sistema de frenos, electrónica, etc. son los mismos). Si los componentes internos son de una cierta calidad y están bien ajustados, la calidad del producto final también se ajustará al estándar. Para SOA estos componentes estándar son los servicios, y se puede cambiar un servicio tal y como Volkswagen cambia el alternador usado en el Audi A3 el VW Passat. El concepto de plataforma ha proporcionado a los fabricantes de automóviles la capacidad de fabricar productos muy diferenciados, más rápidamente, a un coste reducido y manteniendo la calidad deseada. La propuesta de valor de SOA es análoga.

El puzzle SOA
Lo que trata de conectar la infraestructura basada en SOA que estamos proponiendo es una serie de usuarios (internos como ventas, o externos como clientes, B2B, socios, etc.) que acceden a los sistemas de información a través de una nueva capa que permite localizar y orquestar los servicios ofrecidos.

Por supuesto detrás de esta simplificación existe un océano de definiciones, conceptos, estrategias y tecnologías que se tratarán de ir ampliando en los siguientes puntos.

_________________________________

[1] IBM – Arquitectura Orientada a Servicios Simplificada

[2] Yogish Pai SOA Blueprint - Why SOA?

[3] SAP INFO - Cutting the Gordian Knot

SOA para directivos

Con este artículo se inicia la publicación del trabajo final que hemos realizado. Se irá publicando a lo largo de 8 entregas en los que se intentará aproximar SOA a cada una de las direcciones que forman una empresa.

El concepto de SOA en sí mismo es suficiente para llenar decenas de manuales. Este documento, por tanto, pretende ser solo una guía introductoria a la materia, intentando acercar este concepto a cada uno de los tipos de directivos que componen la empresa, sean o no miembros del área tecnológica.

Esperamos que lo encontreis útil.

_vitaC_

jueves, 4 de octubre de 2007

Feed SOA

He estado intentando localizar un feed que de noticias especificas de SOA, la verdad, no hay mucho donde escoger. He encontrado este:

http://feeds.feedburner.com/dev2devsoa

Un saludo.

domingo, 23 de septiembre de 2007

Experimentando con Creative Commons

El trabajo nos está quedando chulisimo ¡Enhorabuena a todos por vuestro esfuerzo! Quizás cuando esté terminado podemos colgarlo aquí por capitulos. He añadido a la página una entrada con una licencia de Creative Commons, ¿alguno os sabeis como va esto?

Nosotros también citamos las fuentes, supongo que de alguna manera eso nos autoriza a incluir los contenidos ya que se hace sin animo de lucro y es información pública disponible en Internet.

Supongo que basta con incluirla. Está abajo del todo, en cada página.

viernes, 14 de septiembre de 2007

saluditos desde clase

una breve nota informal para dar las gracias a google por sus múltiples herramientas y servicios gratuitos.

domingo, 26 de agosto de 2007

Lo que inventan

Hola,

ya se que no tiene mucho que ver con SOA, pero la verdad me ha sorprendido esta noticia que se puede leer en barrapunto (una revista de ). Se trata de unos algoritmos para agrandar y reducir imagenes sin que se aprecien perdidas (clásico pixelado).

Igual es deformación profesional pero yo me he quedado alucidando. Tienen un video colgado en youtuve, no dura mucho. El artículo está aquí.

R.

miércoles, 8 de agosto de 2007

SOA y las operaciones

He aquí un par de enlaces que "me han recomendado" para un mejor entendimiento de lo que aporta SOA al área de Operaciones:

Business Process Modeling (BPM). Diseño y rediseño de procesos, detección de cuellos de botella, eliminación de procesos sobrantes (tras análisis de costes, tiempos de ejecución y otras simulaciones), prueba de procesos antes de su implantación, etc.
Adjunto el enlace a demo de uno de los proveedores, IBM. Su WebSphere Business Modeler que es una herramienta para pintar procesos, compartirlos por toda la organización y probarlos. Muy muy ilustrativa: http://demos.dfw.ibm.com/on_demand/Demo/IBM_Demo_WebSphere_Business_Integration_Modeler-Jan05.html

Monitorización, Bussines Activity Monitoring.
De nuevo un ejemplo de IBM, su WebSphere Business Monitor. La demo:
http://demos.dfw.ibm.com/on_demand/Demo/IBM_Demo_WebSphere_Business_Monitor_End_to_End-May06.html?S=SWCAT

Ambas herramientas están conectadas, ya que lo que has diseñado con el Business Modeler, monitorizas con éste.

Cada vez me gusta más esto del SOA, voy a ponerme ya con las operaciones de mi casa, lo primero es definirlas, luego lo dibujo en el sistema con el sistema "pincha y arrastra", le asigno sus costes y tiempos, le añado unas alarmas (cuando por ej. se me quede la nevera vacía) y unos KPI (por ej. para ver en qué estado están las plantas si se riegan más o menos) y a monitorizar con el único fin, por supuesto de que la casa acabe gestionándose sola.

¡A la piscina!