SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
Título del trabajo:




    CLOUD COMPUTING FRENTE SOA




Diseño y Evaluación de Configuraciones 2011   Página 1
Contenido
Contexto Histórico                                          3
La aparición de la arquitectura SOA                         4
Los servicios Web como solución para implantar SOA          6
Fundamentos de las características principales              7
  Interfaz o contrato de servicios                          7
  Transparencia del servicio                                8
  Composición de servicios                                  9
  Registro de servicios y su publicación                    9
  Tecnologías de la plataforma SOA                          9
    Gestión de la toma de decisiones empresariales.        10
    Bus de servicio de la Empresa.                         11
    Procesador de Flujos de Eventos                        12
    El servicio de mensajería Java                         12
    El registro                                            12
    Componentes de Servicio y su composición               13
  Un modelo maduro para arquitectura SOA                   13
SOA en la actualidad                                       14
El paradigma Cloud Computing                               15
  Pago por uso                                             16
  Flexibilidad en recursos                                 16
  Escalabilidad                                            16
  Herramientas de autoservicio                             16
  La importancia de la ubicación de los datos              18
Comparativa:                                               19
Fuentes de información:                                    19




Diseño y Evaluación de Configuraciones 2011           Página 2
Contexto Histórico

SOA es un término acuñado por Gartner en 1996, aunque no es un concepto
nuevo. Ya en los años 80, los ingenieros entendieron sus principios, cuando
llegaron al mercado la computación distribuida y las llamadas a procedimientos
remotos.
Aunque Gartner definición la arquitectura SOA en 1996, no fue hasta la
aparición de los servicios web que vio aumentado su interés. La primera ola de
SOA asumía una interacción entre los módulos consumidor y proveedor
normalmente usando comunicación request/reply. Aunque no alcanzó la
aceptación esperada. No fue hasta 2003, cuando SOA entra por completo en
las TI empresariales, a través de los servidores web.
Definición de Gartner:
“Service-oriented architecture is an architectural style for business applications
that are modular, distributable, shareable and loosely coupled”


En el año 2005 gracias a las nuevas tecnologías e infraestructuras llega el
concepto de “Cloud Computing” o “Computación en la nube”.
El concepto de la computación en la nube empezó en proveedores de servicio
de Internet a gran escala, como Google, Amazon AWS y otros que
construyeron su propia infraestructura. Este modelo de arquitectura fue
inmortalizado por George Gilder en su artículo de octubre 2006 en la revista
Wired titulado Las fábricas de información.
Las granjas de servidores, sobre las que escribió Gilder, eran similares en su
arquitectura al procesamiento “grid” (red, parrilla), pero mientras que las redes
se utilizan para aplicaciones de procesamiento técnico débilmente acoplados,
este nuevo modelo de nube se estaba aplicando a los servicios de Internet.




Diseño y Evaluación de Configuraciones 2011                               Página 3
La aparición de la arquitectura SOA


La Arquitectura Orientada a Servicios de cliente (en inglés Service Oriented
Architecture), es un concepto de arquitectura de software que define la
utilización de servicios para dar soporte a los requisitos del negocio.

Permite la creación de sistemas altamente escalables que reflejan el negocio
de la organización, a su vez brinda una forma bien definida de exposición e
invocación de servicios (comúnmente pero no exclusivamente servicios web),
lo cual facilita la interacción entre diferentes sistemas propios o de terceros.

SOA define las siguientes capas de software:

      Aplicaciones básicas - Sistemas desarrollados bajo cualquier
       arquitectura o tecnología, geográficamente dispersos y bajo cualquier
       figura de propiedad;

      De exposición de funcionalidades - Donde las funcionalidades de la
       capa aplicativa son expuestas en forma de servicios (generalmente
       como servicios web);

      De integración de servicios - Facilitan el intercambio de datos entre
       elementos de la capa aplicativa orientada a procesos empresariales
       internos o en colaboración;

      De composición de procesos - Que define el proceso en términos del
       negocio y sus necesidades, y que varía en función del negocio;

      De entrega - donde los servicios son desplegados a los usuarios finales.

SOA proporciona una metodología y un marco de trabajo para documentar las
capacidades de negocio y puede dar soporte a las actividades de integración y
consolidación.



 Los conceptos que hoy en día están asociados con la arquitectura SOA
aparecen con la adopción global de Internet, y más en concreto, del protocolo
HTTP. En 2003, Roy Schulte del Grupo Gartner acuñó el término SOA y
rápidamente se extendió por todo el planeta. En aquel momento era difícil de
representar, pero coincide con:

“Las arquitecturas SOA actuales representan una arquitectura abierta, ágil,
extensible, federada y combinada constituida por servicios autónomos, capaces
de gestionar una calidad de servicio, posiblemente de diferentes proveedores,
interoperativos entre ellos , descubribles y potencialmente reutilizables,
implementados todos ellos como servicios WEB.[Erl2005].”

Diseño y Evaluación de Configuraciones 2011                               Página 4
“La arquitectura orientada a servicios es una estrategia TIC que convierte las
funciones discretas contenidas en aplicaciones empresariales en servicios
basados en los estándares y totalmente interoperativos que pueden
combinarse y reutilizarse rápidamente para cumplir las necesidades de negocio
de una organización.[BEA]. ”

De ambas definiciones destacamos la noción de servicios empresariales
discretos y reutilizables que se pueden utilizar para construir un nuevo proceso
de negocio dentro de una aplicación.

Una característica destacable es que la arquitectura SOA está basada en XML
como representación de datos subyacente a diferencia de otras opciones que
utilizan objetos con representación binaria. La popularidad de XML es
indudable, sencillo de entender y fácil de generar.

Otra distinción entre la arquitectura SOA y otras tecnologías es que es más que
una tecnología en sí, alcanzó buenas prácticas y estándares que se han ido
afianzando a lo largo de décadas de desarrollo software. Entre ellas: nociones
de negocio, prestación de servicios, definiciones de metadatos y registros…




En la figura 1.1 muestra la interrelación entre los sistemas backend (a
continuación, términos aclarativos), los servicios publicados y los procesos de
negocio orquestados. Como se puede observar, los servicios de bajo nivel
(también denominados de grado fino) se encuentran en la capa superior de las
aplicaciones y sistemas de negocio de las empresas. Estos componentes
permiten a las capas superiores interactuar con los sistemas. La capa de

Diseño y Evaluación de Configuraciones 2011                              Página 5
composición de servicios representa servicios de grano más grueso que los
anteriores y consiste en dos o más componentes individuales. Los servicios
compuestos, por su parte, pueden ser pedidos a través de un sitio Web.



Término                                Definición

Servicio                               Una función sin estado, auto-
                                       contenida, que acepta una(s)
                                       llamada(s) y devuelve una(s)
                                       respuesta(s) mediante una interfaz
                                       bien definida. Los servicios pueden
                                       también ejecutar unidades discretas
                                       de trabajo como serían editar y
                                       procesar una transacción. Los
                                       servicios no dependen del estado de
                                       otras funciones o procesos. La
                                       tecnología concreta utilizada para
                                       prestar el servicio no es parte de esta
                                       definición. Existen servicios
                                       asíncronos en los que una solicitud a
                                       un servicio crea, por ejemplo, un
                                       archivo, y en una segunda solicitud se
                                       obtiene ese archivo

