51
Sistemas Grid Basados en GT3 Sistemas Grid Basados en GT3 Módulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de marzo de 2004 Sistemas Grid Basados en GT3 Introducción En este módulo veremos una introducción teórica a OGSA (Open Grid Services Architecture), OGSI (Open Grid Services Infrastructure) y el Globus Toolkit 3. También comentaremos la reciente publicación de WSRF (Web Services Resource Framework), la nueva generación de estándares en las que se apoyará GT4.

Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Sistemas Grid Basados en GT3

Módulo 1Introducción a OGSA,

OGSI, y GT3

Borja Sotomayor

3 de marzo de 2004

Sistemas Grid Basados en GT3

Introducción

En este módulo veremos una introducción teórica a OGSA (Open Grid Services Architecture), OGSI (Open Grid Services Infrastructure) y el Globus Toolkit 3.También comentaremos la reciente publicación de WSRF (Web Services Resource Framework), la nueva generación de estándares en las que se apoyará GT4.

Page 2: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Índice

Orígenes de OGSAIntroducción a los Web Services y SOAGrid Services (OGSI)Globus Toolkit 3Relación entre OGSA, OGSI, y GT3WSRF/GT4

Sistemas Grid Basados en GT3

Índice

Orígenes de OGSAIntroducción a los Web Services y SOAGrid Services (OGSI)Globus Toolkit 3Relación entre OGSA, OGSI, y GT3WSRF/GT4

Page 3: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

OGSA

El Open Grid Services Architecture (OGSA) fue presentado por I.Foster, C.Kesselman, J.Nick, y S.Tuecke en “Physiology of the Grid”.

Arquitectura estándar para afrontar los desafíos de las aplicaciones Grid.

A partir de OGSA han surgido muchos otros términos como OGSI y 'Grid Services'. Además, es habitual equiparar GT3 con OGSA. ¿Qué significan exactamente todos estos términos y cómo están relacionados entre sí?

Sistemas Grid Basados en GT3

OGSA, OGSI, GT3 (I)

¿OGSA == GT3?¿OGSA == Grid Services?¿OGSI?¿Qué tienen que ver los Grid Services con los Web Services?¿Por qué ese empeño en utilizar Web Services? ¿Por qué no CORBA, RMI, ...?

Page 4: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

OGSA, OGSI, GT3 (II)

Sistemas Grid Basados en GT3

OGSA, OGSI, GT3 (III)

OGSA define el concepto de Grid Service como extensión de los Web Services.

Los Web Services tienen ciertas características que los hacen idóneos como base para la arquitectura (OGSA).Sin embargo, tienen ciertas carencias, por lo que es necesario extenderlos.Veremos esto en más profundidad más adelante.

Los Grid Services son la base de OGSA.No son lo único que tiene OGSA.Más adelante veremos que OGSA es una arquitectura que consiste de muchos servicios estandarizados.

Page 5: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

OGSA, OGSI, GT3 (IV)

Los detalles exactos y técnicos de los Grid Services están especificados en la Open Grid Services Infrastructure (OGSI).El Globus Toolkit 3 (GT3) es una implementación de OGSI.

Sin embargo, OGSI no es lo único que tiene GT3.Más adelante veremos que GT3 incluye muchas aportaciones propias.

Sistemas Grid Basados en GT3

Índice

Orígenes de OGSAIntroducción a los Web Services y SOAGrid Services (OGSI)Globus Toolkit 3Relación entre OGSA, OGSI, y GT3WSRF/GT4

Page 6: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Web Services (I)

¿Qué son los Web Services?Otra tecnología distribuida más (como CORBA, RMI, EJBs, etc.)Otro middleware más con el que implementar aplicaciones cliente/servidorEn realidad, tienen poco o nada que ver con “La Web” (entendida como 'colección distribuida de documentos de hipertexto'). Incluso se debatió cambiar el nombre, eliminando la palabra 'Web'.

Sistemas Grid Basados en GT3

Web Services (II)

��������� � � ����� ����� � ��� ���� � � ����������! #"�$&%'"�(*)�+

,.-0/�1 231 4*57608:9<;>=3?'@ A3B ADC

E�-:FHG<I<-:F3/KJL6HMON

Entonces... ¿no es más que una invocación remota de procedimientos? ¿Qué añade?

Page 7: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Web Services (III)

Una de las más importantes características de los Web Services es que tienen una separación entre el interfaz (“lo que hace”) y la implementación (“cómo lo hace”), y que dicho interfaz está escrito en un lenguaje neutro (independiente de lenguaje de programación y plataforma).

Sistemas Grid Basados en GT3

Web Services (IV)

