Freddy A. Rojas P. Centro de Cálculo Científico de la ULA (CeCalCULA)

Slides:



Advertisements
Presentaciones similares
Experiencias en la Construcción de Portales para Grids Computacionales en la USB Yudith Cardinale, PhD Universidad Simón Bolívar Abril 2006 II Taller Latinoamericano.
Advertisements

Nau Gran dHivern Intr. a la creación y gestión de páginas web Introducción a la web.
Internet y tecnologías web
CUPS Configuración y Uso de Paquetes de Software
Servidores Web Capítulo 2.
Tecnologías para desarrollo de aplicaciones web. Un caso de uso
Aplicaciones software avanzadas con Java™
Modelando aplicaciones
CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho.
ActiveX.
CREACION DE ESPACIOS VIRTUALES PARA TRABAJO EN EQUIPO
Aplicación informática. formando parte de una red. pone sus recursos a disposición de las demás computadoras(clientes) de la red. Maneja información.
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
Servicios Web.
Arquitectura Orientada a Servicios (SOA)
"java del lado del servidor" Servlet y JSP Java Server Pages.
OBJETO REQUEST. El objeto Request Por qué el objeto request Funcionamiento Colecciones: – Transferencia de variables por URL –Transferencia de variables.
Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.
Framework Hexápodo PHP fácil, rápido y sin dolor
Índice 1. Introducción, objetivos y justificación del proyecto.
JSP Copyright ISIPE – Instituto de Servicios Informáticos para Empresas – Universidad Siglo 21 – Cualquier copia u otro uso debe ser autorizado expresamente.
Empresa: Liebre Primer ciclo Proyecto TripleC. Conseguir soluciones inteligentes para satisfacer de una manera rápida y segura las necesidades de nuestros.
Investigación Servidor de Aplicaciones WebSphere
Java 2 Platform Enterprise Edition
JAVA FX Es un paquete de software que te permitirá desarrollar aplicaciones web para diferentes plataformas, desde un ordenador ordinario hasta teléfonos.
Software La buena programación no se aprende de generalidades, sino viendo cómo los programas significativos pueden hacerse claros, “fáciles” de leer,
LOGICA DE NEGOCIOS ADAN GONZALEZ BARRERA.
CGI.   Cuando el World Wide Web inició su funcionamiento como lo conocemos, empezando a tomar popularidad aproximadamente en 1993, solo se podía apreciar.
Tecnologías para el desarrollo de aplicaciones Web
MAIRA LUCIA ORTIZ CAMILO ORTEGON DIAZ CRISTIAN CAMILO VARGAS
SQL SERVER Reporting Services
Propósito: * Mostrar indicativos porcentuales de los diversos microorganismos con los que se alimentan el camarón en un manejo semi-intensivo aplicado.
Aplicación para la documentación de la red de la UTEZ
Una java servlet es un programa que se ejecuta en un servidor. Por lo general son aplicaciones Java que corren en un entorno de servidor web. Los Java.
Arquitectura de una aplicación
INTRODUCCIÓN A LA PROGRAMACIÓN WEB
InfoPath Ventajas y Uso.
ASP.NET es una nueva y potente tecnología para escribir páginas web dinámica. Es una importante evolución respecto a las antiguas páginas ASP de Microsoft.
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
Prof. José T. Cadenas. Aplicación Web La Internet y la Web hacen que sea fácil y atractivo poner toda la información en el cyberespacio, y la hace accesible.
Diseño de Aplicaciones Web * En las aplicaciones web el diseño es muy diferente de las aplicaciones tradicionales dado que hay que dividir la aplicación.
J2EE Java Enterprise edition eilin chang Matthew pabon Gabriel vega.
Primer Taller Latino Americano de Administradores de Grid Portales Grid: GridPort 4 Freddy A. Rojas P. – Centro de Cálculo Científico ULA Maytal Dahan,
Desarrollo de aplicaciones para ambientes distribuidos
Un sistema de gestión de bases de datos: Es un conjunto de programas que permite a los usuarios crear y mantener una base de datos. Por tanto, el SGBD.
“SERVLETS”. Paola Rojas Contreras Juan Villarroel Leiva José Miguel Perez V. Departamento de Electrónica.
Ingeniería en Sistemas de Información Diseño de Sistemas (3K1)
“condición que necesita el usuario para resolver un problema o conseguir un objetivo determinado”. Los requisitos de un sistema son los aspectos que el.
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
Sun Microsystems. Los servlets son objetos que corren dentro del contexto de un contenedor de servlets y extienden su funcionalidad. También podrían correr.
Seguimiento de clientes en tienda mediante radios Bluetooth Campos Hernández, Rodrigo Iván Melo Domínguez, Alejandro Iván 28 de septiembre, 2012.
 Este protocolo opera a través de solicitudes y respuestas, entre un "cliente" y un "servidor". El cliente para los usuarios es el navegador web, usado.