Orquestación                           Secuenciar los servicios y proveer la
                                       lógica adicional para procesar datos.
                                       No incluye la presentación de los
                                       datos. Coordinación.




Los servicios Web como solución para implantar SOA


  El estándar SOAP (es un protocolo que define cómo dos objetos en diferentes
procesos pueden comunicarse por medio de intercambio de datos XML) parece
resolver muchos de los requisitos fundamentales de las implementaciones
SOA, convirtiéndose así en sinónimo de servicios Web. En un ambiente SOA,
los nodos de la red hacen disponibles sus recursos a otros participantes en la
red como servicios independientes a los que tienen acceso de un modo
estandarizado.


Diseño y Evaluación de Configuraciones 2011                            Página 6
Para que un proyecto SOA tenga éxito los desarrolladores de software deben
orientarse ellos mismos a esta mentalidad de crear servicios comunes que son
orquestados por clientes o middleware para implementar los procesos de
negocio. El desarrollo de sistemas usando SOA requiere un compromiso con
este modelo en términos de planificación, herramientas e infraestructura.

 Algunas empresas han empezado a probar iniciativas basadas en este
concepto para determinar el nivel de esfuerzo necesario para participar en este
nuevo paradigma. Los vendedores de comercio electrónico fueron los primeros
en proponer este modelo al publicar sus interfaces de programación API para
su interacción a través de SOAP, con eBay y Amazon como líderes.




Fundamentos de las características principales


Interfaz o contrato de servicios


 Los servicios tienen que tener una interfaz o contrato muy bien definido. Un
contrato consiste en la especificación completa de un servicio entre un
proveedor de servicios y un cliente de una manera entendible para cualquier
posible cliente. Este contrato debe identificar que operaciones va a realizar el
servicio, definir qué datos serán necesarios para su intercambio y una forma
detallada de como invocar el servicio. Este es un buen ejemplo de cómo definir
un servicio en WSDL (Web Services Description Language, un formato XML
que se utiliza para describir servicios Web)




Diseño y Evaluación de Configuraciones 2011                             Página 7
Transparencia del servicio


La transparencia del servicio pertenece a la habilidad por invocar a un servicio
sin preocuparse donde se encuentra el punto final dentro de la red. Es
conveniente evitar una infraestructura con conexiones punto a punto, ya que
pronto se vuelve inmantenible y extremadamente quebradiza.




Una mejora notable consiste en la inserción de un mediador de servicios o
Proxy. En la siguiente figura vemos como mejora notablemente con respecto a
la anterior.




Diseño y Evaluación de Configuraciones 2011                              Página 8
Si la dirección de alguno de los puntos externos cambia, solo hay que cambiar
esa información en el Proxy del servicio.



Composición de servicios
Uno de los objetivos principales de SOA es su habilidad para generar servicios
compuestos y/o orquestaciones utilizando componentes de servicios como
piezas de puzle. Mediante servicios sencillos puede darse la composición de
servicios compuestos y todos son puestos a disposición mediante un catálogo
de servicios.




Registro de servicios y su publicación
Los clientes deben ser conscientes de la existencia del servicio que quieren
usar No solo eso, sino que los servicios deben incluir una especificación o un
trato que claramente identifique los parámetros de entrada, de salida, fallos,
etc. El estándar UDDI (Universal Description, Discovery and Integration) se ha
convertido en la plataforma estándar para el registro de servicios Web, tanto
público como privado. Actualmente son pocas las empresas y clientes que
usan UDDI. Herramientas sobre registros de servicios de tipo wiki han sido
suficientes para cubrir esa necesidad.



Tecnologías de la plataforma SOA


  Es un error pensar que SOA es una cuestión únicamente de tecnología. Los
temas relacionados con el gobierno, la calidad del servicio y demás son
grandes contribuciones a considerar a la hora de construir nuestra plataforma
SOA. Centrándonos en los aspectos técnicos, la figura 1.6 muestra las distintas
tecnologías que constituyen la plataforma tecnología SOA.




Diseño y Evaluación de Configuraciones 2011                             Página 9
¿Dónde están las aplicaciones? La capa de presentación puede considerarse
como el lugar en el que se encuentran las aplicaciones típicas, pero con la
actual variedad de modelos de presentación (móviles, Web, Gadget,
plataformas híbridas como Adobe Air, fuentes RSS) la noción de que constituye
la aplicación es compleja de definir. Por tanto se utiliza aquí el concepto de
“Servicios de presentación” para representar cualquier cosa que pueda
considerarse como interfaz con un servicio computacional.

A continuación una breve explicación de cada elemento.

Gestión de la toma de decisiones empresariales.
Un sistema de gestión de toma de decisiones empresariales EDM e incorpora
motor de reglas de negocio BRE(Business Rule Engine) para la ejecución de
las reglas de negocio definidas y un sistema de gestión de reglas de negocio
BRMS(Business Rule Management System) para la gestión de dichas reglas.
¿Qué es exactamente una regla de negocio? Es una sentencia escrita de forma
fácilmente comprensible en términos de negocio, que representa cierto aspecto
de cómo debe funcionar el negocio. (Ejemplo de empresa que amplia un
crédito: lo amplia si cumple ciertas restricciones o reglas).




Diseño y Evaluación de Configuraciones 2011                          Página 10
Bus de servicio de la Empresa.
 Un Bus ESB (Enterprise Service Bus) es en esencia una aplicación
middleware cuyo rol es proporcionar la interoperabilidad entre distintos
protocolos de comunicación. Por ejemplo, no es común para una empresa
recibir pedidos utilizando caracteres ASCII a través del protocolo FTP. Un bus
ESB puede encargarse de recoger el pedido de un sitio FTP, transformarlo en
XML y enviarlo internamente mediante un servicio Web para su posterior
utilización y procesamiento. La figura 1.8 resalta el papel que juega el bus ESB
a la hora de integrar los diferentes protocolos y como pueden publicarse
mediante un bus de mensaje estándar.




Diseño y Evaluación de Configuraciones 2011                            Página 11
Procesador de Flujos de Eventos
  Un evento es, simplemente, algo interesante que ocurre dentro del negocio.
Puede ser un evento normal o anormal. El procesamiento de flujos de eventos
ESP puede integrarse dentro de la implementación de los servicios de forma
que disponer de una visibilidad en tiempo real de nuestros sistemas se
convierten en realidad. Esta inteligencia operacional dota a la empresa de la
posibilidad de detectar anomalías en los sistemas de forma rápida.

  El papel de un sistema ESP es recibir distintos flujos de datos en tiempo real y
detectar patrones entre ellos. Una gran variedad de filtros, agregaciones en
tiempo real, disparadores de eventos y conjuntos de datos son los que
normalmente utilizan los sistemas ESP para detectar patrones. Los resultados
son arrojados por estos sistemas pueden alimentar la monitorización de la
actividad del negocio BAM (Business Activity Monitory).

El servicio de mensajería Java
  El servicio de mensajería de Java JMS (Java Message Service) es una de las