P ���Q����RS��TU�VW8YX<? Z\[ ]:[ ^>_�XL`�a Xcb\d3^3V3Xca0e =:8>^Dd3X3? =:]:[ ^<VcX38gf.93XWXc8]Y=3d3=0hji3X�? XD=3e [ h0=3?.;>Xci.[ =3VDk X�9DVl[ V0k XD? m'=Dh3nDo�e[ V0k X<? m =Dh�X38\k pWXc8Y]:?'[ k ^WXDVl93Vle X3V3q.9c=SrsX�V3XD9:kK? ^@'[ V:iHXDd3X3V3i<[ X3V:k XWi<X�e X<Vcq.9c=\r XWiHX�dD? ^3q<? =<;>=:]:[ tLVWui3X�d<e =Dk =cm ^<?';>=DCsn

P v ��� � v �������!� �g� w =�[ ;Wd<e X<;>XDVDk =D]:[ tDV�u�X<e:[ VDk XD? m'=0hj8YX�;>=DVDkK[ X3V3XDV8YX3d3=D? =ci<^:8Dn w =�[ ;Wd<e X<;>XDV3k =3]:[ tDVx8YX�? Xc=De [ h0=WXDVl93Ve XDVLq.9c=SrKXWi<X�d3? ^cq.? =D;>=3]:[ t3Vx]Y^DV3]:? X:k ^<n

y ������O�!� z�� y�{ ��|!� ��� w =�[ ;Wd<e X<;>XDVDk =D]:[ tDV�u�X<e:[ VDk XD? m'=0hjX:8\k pDVx=De ^\r =:i<^c8&X3V93VxXDV:k ^D?'V3^Wi<XWX}rKX:]:9c]:[ tDV.B0f79:XW8YXWX<Vc]Y=<? q3=Wi<Xd3? ^3]YX:8Y=3?.e =c8jdcX:k'[ ]:[ ^3V3X:8>XDV3k ? =<V0k X:8cB3qDX<VcX<? =D?7e =D8? Xc8:d<9cX:8\k =D8cB:X:k ]Dn

Page 8: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Web Services (V)

Esto implica lo siguiente:El lenguaje de programación del cliente y el servicio web no tienen que coincidir. Se puede generar el código de invocación para cualquier lenguaje.Ídem para la plataforma.

P.ej. Un servicio web programado en C++ bajo Linux podría comunicarse con un servicio web programado en Java bajo Windows.

Sistemas Grid Basados en GT3

Web Services (VI)

Todo esto nos permite realizar SOAs (Service-Oriented Architectures)

Arquitectura en la que una aplicación está compuesta de varios servicios independientes (o débilmente acoplados) que cooperan para resolver una tarea común.“débilmente acoplado”: Un cambio en la implementación de un servicio no afecta a los demás servicios.Al utilizar un lenguaje común de descripción (del interfaz) es sencillo indexar y descubrir servicios.

Page 9: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Web Services (VII)

Las SOAs y, en particular, los Web Services son ideales para aplicaciones Grid porque:

Funcionan bien en entornos heterogéneos donde existe una gran diversidad de plataformas y lenguajes de programación.Se puede acceder dinámicamente a servicios, aunque no fuesen conocidos en tiempo de implementación (el código de invocación se puede generar dinámicamente en tiempo de ejecución).

Sistemas Grid Basados en GT3

Web Services (VIII)

DesventajasRendimiento. Utilizar lenguajes XML como base no es tan eficiente como utilizar un lenguaje binario puro.Falta de versatilidad. Los web services proporcionan un modelo de invocación bastante sencillo, al menos en comparación con tecnologías como CORBA. Esta falta de versatilidad es la que pretenden suplir OGSI y OGSA.

Page 10: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Arquitectura de los Web Services

Transporte

Invocación

Descripción

HTTP. Podrían utilizarse otros protocolos de transporte.

SOAP. Podrían utilizarse otros protocolos de invocación, como XML-RPC.

WSDL

UDDIDescubrimiento

Sistemas Grid Basados en GT3

Una invocación básica (I)

Page 11: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Una invocación básica (II)

La figura muestra una invocación totalmente dinámica (todo el código de invocación se genera sobre la marcha).No es habitual consultar un registro cada vez que se va a invocar un servicio web.Lo normal es consultar el registro una vez para localizar un servicio concreto y generar unos stubs que se reutilizarán cada vez que se invoque el servicio:

stub: Código que encapsula todo el código de invocación para un interfaz concreto.

Sistemas Grid Basados en GT3

Una invocación básica (III)

Page 12: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Una invocación básica (IV)

Todavía nos puede hacer falta utilizar un registro en este escenario. Por ejemplo, podríamos tener 100 servicios con el mismo interfaz (lo que significa que podemos utilizar el mismo stub), y lo que queremos que nos diga el registro es qué servicio está en una máquina con ciertas características (menos carga de CPU, más memoria, etc.)

Sistemas Grid Basados en GT3

Índice

Orígenes de OGSAIntroducción a los Web Services y SOAGrid Services (OGSI)Globus Toolkit 3Relación entre OGSA, OGSI, y GT3WSRF/GT4

Page 13: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Grid Services (I)

A pesar de que los Web Services sean la mejor opción para OGSA, tienen importantes limitaciones.

StatelessNo-transientes ('Persistentes')No tienen 'servicios de apoyo' (notificaciones, gestión del ciclo de vida, etc.)

La especificación OGSI amplía los Web Services para superar estas limitaciones.

Grid Service = Web Service ampliadoLos Grid Services son compatibles con los WS

Sistemas Grid Basados en GT3

Mejoras de los Grid Services

Mejoras de los Grid ServicesSoporte para herencia de interfacesServicios con estado y potencialmente transientesGestión del ciclo de vidaService Data (“Datos del servicio”)NotificacionesAgrupación de servicios

Page 14: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Mejoras de los Grid Services

Mejoras de los Grid ServicesSoporte para extensión de interfacesServicios con estado y potencialmente transientesGestión del ciclo de vidaService Data (“Datos del servicio”)NotificacionesAgrupación de servicios

Sistemas Grid Basados en GT3

Extensión de Interfaces (I)

Los Grid Services permiten definir un interfaz en función de otro.

Los interfaces en Grid Services (y Web Services) reciben el nombre de portType

OGSI define un portType estándar llamado GridService que todos los servicios deben implementar.Siempre hay que extender de este interfaz.

Page 15: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Extensión de Interfaces (II)~��'� �:�<�c� �L� �\�

�}� � ���}�H�0� �0� �}�:�H�\� �0� � � � ��\�\���0� �:�0�\�H�0� �\� �Q�:�H�\� �:�c�:���\�O� � � � ��O�\�\� �H�0� �0� �}�:�H�\� �0� � � � ��O�\�\� �D�}�<�0� �0� �}�:�3�\� �:�3�:�7�\�\� � � � ��\�O�0� �\� �:�D�}�<�0� �0� �}�:�H�\� �:�3�:�7�\�\� � � � ��Y� �Y�\�S�\�O� �0�c� ��� ���\� �  :��¡c� � �0� � � � � ��Y� �Y�\�S�\�O� �0�c� ��� ���\� �  :�O�3�O�  0� �0�'� � � ��\�O�\�Q� �  O�O� � � � �

¢£O¤K¥0�D�c� �H� �\��\�Y�O�S� � � � ��O�Y�S¦�� � �Y�S� � � � � ��0���O� � � §S� �0�'� � � ��\�Y� �:� �O�0� � � � �

¨Y¨\�O©�� �:�S���YªYª

Extendiendo del interfaz GridService evitamos tener que redeclarar los métodos estándar en cada uno de nuestros portTypes.

Sistemas Grid Basados en GT3

Extensión de Interfaces (III)

OGSI define una gran cantidad de portTypes estándar de los que podemos extender.¢£O¤K¥0�D�c� �H� �\�

�\�Y�O�S� � � � ��O�Y�S¦�� � �Y�S� � � � � ��0���O� � � §S� �0�'� � � ��\�Y� �:� �O�0� � � � �

¨Y¨\�O©�� �:�S���YªYª

~��'� �c�L�c� �L� �0�¨Y¨\�O©�� �:�S���YªYª

«3¬0¤K� ­K� �Y£O¤K� ¬D®c�3¬<¯:� �\��O�Y�S¦��\�\� � ¦��c� � � � �

Page 16: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Extensión de Interfaces (IV)

En general, nuestro servicio puede tener 3 tipos de portTypes:

°!±�² ³µ´.¶<±¸·H² ¹Y¶

º»�¼S½Q¾�¿!ºÀÁ ¼Y Ã�ÄÀ�¼SÅ� Æ3À

ÇÈ.ÉYÊËYÈ�ÊÍÌÎÏÇDÐYÎ�Ñ<Ò�Ñ.Ó ÔÈ

ÕLÖ*×KØ'Ù�Ú�ÕDÛ<ÜÝ ÛHÞ<ß<Ü3ß<àH×Qá Ö â Ø}×sÖ7ÜlÕ<Ö�׸ØKÙ�Ú.Õ<Û<ÜÛ3Ü0Ø�ãHä Ý àH×�Û<Ü

Sistemas Grid Basados en GT3

Extensión de Interfaces (V)

La extensión de portTypes no está soportado en WSDL 1.1 (la versión actual), por lo que OGSI utiliza una versión ampliada de WSDL llamada GWSDL.

El GWSDL se convierte a WSDL 1.1 para mantener la interoperabilidad.WSDL 1.2/2.0 (Working Draft) si soporta extensión de portTypes. En cuanto pase a ser una recomendación de la W3C, se abandonará GWSDL en favor de WSDL.

Page 17: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Mejoras de los Grid Services

Mejoras de los Grid ServicesSoporte para herencia de interfacesServicios con estado y potencialmente transientesGestión del ciclo de vidaService Data (“Datos del servicio”)NotificacionesAgrupación de servicios

Sistemas Grid Basados en GT3

Servicios con Estado y Transientes (I)

Los servicios web no mantienen el estado de una llamada a otra.

Son stateless

En OGSI, los grid services tienen que conservar su estado de una llamada a otras.

Son stateful

Page 18: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Servicios con Estado y Transientes (II)

Los servicios web son siempre persistentesSe activan en el momento en el que se inicia el contenedor de web services y no son destruidos hasta que se para el contenedor.¡Ojo! No es 'persistencia' en el sentido de almacenar los datos del servicio en un fichero o BD.

Los servicios grid son potencialmente transientes.Un grid service puede ser activado/destruido cuando queramos. Su ciclo de vida no está ligado al contenedor de grid services.

Sistemas Grid Basados en GT3

Servicios con Estado y Transientes (III)

Esto se consigue con un patrón Factoría/Instancia.Podemos configurar una factoría de servicios que crea instancias de un servicio.Las instancias se crean a través de la factoría.Cuando queremos invocar una operación del servicio, accedemos a la instancia no a la factoría.Podemos tener una instancia por cliente, varias instancias por cliente, varios clientes por instancia, ...La destrucción de la instancia puede correr a cargo del cliente o de la factoría.

Page 19: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Servicios con Estado y Transientes (IV)

Sistemas Grid Basados en GT3

Mejoras de los Grid Services

Mejoras de los Grid ServicesSoporte para herencia de interfacesServicios con estado y potencialmente transientesGestión del ciclo de vidaService Data (“Datos del servicio”)NotificacionesAgrupación de servicios

Page 20: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Gestión del Ciclo de Vida

En OGSI podemos tener servicios con ciclos de vida no triviales (no ligados al ciclo de vida del contenedor de servicios).OGSI permite gestionar el ciclo de vida (principalmente orientado a los servicios transientes)

Tiempo antes del cual debe ser destruida la instanciaTiempo después del cual se espera que sea destruida la instancia.

GT3 añade más funcionalidad:Código a ejecutar antes de la creación, después de la creación, antes de la destrucción, ...

Sistemas Grid Basados en GT3

Mejoras de los Grid Services

Mejoras de los Grid ServicesSoporte para herencia de interfacesServicios con estado y potencialmente transientesGestión del ciclo de vidaService Data (“Datos del servicio”)NotificacionesAgrupación de servicios

Page 21: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Service Data (I)

Una de las aportaciones más interesantes de OGSI a los web services es el service data.En OGSI es posible asociar datos estructurados a un servicio, generalmente de dos tipos:

Información de estado: resultados de operaciones, información de ejecución, resultados intermedios, etc.Metadatos: Datos sobre el propio servicio (configuración, coste, carga actual, etc.)

El service data facilita el descubrimiento, inspección, monitorización y gestión de los grid services.

Sistemas Grid Basados en GT3

Service Data (II)

El service data del servicio se define en el portType, en el fichero GWSDL.Al extender de un portType existente, también se hereda su service data.WSDL a secas tampoco soporta service data

~��'� �:�L�c� �<� �\��}� � ���}�<�0� �0� �Q�:�H�\� �0�'� � � ��\�O�Q�0� �:�0�\�<�0� �\� �Q�3�3�\� �:�c�:���\�}�'� � � ��O�O�\� �<�0� �0� �}�:�H�\� �0�'� � � ��O�O�\� �c�O�<�0� �:� �O�:�3�:� �:�L�:�7�\�\� � � � ��\�}�0� �\� �:�c�Y�3�0� �:� �O�:�H�\� �:�L�:�7�\�\� � � � ��Y� �Y�}�S�\�O� �c�0� ��� ���\� �  :��¡D� � �c� �'� � � ��Y� �Y�}�S�\�O� �c�0� ��� ���\� �  :�}�L�O�  0� �0�'� � � ��\�}�\�S� �  O�\� � � � �

¢£O¤K¥0�c�c� �.� �\��\�Y�}�}� � � � ��O�\�}¦�� � �Y�S� �'� � � ��0���}� � � §S� �0� � � � ��\�\� �0� �}�0� � � � �

¨Y¨\�O©�� �:�S���\ªYª

å3æ3ç3èé\ê3ë<ì3èç3èéSí7å3æ3ë3ç.å3î<æ:ï7åDíLèð èéSñ7å3ì3è3ò<ë<ç3ë<ó3ëLíLèô<õ�ö.÷

ø3ë<ç3î ð:ù å ð ç<èDíHëúDû ç<åDíLî ð:ü è ð úLû ç<ë3ø<î ð

Page 22: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Service Data (III)

Un servicio puede definir 0..N Service Data Elements (SDEs).

MathService tiene dos SDEs: datosSistema y ultimosResultados

Un SDE puede tener 0..N valoresCada valor debe tener el mismo tipo de datosLa cardinalidad la especificamos nosotros (en el GWSDL). Por ejemplo, podríamos especificar que ultimosResultados puede tener 0..10 valores.

¢£O¤s¥Y�D�c� �.� �\��\�Y�O�S�'� � � ��O�Y�S¦Q� � �Y�}� � � � � ��0���O� � � §}� �Y�'� � � ��\�Y� �:� �O�0� � � � �

ø3ë<ç3î ð:ù å ð ç<èDíHëúDû ç<åDíLî ð:ü è ð úLû ç<ë3ø<î ð

Sistemas Grid Basados en GT3

Service Data (IV)

El tipo de datos del valor se especifica en XML Schema.

ultimosResultados: Podría ser simplemente xsd:int (un número entero)datosSistema: Podría ser un tipo de datos complejo que incluye:

numeroCPUs: xsd:intcargaActual: xsd:floatmarcaCPU: xsd:string

Page 23: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Service Data (V)

¢�£O¤s¥Y�D�c� �.� �\��\�Y�}�S�'� � � ��O�\�S¦Q� � �Y�}� � � � � ��0���}� � � §}� �0� � � � ��\�\� �0� �}�0� � � � �

øDëHçDî ð0ù å ð ç<èDíHë

úcû çLå3í3î ð0ü è ð úLû ç<ë3ø<î ð

ý þÿ ��������

�� �

�7ý� �

Sistemas Grid Basados en GT3

Mejoras de los Grid Services

Mejoras de los Grid ServicesSoporte para herencia de interfacesServicios con estado y potencialmente transientesGestión del ciclo de vidaService Data (“Datos del servicio”)NotificacionesAgrupación de servicios

Page 24: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Notificaciones (I)

OGSI integra un patrón de notificaciones.También conocido como el patrón “Observer-Observable” o “Model-View-Controller”.Dos roles: El 'observador' y el 'observable'.El observador quiere saber cuando se produce un cambio en el observable. Una manera es preguntarle cada cierto tiempo (polling). Una solución más óptima es el patrón de notificaciones. El observador se suscribe en el observable. El observable le envía una notificación al observador cuando se produce el cambio.

Sistemas Grid Basados en GT3

Notificaciones (II)

Terminología OGSI:Observable: Notification source (fuente de notificaciones)Observador: Notification sink (sumidero de notificaciones)

En OGSI un cliente puede suscribirse a un SDE concreto de un servicio.La notificación no se envía siempre que cambia el valor del SDE. Es responsabilidad del programador del servicio decidir cuándo se enviará la notificación.

Por ejemplo, en MathService no sería eficiente enviar una notificación siempre que cambia la carga del sistema (se enviarían notificaciones constantemente).

Page 25: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Notificaciones (III)

Por ejemplo, un cliente quiere saber cuando la carga del sistema es menor que 0'5.Para ello, se suscribe al SDE datosSistema

¢£O¤K¥0�D�c� �H� �\��\�Y�O�S� � � � ��O�Y�S¦�� � �Y�S� � � � � ��0���O� � � §S� �0�'� � � ��\�Y� �:� �O�0� � � � �ø3ë<ç3î ð:ù å ð ç<èDíHë

ýþÿ �������� ��� ² ¶����S¶

� ß<Ü��L×Qá �.á ×*à�� Ý à<ظÖ7Ü � á Ü:ظÛ�� à��

«3¬Y¤s� ­s� �Y£O¤s� ¬3®c�D¬<¯c� �\��O�}�O¦Q�\�O� � ¦��D� � � � �

Sistemas Grid Basados en GT3

Notificaciones (IV)

La implementación interna de MathService actualiza datosSistema si se produce un cambio de 0,1 en la carga del sistema.En cada actualización se le enviará una notificación al cliente.

¢£O¤K¥0�D�c� �H� �\��\�Y�O�S� � � � ��O�Y�S¦�� � �Y�S� � � � � ��0���O� � � §S� �0�'� � � ��\�Y� �:� �O�0� � � � �ø3ë<ç3î ð:ù å ð ç<èDíHë

ýþÿ �������� ��� ² ¶����S¶

«3¬Y¤s� ­s� �Y£O¤s� ¬3®c�D¬<¯c� �\��O�}�O¦Q�\�O� � ¦��D� � � � �

Page 26: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Notificaciones (V)

¢£O¤K¥0�D�c� �H� �\��\�Y�O�S� � � � ��O�Y�S¦�� � �Y�S� � � � � ��0���O� � � §S� �0�'� � � ��\�Y� �:� �O�0� � � � �ø3ë<ç3î ð:ù å ð ç<èDíHë

ý ("!$#����� ��� ² ¶����S¶

«3¬Y¤s� ­s� �Y£O¤s� ¬3®c�D¬<¯c� �\��O�}�O¦Q�\�O� � ¦��D� � � � �

% ���Q� R0� ��� ���w =W]Y=D? q<=WXc8�&�N3B A'�^)(3=:q3^�V3=ci<=

Sistemas Grid Basados en GT3

Notificaciones (VI)

¢£O¤K¥0�D�c� �H� �\��\�Y�O�S� � � � ��O�Y�S¦�� � �Y�S� � � � � ��0���O� � � §S� �0�'� � � ��\�Y� �:� �O�0� � � � �ø3ë<ç3î ð:ù å ð ç<èDíHë

ý ("!�*����� ��� ² ¶����S¶

«3¬Y¤s� ­s� �Y£O¤s� ¬3®c�D¬<¯c� �\��O�}�O¦Q�\�O� � ¦��D� � � � �

Page 27: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Notificaciones (VII)

¢£O¤K¥0�D�c� �H� �\��\�Y�O�S� � � � ��O�Y�S¦�� � �Y�S� � � � � ��0���O� � � §S� �0�'� � � ��\�Y� �:� �O�0� � � � �ø3ë<ç3î ð:ù å ð ç<èDíHë

ý ("+�!����� ��� ² ¶����S¶

«3¬Y¤s� ­s� �Y£O¤s� ¬3®c�D¬<¯c� �\��O�}�O¦Q�\�O� � ¦��D� � � � �

% ���Q� R0� ��� ���w =W]Y=D? q<=WXc8�&�N3B A'�^)(3=:q3^�V3=ci<=

Sistemas Grid Basados en GT3

Notificaciones (VIII)

¢£O¤K¥0�D�c� �H� �\��\�Y�O�S� � � � ��O�Y�S¦�� � �Y�S� � � � � ��0���O� � � §S� �0�'� � � ��\�Y� �:� �O�0� � � � �ø3ë<ç3î ð:ù å ð ç<èDíHë

ý ( #�,����� ��� ² ¶����S¶

«3¬Y¤s� ­s� �Y£O¤s� ¬3®c�D¬<¯c� �\��O�}�O¦Q�\�O� � ¦��D� � � � �

% ���Q� R0� ��� ���w =W]Y=D? q<=WXc8�-�N3B A. / ^0uj=�[ VcZY^:]Y=3?<X3e8YX<? Z\[ ]:[ ^10

Page 28: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Notificaciones (IX)Las notificaciones en OGSI son del tipo push

Notificaciones pull: Los datos que son objeto de notificación no son enviados con la notificación.Notificaciones push: Los datos que son objeto de notificación (en el caso de OGSI, el SDE) son enviados junto con la notificación.Ventaja: No hay que hacer un 'viaje' adicional al servicio para obtener el dato.Desventaja: Puedo recibir notificaciones con datos que no voy a utilizar.

Sistemas Grid Basados en GT3

Mejoras de los Grid Services

Mejoras de los Grid ServicesSoporte para herencia de interfacesServicios con estado y potencialmente transientesGestión del ciclo de vidaService Data (“Datos del servicio”)NotificacionesAgrupación de servicios

Page 29: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Agrupación de Servicios (I)

OGSI proporciona una serie de interfaces para crear grupos de servicios.

Este grupo de servicios (ServiceGroup) será a su vez un grid service.Podemos añadir y eliminar servicios del grupo.Esto nos permite agrupar servicios y gestionarlos utilizando un punto de entrada único.

Sistemas Grid Basados en GT3

Agrupación de Servicios (II)

La funcionalidad de los ServiceGroups de OGSI es muy sencilla, pero sirve como base para implementar registros/directorios de servicios.

El IndexService de GT3 se basa en los ServiceGroups y añade mucha funcionalidad extra.

Page 30: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Un ejemplo (I)

Aplicación para compartir ficheros de distintas máquinas.En cada máquina se pueden compartir varios directorios.Existe un registro central a través del cual se puede saber qué ficheros están disponibles (y en qué máquina concreta)FileShare

Sistemas Grid Basados en GT3

Un ejemplo (II)

Ç�È7É\ÊËYÈ�ÊÍÌ�ÎÍÎ3ÐOÎ�Ñ.Ò�Ñ7Ó ÔÈ

2 á Þ Û �43 à<×�Û

��� ² ¶����}¶Á ¼Y ÃÄ�À�¼SÅg ÆDÀº�»�¼S½S¾�¿�º�À2 á Þ Û �43 àH×�ÛÕ<Ö�×KØ'Ù�Ú�Õ<Û

5 Ó Ë}ÎÑ:ÉYÊË\Ó Ê76Ñ<Ê98;:�6!ËQÉ0Ó Ë

<>=@?BA4CED�F G�F H;IJF K AML�N�O4CPAF =MQ4F D�F Q4R�OJK�S�A4CUT7F VWAXG�H9TYS�OJCEVZF CRM=�Q4F C[AMG�V"H9CUF H\Q4A4K1Q4F ?BG�H\Q4RMCPHJ]

<)=�GBK F A4=�VWAYSMR�AMQMA�?�H9K F GBF VWO4CG�R�O4K ^4RMF A4C4_PF G�NMA4CWH\QMA4K�Q4F C[A4G$V"H9C`F H

Page 31: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Un ejemplo (III)

Ç�È7É\ÊËYÈ�ÊÍÌ�ÎÍÎ3ÐOÎ�Ñ.Ò�Ñ7Ó ÔÈ

2 á Þ Û �43 à<×�Û

Á ¼Y ÃÄ�À�¼SÅg ÆDÀº�»�¼S½S¾�¿�º�À2 á Þ Û �43 àH×�ÛÕ<Ö�×KØ'Ù�Ú�Õ<Û

a�b�cZd4eJd �f èDçMg:å û èih[j kml9npo`q[r9s tvu qvoPk�w� ô�x1yHôMz x<ô�ô�z�{[| ö�}LôB~"�j kmlJnpo�q�r4s t�u qvo`k ô�� ôMz� | ~'ô7öcõ"��~W| ���� $P�4� � �\� " c "gLå û è��<å ð ç� | �Dõ"� � ô õ"� � ���@z ���{[| ö�}<ôM~E�����My<ô\}1���µôM� ô�z� | ~'ô7öcõ"��~W| �÷B�÷ ô���÷E��Z� ��÷ õ �0õ"� ÿ �P��÷ õ �0õ"� ÿ ��ö.÷ ô��:ô��"�

Sistemas Grid Basados en GT3

Un ejemplo (IV)

Esto está bien para compartir un único directorio de una máquina pero... ¿y si queremos compartir varios directorios?Con servicios web 'a secas' tendríamos que tener configurados (estáticamente) tantos servicios como directorios.Con grid services:

1 Factoría de servicios FileShareCreamos 1 instancia por cada directorio que queremos compartir. La creación y destrucción de la instancia pueden ser en cualquier momento.

Page 32: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Un ejemplo (V)

ÇÈ.ÉYÊËYÈ�ÊÍÌÎÍÎ3Ð}Î�Ñ.Ò*Ñ.Ó ÔÈ

2 á Þ Û �43 àH×�ÛB���*Æ3½\»�¼S¿

Á ¼Y Ã�ÄÀ�¼SÅ� Æ3Àº»�¼S½Q¾�¿!ºÀ 2 à��:Ø�Ö�׸ÚÕDÖ*׸Ø'Ù�Ú.ÕLÛ

Sistemas Grid Basados en GT3

Un ejemplo (VI)��� ² ¶����S¶

2 á Þ Û �43 àH×�Û

Á ¼Y ÃÄ�À�¼SÅ� Æ3Àº»�¼S½Q¾�¿!ºÀ2 á Þ Û �43 àH×�ÛÕLÖ*×KØ'Ù�Ú�Õ<Û

Ç�È7É\ÊËYÈ�ÊÍÌ�ÎÍÎ3ÐOÎ�Ñ.Ò�Ñ7Ó ÔÈ

2 á Þ Û �43 àH×�ÛB���*Æ3½\»�¼S¿

Á ¼Y Ã�ÄÀ�¼SÅ� Æ3Àº»�¼S½Q¾�¿!ºÀ 2 à��:Ø�Ö�׸ÚÕDÖ*׸Ø'Ù�Ú.ÕLÛ

� ×�Û3à7×�á äLÜ:ظà7ä$�<á à��Ý á ×sÛ��:ظÖ*×Qá Öi���` YØ`��Õ1�¢¡

Page 33: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Un ejemplo (VII)��� ² ¶����S¶

2 á Þ Û �43 àH×�Û

Á ¼Y ÃÄ�À�¼SÅ� Æ3Àº»�¼S½Q¾�¿!ºÀ2 á Þ Û �43 àH×�ÛÕLÖ*×KØ'Ù�Ú�Õ<Û

Ç�È7É\ÊËYÈ�ÊÍÌ�ÎÍÎ3ÐOÎ�Ñ.Ò�Ñ7Ó ÔÈ

2 á Þ Û �43 àH×�ÛB���*Æ3½\»�¼S¿

Á ¼Y Ã�ÄÀ�¼SÅ� Æ3Àº»�¼S½Q¾�¿!ºÀ 2 à��:Ø�Ö�׸ÚÕDÖ*׸Ø'Ù�Ú.ÕLÛ

£ á ×sÛ����3á ¤*ä Ý Û�Þ àä<ß<Û1¥Là�á ä<ÜcØ�àHä1�Lá à

Sistemas Grid Basados en GT3

Un ejemplo (VIII)��� ² ¶����S¶

2 á Þ Û �43 àH×�Û

Á ¼Y ÃÄ�À�¼SÅ� Æ3Àº»�¼S½Q¾�¿!ºÀ

Ç�È7É\ÊËYÈ�ÊÍÌ�ÎÍÎ3ÐOÎ�Ñ.Ò�Ñ7Ó ÔÈ

2 á Þ Û �43 àH×�ÛB���*Æ3½\»�¼S¿

Á ¼Y Ã�ÄÀ�¼SÅ� Æ3Àº»�¼S½Q¾�¿!ºÀ 2 à��:Ø�Ö�׸ÚÕDÖ*׸Ø'Ù�Ú.ÕLÛ

¦<ÛLØ 2 á Þ Û2 á Þ Û �43 àH×�ÛÕLÖ*×KØ'Ù�Ú�Õ<Û

Page 34: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Un ejemplo (IX)

2 á Þ Û �43 àH×�Û2 á Þ Û �43 àH×�Û

2 á Þ Û �43 àH×�Û

Ç�È7É\ÊËYÈ�ÊÍÌ�ÎÍÎ3ÐOÎ�Ñ.Ò�Ñ7Ó ÔÈ2 á Þ Û �43 àH×�ÛB���*Æ3½\»�¼S¿

Á ¼Y Ã�ÄÀ�¼SÅ� Æ3Àº»�¼S½Q¾�¿!ºÀ

� ×sÛ<à�×!á äDÜDظà7ä��Há à2 à��:Ø�Ö�׸ÚÕDÖ*׸Ø'Ù�Ú.ÕLÛ

Sistemas Grid Basados en GT3

Un ejemplo (X)

§ � §§ �§ �¨ © ª

��� $P�4� � �\� " c "g3å û è��Lå ð ç� � ÿE«�ÿ ¬ �

§ � §§ �§ �­ ®

�J� $Z�9� � �\� " c "g3å û è��Lå ð ç�P¯ ÿ ° �

§ � §§ �§ �± ² ª

�J� $P�4� � �X� " c "g3å û è��Lå ð ç�P³ ÿ ´ ÿ ¬ �

�¶µ �My�| ��� �¶µ �My�| �$� ý �¶µ �ByB| ���

· � � v � � ���� � � T�� v �9¸Í|��R0� 9¹����Q�Í��������*���iº

Page 35: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Un ejemplo (XI)

§ � §§ �§ �¨ © ª

��� $P�4� � �\� " c "g3å û è��Lå ð ç� � ÿE«�ÿ ¬ �

§ � §§ �§ �­ ®

�J� $Z�9� � �\� " c "g3å û è��Lå ð ç�P¯ ÿ ° �

§ � §§ �§ �± ² ª

�J� $P�4� � �X� " c "g3å û è��Lå ð ç�P³ ÿ ´ ÿ ¬ �

�¶µ �My�| ��� �¶µ �My�| �$� ý �¶µ �ByB| ���

» � �Q��7�Q���O� �y � z�� �Q��7�Q���}� �#��� v �� ¼�� �4¸ |!�¾½#�O� z � ������ ���¿���� |g���À¸*���}� � z�� � �����ZÁà� �4¸ �4¸��ZÄ���z����Q��¸

