La semana pasada ha sido tiempo de estudio para mí, tenía programado dar un examen de certificación el viernes por lo que el tema dominante cada noche tenía tres letras: SOA. Si bien el esfuerzo no fue en vano, ahora soy un “IBM Certified SOA Associate”, fue imposible dedicarle tiempo a escribir para mi Ventana y mientras hago el cambio mental a los temas usuales, me pregunto si se pueden extraer lecciones de este estilo de arquitectura informática. Pero primero, ¿Qué es SOA?
La arquitectura orientada a servicios (SOA, por sus siglas en inglés) es una tendencia en el sector, producto de una evolución continua en el desarrollo de software; consiste en un modelo de construcción de sistemas empresariales y una forma de controlarlos (con metodologías y gobierno) con el objetivo de proveer importantes ventajas de negocio a través de la mejora de procesos, el uso de la información como un servicio y conectividad entre todos los interesados. Para lograrlo, emplea ciertos principios que quisiera compartirles buscándole aplicación en nuestro día a día.
La arquitectura orientada a servicios (SOA, por sus siglas en inglés) es una tendencia en el sector, producto de una evolución continua en el desarrollo de software; consiste en un modelo de construcción de sistemas empresariales y una forma de controlarlos (con metodologías y gobierno) con el objetivo de proveer importantes ventajas de negocio a través de la mejora de procesos, el uso de la información como un servicio y conectividad entre todos los interesados. Para lograrlo, emplea ciertos principios que quisiera compartirles buscándole aplicación en nuestro día a día.
- El Reuso: No siempre será necesario crear las cosas desde cero, existe mucha información que puede emplearse repetidas veces como parte de procesos distintos, para ello será necesario que sepamos que existe y que si debemos crearla, lo hagamos pensando en su reuso. En el caso de la vida cotidiana, a través de ésta acumulamos conocimiento de un sin número de fuentes, como lo son la escuela, universidad, trabajo, amigos, y sin embargo muchas veces se quedan en “silos”, sólo guardadas en ese ámbito. Lo interesante del reuso, es que lo aprendido por ejemplo, en las matemáticas financieras, lo podemos emplear en nuestra economía hogareña (para ver qué tarjeta de crédito nos conviene) o algunos métodos del trabajo, incluirlos para organizar nuestros viajes.
- “Bajo Acoplamiento”: En el lenguaje de sistemas, consiste en que dos componentes que “hablan” entre sí, podrán esperar del otro un resultado sin necesidad de que sepan cómo funciona internamente la otra parte o “cómo está hecho” el otro. Esto, de por sí, puede ser un logro interesante entre personas, porque dada una forma pactada de comunicación, dos equipos de trabajo están en capacidad de concentrarse en desarrollar su función sin preocuparse por la forma de manejo del otro; no interesan los cambios que se den al interior de cada unidad, se espera que ésta entregue el resultado de la forma acordada. Busquemos el bajo acoplamiento.
- La Extensibilidad: Consiste en considerar que lo que se hará puede crecer y para ello hay que prepararlo desde su base. El crecimiento puede emplear cosas ya existentes (reuso) o nuevas, pero sino ha sido concebido desde el inicio, se generará el caos o se volverá insostenible. En lo cotidiano, esto ocurre con la compra de bienes (casas, carros, computadoras,…) que muchas veces no sostienen nuestros requerimientos futuros a menos que estemos listos para comprar otros nuevos.
Finalmente, lo que SOA busca es lograr la Agilidad de sus practicantes, es decir, que tengan la capacidad de prevenir y responder al cambio, que es tan frecuente en el mundo de hoy, para el cual hay que estar preparado y sacar lo mejor de él.
José Antonio dice
Aproposito…. Felicitaciones por la certificacion.. de hecho te servira en la chamba
Miguel Angel dice
que geeky tu post, pero estuvo interesante
fpiedra dice
Felicitaciones Maestro!! y saquele provecho a la SOA.