Introducción a UML Departamento de Informática Universidad de Rancagua
DIEGO ARMANDO GÓMEZ CUERVO Desarrollo de aplicaciones WEB con herramientas de software libre.
FACULTAD: CIENCIAS ECONÓMICAS Y EMPRESARIALES ASIGNATURA: GESTIÓN DE CONTENIDO ELECTRÓNICO TÍTULO: TINFOPATH - VENTAJAS Y USO. AUTORA: MARIA DANIELA TOMALÁ.
Desarrollo DE apps móviles
DISEÑO CURRICULAR Presentado por: Cesar Augusto Sáenz María Alejandra Hernández 1.contenidos curriculares de competencia.
INSTITUTO DE CIENCIAS ECONÓMICO-ADMINISTRATIVO ÁREA ACADÉMICA DE COMERCIO EXTERIOR 13/09/ UAEH.
UNITEC NEGOCIOS ELECTRÓNICOS ”DESARROLLO DE SOFTWARE ”
Tecnologías Cliente / Servidor Capitulo II Richard Jiménez V. clienteserver.wordpress.com.
Guadalupe Andrade Mociño.  Significa Modelo Vista Controlador  Es un patrón de diseño  Esta compuesto por tres grandes capas: modelo, vista y controlador.
Desarrollo DE apps móviles
INTERFAZ DE ACCESS  Access es un sistema gestor de bases de datos relacionales (SGBD). Una base de datos suele definirse como un conjunto de información.
SCOPE MX Móvil.. Herramientas de SCOPEmx móvil. La versión 2.0 de esta aplicación cuenta con distintas herramientas importantes para su buen desempeño,
Arquitectura de una aplicación Arquitectur a: desarrolla un plan general del sistema, asegurando que las necesidades de los usuarios sean atendidas. Ingeniería.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Conociendo el modelo Cliente-Servidor
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
Entregables del Proyecto
Definición: Es un estilo de programación, su objetivo primordial es la separación de la capa de presentación, capa de negocio y la capa de datos. ARQUITECTURA.
Transcripción de la presentación:

Metodología para la construcción de portlets para aplicaciones científicas Freddy A. Rojas P. rfreddy@ula.ve Centro de Cálculo Científico de la ULA (CeCalCULA) 2do Taller Latino-Americano de Computación GRID Mérida – Venezuela Abril 2006

Introducción Los portlets para aplicaciones científicas surgen como respuesta a la necesidad de simplificar el uso de dichas aplicaciones haciendo uso de interfaces amigables además de aprovechar la seguridad y el beneficio de la tecnología de grids.

Definición de Portlet Un portlet es un componente Web hecho en Java y manejado a través de un contenedor de portlets que procesa las peticiones de los clientes y produce contenido dinámico. El contenido generado por un portlet es llamado fragmento, una pieza de código (HTML, XHTML, WML) adherida a ciertas reglas. Un fragmento puede ser agregado a otros fragmentos a fin de formar un documento completo, por ejemplo un portal es un conjunto de fragmentos generados por diversos portlets. El contenido generado por un portlet puede variar de un usuario a otro dependiendo de cómo haya configurado el usuario el portlet. A diferencia de los servlets, los portlets no tienen interacción directa con los clientes Web. En su lugar, los clientes Web interactúan con el portal a través de un mecanismo de solicitud/entrega aplicado por un contenedor de portlet el cual también maneja el ciclo de vida de los portlets. Generalmente, los portlets tienen una clara separación entre el contenido y la presentación la cual es manejada por una o más clases de Java que contienen la aplicación lógica Los portales usan a los portlets como componentes modulares para interfaz de usuario.

JSR 168 La especificación de portlet de Java (originalmente creada a través del JSR-168) provee un estándar para el desarrollo de componentes de portal con el lenguaje de programación Java. Esta especificación, originalmente lanzada en Octubre del 2003, está ganando popularidad no sólo como un estándar para portales tradicionales sino también como un marco para desarrollar “plugins” para aplicaciones Web comunes. La meta principal del JSR (Java Specification Request) 168, es habilitar la interoperabilidad entre portlets y portales. Esta especificación define el contrato entre el portlet y el contenedor de portlets, y coloca un conjunto de APIs de portlets que se encargan de la personalización, presentación y seguridad. La especificación también define el como empaquetar portlets en aplicaciones de portlets.

JSR 168 Metas: Define el ambiente de ejecución, o el contenedor de portlets para los portlets. Define el API entre el contenedor de portlets y los portlets. Provee mecanismos para almacenar los datos transitorios y persistentes de los portlets. Provee un mecanismo que le permite a los portlets incluir servlets y JSP (Java Server Pages) . Define un empaquetamiento de los portlets que permite el fácil despliegue. Permite la portabilidad de binarios de los portlets entre portales JSR 168. Correr portlets JSR 168 como portlets remotos usando el protocolo de Servicios Web para Portlets Remotos (WSRP). La industria de TI ha aceptado ampliamente al JSR 168. Todas las grandes compañías en el espacio de portales son parte del grupo de expertos del JSR 168: Apache, ATG, BEA, Boeing, Borland, Broadvision, Citrix, EDS, Fujitsu, Hitachi, IBM, Novell, Oracle, SAP, SAS Institute, Sun Microsystems, Sybase, TIBCO, y Vignette. La lista de patrocinantes es mucho mayor.