� ����� �JÅ��O| � ��� ���Íz��À¸*������ �� �9¸

Sistemas Grid Basados en GT3

Un ejemplo (XII)

§ � §§ �§ �¨ © ª

��� $P�4� � �\� " c "g3å û è��Lå ð ç� � ÿE«�ÿ ¬ �

§ � §§ �§ �­ ®

�J� $Z�9� � �\� " c "g3å û è��Lå ð ç�P¯ ÿ ° �

§ � §§ �§ �± ² ª

�J� $P�4� � �X� " c "g3å û è��Lå ð ç�P³ ÿ ´ ÿ ¬ �

�¶µ �My�| ��� �¶µ �My�| �$� ý �¶µ �ByB| ���

» � �Q��7�Q���O� �Æ �4Å�� ¸��Q�Q�

Page 36: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Un ejemplo (XIII)

§ � §§ �§ �¨ © ª

��� $P�4� � �\� " c "g3å û è��Lå ð ç� � ÿE«�ÿ ¬ �

§ � §§ �§ �­ ®

�J� $Z�9� � �\� " c "g3å û è��Lå ð ç�P¯ ÿ ° �

§ � §§ �§ �± ² ª

�J� $P�4� � �X� " c "g3å û è��Lå ð ç�P³ ÿ ´ ÿ ¬ �

