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.
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
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, ...?
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.
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
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?
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
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.
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.
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)
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)
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
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
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.
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� � � � �
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.
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
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.
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
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
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ø<î ð
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
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
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).
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� � � � �
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� � � � �
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
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
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.
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
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.
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�¢¡
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Ø'Ù�Ú�Õ<Û
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º
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�
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«�ÿ ¬ �
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á ä<à@Ò�¡
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¸�º
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
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.
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.
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
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.
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
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
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
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.
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
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.
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
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� �+