Principios SOA.

Para leer este articulo te recomendamos primero leer la siguiente Introducción.

No existe realmente una lista de Principios definidos, por lo tanto, proporcionaremos un conjunto de Principios que están muy asociados con al orientación a Servicios.
Basándonos en Thomas Erl, estos son:



  • Los Servicios deben ser reusables: Todo servicio debe ser diseñado y construido pensando en su reutilización dentro de la misma aplicación, dentro del dominio de aplicaciones de la empresa o incluso dentro del dominio público para su uso masivo.

  • Los Servicios deben proporcionar un contrato formal: Todo servicio desarrollado, debe proporcionar un contrato en el cual figuren: el nombre del servicio, su forma de acceso, las funcionales que ofrece, los datos de entrada de cada una de las funcionalidades y los datos de salida. De esta manera, todo consumidor del servicio, accederá a este mediante el contrato, logrando así la independencia entre el consumidor y la implementación del propio servicio.

  • Los Servicios deben tener bajo acoplamiento: Es decir, que los servicios tienen que ser independientes los unos de los otros. Para lograr ese bajo acoplamiento, lo que se hará es que cada vez que se vaya a ejecutar un servicio, se accederá a él a través del contrato, logrando así la independencia entre el servicio que se va a ejecutar y el que lo llama. De esta manera serán totalmente reutilizables.

  • Los Servicios deben permitir la composición: Todo servicio debe ser construido de tal manera que pueda ser utilizado para construir servicios genéricos de más alto nivel, el cual estará compuesto de servicios de más bajo nivel. En el caso de los Servicios Web, esto se logrará mediante el uso de los protocolos para orquestación(WS-BPEL) y coreografía (WS-CDL).

  • Los Servicios deben de ser autónomos: Todo Servicio debe tener su propio entorno de ejecución. De esta manera el servicio es totalmente independiente y nos podemos asegurar que así podrá ser reutilizable desde el punto de vista de la plataforma de ejecución.

  • Los Servicios no deben tener estado: Un servicio no debe guardar ningún tipo de información. Esto es así porque una aplicación está formada por un conjunto de servicios, lo que implica que si un servicio almacena algún tipo de información, se pueden producir problemas de inconsistencia de datos. La solución, es que un servicio sólo contenga lógica, y que toda información esté almacenada en algún sistema de información sea del tipo que sea.

  • Los Servicios deben poder ser descubiertos: Todo servicio debe poder ser descubierto de alguna forma para que pueda ser utilizado, consiguiendo así evitar la creación accidental de servicios que proporcionen las mismas funcionalidades. En el caso de los Servicios Web, el descubrimiento se logrará publicando los interfaces de los servicios en registros UDDI.



    Cuando se desarrollan aplicaciones SOA es muy útil y necesario tener en cuenta siempre estos principios, ya que nos van a dar las pautas necesarias para tomar ciertas decisiones de diseño complejas.

    Como se habrá podido observar, una característica muy importante de los Principios de la Orientación a Servicios, es que todos ellos se inter-relacionan. El siguiente gráfico muestra la inter-relación de los diferentes principios:


    Como se puede observar en el gráfico, el objetivo de la Orientación a Servicios es obtener software totalmente reutilizable a través de un conjunto de técnicas y principios como los descritos anteriormente.



    Fuente:

    28 comentarios:

    Anónimo dijo...

    HOLA, QUE TAL. estaba leyendo su blog, en basea una tarea que debo relizar, estudio ing electrica,pero de caracter me atrae la electronica, por ende la informatica. estaba realizando unos programas para la texas instruments ti 89 titanium para el desarollo matematico de protecciones en sistemas electricos de potencia, y me encontre con este completisimo blog. Resulta de vital importancia lo que uds han propuesto frente al tema de la arquitectura de sofware, el tema introductorio esta bastante avanzado para lo que yo necesitaba.Claridad y orden fue lo que encontre.buen elemento el que presentan, ojala que se masifique aun mas la informacion.....vale ok.

    Anónimo dijo...

    HOLA QUE TAL....saben, estaba leyendo su blog, llegue aqui por pura la casualidad de andar intruciando en el tema. Estudio ing Electrica, estaba desarrollando algunos programas para protecciones en sistemas electricos de potencia para la texas instrumens ti 89 titanium, buscando informacion que encesitaba llegue al blog, esta bastante bueno, bien estructurado, el tema quedo claro, tenia un par de dudas y crero haberlas aclarado. claro desde el punto de vista cultural. ojla que sigan agregando mas informacion, por qu la que esta hasta ahora esta bastante buena...ok seguire revisando su blog......se despide Mauro....

    Anónimo dijo...

    hola chicos, la verdad estabamos revisando su blog y nos pareció muy interesante , está muuy bueno, ojalá sigan creciendo y poniendo más información para todos nosotros, un saludos para ustedes.

    Francesca Montenegro y Fernanda Galaz.

    Anónimo dijo...

    HOLA CHICOS:
    LA VERDAD LA VERDAD EL TEMA NO LO DOMINO, NI TAMPOCO CREO QUE ME INICIARÉ EN ESTASTAS MATERIAS... HOY ME LLE´GÓ UN MAIL PROMOCIONANDO ESTA PÁGINA... ME PARECE UNA INTERESANTE INICIATIVA ESE INTERÉS POR INICIAR A LOS JÓVENES DE FORMA SERIA EN ESTAS NUEVAS TECNOLOGÍAS... (CON TANTA BASURA QUE NAVEGA EN LA RED EN BUENO ENCONTRAR ESTAS HERRAMIENTAS...)
    SALUDOS A TODOS
    dhmmh@hotmail.com

    Anónimo dijo...

    ME GUSTÓ EL BANER Y EL MENSAJE SUBLIMINAL DEL TECLADO....

    ALGUNOS LINK QUE LES PUEDE SERVIR...

    (UNA MODESTA OPINIÓN... SU BLOG PARA GANAR DEBERÍA TENER MÁS ENTRADAS O NO?????)

    http://www.desarrolloweb.com/articulos/1622.php

    http://www.fi.uba.ar/materias/7572/

    http://es.wikipedia.org/wiki/Arquitectura_software

    http://www.milestone.com.mx/CursoArquitecturaSW.htm

    ESO POR AHORA....

    Cyber dijo...

    Muy buen trabajo, justo estaba buscando algo de info para un trabajo en el liceo y encontré este blog, está muy bueno el contenido y su diseño.

    Sigan así, xau!

    Felipe dijo...

    excelente muchachos ;) bueno el contenido del blog, simple y claro sin tanto tecnicismo

    mi unica objeción es el reloj, creo que es como de las paginas de los 90's :P fuera de eso me parece impecable el blog, suerte y ojalá ganen ;)

    Trumbulianos IV 2007 dijo...

    Gracias a todos los que han comentado y visitado el blog :D.
    Amigo felipe, gracias por tu referencia al reloj :)!
    Saludos.

    Unknown dijo...

    Hola Chicos,
    me gustó mucho el blog.
    El diseño es sobrio y permite tener acceso a la información de manera simple y directa.
    Respecto al contenido... era un tremendo desafío el tema... me gustó como lo enfrentaron y parece que aprendieron.
    Lo más novedoso son los videos, están rebuenos.

    Saludos y suerte,

    cardura.doc

    Carolina VC dijo...

    Chicos me gustó como les quedó el blog, con una explicación precisa del tema de SOA.

    Suerte.

    Victor dijo...

    Estimados,
    En efecto como se comenta anteriormente, entre mas recopilación hagan del tema de orientación al servicio, tanto mejor, un buen trabajo de investigación se caracteriza por obtener las fuentes "base" y explicaciones acertadas de un tema, para que luego ustedes puedan sacar conclusiones. Actualmente me encuentro trabajando para el diseño e implementación de una arquitectura orientada al servicio en una empresa que debe integrar cerca de 400 aplicaciones usando como paradigma SOA (en una empresa normal comunmente existen 2 o 3). Les recomiendo antes de hacer jucios tales como "no hay principios SOA" (que sí los hay). Deben tambien recabar otros aspectos de SOA, tales como el versionamiento, seguridad, transaccionalidad, y sin duda el mas importante, >>Governance<< ( o los sistemas de gobiernos federados de los servicios). Ponganle pino, si alcanzo les sigo dando tips. Por lo pronto pongan en google "SOA security", "SOA governance", etc.

    les dejo un link para que revisen.
    http://www.zapthink.com/report.html?id=ZTS-GI103

    Saludos.
    Victor Toledo C.
    Enterprise Solution Architect.
    Neoris.

    Trumbulianos IV 2007 dijo...

    Gracias amigo Victor Toledo por dejar tu comentario. Con respecto a subir mas información en el blog, debemos comunicar que por el momento nos es imposible hacerlo, debido a que las bases del concurso no lo permiten.

    Saludos! :)

    Anónimo dijo...

    hola !
    muy bueno el blog, me llamo mucho la atencion la informacion sobre arquitectura de software ya que todavia nose que quiero estudiar y todo lo expuesto aqui me sirve mucho pa decidirme :) me gusto lo del reloj y todo en general, muy bien organizado !
    ojala les vaya super poo y que ganen porque yo veo que estan super entusiasmados y se ve que se han esforzado y se han preocupado arto por este proyecto :) les deseo lo mejoooor.
    Gabby :)

    Anónimo dijo...

    Esto de las nuevas tecnologías permite instancias como estas. la educación debe aprender a explotar al maximo estos espacios como los blog. me parece una buena iniciaiva. llegué aqui a través de Tupax y me parece interesante que jovénes como ustedes puedan a través de sus trabajos acceder a la Universidad. Claro que sin duda el limite de caracteres posibles es una restricción puesto que es mucho lo que se puede decir respecto de SOA.......
    pero como esto es solo una puesrta de entrada o algo asi como el primer paso... igual bien
    saludos y mucha suerte....

    ATTE
    MATIAS
    MUNIVINA.CL

    Anónimo dijo...

    Buenísimo el diseño del blog :)

    Anónimo dijo...

    En lineas generales su blog es bastante interesante y util a la vez, dado el caracter condensador de la informacion que tienen dentro del blog. Quizás como sugerencia podrían complementarlo con datos faćticos, en el sentido de que su visión sea proyectada a lo práctico, y se observen los beneficios que otorga su aplicación.


    Mauro.

    Unknown dijo...

    Hola, esta bastante bueno el sitio
    bien organizado e interesante
    muy práctico para los interesados en este tema.
    Saludos

    Unknown dijo...

    Hola.. bastante completo me parecio el blog.. no lograba entender estos temas.. pero en este blog lo he entendido bastante bien.. bueno, les mando mis saludos y espero que sigan aportando, que me parecio muy util..

    saludos

    Anónimo dijo...

    holaa!!
    que me parece genial la idea de este blog!porque es innovadora en cuanto a su tematica y debo admitir que no conocia esto de la arquitectura del software, y con la informacion que han puesto he podido conocer esta rama cibernauta que es tan comun pero a la vez tan desconocida.
    buena inicativa chicos...
    y ojala que ganen!

    Anónimo dijo...

    Caxa Joe ke lo encontre super interesante tu blog
    una buena cantidad de info pero clara y concisa
    todo mi apoyo flaco y ke les vaya bien en este concurso
    juegate la vida no mas

    nuevamente...muy bueno el Blog, bien hecho ademas en cuanto al diseño

    Felicitaciones

    Anónimo dijo...

    Hola, soy de iquique y encontre esta pagina por una amiga. Esta buenisima la informacion es realmente una herramienta para lo que se nos viene en el mundo, esto de hacer blogs para formar adolescentes es interesante, es amás creo que empezare a crearme un blog, siueidno de ejemplo el suyo.
    Bueno me despido, Adios y gracias por crear estos blogs de tanta ayuda

    Gerson

    Decanos2oo7 dijo...

    Dos palabras: MUY BUENO. De verdad mil felicitaciones a todos los trumbulianos, puesto que se nota dedicación y organización en la confección de este blog. Confieso que antes de entrar me era totalmente desconocido el tema que trata, pero ahora, si bien no me convertí en una experta, tengo una idea, debido a que las explicaciones están bastante claras y precisas, de modo que cualquier persona puede entenderlas. Espero no sólo se evalúe el resultado final, si no que también el proceso de creación, puesto que como lo mencioné anteriormente, se nota que es algo preparado y que no se realizó a la ligera.

    Éxito…
    Camila Abarza Barahona

    Anónimo dijo...

    Oh!esta demasiado bueno el diseño del blog, no em amnejo mucho en el tema pero esta filete, llegue por casualidad y me parecio demasiado interesante, sigue asi con la informacion. Saludos

    kata.

    Anónimo dijo...

    Hola, la verdad es q no soy muy aficionado de los blogs pero me parece interesante q chicos como uds se interesen en temas tan profundo como la arquitectura de software orientada a objetos.
    Luego de haber leido lo expuesto , sobre sale una palabra por sobre todas y esta es REUTILIZACION , esta simple palabra , tal vez muy obvia para algunos pero para otras muy reelevante, q va un poco mas alla de las distintas abstracciones expuestas , con ella se desliga un sin fin de utilidades, q si el programador sabe distribuirlas ahorrara mucho trabajo y se hara mas eficiente su sofware.
    Como critica constructiva se podria hacer un paralelismo entre Arquitectura de Software Orientada a Servicios y otras arquitecturas , como son los Principios de Programacion Orientada a Objetos con sus respectivos Patrones de Diseño, etc.
    En general muy bueno el blog, ojala sigan asi y se expanda mucho mas.

    saludos

    Jorge Brito Gardella
    Alumno de Ing Civil Industrial Universidad Catolica

    Anónimo dijo...

    ola amigos.. que bueno fue la creación de un concurso de este tipo.. me alegró mucho cuando me avisaron de lo que se realizaría, cosas asi creo que hacen falta a nuestro país, innovación, tecnología para nuestros jóvenes es lo primordial en esta época.. sólo les puedo decir que sigan adelante.. que si ganan, sigan con propuestas de este estilo y que fomenten a medida de lo que puedan, iniciativas culturales y de gran aprendizaje.

    El blog en general me parece atrayente: información concreta, precisa y por lo demás, fácil de entender.
    El banner es lo que más puedo destacar, con mensaje subliminal y todo, excelente creatividad.

    Suerte chicos, espero que de verdad sean ustedes quienes ganen.

    Saludos, Mario Pizarro

    Anónimo dijo...

    Su trabajo es de muy buen nivel. ¿cómo les fue en la competencia?

    De manera clara y asertiva pudieron explicar el tema que abordaron, imagínense que en la universidad muchos estudiantes todavía escriben artículos deficientes y con excesivo uso del "copiar-pegar". Sigan adelante!

    (Sobre su blog, mi propio y recién creado es una "alpargata" al lado del suyo! Super bien, felicitaciones!)

    Anónimo dijo...

    Chicos, es una maravilla que jovenes como ustedes estén aportando en temas valiosos que a todos nos pueden servir.... felicitaciones por que además demuestran que los colegios subvencionados tienen logros importantes , ustedes son un ejemplo muy valioso..!! adelante !!!! todos los adultos nos sentimos orgullosos de jovenes como ustedes y estamos concientes que las actitudes equivocadas de algunos chiquillos son una minoria que como generación ustedes equilibran muy bien!!!!

    Unknown dijo...

    Felicitaciones chicos

    Me alegra mucho que hayan ganado, vale la pena el esfuerzo.

    Saludos

    Carlos E. Sepúlveda
    TUXPAN