Este documento describe los pasos a seguirse por los instaladores y desarrolladores del framework para portales GridSphere. GridSphere provee un portal web open-source que permite a desarrolladores generar aplicaciones web con portlets, que pueden ser ejecutadas y administradas dentro de su contenedor de portlets.
Este documento asume que los servicios y los recursos compartidos por Globus ya han sido configurados correctamente.
Los siguientes términos y abreviaturas son utilizados en el presente documento:
Término o Abreviatura |
Definición |
GT4 |
Globus Toolkit 4.0.x |
A continuación se detallan los documentos relacionados:
Documento |
Descripción |
GridSphere Portal Framework provee un portal web open source basado en portlets. Permite el rápido desarrollo y empaquetamiento de aplicaciones web de portlets de terceros, que pueden ser ejecutadas y administradas dentro del mismo GridSphere container. Es importante destacar que GridSphere es independiente de la aplicación web, y por esto no contiene ningún soporte para el uso de tecnologías Grid. La funcionalidad relacionada con grids está contenida en la aplicación web llamada Grid Portlets.
GridSphere presenta las siguientes características:
Portlets son componentes visuales Java incorporables a páginas web de un portal. Son "mini aplicaciones" que pueden mostrar información o proveer acceso a otros servicios. Los portlets son administrados por el portlet container, y procesan requerimientos y generan contenido dinámico como respuesta.
El contenido generado por un portlet es llamado fragmento (HTML, WML, XHTML) que puede ser agregado a otros fragmentos para formar un documento. Además de los estados normales de una ventana (minimizada, maximizada) los portlets soportan distintos modos, como view, edit, configure y help.
GridSphere soporta dos modelos de desarrollo de portlets. El modelo original, basado en IBM WebSphere Portlet API 4.1+, y una implementación del Portlet API JSR 168.
Grid Portlets agregan la funcionalidad Grid a GridSphere. Los Grid Portlets, junto con el GridSphere portlet container, ofrecen un portal grid que puede ser usado para el desarrollo de aplicaciones Grid específicas.
La API de Grid Portlet construye desde conceptos básicos a más avanzados:
JDK 1.4.2+
Jakarta Ant 1.6+
<user username="gridsphere" password="gridsphere" roles="manager,admin"/>
<Context path="/manager" debug="0" privileged="true" docBase="[dir-tomcat]/server/webapps/manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1"/>
</Context>
Nota: si se usa HTTPS para correr el portal se deben importar las credenciales del server al repositorio java de keys para que funcione el administrador de aplicaciones. Para esto se puede usar la herramienta de Java keytool :
keytool -keystore $JAVA_HOME/jre/lib/security/cacerts -import -file
$DER_OR_PEM_ENCODED_CA_CERT -alias $SOME_ALIAS
SOME_ALIAS es por ejemplo 'verisignclass3g2ca'
La siguiente explicación detalla la instalación de Gridsphere a partir de los fuentes. Esto es un requerimiento para poder hacer deploy de los portlets que hay de ejemplo.
Para descargar los fuentes del repositorio de gridshere se debe ejecutar el comando
svn co https://svn.gridsphere.org/gridspher e/trunk gridsphereUna vez descargados los fuentes, hacer un unzip/tar a un directorio para luego hacer desde ahí la compilación y el deploy.
Nota : si la versión que se usa es Tomcat 5.5+, se debe descargar también los paquetes de Tomcat Admin, Deployer y Compat. Ejecutar unzip/untar en el directorio $CATALINA_HOME de los paquetes admin y compat, [pendiente configuracion de deployer] para distribuirlos en la instalación de Tomcat.
Antes de instalar GridSphere, se pueden ajustar ciertas configuraciones para personalizar layout, base de datos, servicios de portlets y aplicaciones web de portlets que se arrancan al inicio.
Los layouts predefinidos usados en GridSphere se encuentran en webapps/gridsphere/WEB-INF/CustomPortal/layouts dentro del directorio de la distribución. El layout de Guest se encuentra en el archivo GuestUserLayout.xml. Los layouts de grupo, que especifican el layout para un grupo determinado, se van a distribuir en $CATALINA_HOME/webapps/gridsphere/WEB-INF/CustomPortal/layouts/groups . Los layouts de usuarios se van a distribuir en $CATALINA_HOME/webapps/gridsphere/WEB-INF/CustomPortal/layouts/users .
Por default, GridSphere viene configurada (usando Hibernate) para usar HSQL. Para que use otra base de datos soportada por hibernate, se debe editar el archivo gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/database/hibernate.properties antes de hacer deploy. Comentar las líneas de HSQL y descomentar las líneas de la base de datos que corresponda.
Además se debe instalar el jar JDBC correspondiente en $CATALINA_HOME/shared/lib . Luego se debe ejecutar
> ant create-database
para crear la base. Por último reiniciar el server de aplicación.
Importante : el url de conexión debe apuntar a la ubicación física de la base, que debe crearse antes de reiniciar el server de aplicación.
Si por alguna razón se debe generar de nuevamente la base se la debe eliminar y crear vacia nuevamente antes de ejecutar ant create-database.
Desde el directorio con los fuentes del GridSphere ejecutar
ant install
que va a compilar el código, crear la documentación y hacer el deploy de GridSphere al container de Tomcat (aceptar con 'y' dos veces cuando aparezca el prompt)
Editar el archivo $CATALINA_HOME/webapps/gridsphere/WEB-INF/GridSphereServices.xml y modificar el nombre y password de usuario en la primer entrada de Portlet Manager Service para que coincidan con los seteados en tomcat-users.xml
Reiniciar Tomcat e ir a http://127.0.0.1:8080/gridsphere/ , donde debe aparecer el portal GridSphere.
GridSphere usa log4j como herramienta para loguear todos los mensajes, que guarda en $CATALINA_HOME/logs/catalina.out y $CATALINA_HOME/logs/localhost_gridsphere_log.{yyyy-mm-dd}.txt
El nivel de logueo se puede configurar en log4j.properties ubicado en el directorio config. Por último hacer redeploy.