�¶µ �My�| ��� �¶µ �My�| �$� ý �¶µ �ByB| ���

» � �Q��7�Q���O� � �l|9¸*�O� � � ���

Sistemas Grid Basados en GT3

Un ejemplo (XIV)

§ � §§ �§ �¨ © ª

��� $P�4� � �\� " c "g3å û è��Lå ð ç� � ÿE«�ÿ ¬ �

§ � §§ �§ �­ ®

�J� $Z�9� � �\� " c "g3å û è��Lå ð ç�P¯ ÿ ° �

§ � §§ �§ �± ² ª

�J� $P�4� � �X� " c "g3å û è��Lå ð ç�P³ ÿ ´ ÿ ¬ �

�¶µ �My�| ��� �¶µ �My�| �$� ý �¶µ �ByB| ���

» � ���7�Q���O� � y � z�� ���7�����}� �ÇÅ�|!����z�Ï|��!� �� � � �Íz�� � ��¸Í� »�y ¸� � ��¸ÀÈ�|��Í�4¸��UÄ7¸!|�¸*�}� ���ÃÉÊ � �P³ ÿ ´ ÿ ¬ �Ë � �P¯ ÿ ° �Ì � � � ÿE«�ÿ ¬ �

Page 37: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Un ejemplo (XV)