tecnologías fundamentales asociadas a la plataforma J2EE. Está considerada
como el middleware orientado a mensajes MOM (Message-Oriented
Middleware) y puede utilizar dos tipos de modelos de mensaje: modelo de cola
punto a punto y modelo de publicación y subscripción.

El registro
  Los artefactos de implementación que se derivan de la arquitectura SOA se
deben registrar dentro de un repositorio para así maximizar su reutilización o
permitir la gestión de los activos de la empresa. Los metadatos son datos sobre
los propios datos y, en este contexto, se consideran como las propiedades y
atributos de dichos activos. Cada uno de estos activos, como puede verse en la
figura 1.9, incluyen componentes de servicios y servicios compuestos,
procesos de negocio y aplicaciones. También suelen incluir objetos como
pueden ser usuarios, clientes y productos. En organizaciones más pequeñas
los repositorios son más informales y se utilizan como pequeños escritos en
herramientas wiki.




Diseño y Evaluación de Configuraciones 2011                              Página 12
*LDAP (Lightweight Directory Access Protocol (en español Protocolo Ligero de
Acceso a Directorios) que hacen referencia a un protocolo a nivel de aplicación
el cual permite el acceso a un servicio de directorio ordenado y distribuido para
buscar diversa información en un entorno de red. LDAP también es
considerado una base de datos (aunque su sistema de almacenamiento puede
ser diferente) a la que pueden realizarse consultas.

Componentes de Servicio y su composición
  Los componentes de servicio y sus composiciones representan las piezas
fundamentales de lo que constituye la plataforma SOA. Un servicio puede
construirse mediante una función de inteligencia de negocio de forma que
combine parte de datos y parte lógica en una interacción abstracta con un
servicio empresarial subyacente. Este servicio suele ser una pieza discreta que
representa una funcionalidad encontrada dentro de una aplicación ya existente.




Un modelo maduro para arquitectura SOA
 Disponer de un modelo maduro puede ser muy útil a la hora de analizar las
necesidades de una organización TIC en cuanto a qué niveles de la
arquitectura SOA necesita. La figura 1.12 representa este modelo en forma de
pirámide, de forma que cada nivel, en parte, depende del anterior.




Diseño y Evaluación de Configuraciones 2011                             Página 13
SOA en la actualidad


 A día de hoy SOA tiene menos impacto que sus descendientes Mashps, BPM,
SaaS, Cloud Computing y de cualquier otro enfoque de arquitectura que se
basa en “servicios”. SOA se ha convertido en una experiencia fallida para la
mayoría de las empresas, salvo en raras ocasiones, falló en entregar los
beneficios prometidos. Si bien inicialmente SOA ha sido adaptada
principalmente por técnicos, su base está más en los negocios que en los
problemas técnicos. Mas ellos fueron muchas veces introducidos (y a menudo
ejecutados) por los técnicos y vendedores, que estaban más interesados en la
tecnología SOA (venta de software) que en su impacto sobre los negocios.

David Linthicum analizó lo que salió mal, parafraseando a:

      Falta de arquitectos cualificados que entienden SOA.

      Las grandes empresas de consultoría se centran en las tácticas y en las
       horas facturables más que en los resultados.

      Los vendedores también se centran en la venta y no lo suficiente en la
       solución.

      Anuncia que SOA es una panacea para todos los males de IT.

Nick Gall, por otra parte:

“Este es el pensamiento de los servicios, tal como se entiende
convencionalmente, lo que condujo a la confusión en la que nos encontramos:


Diseño y Evaluación de Configuraciones 2011                            Página 14
la fragmentación provocada por interfaces de entidad específicas (servicios).
Sin embargo yo diría que en la "larga vida a la web."



Él cita como ejemplo el éxito de Google, Amazon, e incluso Salesforce y le
asigna a ellos, la mayoría de la influencia de la arquitectura web, comunidad
web y modelos de negocio web "Web-orientation es una condición necesaria
para la rápida integración de los datos y procesos de negocio, ellos permiten
que los modelos de desarrollo para cada situación específica, tales como
Mashups, SaaS y Cloud Computing".


 De este modo, el que SOA salga adelante es todo un debate entre los
expertos del sector.




El paradigma Cloud Computing




Diseño y Evaluación de Configuraciones 2011                            Página 15
La computación en la nube o informática en la nube, del inglés "Cloud
computing", es un paradigma que permite ofrecer servicios de computación a
través de Internet. Para que un servicio se pueda considerar como Cloud
Computing debe cumplir con las siguientes afirmaciones:

     Pago por uso

     Debe permitir agregar o decrementar recursos de forma sencilla y
      rápida.

     Debe ser escalable

     Debe proporcionar herramientas de autoservicio al usuario.

Pago por uso
      Este es el principal atractivo ya que el usuario solo tendrá que abonar los
recursos que haya consumido con su servicio, ahorrando así en implantaciones
on-premise y reduciendo el riesgo inicial de los proyectos.



Flexibilidad en recursos
       Consiste en la capacidad de poder agregar o disminuir nuevos recursos
o los que tuviéramos ya disponibles en nuestro servicio. Un ejemplo sería el de
poder aumentar o reducir la RAM utilizada por nuestro aplicativo web.



Escalabilidad
        Los proveedores de Cloud computing deben proporcionar plataformas
que permitan aumentar el número de instancias del servicio para poder
responder a una mayor demanda de usuarios o peticiones. Además debe
permitir mecanismo para mover el servicio entre los distintos servidores y los
distintos centros de datos que disponga el proveedor.



Herramientas de autoservicio
      Se deben proporcionar herramientas que permitan al propio usuario (o
un responsable) contratar los servicios que desea consumir y ajustar los
recursos destinados a esos servicios.

En una primera aproximación se podría pensar que el Cloud Computing es algo
similar a un hosting, pero estaríamos equivocados por varios motivos:

     El hosting se paga por cuotas de recursos y no por uso.

     El hosting no permite modificar los recursos disponibles de forma
      sencilla y automatizada.
Diseño y Evaluación de Configuraciones 2011                             Página 16
 No todos los servicios de hosting permiten funcionalidades de escalado.

En definitiva se podría decir que un hosting es un subconjunto del Cloud
Computing o que el Cloud computing es una evolución del hosting.



Los distintos servicios que se pueden ofrecer en modo Cloud computing se
agrupan en: IaaS (Infraestructura como servicio), PaaS (Plataforma como
servicio) y SaaS (Software como servicio).

    El IaaS ofrece a los usuarios la posibilidad de utilizar distintos tipos de
     infraestructura como un servicio.

    El PaaS proporciona características adicionales al IaaS como puedan
     ser: despliegue automatizado de aplicaciones, sistemas de gestión de
     autenticación, sistemas de comunicación de colas o mensajes, sistemas
     de monitorización,…

    El SaaS permite utilizar como servicio un software existente sin realizar
     instalaciones ni configuraciones.




Diseño y Evaluación de Configuraciones 2011                               Página 17
La plataforma donde se ejecutan los servicios que proporcionan los
proveedores de Cloud computing son los Datacenters que consisten en centros
de datos con una serie de servidores conectados entre sí y con una plataforma
de gestión que permite desplegar los servicios en los distintos servidores de
forma automatizada y transparente para el usuario.

Disponemos de tres modalidades de utilizar los servicios de Cloud computing
en función de donde se encuentre el datacenter:

     Nube Pública, los servicios y todos los datos se encuentran en los
      datacenters del proveedor siendo éste el que asume todo el
      mantenimiento de los servicios.

     Nube Privada, los servicios y los datos se encuentran on-premise (en
      las infraestructuras del cliente). Requiere de un mayor mantenimiento y
      de infraestructuras grandes.

     Nube Híbrida, consiste en una mezcla entre las dos modalidades
      anteriores para aquellos clientes que no puedan sacar los datos de sus
      infraestructuras pero se quieran aprovechar de las ventajas de los
      servicios de Cloud Computing de un proveedor externo.



La importancia de la ubicación de los datos
Este posiblemente sea tema más polémico de la computación en la nube. Para
muchos clientes la ubicación de los datos es un factor crítico a la hora de
plantear una solución en modo Cloud computing. Para muchas empresas el
ubicar los datos fuera de sus infraestructuras será imposible debido a su
criticidad o incluso la propia legislación.

Antes de plantear cualquier solución habrá que estudiar si los datos podrán
ubicarse fuera de nuestras infraestructuras y en qué país se ubicarán para
determinar si la legislatura vigente en ese país no afectará a nuestro servicio.

Los organismos públicos por ejemplo, solo podrán mover fuera del país origen
aquellos datos que sean totalmente públicos, por lo que no podrán plantear
soluciones de Nube privada para datos sensibles.

Una alternativa sería plantear nubes híbridas con proveedores locales que
tengan que cumplir con la misma legislación. Para más información sobre
jurisprudencia podríamos consultar el vídeo "Implicaciones legales del Cloud
Computing" de Pablo García Mexía.




Diseño y Evaluación de Configuraciones 2011                              Página 18
Comparativa:


En la siguiente gráfica podemos observar, según Google Trends, las
búsquedas y las noticias generadas por los términos SOA (en rojo) y Cloud
Computing (en azul).




Fuentes de información:
Jeff Davis, SOA Open Source, Editorial Manning, Anaya Multimedia, 2009.

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

http://www.dosideas.com/noticias/actualidad/385-soa-esta-muerto.html

http://www.dreig.eu/caparazon/2008/10/30/%C2%BFque-es-el-cloud-
computing-definicion-tendencias-y-precauciones/

http://www.desarrolloweb.com/articulos/cloud-computing.html

http://es.wikipedia.org/wiki/Computaci%C3%B3n_en_nube

http://ctovision.com/2009/07/cloud-computing-vs-soa-look-for-a-cross-over-in-
hype/

http://www.gartner.com/resources/111900/111987/111987.pdf




Diseño y Evaluación de Configuraciones 2011                            Página 19

Más contenido relacionado

La actualidad más candente

Arquitectura de integración de servicios
Arquitectura de integración de serviciosArquitectura de integración de servicios
Arquitectura de integración de serviciosCoatzozon20
 
SOA (arquitectura orientada a servicios)
SOA (arquitectura orientada a servicios)SOA (arquitectura orientada a servicios)
SOA (arquitectura orientada a servicios)dina_k_d
 
Arquitectura de Integracion de los Servicios
Arquitectura de Integracion de los ServiciosArquitectura de Integracion de los Servicios
Arquitectura de Integracion de los Serviciosnohemizamudio
 
Arquitectura SOA y herramientas .net
Arquitectura SOA y herramientas .netArquitectura SOA y herramientas .net
Arquitectura SOA y herramientas .netJuan Pablo
 
Introducción a SOA
Introducción a SOAIntroducción a SOA
Introducción a SOArdiegoc
 
Elementos esenciales de una arquitectura orientada a servicios
Elementos esenciales de una arquitectura orientada a serviciosElementos esenciales de una arquitectura orientada a servicios
Elementos esenciales de una arquitectura orientada a servicioswachu wachu pi
 
Curso JAVA ARQUITECTURA SOA: DESARROLLO Y ORQUESTACIÓN DE SERVICIOS WEB CON J...
Curso JAVA ARQUITECTURA SOA: DESARROLLO Y ORQUESTACIÓN DE SERVICIOS WEB CON J...Curso JAVA ARQUITECTURA SOA: DESARROLLO Y ORQUESTACIÓN DE SERVICIOS WEB CON J...
Curso JAVA ARQUITECTURA SOA: DESARROLLO Y ORQUESTACIÓN DE SERVICIOS WEB CON J...CLEFormación
 
SOA: Principios de Diseño de Servicios - Parte II
SOA: Principios de Diseño de Servicios - Parte IISOA: Principios de Diseño de Servicios - Parte II
SOA: Principios de Diseño de Servicios - Parte IIAbimael Desales López
 
Arquitectura Orientada a Servicios
Arquitectura Orientada a ServiciosArquitectura Orientada a Servicios
Arquitectura Orientada a ServiciosDamián Rotta
 
Arquitectura Orientada a Servicios joseadugarte
Arquitectura Orientada a Servicios joseadugarteArquitectura Orientada a Servicios joseadugarte
Arquitectura Orientada a Servicios joseadugartethearcangelboss
 
Presentacion Soa Ibm Phb.V2
Presentacion Soa Ibm Phb.V2Presentacion Soa Ibm Phb.V2
Presentacion Soa Ibm Phb.V2Snoop Consulting
 
Ejemplo soa
Ejemplo soaEjemplo soa
Ejemplo soabrccq
 
Soa y los servicios web de segunda generacion
Soa y los servicios web de segunda generacionSoa y los servicios web de segunda generacion
Soa y los servicios web de segunda generacionwachu wachu pi
 
Arquitectura Orientada a Servicios
Arquitectura Orientada a ServiciosArquitectura Orientada a Servicios
Arquitectura Orientada a Serviciosfinger10
 
Sio Eq9 Criterio2 Eval Ord Inv Soa Ocampo Vargas
Sio Eq9 Criterio2 Eval Ord Inv Soa Ocampo VargasSio Eq9 Criterio2 Eval Ord Inv Soa Ocampo Vargas
Sio Eq9 Criterio2 Eval Ord Inv Soa Ocampo VargasSilvermist86
 
ESB y SOA, Plataforma de integracion.
ESB y SOA, Plataforma de integracion.ESB y SOA, Plataforma de integracion.
ESB y SOA, Plataforma de integracion.Julio Cejas
 

La actualidad más candente (20)

Arquitectura de integración de servicios
Arquitectura de integración de serviciosArquitectura de integración de servicios
Arquitectura de integración de servicios
 
SOA (arquitectura orientada a servicios)
SOA (arquitectura orientada a servicios)SOA (arquitectura orientada a servicios)
SOA (arquitectura orientada a servicios)
 
Arquitectura de Integracion de los Servicios
Arquitectura de Integracion de los ServiciosArquitectura de Integracion de los Servicios
Arquitectura de Integracion de los Servicios
 
Arquitectura SOA y herramientas .net
Arquitectura SOA y herramientas .netArquitectura SOA y herramientas .net
Arquitectura SOA y herramientas .net
 
Soa
SoaSoa
Soa
 
Introducción a SOA
Introducción a SOAIntroducción a SOA
Introducción a SOA
 
SOA
SOASOA
SOA
 
Elementos esenciales de una arquitectura orientada a servicios
Elementos esenciales de una arquitectura orientada a serviciosElementos esenciales de una arquitectura orientada a servicios
Elementos esenciales de una arquitectura orientada a servicios
 
SOA
SOASOA
SOA
 
Curso JAVA ARQUITECTURA SOA: DESARROLLO Y ORQUESTACIÓN DE SERVICIOS WEB CON J...
Curso JAVA ARQUITECTURA SOA: DESARROLLO Y ORQUESTACIÓN DE SERVICIOS WEB CON J...Curso JAVA ARQUITECTURA SOA: DESARROLLO Y ORQUESTACIÓN DE SERVICIOS WEB CON J...
Curso JAVA ARQUITECTURA SOA: DESARROLLO Y ORQUESTACIÓN DE SERVICIOS WEB CON J...
 
SOA: Principios de Diseño de Servicios - Parte II
SOA: Principios de Diseño de Servicios - Parte IISOA: Principios de Diseño de Servicios - Parte II
SOA: Principios de Diseño de Servicios - Parte II
 
Arquitectura Orientada a Servicios
Arquitectura Orientada a ServiciosArquitectura Orientada a Servicios
Arquitectura Orientada a Servicios
 
Arquitectura Orientada a Servicios joseadugarte
Arquitectura Orientada a Servicios joseadugarteArquitectura Orientada a Servicios joseadugarte
Arquitectura Orientada a Servicios joseadugarte
 
Presentacion Soa Ibm Phb.V2
Presentacion Soa Ibm Phb.V2Presentacion Soa Ibm Phb.V2
Presentacion Soa Ibm Phb.V2
 
Ejemplo soa
Ejemplo soaEjemplo soa
Ejemplo soa
 
Soa y los servicios web de segunda generacion
Soa y los servicios web de segunda generacionSoa y los servicios web de segunda generacion
Soa y los servicios web de segunda generacion
 
Arquitectura Orientada a Servicios
Arquitectura Orientada a ServiciosArquitectura Orientada a Servicios
Arquitectura Orientada a Servicios
 
Sio Eq9 Criterio2 Eval Ord Inv Soa Ocampo Vargas
Sio Eq9 Criterio2 Eval Ord Inv Soa Ocampo VargasSio Eq9 Criterio2 Eval Ord Inv Soa Ocampo Vargas
Sio Eq9 Criterio2 Eval Ord Inv Soa Ocampo Vargas
 
Resumido
ResumidoResumido
Resumido
 
ESB y SOA, Plataforma de integracion.
ESB y SOA, Plataforma de integracion.ESB y SOA, Plataforma de integracion.
ESB y SOA, Plataforma de integracion.
 

Similar a Trabajo (20)

CapíTulo 7
CapíTulo 7CapíTulo 7
CapíTulo 7
 
Arquitectura orientada a servicios soa
Arquitectura orientada a servicios soaArquitectura orientada a servicios soa
Arquitectura orientada a servicios soa
 
Soa
SoaSoa
Soa
 
Benchmarking
BenchmarkingBenchmarking
Benchmarking
 
1 er trabajo-penas1
1 er trabajo-penas11 er trabajo-penas1
1 er trabajo-penas1
 
Soa
SoaSoa
Soa
 
Presentacion
PresentacionPresentacion
Presentacion
 
Cloud Computing VS SOA
Cloud Computing VS SOACloud Computing VS SOA
Cloud Computing VS SOA
 
Charla IBM Soa Web 2.0 Cloud Computing M Bolo
Charla IBM Soa Web 2.0 Cloud Computing   M BoloCharla IBM Soa Web 2.0 Cloud Computing   M Bolo
Charla IBM Soa Web 2.0 Cloud Computing M Bolo
 
Arquitectura Del Servicio De Internet
Arquitectura Del Servicio De InternetArquitectura Del Servicio De Internet
Arquitectura Del Servicio De Internet
 
Arquitectura orientada a servicios soa
Arquitectura orientada a servicios soaArquitectura orientada a servicios soa
Arquitectura orientada a servicios soa
 
Introducción SOA - Cloud Computing
Introducción SOA - Cloud ComputingIntroducción SOA - Cloud Computing
Introducción SOA - Cloud Computing
 
Integracion de soluciones SOA.pptx
Integracion de soluciones SOA.pptxIntegracion de soluciones SOA.pptx
Integracion de soluciones SOA.pptx
 
GEP2009 EQ4 L9 G&Ruth Trad Cap 7
GEP2009  EQ4  L9  G&Ruth Trad Cap 7GEP2009  EQ4  L9  G&Ruth Trad Cap 7
GEP2009 EQ4 L9 G&Ruth Trad Cap 7
 
Sio2009 Eq4 L9 G&Ruth Cap 7
Sio2009 Eq4 L9 G&Ruth Cap 7Sio2009 Eq4 L9 G&Ruth Cap 7
Sio2009 Eq4 L9 G&Ruth Cap 7
 
Clase Soa
Clase SoaClase Soa
Clase Soa
 
Paradigmas De La Programacion
Paradigmas De La ProgramacionParadigmas De La Programacion
Paradigmas De La Programacion
 
Soa expo
Soa expoSoa expo
Soa expo
 
Soa expo
Soa expoSoa expo
Soa expo
 
Orquestación de Servicios y SOA
Orquestación de Servicios y SOAOrquestación de Servicios y SOA
Orquestación de Servicios y SOA
 

Último

Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 

Último (20)

Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 

Trabajo

  • 1. Título del trabajo: CLOUD COMPUTING FRENTE SOA Diseño y Evaluación de Configuraciones 2011 Página 1
  • 2. Contenido Contexto Histórico 3 La aparición de la arquitectura SOA 4 Los servicios Web como solución para implantar SOA 6 Fundamentos de las características principales 7 Interfaz o contrato de servicios 7 Transparencia del servicio 8 Composición de servicios 9 Registro de servicios y su publicación 9 Tecnologías de la plataforma SOA 9 Gestión de la toma de decisiones empresariales. 10 Bus de servicio de la Empresa. 11 Procesador de Flujos de Eventos 12 El servicio de mensajería Java 12 El registro 12 Componentes de Servicio y su composición 13 Un modelo maduro para arquitectura SOA 13 SOA en la actualidad 14 El paradigma Cloud Computing 15 Pago por uso 16 Flexibilidad en recursos 16 Escalabilidad 16 Herramientas de autoservicio 16 La importancia de la ubicación de los datos 18 Comparativa: 19 Fuentes de información: 19 Diseño y Evaluación de Configuraciones 2011 Página 2
  • 3. Contexto Histórico SOA es un término acuñado por Gartner en 1996, aunque no es un concepto nuevo. Ya en los años 80, los ingenieros entendieron sus principios, cuando llegaron al mercado la computación distribuida y las llamadas a procedimientos remotos. Aunque Gartner definición la arquitectura SOA en 1996, no fue hasta la aparición de los servicios web que vio aumentado su interés. La primera ola de SOA asumía una interacción entre los módulos consumidor y proveedor normalmente usando comunicación request/reply. Aunque no alcanzó la aceptación esperada. No fue hasta 2003, cuando SOA entra por completo en las TI empresariales, a través de los servidores web. Definición de Gartner: “Service-oriented architecture is an architectural style for business applications that are modular, distributable, shareable and loosely coupled” En el año 2005 gracias a las nuevas tecnologías e infraestructuras llega el concepto de “Cloud Computing” o “Computación en la nube”. El concepto de la computación en la nube empezó en proveedores de servicio de Internet a gran escala, como Google, Amazon AWS y otros que construyeron su propia infraestructura. Este modelo de arquitectura fue inmortalizado por George Gilder en su artículo de octubre 2006 en la revista Wired titulado Las fábricas de información. Las granjas de servidores, sobre las que escribió Gilder, eran similares en su arquitectura al procesamiento “grid” (red, parrilla), pero mientras que las redes se utilizan para aplicaciones de procesamiento técnico débilmente acoplados, este nuevo modelo de nube se estaba aplicando a los servicios de Internet. Diseño y Evaluación de Configuraciones 2011 Página 3
  • 4. La aparición de la arquitectura SOA La Arquitectura Orientada a Servicios de cliente (en inglés Service Oriented Architecture), es un concepto de arquitectura de software que define la utilización de servicios para dar soporte a los requisitos del negocio. Permite la creación de sistemas altamente escalables que reflejan el negocio de la organización, a su vez brinda una forma bien definida de exposición e invocación de servicios (comúnmente pero no exclusivamente servicios web), lo cual facilita la interacción entre diferentes sistemas propios o de terceros. SOA define las siguientes capas de software:  Aplicaciones básicas - Sistemas desarrollados bajo cualquier arquitectura o tecnología, geográficamente dispersos y bajo cualquier figura de propiedad;  De exposición de funcionalidades - Donde las funcionalidades de la capa aplicativa son expuestas en forma de servicios (generalmente como servicios web);  De integración de servicios - Facilitan el intercambio de datos entre elementos de la capa aplicativa orientada a procesos empresariales internos o en colaboración;  De composición de procesos - Que define el proceso en términos del negocio y sus necesidades, y que varía en función del negocio;  De entrega - donde los servicios son desplegados a los usuarios finales. SOA proporciona una metodología y un marco de trabajo para documentar las capacidades de negocio y puede dar soporte a las actividades de integración y consolidación. Los conceptos que hoy en día están asociados con la arquitectura SOA aparecen con la adopción global de Internet, y más en concreto, del protocolo HTTP. En 2003, Roy Schulte del Grupo Gartner acuñó el término SOA y rápidamente se extendió por todo el planeta. En aquel momento era difícil de representar, pero coincide con: “Las arquitecturas SOA actuales representan una arquitectura abierta, ágil, extensible, federada y combinada constituida por servicios autónomos, capaces de gestionar una calidad de servicio, posiblemente de diferentes proveedores, interoperativos entre ellos , descubribles y potencialmente reutilizables, implementados todos ellos como servicios WEB.[Erl2005].” Diseño y Evaluación de Configuraciones 2011 Página 4
  • 5. “La arquitectura orientada a servicios es una estrategia TIC que convierte las funciones discretas contenidas en aplicaciones empresariales en servicios basados en los estándares y totalmente interoperativos que pueden combinarse y reutilizarse rápidamente para cumplir las necesidades de negocio de una organización.[BEA]. ” De ambas definiciones destacamos la noción de servicios empresariales discretos y reutilizables que se pueden utilizar para construir un nuevo proceso de negocio dentro de una aplicación. Una característica destacable es que la arquitectura SOA está basada en XML como representación de datos subyacente a diferencia de otras opciones que utilizan objetos con representación binaria. La popularidad de XML es indudable, sencillo de entender y fácil de generar. Otra distinción entre la arquitectura SOA y otras tecnologías es que es más que una tecnología en sí, alcanzó buenas prácticas y estándares que se han ido afianzando a lo largo de décadas de desarrollo software. Entre ellas: nociones de negocio, prestación de servicios, definiciones de metadatos y registros… En la figura 1.1 muestra la interrelación entre los sistemas backend (a continuación, términos aclarativos), los servicios publicados y los procesos de negocio orquestados. Como se puede observar, los servicios de bajo nivel (también denominados de grado fino) se encuentran en la capa superior de las aplicaciones y sistemas de negocio de las empresas. Estos componentes permiten a las capas superiores interactuar con los sistemas. La capa de Diseño y Evaluación de Configuraciones 2011 Página 5
  • 6. composición de servicios representa servicios de grano más grueso que los anteriores y consiste en dos o más componentes individuales. Los servicios compuestos, por su parte, pueden ser pedidos a través de un sitio Web. Término Definición Servicio Una función sin estado, auto- contenida, que acepta una(s) llamada(s) y devuelve una(s) respuesta(s) mediante una interfaz bien definida. Los servicios pueden también ejecutar unidades discretas de trabajo como serían editar y procesar una transacción. Los servicios no dependen del estado de otras funciones o procesos. La tecnología concreta utilizada para prestar el servicio no es parte de esta definición. Existen servicios asíncronos en los que una solicitud a un servicio crea, por ejemplo, un archivo, y en una segunda solicitud se obtiene ese archivo Orquestación Secuenciar los servicios y proveer la lógica adicional para procesar datos. No incluye la presentación de los datos. Coordinación. Los servicios Web como solución para implantar SOA El estándar SOAP (es un protocolo que define cómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML) parece resolver muchos de los requisitos fundamentales de las implementaciones SOA, convirtiéndose así en sinónimo de servicios Web. En un ambiente SOA, los nodos de la red hacen disponibles sus recursos a otros participantes en la red como servicios independientes a los que tienen acceso de un modo estandarizado. Diseño y Evaluación de Configuraciones 2011 Página 6
  • 7. Para que un proyecto SOA tenga éxito los desarrolladores de software deben orientarse ellos mismos a esta mentalidad de crear servicios comunes que son orquestados por clientes o middleware para implementar los procesos de negocio. El desarrollo de sistemas usando SOA requiere un compromiso con este modelo en términos de planificación, herramientas e infraestructura. Algunas empresas han empezado a probar iniciativas basadas en este concepto para determinar el nivel de esfuerzo necesario para participar en este nuevo paradigma. Los vendedores de comercio electrónico fueron los primeros en proponer este modelo al publicar sus interfaces de programación API para su interacción a través de SOAP, con eBay y Amazon como líderes. Fundamentos de las características principales Interfaz o contrato de servicios Los servicios tienen que tener una interfaz o contrato muy bien definido. Un contrato consiste en la especificación completa de un servicio entre un proveedor de servicios y un cliente de una manera entendible para cualquier posible cliente. Este contrato debe identificar que operaciones va a realizar el servicio, definir qué datos serán necesarios para su intercambio y una forma detallada de como invocar el servicio. Este es un buen ejemplo de cómo definir un servicio en WSDL (Web Services Description Language, un formato XML que se utiliza para describir servicios Web) Diseño y Evaluación de Configuraciones 2011 Página 7
  • 8. Transparencia del servicio La transparencia del servicio pertenece a la habilidad por invocar a un servicio sin preocuparse donde se encuentra el punto final dentro de la red. Es conveniente evitar una infraestructura con conexiones punto a punto, ya que pronto se vuelve inmantenible y extremadamente quebradiza. Una mejora notable consiste en la inserción de un mediador de servicios o Proxy. En la siguiente figura vemos como mejora notablemente con respecto a la anterior. Diseño y Evaluación de Configuraciones 2011 Página 8
  • 9. Si la dirección de alguno de los puntos externos cambia, solo hay que cambiar esa información en el Proxy del servicio. Composición de servicios Uno de los objetivos principales de SOA es su habilidad para generar servicios compuestos y/o orquestaciones utilizando componentes de servicios como piezas de puzle. Mediante servicios sencillos puede darse la composición de servicios compuestos y todos son puestos a disposición mediante un catálogo de servicios. Registro de servicios y su publicación Los clientes deben ser conscientes de la existencia del servicio que quieren usar No solo eso, sino que los servicios deben incluir una especificación o un trato que claramente identifique los parámetros de entrada, de salida, fallos, etc. El estándar UDDI (Universal Description, Discovery and Integration) se ha convertido en la plataforma estándar para el registro de servicios Web, tanto público como privado. Actualmente son pocas las empresas y clientes que usan UDDI. Herramientas sobre registros de servicios de tipo wiki han sido suficientes para cubrir esa necesidad. Tecnologías de la plataforma SOA Es un error pensar que SOA es una cuestión únicamente de tecnología. Los temas relacionados con el gobierno, la calidad del servicio y demás son grandes contribuciones a considerar a la hora de construir nuestra plataforma SOA. Centrándonos en los aspectos técnicos, la figura 1.6 muestra las distintas tecnologías que constituyen la plataforma tecnología SOA. Diseño y Evaluación de Configuraciones 2011 Página 9
  • 10. ¿Dónde están las aplicaciones? La capa de presentación puede considerarse como el lugar en el que se encuentran las aplicaciones típicas, pero con la actual variedad de modelos de presentación (móviles, Web, Gadget, plataformas híbridas como Adobe Air, fuentes RSS) la noción de que constituye la aplicación es compleja de definir. Por tanto se utiliza aquí el concepto de “Servicios de presentación” para representar cualquier cosa que pueda considerarse como interfaz con un servicio computacional. A continuación una breve explicación de cada elemento. Gestión de la toma de decisiones empresariales. Un sistema de gestión de toma de decisiones empresariales EDM e incorpora motor de reglas de negocio BRE(Business Rule Engine) para la ejecución de las reglas de negocio definidas y un sistema de gestión de reglas de negocio BRMS(Business Rule Management System) para la gestión de dichas reglas. ¿Qué es exactamente una regla de negocio? Es una sentencia escrita de forma fácilmente comprensible en términos de negocio, que representa cierto aspecto de cómo debe funcionar el negocio. (Ejemplo de empresa que amplia un crédito: lo amplia si cumple ciertas restricciones o reglas). Diseño y Evaluación de Configuraciones 2011 Página 10
  • 11. Bus de servicio de la Empresa. Un Bus ESB (Enterprise Service Bus) es en esencia una aplicación middleware cuyo rol es proporcionar la interoperabilidad entre distintos protocolos de comunicación. Por ejemplo, no es común para una empresa recibir pedidos utilizando caracteres ASCII a través del protocolo FTP. Un bus ESB puede encargarse de recoger el pedido de un sitio FTP, transformarlo en XML y enviarlo internamente mediante un servicio Web para su posterior utilización y procesamiento. La figura 1.8 resalta el papel que juega el bus ESB a la hora de integrar los diferentes protocolos y como pueden publicarse mediante un bus de mensaje estándar. Diseño y Evaluación de Configuraciones 2011 Página 11
  • 12. Procesador de Flujos de Eventos Un evento es, simplemente, algo interesante que ocurre dentro del negocio. Puede ser un evento normal o anormal. El procesamiento de flujos de eventos ESP puede integrarse dentro de la implementación de los servicios de forma que disponer de una visibilidad en tiempo real de nuestros sistemas se convierten en realidad. Esta inteligencia operacional dota a la empresa de la posibilidad de detectar anomalías en los sistemas de forma rápida. El papel de un sistema ESP es recibir distintos flujos de datos en tiempo real y detectar patrones entre ellos. Una gran variedad de filtros, agregaciones en tiempo real, disparadores de eventos y conjuntos de datos son los que normalmente utilizan los sistemas ESP para detectar patrones. Los resultados son arrojados por estos sistemas pueden alimentar la monitorización de la actividad del negocio BAM (Business Activity Monitory). El servicio de mensajería Java El servicio de mensajería de Java JMS (Java Message Service) es una de las tecnologías fundamentales asociadas a la plataforma J2EE. Está considerada como el middleware orientado a mensajes MOM (Message-Oriented Middleware) y puede utilizar dos tipos de modelos de mensaje: modelo de cola punto a punto y modelo de publicación y subscripción. El registro Los artefactos de implementación que se derivan de la arquitectura SOA se deben registrar dentro de un repositorio para así maximizar su reutilización o permitir la gestión de los activos de la empresa. Los metadatos son datos sobre los propios datos y, en este contexto, se consideran como las propiedades y atributos de dichos activos. Cada uno de estos activos, como puede verse en la figura 1.9, incluyen componentes de servicios y servicios compuestos, procesos de negocio y aplicaciones. También suelen incluir objetos como pueden ser usuarios, clientes y productos. En organizaciones más pequeñas los repositorios son más informales y se utilizan como pequeños escritos en herramientas wiki. Diseño y Evaluación de Configuraciones 2011 Página 12
  • 13. *LDAP (Lightweight Directory Access Protocol (en español Protocolo Ligero de Acceso a Directorios) que hacen referencia a un protocolo a nivel de aplicación el cual permite el acceso a un servicio de directorio ordenado y distribuido para buscar diversa información en un entorno de red. LDAP también es considerado una base de datos (aunque su sistema de almacenamiento puede ser diferente) a la que pueden realizarse consultas. Componentes de Servicio y su composición Los componentes de servicio y sus composiciones representan las piezas fundamentales de lo que constituye la plataforma SOA. Un servicio puede construirse mediante una función de inteligencia de negocio de forma que combine parte de datos y parte lógica en una interacción abstracta con un servicio empresarial subyacente. Este servicio suele ser una pieza discreta que representa una funcionalidad encontrada dentro de una aplicación ya existente. Un modelo maduro para arquitectura SOA Disponer de un modelo maduro puede ser muy útil a la hora de analizar las necesidades de una organización TIC en cuanto a qué niveles de la arquitectura SOA necesita. La figura 1.12 representa este modelo en forma de pirámide, de forma que cada nivel, en parte, depende del anterior. Diseño y Evaluación de Configuraciones 2011 Página 13
  • 14. SOA en la actualidad A día de hoy SOA tiene menos impacto que sus descendientes Mashps, BPM, SaaS, Cloud Computing y de cualquier otro enfoque de arquitectura que se basa en “servicios”. SOA se ha convertido en una experiencia fallida para la mayoría de las empresas, salvo en raras ocasiones, falló en entregar los beneficios prometidos. Si bien inicialmente SOA ha sido adaptada principalmente por técnicos, su base está más en los negocios que en los problemas técnicos. Mas ellos fueron muchas veces introducidos (y a menudo ejecutados) por los técnicos y vendedores, que estaban más interesados en la tecnología SOA (venta de software) que en su impacto sobre los negocios. David Linthicum analizó lo que salió mal, parafraseando a:  Falta de arquitectos cualificados que entienden SOA.  Las grandes empresas de consultoría se centran en las tácticas y en las horas facturables más que en los resultados.  Los vendedores también se centran en la venta y no lo suficiente en la solución.  Anuncia que SOA es una panacea para todos los males de IT. Nick Gall, por otra parte: “Este es el pensamiento de los servicios, tal como se entiende convencionalmente, lo que condujo a la confusión en la que nos encontramos: Diseño y Evaluación de Configuraciones 2011 Página 14
  • 15. la fragmentación provocada por interfaces de entidad específicas (servicios). Sin embargo yo diría que en la "larga vida a la web." Él cita como ejemplo el éxito de Google, Amazon, e incluso Salesforce y le asigna a ellos, la mayoría de la influencia de la arquitectura web, comunidad web y modelos de negocio web "Web-orientation es una condición necesaria para la rápida integración de los datos y procesos de negocio, ellos permiten que los modelos de desarrollo para cada situación específica, tales como Mashups, SaaS y Cloud Computing". De este modo, el que SOA salga adelante es todo un debate entre los expertos del sector. El paradigma Cloud Computing Diseño y Evaluación de Configuraciones 2011 Página 15
  • 16. La computación en la nube o informática en la nube, del inglés "Cloud computing", es un paradigma que permite ofrecer servicios de computación a través de Internet. Para que un servicio se pueda considerar como Cloud Computing debe cumplir con las siguientes afirmaciones:  Pago por uso  Debe permitir agregar o decrementar recursos de forma sencilla y rápida.  Debe ser escalable  Debe proporcionar herramientas de autoservicio al usuario. Pago por uso Este es el principal atractivo ya que el usuario solo tendrá que abonar los recursos que haya consumido con su servicio, ahorrando así en implantaciones on-premise y reduciendo el riesgo inicial de los proyectos. Flexibilidad en recursos Consiste en la capacidad de poder agregar o disminuir nuevos recursos o los que tuviéramos ya disponibles en nuestro servicio. Un ejemplo sería el de poder aumentar o reducir la RAM utilizada por nuestro aplicativo web. Escalabilidad Los proveedores de Cloud computing deben proporcionar plataformas que permitan aumentar el número de instancias del servicio para poder responder a una mayor demanda de usuarios o peticiones. Además debe permitir mecanismo para mover el servicio entre los distintos servidores y los distintos centros de datos que disponga el proveedor. Herramientas de autoservicio Se deben proporcionar herramientas que permitan al propio usuario (o un responsable) contratar los servicios que desea consumir y ajustar los recursos destinados a esos servicios. En una primera aproximación se podría pensar que el Cloud Computing es algo similar a un hosting, pero estaríamos equivocados por varios motivos:  El hosting se paga por cuotas de recursos y no por uso.  El hosting no permite modificar los recursos disponibles de forma sencilla y automatizada. Diseño y Evaluación de Configuraciones 2011 Página 16
  • 17.  No todos los servicios de hosting permiten funcionalidades de escalado. En definitiva se podría decir que un hosting es un subconjunto del Cloud Computing o que el Cloud computing es una evolución del hosting. Los distintos servicios que se pueden ofrecer en modo Cloud computing se agrupan en: IaaS (Infraestructura como servicio), PaaS (Plataforma como servicio) y SaaS (Software como servicio).  El IaaS ofrece a los usuarios la posibilidad de utilizar distintos tipos de infraestructura como un servicio.  El PaaS proporciona características adicionales al IaaS como puedan ser: despliegue automatizado de aplicaciones, sistemas de gestión de autenticación, sistemas de comunicación de colas o mensajes, sistemas de monitorización,…  El SaaS permite utilizar como servicio un software existente sin realizar instalaciones ni configuraciones. Diseño y Evaluación de Configuraciones 2011 Página 17
  • 18. La plataforma donde se ejecutan los servicios que proporcionan los proveedores de Cloud computing son los Datacenters que consisten en centros de datos con una serie de servidores conectados entre sí y con una plataforma de gestión que permite desplegar los servicios en los distintos servidores de forma automatizada y transparente para el usuario. Disponemos de tres modalidades de utilizar los servicios de Cloud computing en función de donde se encuentre el datacenter:  Nube Pública, los servicios y todos los datos se encuentran en los datacenters del proveedor siendo éste el que asume todo el mantenimiento de los servicios.  Nube Privada, los servicios y los datos se encuentran on-premise (en las infraestructuras del cliente). Requiere de un mayor mantenimiento y de infraestructuras grandes.  Nube Híbrida, consiste en una mezcla entre las dos modalidades anteriores para aquellos clientes que no puedan sacar los datos de sus infraestructuras pero se quieran aprovechar de las ventajas de los servicios de Cloud Computing de un proveedor externo. La importancia de la ubicación de los datos Este posiblemente sea tema más polémico de la computación en la nube. Para muchos clientes la ubicación de los datos es un factor crítico a la hora de plantear una solución en modo Cloud computing. Para muchas empresas el ubicar los datos fuera de sus infraestructuras será imposible debido a su criticidad o incluso la propia legislación. Antes de plantear cualquier solución habrá que estudiar si los datos podrán ubicarse fuera de nuestras infraestructuras y en qué país se ubicarán para determinar si la legislatura vigente en ese país no afectará a nuestro servicio. Los organismos públicos por ejemplo, solo podrán mover fuera del país origen aquellos datos que sean totalmente públicos, por lo que no podrán plantear soluciones de Nube privada para datos sensibles. Una alternativa sería plantear nubes híbridas con proveedores locales que tengan que cumplir con la misma legislación. Para más información sobre jurisprudencia podríamos consultar el vídeo "Implicaciones legales del Cloud Computing" de Pablo García Mexía. Diseño y Evaluación de Configuraciones 2011 Página 18
  • 19. Comparativa: En la siguiente gráfica podemos observar, según Google Trends, las búsquedas y las noticias generadas por los términos SOA (en rojo) y Cloud Computing (en azul). Fuentes de información: Jeff Davis, SOA Open Source, Editorial Manning, Anaya Multimedia, 2009. http://es.wikipedia.org/wiki/Arquitectura_orientada_a_servicios http://www.dosideas.com/noticias/actualidad/385-soa-esta-muerto.html http://www.dreig.eu/caparazon/2008/10/30/%C2%BFque-es-el-cloud- computing-definicion-tendencias-y-precauciones/ http://www.desarrolloweb.com/articulos/cloud-computing.html http://es.wikipedia.org/wiki/Computaci%C3%B3n_en_nube http://ctovision.com/2009/07/cloud-computing-vs-soa-look-for-a-cross-over-in- hype/ http://www.gartner.com/resources/111900/111987/111987.pdf Diseño y Evaluación de Configuraciones 2011 Página 19