| SOA |
|
De toda la iniciativa Web 2.0 y Enterprise 2.0, así como de Enterprise Architecture, se desprenden dos grandes estrategias que deberían ponerse en marcha (si no se ha hecho ya) dentro de los departamentos de IT:
En su forma más básica, podemos decir que SOA pretende alinear el software y los servicios de datos con los procesos de negocio para que, de este modo, servicios específicos puedan ser mezclados y reutilizados según convenga. SOA es un término que en la actualidad se está utilizando masivamente y, como suele ocurrir cuando esto sucede, en muchos casos se utiliza de forma errónea e introduce confusión en el mercado. Esto se ve potenciado debido a que SOA es un término que describe dos cosas muy diferentes. Por un lado, las primeras dos palabras describen una metodología de desarrollo de software, mientras que la tercera, Architecture, hace alusión al modelo de los componentes software que posee una compañía, es decir, a una representación de todas las piezas software existentes que, de manera conjunta, forman el edificio empresarial. Así, SOA en realidad es una estrategia que pretende la construcción de todos los componentes software de la compañía utilizando una metodología de desarrollo orientada a servicios y un soporte tecnológico que lo haga posible. En lo que se refiere a la metodología de desarrollo, podríamos decir que la idea de SOA es tan antigua como la programación en sí misma, dado que desde el comienzo de los tiempos del desarrollo de aplicaciones, se ha trabajado en diferentes formas de modularizar el código, inicialmente mediante el uso de includes, después mediante el uso de librerías, más tarde mediante el uso de objetos, para llegar a los componentes y finalizar con SOA y WebServices. Por tanto, el concepto no es nuevo, lo que es nuevo es el gran alcance que tiene, pues afecta a toda la arquitectura tecnológica de la compañía. SOA promete muchas bondades y alguna de ellas las analizaremos más adelante. Sin embargo, SOA no es algo que pueda estar al alcance de todas las empresas. En primer lugar, SOA únicamente tiene sentido en caso de que el tamaño del departamento de TI sea considerable y esté formado, al menos, por más de un sistema primario. Es decir, SOA aporta su mayor beneficio dentro de sistemas complejos y heterogéneos, por eso, para pequeñas empresas es difícil que pueda aportar un valor directo. Dentro de las grandes corporaciones, con sistemas tecnológicos complejos y heterogéneos, SOA no va a proporcionar los mismos beneficios a cada una de ellas. Como se comentaba más arriba, según el CISR (Center for Information Systems Research) del MIT, en los trabajos "IT Architecture as Strategy" y "IT-Driven Strategic Choices", las empresas han de pasar por cuatro fases bien distintas: silos, standardized IT, standardized business processes y business modularity. Sólo una vez que se ha pasado por todas ellas, SOA puede aportar todo su valor y, en la actualidad, la mayor parte de las empresas que formaban parte del estudio realizado, se encontraban en la primera o segunda de las fases. Por tanto, es muy importante analizar detenidamente las consecuencias de implantar una estrategia SOA. Adicionalmente debemos tener en cuenta que, gracias a la palabra Architecture que forma parte de SOA, SOA es mucho más que construir software. Tomar la decisión sobre la implementación de SOA requiere tener un compromiso claro con una Enterprise Architecture bien definida, requiere la creación de una metodología de desarrollo centralizada y un equipo centralizado de arquitectos que marquen las directrices globales sobre las que se desarrollarán los servicios. Además, requiere la implicación a nivel de CEO y staff-ejecutivo, con el fin de que faciliten la incursión del equipo de TI en los procesos de core-business de la compañía. Entender el negocio y compartir la estrategia es la piedra angular de Enterprise Architecture y, por tanto, de SOA. Otro aspecto muy importante es lo referente a Governance. Tal y como se ha indicado anteriormente, con el objetivo de reutilizar servicios a lo largo de la compañía, es necesario que exista una metodología de desarrollo centralizada, de forma que diferentes áreas del negocio no desarrollen el mismo servicio de diferentes maneras. Bajo este paraguas se incluyen procesos, herramientas y todo aquello que es necesario para poder desarrollar la estrategia tecnológica. Por tanto, debe haber un repositorio centralizado que, además, ha de estar bien documentado. De otro modo, SOA no va a proporcionar otra cosa diferente a más desorden, dado que servicios desarrollados de forma aislada, sin tener en cuenta una Enterprise Architecture centralizada, van a tener un bajo potencial de reutilización. En Kynetia, ayudamos a nuestros clientes en la creación de sus Service-Oriented Architecture (SOA), que lógicamente forma parte del subconjunto de iniciativas necesarias para establecer la Enterprise Architecture. Ventajas de SOATal y como se definía al principio, SOA está compuesto por dos aspectos bien diferentes: metodología de desarrollo y arquitectura. Por tanto, los beneficios se pueden apreciar en ambos campos. SOA como metodología de desarrollo
Arquitectura de servicios como estrategia
|