§ � §§ �§ �¨ © ª

��� $P�4� � �\� " c "g3å û è��Lå ð ç� � ÿE«�ÿ ¬ �

§ � §§ �§ �­ ®

�J� $Z�9� � �\� " c "g3å û è��Lå ð ç�P¯ ÿ ° �

§ � §§ �§ �± ² ª

�J� $P�4� � �X� " c "g3å û è��Lå ð ç�P³ ÿ ´ ÿ ¬ �

�¶µ �My�| ��� �¶µ �My�| �$� ý �¶µ �ByB| ���

» � ���7�Q���O� �Ê � �P³ ÿ ´ ÿ ¬ �Ë � �P¯ ÿ ° �Ì � � � ÿE«�ÿ ¬ �

��� ² ¶����}¶Í12 á � 3 Û7×sÖÏÎ9Ð

Sistemas Grid Basados en GT3

Un ejemplo (XVI)

§ � §§ �§ �¨ © ª

��� $P�4� � �\� " c "g3å û è��Lå ð ç� � ÿE«�ÿ ¬ �

§ � §§ �§ �­ ®

�J� $Z�9� � �\� " c "g3å û è��Lå ð ç�P¯ ÿ ° �

§ � §§ �§ �± ² ª

�J� $P�4� � �X� " c "g3å û è��Lå ð ç�P³ ÿ ´ ÿ ¬ �

