A pesar que no soy un experto en la materia la idea de este post es poder dar a conocer los fundamentos que persigue SOA ( Software Oriented Arquitecture ) y como el WOA ( Web Oriented Arquitectura ) esta llegando a ser una vía de éxito para una real implementación de SOA.

El objetivo que persigue SOA es el desarrollar una arquitectura orientada a servicios que permita :

  • Redefinir o crear procesos de Negocios

  • Generar de modelos de Negocios basados en Colaboración

  • Mejorar el Time to Market

Hoy para nadie es desconocido que las empresas que mas éxito tienen son las que poseen la capacidad para adaptarse a los cambios. Dentro de estas capacidad también esta la necesidad de llegar antes que la competencia con nuestros productos. Es por esto que la implementación de Arquitecturas SOA , no es solo un desafío tecnológico , sino que una necesidad comercial debido a la ardua competencia de los mercados y a la globalizacion de estos.

En el lado mas técnico SOA trata de generar un ecosistema de servicios que son expuestos en modo de web services, estos serán utilizados dependiendo de los procesos de negocios que se quieran definir.

Pero nace la pregunta de cuan factible es la implementación de SOA en una empresa que tiene una innumerable cantidad de aplicaciones , bases de datos , etc etc. No sera una tarea fácil determinar cuales serán son los servicios necesarios que debemos construir y orquestar para poder dar la flexibilidad que el Negocio requiere. Además considerando que este análisis requiere de perfiles que entiendan tanto del negocio como de elementos técnicos que le permitan decidir la implementación estos servicios. Ademas de la implementacion de webservices , a pesar que se ha simplificado bastante aunque requiere profesionales capacitados en todos los elementos que los webservices involucran.

web services 

Pero que opciones tenemos para poder implementar un sistema SOA que permita a una empresa en términos simples ir obteniendo los objetivos y las ventajas que pretende SOA , sin tener que realizar una gran inversión. La respuesta es WOA ( Web Oriented Arquitecture ), y se trata de generar una arquitectura orientada a la WEB. Para poder entender ambos puntos de vista veremos que es WOA:

  • La información en WOA esta representada en recursos. ( el foco de WOA son los recursos a diferencia del SOA que son los servicios ). Estos recursos están disponible sobre la red y son identificados por una URI. El protocolo utilizado para acceder a los recursos es HTTP.

  • Cada recursos puede ser accedido por su URI ( Universal Resource Identifier )

  • Los recursos puede ser manipulados por HTTP verbs. ( GET ,PUT ,POST , DELETE ). Utilizando como técnica REST.

  • El contrato de servicio es implícito, a diferencia de los Web Services que poseen un archivo en donde se define el detalle del servicio que se expone y los métodos que pueden ser invocados. 

    La siguiente imagen muestra  un poco mas los focos de ambos modelos:

    WOA y SOA

    Las principales diferencias entre SOA y WOA están en los siguientes puntos: 

     

  • SOA establece un limitado y claramente definido numero de endpoints, al contrario en la mecánica de WOA , cada recurso se establece como endpoints.

  • SOA utiliza SOAP para el intercambio de objetos y HTTP como capa de trasporte, en cambio WOA solo utiliza las propiedades del protocolo HTTP.

  • SOA no fue implementada para poder ser consumidas por browser. WOA es una característica propia de este modelo

     

     

De esta forma el éxito de la WEB 2.0 y el desarrollo de sofisticadas mashups hacen que todos tengas los ojos bien puesto en esta nuevo modelo  WOA. Quizas WOA nos vaya permitiendo el desarrollo de nuevas y sofisticadas  aplicaciones. Quizas las paginas web que hoy desarrollamos , con el foco de desplegar información en un browser sean en un futuro utilizadas para construir un sin fin de otras aplicaciones adicionales.
El siguiente diagrama podemos ver una  proyección del lugar que ocupara WOA en los próximos años.


WOA2010

 



Your Option (Login or Post by anonymous)