Google

miércoles, marzo 29, 2006

pero, ¿Qué es realmente SOA?


"SOA son las siglas de Arquitectura Orientada a Servicios..." Muchos libros comienzan con la frase anterior, y para mí es un error tremendo. En la actualidad, el mundo de las Tecnologías de la Información se ha convertido en un gran monstruo que mueve millones de euros. Este monstruo para sobrevivir y evolucionar tiene que utilizar técnicas publicitarias para introducir nuevas tecnologías que van a revolucionar la industria, pero que al final se quedan en meras anécdotas tecnológicas que no aportan nada especial ni revolucionario.

Mucha gente piensa que SOA va por este camino, y que únicamente es un conjunto de siglas creadas por la industria, no existiendo nada por detrás. Este pensamiento lo ha creado sobre todo esos movimientos publicitarios de marketing y la explotación comercial por parte de las empresas del concepto de SOA.

Siento decepcionar a algunos excépticos, pero SOA sí significa algo y es lo que pretendo demostrar con este pequeño artículo. Para comenzar a explicar el término SOA, lo primero no es indicar lo que significan las siglas (para mí lo menos importante), si no determinar lo que SOA no es, para así desasociar esta palabra con conceptos totalmente erroneos. A continuación relato afirmaciones erroneas acerca de SOA:

  • "SOA es un término publicitario": Esta afirmación en parte es cierta debido a que muchas empresas están utilizando este concepto como mera publicidad de sus actividades. Pero hay que tener clara una cosa, y es que la Orientación a Servicios no es un concepto abstracto y sin sustancia. La Orientación a Servicios define un paradigma de desarrollo de aplicaciones basado en una serie de principios como la reutilización, abstracción, independencia tecnológica, etc...
  • "SOA es el nuevo nombre de los Servicios Web": Esto es rotundamente falso. La Orientación a Servicios existe desde hace aproximadamente 15 años (en esa época ni se pensaba en los Servicios Web) y por supuesto se puede implementar con distintas tecnologías como Colas de Mensajes y CORBA. Actualmente debido a la aparición de los Servicios Web, la Orientación a Servicios ha resurgido, ya que la mejor implementación de los principios de Orientación a Servicios es mediante los Servicios Web, y sobre todo a partir de la aparición de las extensiones de estos (WS-*).
  • "Con SOA el desarrollo de aplicaciones es rápido y flexible": Es una afirmación cierta si a continuación añadiéramos un "pero". Ese pero es que esa rapidez y flexibilidad no es instantánea. Es necesario un proceso lento en el que la empresa que aplique SOA sea capaz de asimilar los nuevos comportamientos que implica el utilizar un nuevo paradigma para el desarrollo de aplicaciones. Es decir, que SOA aporta muchas ventajas, pero a su vez aplicar todos los principios de la Orientación a Servicios es complejo y se necesita tiempo y expertos en el tema.

Con esta reflexión paso a definir según mi criterio qué es una Arquitectura Orientada a Servicios. Para mí SOA son un conjunto de servicios tanto de negocio como tecnológicos que interactuando entre ellos, proporcionan la lógica necesaria para construir aplicaciones de una manera rápida y cumpliendo siempre con los principios de la Orientación a Servicios (los cuales definiremos en otro artículo). Además SOA proporciona una serie de guías y recomendaciones para conseguir los objetivos que se impone una organización a la hora de desarrollar aplicaciones.

3 Comments:

At 9:41 p. m., Blogger Jose Carlos said...

Enhorabuena por tu blog.

Es cierto que mucha gente está confundiendo SOA con Web Services y realmente son conceptos distintos. Aparte de los Web Services, se está discutiendo la viabilidad de otras tecnologías como JINI, OSGi, CORBA, etc para llevar a cabo una arquitectura orientada a servicios.

Ultimamente están surgiendo iniciativas para recoger las mejores prácticas (best practices)en SOA y, sobre todo, metodología para aplicar SOA en las organizaciones.

 
At 4:31 p. m., Anonymous Anónimo said...

En parte, comparto la definición, que haces de SOA. Sin embargo considero que si SOA, se queda solo en el desarrollo de soluciones tecnicas, no cumple su razón de ser. Lo anterior lo sustento en lo siguiente: SOA es una "estrategia" que permite a las areas técnologicas, responder de forma eficiente y/o flexible a las necesidades del negocio. Lo anterior implica que si la estrategia de SOA, no esta "alineada" con el negocio esta sera solo una estrategia mas de tecnologia, que no contara con transcendencia alguna.

Es asi como SOA parte de la automatización de los procesos de negocio o de las actividades y componentes que la conforman, siempre y cuando dichos procesos, actividades y/o tareas sean Reutilizables. Lo anterior alinea a SOA con el negocio y garantiza la reutilización, con lo cual se reduce el TCO, el ROI, y se flexibiliza el entorno de desarrollo de aplicaciones. En fin queda para el debate.

 
At 2:37 a. m., Anonymous Anónimo said...

Que tal gente disculpe alguien que me pueda ayudar como implementar SOA en netbeans les quedaria agradecido o algun manual o págiona con ejemplos practicos mi correo es joseph_jc83@latinmail.com

 

Publicar un comentario

<< Home