Estructura de un portal

Primeros pasos Definir el análisis de Entrada / Proceso / Salida para la aplicación seleccionada. Parametrizar el archivo de entrada, esto es: Definir constantes (encabezados, separaciones, final de archivo) Establecer campos variables, ya sea usando variables fijas o introduciendo valores manualmente. Validación de los campos de entrada

Primeros pasos (cont) Una vez parametrizados los campos se procede a construir las plantillas Web encargadas de la recolección de los datos. La validación de los datos se realiza a través de funciones hechas en JavaScript. Estas plantillas estarán contenidas dentro de archivos JSP (JavaServer Pages). Los datos de las plantillas serán enviados al servidor para su posterior procesamiento.

Captura de datos

Creación del archivo de entrada

Procesamiento Con los datos recibidos desde la plantilla se crea el archivo de entrada, luego se procede a envíar dicho archivo a los recursos remotos donde será procesado por la aplicación científica. Para realizar el envío de este trabajo al grid se debe realizar 2 operaciones: Transferencia del archivo desde el servidor del portal al recurso remoto a través del uso del GridFTP. Petición de procesamiento al grid a través del comando de Globus globus-job-run.

Procesamiento (cont.) Una vez envíado el trabajo al grid se monitorea su estatus para establecer la correcta ejecución o no del mismo. Dependiendo de la aplicación y de las opciones seleccionadas para generar el archivo de entrada el tiempo de cálculo variará considerablemente desde minutos hasta días. Una vez que el trabajo haya finalizado correctamente se procede al post-procesamiento en el servidor del portal.

Envío y monitoreo del trabajo

Post-procesamiento Al finalizar el trabajo se debe recuperar el archivo de salida y transferirlo al servidor del portal para su posterior análisis, esto se logra mediante el uso del GridFTP de nuevo. Una vez que el archivo de salida está en el servidor del portal, este se puede analizar ya sea graficámente o a través de busqueda de cadenas claves. En caso de que los resultados no sean los esperados existe la posibilidad de modificar los parámetros del archivo de entrada y recalcular de nuevo.

Visualización del archivo de salida (texto)

Visualización del archivo de salida (gráfico)

Herramientas de Desarrollo (IDE) Para desarrollar portlets basados en JSR168 se puede utilizar un simple editor de texto o utilizar entornos de programación comúnmente conocidos como IDE (Integrated Development Environment), a continuación se lista algunos de los más populares: http://www.eclipse.org – Eclipse http://developers.sun.com/prodtech/javatools/jscreator/index.jsp - Sun Java Studio Creator http://www.borland.com/products/downloads/download_jbuilder.html - Jbuilder http://www.jetbrains.com/idea/ - IntelliJ http://www-128.ibm.com/developerworks/rational/products/rad/ - Rational Application Developer for WebSphere Software

Ejemplos Gaussian Portlet

Ejemplos AutoStructure Portlet

Portales Grid Los portlets para que sean operativos deben residir dentro de un contenedor de portlets, en este caso haremos mención de uno desarrollado en el Texas Advanced Computing Center (TACC) llamado GridPort. El conjunto de herramientas GridPort permite el rápido desarrollo de portales grid altamente funcionales que simplifican el uso de los servicios grid subyacentes al usuario final. Comprende de un juego de portlets y servicios en la capa de portal que proveen acceso a un amplio rango de servicios grid y de información provistos por tecnología grid de bajo nivel como Globus, el Repositorio de Información del Portal Grid (GPIR), y Condor. Los portlets estos servicios a través de interfaces Web configurables a fin de permitir la personalización de las interfaces de usuario del portal grid. GridPort está diseñado para ser usado por desarrolladores de portales grid, portlets y aplicaciones. Esta capa puede fundamentalmente transformar la facilidad y la velocidad con la que los desarrolladores de interfaces de usuario pueden superar la brecha entre los usuarios finales y el grid.

Componentes del GridPort Autenticación (Proxymanager Portlet) Usando el repositorio del GridPort Usando MyProxy Manejo de archivos (File Management Portlet) Listado de archivos Transferencia de archivos Manejo de recursos Visualización de estado de recursos (GPIR Browser Portlet) Envío de trabajos simples (GRAM Job Submission Portlet) Envío de trabajos para Condor (Condor Job Submission Portlet) Servicios independientes Los servicios Web GPIR y CFT han sido extraídos del GridPort y ahora pueden ser instalados por separados. Estos servicios ahora incluyen una base de datos liviana Hypersonic SQL lista para instalar que hace su instalación y uso más sencilla que antes.

Referencias Portal de Químca Cuántica de CeCalCULA GridPort Project http://www.gridport.net GridSphere Portal Framework http://www.gridsphere.org JSR 168 Portlet Specification http://www.jcp.org/en/jsr/detail?id=168 JSR 168 Portlet Factory http://www.jsr168.org Portal de Químca Cuántica de CeCalCULA http://quantum.cecalc.ula.ve

Preguntas