�¶µ �My�| ��� �¶µ �My�| �$� ý �¶µ �ByB| ���

» � ���7�Q���O� �Ê � �P³ ÿ ´ ÿ ¬ �Ë � ��¯ ÿ ° �Ì � � � ÿE«�ÿ ¬ �

��� ² ¶����}¶£ á ×�Û����Há ¤*ä Ý Ûµá ä<Ü0Ø�à7ä��Há à� � ã�Ñ*ß7á ä<à@Ò�¡

Page 38: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Un ejemplo (XVII)

§ � §§ �§ �¨ © ª

��� $P�4� � �\� " c "g3å û è��Lå ð ç� � ÿE«�ÿ ¬ �

§ � §§ �§ �­ ®

�J� $Z�9� � �\� " c "g3å û è��Lå ð ç�P¯ ÿ ° �

§ � §§ �§ �± ² ª

�J� $P�4� � �X� " c "g3å û è��Lå ð ç�P³ ÿ ´ ÿ ¬ �

�¶µ �My�| ��� �¶µ �My�| �$� ý �¶µ �ByB| ���

» � ���7�Q���O� �Ê � �P³ ÿ ´ ÿ ¬ �Ë � ��¯ ÿ ° �Ì � � � ÿE«�ÿ ¬ �

��� ² ¶����}¶¦<Û<Ø 2 á Þ Û � �¢Î9�v¡

Sistemas Grid Basados en GT3

Un ejemplo (XVIII)

§ � §§ �§ �¨ © ª

��� $P�4� � �\� " c "g3å û è��Lå ð ç� � ÿE«�ÿ ¬ �

§ � §§ �§ �­ ®

�J� $Z�9� � �\� " c "g3å û è��Lå ð ç�P¯ ÿ ° �

§ � §§ �§ �± ² ª

�J� $Z�9� � �\� " c "g3å û è��Lå ð ç�P³ ÿ ´ ÿ ¬ �

�¶µ �My�| ��� �¶µ �My�| �$� ý �¶µ �ByB| ���

» � ���7�Q���O� �Ê � ��³ ÿ ´ ÿ ¬ �Ë � ��¯ ÿ ° �Ì � � � ÿE«�ÿ ¬ � ·JÓ ¸!��¸*�Ï�����O���Ï|�� R0� 9¹!����� ���Ï|!���Íz�� � ��¸v Ä4È�|g� �*�4¸�º

Page 39: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Un ejemplo (XIX)

§ � §§ �§ �¨ ª

��� $P�4� � �\� " c "g3å û è��Lå ð ç� � ÿ ¬ �

§ � §§ �§ �­ ®

�J� $Z�9� � �\� " c "g3å û è��Lå ð ç�P¯ ÿ ° �

§ � §§ �§ �± ² ª

�J� $Z�9� � �\� " c "g3å û è��Lå ð ç�P³ ÿ ´ ÿ ¬ �

�¶µ �My�| ��� �¶µ �My�| �$� ý �¶µ �ByB| ���

» � ���7�Q���O� �Ê � ��³ ÿ ´ ÿ ¬ �Ë � ��¯ ÿ ° �Ì � � � ÿ ¬ �

% ���S� R:� ���� ���

y � z�� ���7�Q���O� � �Q��� ���Ï|g���Ï����Q� R\� ��� ���ÔÂ��7�Q|�� � � T.�Ǹ!| �� � � �Íz�� � � »�y É

Sistemas Grid Basados en GT3

Índice

Orígenes de OGSAIntroducción a los Web Services y SOAGrid Services (OGSI)Globus Toolkit 3Relación entre OGSA, OGSI, y GT3WSRF/GT4

Page 40: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Globus Toolkit 3

El Globus Toolkit 3 (GT3) es una implementación completa, en Java, de OGSI.

No es la única implementación disponible, aunque sí la más completa.

¡Ojo! GT3 no es únicamente una implementación de OGSI. Incluye muchos otros servicios basados en OGSI.

También incluye una distribución GT2.4 completa.

Sistemas Grid Basados en GT3

Arquitectura de GT3 (I)

GT3 Core

GT3 Security Services

GT3 Base Services

GT3 DataServices

Servicios de Alto Nivel

OGSI: Grid Services, Service Data, Notificaciones, Servicios Transientes (Factoria/Instancia), Agrupación de Servicios.

GSI (Grid Security Infrastructure), SSL, WS-Security, SOAP, ...

Gestión de Jobs (MMJFS), Servicios de Directorio y Monitorización (MDS), Transferencia de Ficheros (RFT)

Gestión de grandes cantidades de datos (Replica Management)

Servicios no-GT3 que se basan en la arquitectura GT3.

Page 41: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Arquitectura de GT3 (II)

GT3 Core

GT3 Base Services

GT3 DataServices

Servicios de Alto Nivel

OGSI: Grid Services, Service Data, Notificaciones, Servicios Transientes (Factoria/Instancia), Agrupación de Servicios.

Gestión de Jobs (MMJFS), Servicios de Directorio y Monitorización (MDS), Transferencia de Ficheros (RFT)

Gestión de grandes cantidades de datos (Replica Management)

Servicios no-GT3 que se basan en la arquitectura GT3.

GT3 Security Services GSI (Grid Security Infrastructure), SSL, WS-Security, SOAP, ...

Sistemas Grid Basados en GT3

Requisitos (I)

Sistemas en los que podemos instalar GT3El toolkit completo sólo está disponible para sistemas UNIX.Sin embargo, como el núcleo y buena parte de los Base Services son Java puro (sin código nativo), también existe una versión reducida para Windows.

Requisitos de hardwareEl toolkit en si no tiene requisitos específicos de hardware.Estos requisitos los marcarán las aplicaciones que queramos ejecutar utilizando GT3.

Page 42: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Requisitos (II)

Requisitos de softwareJDK 1.4 o superior

http://java.sun.com/j2seTambién es posible utilizar JDK 1.3.1 o superior, pero requiere una instalación especial.

Jakarta Ant 1.5 o superiorhttp://ant.apache.org/

Junit 3.8.1 (opcional)http://www.junit.org/

Sistemas Grid Basados en GT3

Desarrollo con GT3

Metodología de desarrolloDefinir el interfaz del servicio – GWSDLImplementar el servicio – JavaDefinir detalles del despliegue – WSDD

¿Qué dirección tendrá el servicio?¿En qué fichero se encuentra la implementación?etc.

Compilar todo, generando un fichero GAR – AntCompilar Java, generar stubsGAR: Grid ARchive. Incluye ficheros W SDL y Java compilados

Desplegar servicio (fichero GAR) en entorno de ejecución – Ant

Page 43: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Entornos de Ejecución (I)

4 entornos de ejecución:Standalone Container

Contenedor de grid services incluido con GT3.Sencillo. Rendimiento bajo.

Java Servlet EngineTomcat - http://jakarta.apache.org/tomcat/WebSphere - http://www.ibm.com/websphere/Más complejo. Rendimiento medio-alto.

Sistemas Grid Basados en GT3

Entornos de Ejecución (II)

J2EE Enterprise JavaBeans ContainerEl grid service se aloja en un contenedor de EJBs.WebSphere Application Server

Embedded ContainerContenedor mínimo para que clientes y servidores ligeros puedan exponer grid services.

Page 44: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Problemas de GT3 (I)

Problemas de GT3Rendimiento

En ciertos casos se dan tiempos de respuesta prohibitivos, no aptos para entornos de producción.

UsabilidadAPI poco intuitiva. Nomenclatura dispar.

DocumentaciónPoca documentación didáctica, API poco documentada, falta de un repositorio central de documentación.

Sistemas Grid Basados en GT3

Índice

Orígenes de OGSAIntroducción a los Web Services y SOAGrid Services (OGSI)Globus Toolkit 3Relación entre OGSA, OGSI, y GT3WSRF/GT4

Page 45: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Relación entre OGSA, OGSI, y GT3 (I)

Hemos visto:OGSA: Una arquitectura de servicios para aplicaciones Grid. Se basa en...OGSI: Propone un modelo de Web Services mejorados cuya principal implementación es...GT3: Un toolkit de desarrollo que también incluye servicios de seguridad, gestión de jobs, etc.

Repasemos la relación entre ellos...

Sistemas Grid Basados en GT3

Relación entre OGSA, OGSI, y GT3 (II)

OGSI

OGSA

Õ×ÖÙØÛÚ¶ÖÙÜmÝ�Þ ßJÖáà

Aplicaciones

o.8\k =DVci<=D?'[ h0=ciD^�@ âXã1äCX�[ ;WdHe X3;>X<V0k =:iH^�@'d.n X\r¸npå�dc=c]�(3Xáå7b:[ 8:C

o.8\k =DVci<=3?'[ h0=:i3^�@ æáæÙç.CX�[ ;Wd<e XD;>X<V:k =ci<^�@ æÃè$ã<C

o�Vxd<? ^:]YXc8Y^Wi<XWX:8\k =DVLiD=<?'[ h0=:]:[ tDVx@ æáæÙçHCé æ�X38\k [ tDV i<X /�ê 8é�ë XDq<9<?'[ i<=:iéBì Xc8YXD? ZY=Wi<X�? X:]:9H? 8Y^:8é æ�X38\k [ tDV i<X�r ^<`:8é�ë XL? Z:[ ]:[ ^:8>i<XWi3=Dk ^c8é â ^<?EíSm e ^0_é Xck ]Dn

Page 46: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Relación entre OGSA, OGSI, y GT3 (III)

Otras implementaciones de OGSIOGSI::Lite (Perl)http://www.sve.man.ac.uk/Research/AtoZ/ILCT

OGSI.net (.NET)http://www.cs.virginia.edu/~humphrey/GCG/ogsi.net.html

MS.NETGrid (.NET)http://www.epcc.ed.ac.uk/~ogsanet/

pyOGSI (Python)http://www-itg.lbl.gov/gtg/projects/pyOGSI/

Sistemas Grid Basados en GT3

Índice

Orígenes de OGSAIntroducción a los Web Services y SOAGrid Services (OGSI)Globus Toolkit 3Relación entre OGSA, OGSI, y GT3WSRF/GT4

Page 47: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

WSRF/GT4 (I)

A pesar del impulso que se le ha dado a OGSI y OGSA en la comunidad Grid, OGSI en particular ha sido recibido con recelo por la comunidad de Web Services.

El GGF esperaba que OGSI y los estándares de Web Services convergieran en el futuro. Sin embargo, esa convergencia no se está produciendo.

Sistemas Grid Basados en GT3

WSRF/GT4 (II)

Defectos de OGSIEspecificación demasiado extensa y espesaNo se integra bien con herramientas actuales de Web ServicesDemasiado orientado a objetos

Los Web Services no son orientados a objetos, a pesar de que puedan tener por detrás un sistema de objetos.

Page 48: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

WSRF/GT4 (III)

Para conseguir que los grid services y los web services puedan converger, y para corregir los defectos de OGSI, se anunció (por sorpresa) un nuevo estándar durante GlobusWorld 2004 (enero 2004).Este nuevo estándar sustituirá a OGSI.WSRF – Web Services Resource Framework

Sistemas Grid Basados en GT3

WSRF/GT4 (IV)

OGSI

OGSA

Õ×ÖÙØîÚÏÖÙÜmÝ�Þ ßJÖ�à

Aplicaciones

Page 49: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

WSRF/GT4 (V)

OGSA

Õ×ÖÙØîÚÏÖÙÜmÝ�Þ ßJÖ�à

Aplicaciones

Web Services

â ë4ì ç 8YX<?Wï =�9<V3=�dc=3? k XWi<X�e =]Y^De Xc]Y]:[ tDVxi3XWX38\k p3Vci<=D? X38â ë B:XDVle 93q3=<?3i<X�9<V�a d3=3? ]�(3Xca@ ]Y^D;>^ ê æ ë9ð C

ê æ ë å 8YXW=Dd3^:u0=D?Zï =WX3V8YXD? Z:[ ]:[ ^38�_!X3`Wi.[ ? XD]\k =L;>X3VDk XHBXDV>ZYX0hji<Xjk XDVcX<?3f.93X�9:kK[ e [ h0=D?9DVL= a ZYXD? 8:[ tDV X:8:d3Xc]:[ =3e a@ ñ'8YXD? Z:[ ]:[ ^38 ê æ ë9ð ò C

Sistemas Grid Basados en GT3

WSRF/GT4 (VI)Cómo corrige WSRF los defectos de OGSI

“Especificación demasiado extensa y espesa”WSRF está dividido en cinco documentos y una especificación complementaria (WS-Notification)

“No se integra bien con herramientas actuales de Web Services”

WSRF está más en sintonía con la comunidad de WS: uso menos agresivo de XML Schema, WSDL 1.1 puro en lugar de 'WSDL parcheado'

“Demasiado orientado a objetos”Diferenciación clara entre el servicio y el 'recurso' (el estado), puesto que un web service no puede tener estado. Se elimina el patrón Factoría/Instancia puesto que un web service tampoco puede tener instancias.

Page 50: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

WSRF/GT4 (VII)

A nivel conceptual, WSRF y OGSI incluyen la misma funcionalidad.

Cambios sintácticosFactorización en varios sub-estándares

En teoría, la transición de OGSI a WSRF será sencilla.Correspondencia directa de OGSI a W SRF

¿Qué pasa con OGSI/GT3? ¿Merece la pena seguir desarrollando?

Respuesta oficiosa: Sí, GT3 seguirá estando soportado, y la gente que esté familiarizada con OGSI no tendrá ningún problema en dar el salto a WSRF.

Sistemas Grid Basados en GT3

WSRF/GT4 (VIII)

¿Por qué tiene WSRF más posibilidades de triunfar que OGSI?

Está más en sintonía con los web services.Cuenta el apoyo de IBM y HP

Primera implementación de WSRF: GT4IBM incluirá soporte para WSRF en algunas de sus herramientas.

Web de WSRF: http://www.globus.org/wsrf

Page 51: Sistemas Grid Basados en GT3 - University of Chicagopeople.cs.uchicago.edu/~borja/lectures/CESGA_1_OGSA_OGSI_GT3.pdfMódulo 1 Introducción a OGSA, OGSI, y GT3 Borja Sotomayor 3 de

Sistemas Grid Basados en GT3

Evolución de GT3/GT4

ó�ôUõö Ûm÷�Ö*×�à3ÜlÛ<ä Û3Ü$�:à7Þ à��<á Þ á Ý à ÝMø×sÛ7ä Ý á ��á Û7äLØ¸Ö ø ß<Ü:à��7á Þ á Ý à Ý9ùú ÛH×�ÜLá ¤*ä¶� ãHÜl×�Ö��7ß<Ü0Ø�à ù

û�üUýþ\ÿ������

� ü���\ý

� ü���Xû

� üZý� �������

� üPý�� �

� ôUõ

� ô��

������� �������

� ��!#"�$&%�')(+* ,.-0/21 3�-�4.5 1 6)4.6.$%�4�7)3.8�,9(:4�;)1 5 1 694)6�7<%�=?>@3�8A4)(=B-�=.5.8C=B-06�1 %1 =B-ED�3

FG,�=0H)3B(I(E=B8 H�1 /21 3.(J;94)(E4)6)39(=B-��K��!�"LBM N�O�P NRQGN�S?N�T�N�UEVXWRY�Z P NRY@T?[�N?P WRY�\�M N�TU?W^] NRY�_?VET�Z W2P?WRY�`#a V�S?b@T�cdV�P a U�e2f:fRg

Sistemas Grid Basados en GT3

¿Preguntas?

hjijk@l9mon<idp2ijqrmtsdi�ku "����tv c " e7e �xwCy�z4��y � � $?{ "}|I~ �dwE� ~� y � � � $¸�4� e " eÔe �X�á� �7� cZd�+�+iJp�i�q�mtsI���+�������d�@�+���+�^p�ij� �+