Sunteți pe pagina 1din 40

HIPERGATE TABLA DE CONTENIDO

1. Que es Hipergate.
a. Que hace Hipergate nico. 2. Modulos Funcionales.

a. Modulos Funcionales Incluidos en el Producto Estndar.


b. Funcionalidades Comunes para todos los Modulos.

3. Ventajas y Beneficios. 4. Diseo y Tecnologa. a. Requisitos y Prioridades del Diseo. b. Lenguajes, Componentes y Plataformas Utilizados.
c. Estructura interna. d. Servidor sin Estados.

e. Separacin de Datos por Clientes y Departamentos.


f. Modelos de Seguridad.

5. Manual de Instalacin para la versin 4.0. a. Para los Impacientes. b. Planificar la Instalacin. c. Requisitos. d. Contenido del paquete de Distribucin. e. Instalar y Configurar un Sitio Web de ejemplo. f. Instalar las Libreras.

g. Crear la Base de Datos. h. Ejecutar el Asistente de Configuracin. i. Configuracin de Seguridad y reas de Trabajo.

j.

Pruebas de Conexin de Acceso.

k. Configuracin de Servlets. l. Usos de Mltiples instancias de Hipergate en el mismo Servidor.

m. Incompatibilidades desconocidas. n. Descargas Adicionales. o. Herramientas de Administracin. p. Instalacin sobre JBoss. q. Apndice 1: Propiedades de Hipergate.cnf. r. Apndice 2: Carga Manual de la Base de Datos.

s. Apndice 3: Configuracin de Granjas de Servidores. t. Apndice 4: Libreras de Terceros.

u. Apndice 5: Libreras de Depuracin. v. Apndice 6: Notas para Recompilara los Fuentes. w. Como actualizarse de la versin 3.0 a la 4.0 x. Diagnostico de Problemas.

1. Que es Hipergate:
hipergate es una suite de aplicaciones de cdigo abierto basadas en web. El propsito del conjunto de programas es cubrir un amplio rango de necesidades de tecnologa de informacin en cualquier organizacin. Todas las aplicaciones se acceden desde Internet Explorer sin necesidad de descargar ningn software en el puesto cliente. La suite tiene capacidad multi-entidad y puede utilizarse indistintamente para dar servicio a una empresa, a un grupo de empresas, o en modalidad ASP para alojar un nmero ilimitado de entidades cliente diferente.

a. Que hace Hipergate nico:

Es completamente gratuito. Es la nica aplicacin Open Source con una cobertura funcional tan amplia. Funciona sobre mltiples bases de datos y sistemas operativos.

Tiene un diseo conceptual e implementacin unitarios. Es apropiado para su uso en modalidad ASP. Es multi-idioma. Dispone de una red de servicios profesionales de soporte. Est bien documentado.

2. Mdulos Funcionales:
a. Mdulos funcionales incluidos en el producto estndar

Modulo de Herramientas Colaborativas y Trabajo en Grupo



Calendario y Agenda de Reuniones Compartida. Foros Libres y Moderados con mltiples grupos. rea de Preguntas Frecuentes. Directorio de Personal Listado y Reserva de Salas y otros Recursos Compartidos

Modulo de Gestin de Contactos



BB.DD. de Clientes, Proveedores, Competidores y Partners. BB.DD. de contactos personales Mltiples Direcciones por Contacto. Gestin de Demarcaciones Territoriales (Delegaciones) Gestin del Pipeline de Ventas (Oportunidades Comerciales) Listas de Distribucin de diversos tipos. Carga Directa de Windows Address Book (Outlook Express) Carga Directa de ficheros de Contactos.

Modulo de Gestin de Proyectos y Soporte a Incidencias



rbol Jerrquico de Proyectos. Seguimiento de Tareas Pendientes. Control de Averas e Incidencias. Contratos de Mantenimiento con Clientes.

Modulo de Tienda Virtual



Mltiples Catlogos Independientes. Jerarqua ilimitada de Categoras de Productos. Atributos Variables por Producto. Gestin de Stock en mltiples almacenes.

Gestin de Pedidos. Gestin de Facturacin. TPV Banesto. TPV Banco Popular. TPV BBVA.

Modulo de Produccin de Contenidos



Plantillas para comunicacin va e-mail. Plantillas para websites. Formularios electrnicos. Plantillas para fax. Inclusin de contenidos multimedia. Gestin categorizada de contenidos. Librera de portlets para la presentacin de contenidos dinmicos.

Modulo de Envo Masivo de Correos Electrnicos



Gestin de envos mltiples de e-mails a listas de distribucin. Estadsticas de recepcin de mensajes.

Biblioteca Corporativa

Disco Virtual 100% basado en Web. Seguridad por usuario basada en roles para los archivos. Gestin e Indexacin de propiedades de documentos OLE. Enlaces Favoritos compartidos. Importar/Exportar favoritos al PC cliente.

b. Funcionalidades Comunes para todos los mdulos

Seguridad basada en roles



Mltiples dominios independientes de seguridad. Nmero ilimitado de usuarios y grupos de permisos. Roles predefinidos listos para utilizar en las aplicaciones. Seguridad a nivel de empresa y a nivel de departamento. Integracin con LDAP.

Gestin de datos jerrquicos



Tesauro geogrfico. Tesauro lexicogrfico. Categorizacin de objetos.

Informes y Consultas

Herramienta de Consulta Guiada por Formulario. Volcados a Excel. Consultas online en formato HTML. Informes remitidos por e-mail.

Planificador de Tareas

Gestin de colas de procesos. Ejecutor multi-hilo en segundo plano.

3. Ventajas y Beneficios del Producto


hipergate es software de ltima generacin; diseado, programado y testeado con las herramientas y tcnicas ms modernas.

El CRM Java Libre ms completo


Ningte otro producto libre sobre plataforma Java ofrece un conjunto de funcionalidades tan amplio como hipergate.

Soporte en todas las plataformas y bases de datos comunes


hipergate funciona indistintamente sobre Linux o Windows, y sobre Oracle, SQL Server, PostgreSQL o MySQL.

Aplicaciones independientes pero sinrgicas


Cada aplicacin de la suite puede funcionar de forma independiente o junto con las otras aplicaciones. Las aplicaciones pueden activarse o desactivarse en caliente de forma particular para cada cliente, empresa o departamento. Esto hace que el usuario final pueda contratar las aplicaciones que realmente necesita sin tener que comprar toda la solucin como sucede con los paquetes de software actuales.

Solucin Integral
hipergate est concebido y pensado tanto en profesionales independientes como en empresas, de manera que puedan derivar todos sus procesos informticos hacia la plataforma. La suite est orientada a facilitar el trabajo diario, creando as una base de usuarios que utilicen el software constantemente.

Integracin con Office


hipergate reconoce e indexa documentos Office, permite cargar y exportar datos a Outlook Express y generar consultas en formato Excel.

Entorno intuitivo y fcil de manejar

Cada aplicacin es fcilmente accesible desde un men principal de pestaas. El interface con el usuario est diseado para ser homogneo y de esta forma de fcil y rpido aprendizaje.

Auto-administrable por el usuario final


hipergate suministra un modelo de administracin predefinido basado en 4 perfiles de usuario: administrador, superusuario, usuario e invitado; a los que se asocia unas operaciones que pueden hacer sobre su informacin de forma muy parecida a como funciona el sistema operativo. El administrador de la instancia concreta. Las facilidades de auto-administracin sirven dos propsitos: 1) reducir el coste de propiedad de la aplicacin en el cliente y 2) reducir el coste de mantenimiento si la plataforma se ofrece en modalidad ASP.

Registro rpido y a trabajar


Al usuario se le da opcin de que pruebe la herramienta durante un periodo de tiempo. El usuario puede en cualquier momento contratar el uso de las aplicaciones hipergate mediante pago a travs de Internet aunque tambin se dan opciones de otras formas de pago. Una vez realizado el pago el usuario puede empezar a trabajar con las aplicaciones contratadas.

4. Diseo y Tecnologa:
a. Requisitos y Prioridades de Diseo
hipergate fue diseado desde el principio como una suite orientada a dar un servicio de alta calidad a los clientes ms exigentes. Se fijaron una serie de requisitos y prioridades que el producto deba cumplir estrictamente.

Ergonoma y Usabilidad
La primera prioridad del producto es que cada parte proporcione una buena experiencia de usuario. Esto se consigue mediante:

arquitectura de informacin homognea a travs de todos los mdulos. modelo conceptual sencillo. fcil acceso a todas las funcionalidades. tiempos de respuesta rpidos para todas las operaciones. completitud en la gama de operaciones disponibles.

Alcance Funcional
La suite est pensada para cubrir el 80% de las necesidades ms tpicas de cada mdulo funcional. En este apartado se prefiri la expansin horizontal del producto por mltiples mdulos antes que fabricar unas pocas aplicaciones especficas de alta complejidad.

La filosofa del producto es que las empresas pequeas y medianas obtengan prcticamente todas las funcionalidades necesarias para cada departamento y que las grandes dispongan de una base slida para desarrollar extensiones propietarias.

Estabilidad
La suite es un producto pensado para tener disponibilidad 24x7. Cada nuevo mdulo es meticulosamente testeado en sucesivos walkthroughts de cdigo, pruebas de caja negra y pruebas de stress en condiciones crticas.

Escalabilidad
Durante todo el ciclo de desarrollo no se quiso sacrificar en ningn momento el rendimiento por la transportabilidad o la ampliacin funcional del producto. El cdigo est optimizado para hacer uso de las funcionalidades especficas de cada base de datos y plataforma sobre los que puede ejecutarse. Una parte de la lgica de proceso emplea procedimientos almacenados PL/SQL, PL/pgSQL o Transact-SQL reescritos manualmente para aprovechar al mximo las opciones ms avanzadas de cada SGBDR. El cdigo Java dispone de 3 modos de ejecucin: 100% Java Puro, Unix y Win32, y, segn se configure explota las llamadas atmicas de cada sistema operativo para obtener el mejor rendimiento. La aplicacin est diseada en 3 capas: servidor web, servidor de aplicacin y servidor de base de datos. El diseo hace nfasis en la capacidad para crear granjas y repartir la carga entre mltiples servidores. Para reducir el consumo de memoria y aumentar la capacidad de servicio de cada servidor web, la aplicacin funciona sin sesiones ni estados mantenidos en el lado servidor. Por ltimo, la suite incorpora un sofisticado sistema propietario de cache distribuido con la misin de mantener informacin local en los servidores web y reducir la sobrecarga de los nodos de la base de datos.

Tolerancia a Fallos
La aplicacin puede configurarse para funcionar en clustering tanto con los servidores web como con la base de datos.

Mantenibilidad
La estructura del cdigo se dise pensando en que resultase sencillo de mantener y de ampliar por programadores sin conocimientos profundos de los detalles del sistema. El modelo de objetos que asla el modelo fsico de la base de datos del modelo de la lgica de negocio proporciona un marco natural para hacer ampliaciones con una curva de aprendizaje suave. Muchas de las tareas rutinarias de codificacin: generacin de formularios, tablas de remonte, validacin de datos, gestin de fechas, etc. ya estn resueltas de forma estndar en componentes reutilizables.

Separacin de datos entre clientes

hipergate comparte informacin de varios clientes en una misma base de datos para evitar una proliferacin insostenible de bases de datos. No obstante, como requisito imprescindible para poder dar servicio ASP, la informacin de cada cliente puede extraerse limpiamente en cualquier momento de la base de datos compartida para hacer una copia de respaldo exclusiva del cliente o para instalarse en una instancia de base de datos dedicada.

Economa
La aplicacin puede funcionar basada 100% en software libre con el propsito de eliminar casi por completo los costes de licencias. Otro factor, es el uso racional de la CPU y el disco que se consideran recursos escasos.

Tecnologa Estndar
Slo se emplean componentes y tecnologas de uso muy comn en el mercado. Adems se aboga por el uso exclusivo de plataformas con respaldo explcito para su continuidad de las grandes empresas del sector.

Simplicidad
A pesar de su amplio alcance tcnico y funcional, la suite est diseada y codificada para ser muy simple parte por parte.

b. Lenguajes, Componentes y Plataformas Utilizados

Java y Tomcat
Todos los mdulos de hipergate estn escritos en 100% Java Puro. El software puede correr en cualquier versin de la mquina virtual desde la 1.1.8 a la 1.5. La versin 1.0 de hipergate ha sido testeada sobre Tomcat 3.1.1a con Java 1.3, Tomcat 4.1.27 con Java 1.4 y Tomcat 5.5 con Java 1.5. La mquina que aloje el servidor web debe ser Linux, BSD, Solaris, AIX o Windows 2000.

Componentes utilizados bajo licencias Open Source



Jakarta Bean Scripting Framework 2.3 Jakarta POI 2.5 Jakarta ORO 2.0.8 Xerces2 XML Java Parser 2.6.2 Xalan XSLT Processor 2.6.2 Enterprise DT Ltd Java FTP Library 1.2.2

Componentes utilizados bajo licencia de SUN Microsystems Inc.



JavaBeansTM Activation Framework 1.0.2 JavaMailTM 1.3.2 JavaTM Advanced Imaging 1.1.2

Otros Componentes

Infomentum AppletFile 3.0 (opcional) DipuTree Java tree applet 3.0 (opcional)

Sistemas Gestores de Base de Datos Relacional Soportados



Oracle 9i, 10g Microsoft SQL Server 2000 PostgreSQL 7.3, 7.4

Servidor de Aplicaciones
El la persistencia objetos en base de datos, el mdulo de cache distribuido y el planificador de tareas pueden instalarse separados del servidor web sobre JBoss 3.0.

c. Estructura Interna

Diseo multi-capa
El cdigo de hipergate est dividido en 5 capas:

Capa 1: Cdigo JavaScript ejecutado por el navegador cliente. Capa 2: Pginas JSP servidas por el servlet runner (Tomcat) Capa 3: Modelo abstracto de objetos Java, puede ejecutarse dentro de Tomcat o de forma separada sobre JBoss. Capa 4: Scripts Java BeanShell. Capa 5: Procedimientos almacenados en el SGBDR.

Esta divisin persigue alcanzar el mejor grado de escalabilidad y extensibilidad de la aplicacin, con los objetivos de: 1. 2. 3. 4. 5. 6. Realizar el mximo de validaciones y procesamiento en cliente para reducir el trfico entre el navegador y el servidor web. Separar la capa de presentacin de la persistencia de objetos. Proporcionar un API para todos los objetos de la aplicacin. Utilizar el mximo de cdigo compilado y optimizado para el ncleo de libreras del sistema. Externalizar la lgica de negocio en scripts de servidor que no requieran ser recompilados para ejecutarse. Reducir el nmero de llamadas a la base de datos en aquellas operaciones que puedan ejecutarse de forma atmica dentro del gestor de base de datos.

d. Servidor sin estados


hipergate no utiliza sesisones ni estados mantenidos en el servidor.

Esto es una medida destinada a reducir el consumo de memoria y aumentar la escalabilidad en el servidor web. Toda la informacin se mantiene mediante cookies de sesin almacenadas en el cliente. Estas cookies slo contienen un mnimo de informacin:

dominio de seguridad al que se est conectado rea de trabajo a la que se est conectado identificador nico de del usuario conectado token de acceso de sesin encriptado

Como no hay sesiones, no existe el concepto de identificador de la sesin actual. Toda la informacin de estado se transfiere de una pgina a otra mediante mtodos GET o POST de HTTP.

Caches
El sistema utiliza un cache distribuido que permite almacenar informacin de la base de datos de forma local en los servidores web. Esto reduce el trfico de red y aligera la carga sobre la base de datos. Un controlador de cache se encarga de mantener la coherencia de los datos en instalacin con mltiples servidores web funcionando de forma concurrente contra la misma base de datos.

e. Separacin de datos por clientes y departamentos


Muchas aplicaciones que funcionan en modalidad ASP lo hacen replicando automticamente un modelo de datos para cada una de las instancias cliente. La ventaja de este enfoque es que permite separar fcil y limpiamente los datos de cada cliente El inconveniente es que se genera una proliferacin de bases de datos clnicas prcticamente imposibles de mantener a partir de cierto volumen de instancias. En hipergate se ha seguido una aproximacin hbrida al problema de la separacin de datos: una nica base de datos puede contener informacin de mltiples entidades cliente sin solapamientos, incluso, yendo un paso ms lejos, la divisin de datos y permisos de acceso puede llegar a nivel departamental, consiguiendo que las personas de un departamento tengan acceso a un conjunto de datos y aplicaciones diferente de los de otro departamento. Sin embargo, para mantener el requisito indispensable de la separacin de datos por cliente, las utilidades de administracin disponen de subrutinas para cortar y separar la informacin de un cliente en una base de datos aislada de uso exclusivo, incluso aunque dicha informacin se encontrase previamente almacenada en una base de datos compartida.

Dominios
Conceptualmente, el Dominio de hipergate es la unidad de mayor nivel de divisin de datos. Tpicamente representa una entidad cliente completa, aunque otro uso comn es usarlo como contenedor de usuarios individuales no adscritos a ninguna entidad (por ejemplo, profesionales independientes que contratan una cuenta de uso personal). El uso principal de los dominio es establecer los lmites de asignacin de permisos para cada administrador. As el administrador de una entidad cliente, puede crear nuevos usuarios o

activar y desactivar aplicaciones dentro de su dominio, pero no puede ver ni alterar los datos de otras entidades clientes en dominios diferentes.

reas de Trabajo
Cada Dominio puede contener una o ms reas de Trabajo. Las reas de trabajo forman los compartimentos estancos de informacin. Las reas de trabajo suelen representar departamentos funcionales en las entidades cliente. En un momento dado cada usuario slo ve la informacin de aquella rea de trabajo a la que est conectado con un rol determinado. Por ejemplo, un vendedor podra ser usuario del rea de trabajo del departamento de ventas, y, al mismo tiempo invitado del rea de trabajo del departamento de soporte tcnico. Este vendedor podra crear nuevas fichas de clientes o generar oportunidades comerciales en el rea de trabajo de ventas, pero su nivel de privilegio en el rea de trabajo de soporte slo le permitira ver las incidencias abiertas pendientes de resolucin, sin posibilidad de modificarlas.

f. Modelo de Seguridad
hipergate implementa un modelo de seguridad a nivel de sesin basado en roles. El modelo maneja los siguientes conceptos: Aplicaci n El producto funciona como un conjunto de aplicaciones interoperables. Se pueden aadir o quitar aplicaciones sin afectar al funcionamiento del resto del sistema. En un momento dado, cada usuario tiene disponible un subconjunto de todas las aplicaciones y ejerce un rol en cada una de ellas en funcin de los grupos de permisos a los que pertenezca. Se permite crear un nmero ilimitado de usuarios cada uno con su propio conjunto de roles y clave de acceso. Se dispone de cuatro roles predefinidos ms un quinto definible por entidad cliente: administrador, superusuario, usuario, invitado y variable. Estos roles marcan lo que el usuario puede hacer en cada aplicacin. As, un usuario podra tener rol de Administrador en el mdulo del Directorio de Personal y Rol de Invitado en el mdulo de ventas. Esto le permitira crear nuevas fichas de empleados, pero no crear nuevos clientes. Cuenta Una cuenta es lo mismo que un contrato de uso con un cliente final. Existen 3 tipos de cuenta predefinidas: la cuenta corporativa, la cuenta profesional y la cuenta de sistema. Las cuentas corporativas permiten un nmero arbitrario de usuarios y estn asociadas a su propio dominio. Las cuentas profesionales representan usuarios individuales que no pueden hacer uso de las funcionalidades de trabajo en equipo de la aplicacin. Las cuentas del sistema se usan por los operadores del ISP que proporcionan el servicio como un medio de administrar todos los dominios contratados con clientes. Dominio Un dominio representa un conjunto de usuarios que se administran de forma independiente. Cada dominio tiene uno o ms administradores.

Usuario Rol

rea de Trabajo

Cada dominio contiene una o varias reas de trabajo. El rea de trabajo es una entidad que sirve para establecer la visibilidad de conjuntos de datos en la aplicacin. Por ejemplo, supongamos que la entidad cliente es una empresa con dos delegaciones, una en Madrid y otra en Barcelona. Se desea que la creacin y gestin de usuario est centralizada en Barcelona y que los usuarios de cada sede vean slo la agenda y el directorio de su localidad. En este caso se creara un dominio para la empresa y un rea de trabajo para cada delegacin. Cada usuario pertenece a uno a ms grupos. Es posible definir un nmero arbitrario de grupos. Los grupos en si mismos no otorgan roles a los usuarios. Es preciso asignar un rol al grupo dentro de una aplicacin y rea de trabajo para que los usuario adquieran el rol deseado.

Grupo

Diagrama ilustrativo del modelo de seguridad

Manual de Instalacin para la Versin 4.0

a. Para los impacientes...


1. Es preciso tener pre-instalado o Java 1.6 (o superior) o Tomcat 6.0.16 (o superior) o PostgreSQL 8.x, Microsoft SQL Server 2005/DE or Oracle 10g/XE o MySQL 5.x. Un tamao inicial de 30Mb para la base de datos es ms que suficiente para tareas de desarrollo.

2. Descargar y descomprimir hipergate-4.0.x-aa.zip en cualquier parte. 3. Copiar todos los archivos del directorio /web o /web al servidor web. 4. Copiar el directorio /storage en cualquier sitio fuera del rbol del servidor
web.

5. Abrir la pgina http://servidor:puerto/admin/setup.htm para iniciar el

asistente de instalacin.

6. Configurar /WEB-INF/web.xml (se puede hacer ms tarde pero hasta que


no est hecho no funcionar el mdulo de disco virtual)

7. (Opcional) Si se ha instalado hipergate en un directorio que no es el raz del


dominio utilizado modificar el valor de la variable config.BaseUrl en el archivo /fckeditor/js/fck_config.js

b. Planificar la instalacin
La instalacin de hipergate consiste, bsicamente, en copiar las pginas JSP y los archivos .jar en el servidor web y lanzar el asistente de web de instalacin. Para que hipergate funcione es necesario haber pre-instalado (al menos) Java 1.4, un contenedor de servlets (ej. Tomcat) y un gestor de base de datos. Es importante pesar de antemano dnde se ubicarn los siguientes archivos:

La base de datos, en una unidad con espacio suficiente. Los .jar, de forma que no colisionen con otros ya instalados (por defecto en WEB-INF/lib). Las pginas JSP de hipergate. Los directorios /storage y /web/workareas, que es donde se almacenan los archivos manejados por hipergate que no residen en la base de datos. /storage y /web/workareas son dos directorios que pueden crecer indefinidamente segn se suban archivos a la aplicacin. La diferencia esencial entre /storage y /web es que los archivos de /storage no necesitan ser visibles por HTTP (aunque en la instalacin por defecto lo son) mientras que los de /web deben colgar de una URL bajo el servidor web.

c. Requisitos
Sistema Operativo Linux o Windows Preferentemente Linux (cualquier distro), Solaris o AIX. Se puede utilizar BSD pero es imprescindible que la plataforma seleccionada tenga soporte para una mquina virtual de Java 1.4. JRE 1.6 hipergate 4 ha sido probado con la versin 1.6 de Sun JDK en distintas plataformas. Contenedor de servlets/JSP El desarrollo inicial de hipergate se ha realizado con Apache Tomcat 6.0.16, y ha sido probado en otros servidores como Sun Web Server, Pramati, BEA WebLogic e IBM WebSphere. Base de datos relacional

hipergate soporta de forma nativa PostgreSQL 7.4/8.0, Microsoft SQL Server 2000/2005/DE, Oracle 9/10g/XE y MySQL 5.x. No existe soporte para MySQL 4.x, puesto que se utilizan procedimientos almacenados no soportados por esta base de datos. Existen una serie de requisitos por cada gestor de base de datos utilizado con hipergate: PostgreSQL PostgreSQL debe estar atendiendo peticiones por TCP/IP. El lenguaje plpgsql debe estar instalado en la instancia de BB.DD. antes de cargar el juego de datos inicial. Para ello, hay que ejecutar la siguiente sentencia utilizando el usuario administrador de la base de datos: createlang plpgsql nombre_bbdd. Se puede comprobar si el lenguaje est cargado lanzando la siguiente sentencia SQL: select lanname from

pg_language;

La base de datos debe ser creada con juego de caracteres UNICODE, de lo contrario se producir el error SQLException 42P01 ERROR: no existe la relacin k_x_app_workarea. Oracle 9 Por defecto, Oracle admite un mximo de 50 cursores abiertos por conexin. Este parmetro es incompatible con el funcionamiento de la instalacin, que deja un cursor preparado por tabla. Por consiguiente, antes de crear la base de datos hay que abrir el archivo de configuracin de la instancia de BB.DD. (initXXXX.ora) y poner la opcin: "open_cursors=100" (como mnimo). Oracle XE Oracle XE usa por defecto el mismo puerto de administracin que Tomcat, el 8080, si se ejecutan ambas aplicaciones en la misma mquina hay que cambiar el puerto para alguna de las dos. Microsoft SQL Server Es necesario activar el protocolo TCP/IP en el servidor. Para ello usar el programa SQL Server Client Network Utility. Tambin es necesario activar la seguridad nativa de SQL Server, con la seguridad integrada en Windows no es suficiente. En algunos casos puede ser necesario configurar el parmetro ARITHABORT de SQL Server para que la carga inicial de BB.DD. funcione. Para ello, hay que conectarse a la base de datos master desde SQL Query Analyzer y ejecutar la sentencia: ALTER DATABASE nombre_bbdd SET ARITHABORT ON. De lo contrario, aparecer el siguiente error mientras se realiza la carga inicial: "[SQLServer 2005 Driver for JDBC][SQLServer]INSERT

failed because the following SET options have incorrect settings: 'ARITHABORT'".

d. Contenidos del paquete de distribucin


El paquete de hipergate se distribuye en formato ZIP, y contien los siguientes subdirectorios:

bin: Librera estndar de hipergate. java: Cdigo fuente de la librera de hipergate. web-XX: Juego de pginas JSP con una aplicacin de ejemplo. storage: Contenidos de ejemplo del directorio de almacenamiento privado. doc: Documentacin adicional, licencias y referencia del API de hipergate.

database: Volcados binarios de la base de datos de ejemplo.

A continuacin se presenta un detalle de los contenidos de los directorios web y storage:

Contenidos del directorio

web

Contenidos del directorio

storage

e. Instalar y configurar un sitio web de ejemplo


La primera decisin a tomar es donde se ubicarn las pginas JSP de la aplicacin. Debe tener configurado un motor de servlets/JSP en el servidor. Tome nota de la configuracin y URLs donde instala las JSP, puesto que las necesitar ms adelante en el Asistente de Instalacin. Se recomienda instalar hipergate justo debajo de la raiz del dominio utilizado, como:

http://localhost:8080/ Si se desea instalar hipergate en un directorio por debajo del raiz, hay que modificar el valor de la variable config.BaseUrl en el archivo /fckeditor/js/fck_config.js

Instalacin sobre Tomcat 6.0


Puede instalar una copia de Apache Tomcat en el directorio /opt/tomcat/, y configurarla para que escuche peticiones a travs de HTTP en el puerto 8080 (configuracin por defecto). Compruebe la siguiente lnea en su archivo $CATALINA_HOME/conf/server.xml:

<Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8080" ... />


Puede crear un nuevo <Context> para hipergate o utilizar uno existente. Por ejemplo, puede copiar toda la rama web del paquete ZIP de hipergate al directorio $CATALINA_HOME/webapps/hipergate y configurar un nuevo <Context> en el archivo server.xml de la siguiente forma:

<Server port="8005" shutdown="SHUTDOWN" debug="0"> <Service name="Tomcat-Standalone"> <Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8080" minProcessors="5" maxProcessors="75" enableLookups="true" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" useURIValidationHack="false" disableUploadTimeout="true" /> <Host name="localhost" debug="0" appBase="$CATALINA_HOME/webapps/hipergate" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="" debug="0" reloadable="true" crossContext="true"> <Logger className="org.apache.catalina.logger.FileLogger" prefix="hipergate_log." suffix=".txt" timestamp="true"/> </Context> </Host> </Engine> </Service> </Server>
Archivos con juego de caracteres Unicode Los archivos fuente JSP de hipergate utilizan el juego de caracteres Unicode codificado como UTF-8. Es necesario indicar a Tomcat que debe esperar archivos fuente Unicode estableciendo el parmetro -Dfile.encoding=UTF-8 en la variable de entorno CATALINA_OPTS. Si no se especifica el parmetro file.encoding, es posible que se produzca un error del estilo org.apache.jasper.compiler.CompileException:

/common/desktop.jsp Cannot read file: ze file al arrancar la aplicacin.

Servlets
hipergate incluye tres servlets para la descarga de archivos desde el directorio privado storage. Para recoger archivos desde la BB.DD. es necesario configurar una serie de entradas en el fichero web/WEB-INF/web.xml instalado. Para cada unos de los servlets (HttpBinaryServlet, HttpBLOBServlet y HttpQueryServlet) hay que configurar los siguientes parmetros:

jdbcDriverClassName hipergate.cnf jdbcURL

Establece el driver de acceso a BB.DD., igual que el parmetro driver de

Establece la cadena de conexin a la BB.DD., igual que el parmetro dburl de hipergate.cnf

dbUserName/dbUserPassword

Establece el usuario y contrasea de acceso a la BB.DD., igual que los parmetros dbuser/dbpassword de hipergate.cnf

Los parmetros de conexin a la base de datos para los servlets del paquete com.knowgate.http (HttpBinaryServlet, HttpBLOBServlet y HttpQueryServlet) pueden especificarse en el archivo de /WEB-INF/web.xml o en el archivo /etc/hipergate.cnf. La informacion de web.xml es prioritaria sobre la de hipergate.cnf de modo que si ambas difieren se tomar como vlida la de web.xml. Los parmetros de web.xml pueden dejarse vacos si se tiene una nica instancia de la aplicacin corriendo en el mismo servidor, pero es imprescindible rellenarlos si se tienen varias instancias de la aplicacin corriendo en el mismo servidor contra bases de datos diferentes. Si no se encuentran parmetros de conexin en web.xml el servlet ir a buscarlos a hipergate.cnf y no a otros archivos de configuracin como real.cnf o portal.cnf. Por ltimo, compruebe que la URL http://hostname:8080/login.html funciona correctamenente.

f. Instalar las libreras


El segundo paso es instalar las pginas y las libreras de hipergate en un directorio donde el motor de servlets pueda referenciarlas. Si tiene dudas acerca de cmo crear una aplicacin web en su motor de servlets lea una de las siguientes guas de instalacin. Las libreras JAR se colocan por defecto en el directorio $CATALINA_HOME/webapps/hipergate/WEB-INF/lib. Normalmente, no hay necesida de cambiarlas de sitio. Aadir las libreras al CLASSPATH no es suficiente, ya que la mayora de los contenedores de servlets utilizan su propia estructura de directorios y cargadores de clases para buscar las libreras JAR. Usually there is no need to change them to another place. Tomcat utiliza el directorio $CATALINA_HOME/shared/lib para los JARs compartidos por todas las aplicaciones web.

Puede mover las libreras a shared/lib si tiene problemas para cargarlas desde WEBINF/lib.

g. Crear una base de datos vaca


Oracle 10g 1. Abrir una conexin a Oracle con SQL*Plus, SQL*Worksheet o Server Manager y ejecutar las sentencias:

CREATE TABLESPACE HIPERGATE4 DATAFILE 'C:\oraclexe\oradata\XE\hipergate4.dbf' SIZE 100M; CREATE USER HIPERGATE IDENTIFIED BY HIPERGATE DEFAULT TABLESPACE HIPERGATE4 QUOTA UNLIMITED ON HIPERGATE4 QUOTA 0 ON SYSTEM; GRANT CONNECT,CREATE SEQUENCE,CREATE SYNONYM,CREATE PUBLIC SYNONYM,DROP PUBLIC SYNONYM,CREATE PROCEDURE,CREATE VIEW,CREATE TABLE, CREATE TRIGGER TO HIPERGATE;
Microsoft SQL Server 2005 1. Asegurarse de que el servidor est configurado para aceptar autentificacin nativa. Si no se activa la seguridad nativa se obtendrn el error "Not associated with a trusted SQL Server connection" al intentar la conexin con SQL Server. 2. Habilitar el soporte de conexiones por TCP/IP. 3. Crear una nueva base de datos desde Microsoft SQL Server Management Studio. 4. Abrir SQL Query Analyzer, conectarse a la BB.DD. master y ejecutar:

ALTER DATABASE hipergate4 SET ARITHABORT ON


Notas sobre Microsoft SQL Server Desktop Engine Aunque hipergate puede correr sobre MSDE, no se recomienda para entornos de produccin. Sin embargo, MSDE es fcil de instalar y puede ser til para hacer demos en Windows 2000/XP. He aqu como proceder:

Obtener MSDE Release A de http://www.microsoft.com/sql/msde/downloads/default.asp. Leer el archivo README incluido en MSDE sobre cmo instalarlo teniendo en cuenta que MSDE no est pensado para ser instalado manualmente por un humano. Siguiendo las instrucciones de la seccin 3.4.3 del README, ejecutar: setup SAPWD="AStrongPassword" INSTANCENAME="InstanceName" TARGETDIR="C:\MyInstanceFolder" DISABLENETWORKPROTOCOLS=1 SECURITYMODE=SQL. SAPWD es la clave de super usuario de la base de datos, el nombre de la instacia podras ser HGOLTP2D y el directorio destino C:\MSSQL. Los ltimos dos parmetros habilitan el soporte TCP/IP y la autentificacin dual SQL Server+Windows

MSDE no incluye herramientas administrativas, de modo que es preciso conectarse al servidor de alguna de las siguiente maneras para crear la base de datos vaca: - Instalar las herramientas cliente de SQL Server Standard/Enterprise. Se necesita el Enterprise Manager Snap-in para Microsoft Management Console. Esta es la forma ms fcil de administrar MSDE, pero no es gratis. - o usar una herramienta de consulta SQL como WinSQL - o si se dispone de IIS y el SDK de .NET es posible utilizar Web Data Administrator. - o (puramente experimental) quiz exista una utilidad de lnea de comando para restaurar el archivo .BAK distribuido con hipergate a una nueva base de datos. Habiendo instalado todo esto, configurar hiperate.cnf para usar el SAPWD, 127.0.0.1 como host y puerto 1433. Es posible iniciar y parar el servicio MSSQLServer usando el Panel de Control de Windows o "NET STAART/STOP" desde la lnea de comandos.

PostgreSQL 8.0

1.

Conectar al servidor de BB.DD. a travs de SSH/Telnet, usando el usuario administrador de la BB.DD. (postgres), y crear una nueva BB.DD. y un usuario:

# createdb -E UNICODE hipergate4 # createuser knowgate # grant all on database hipergate4 to knowgate
2. Configurar PostgreSQL para que atienda peticiones por TCP/IP estableciendo los siguientes parmetros en el archivo postgresql.conf

tcpip_socket = true virtual_host = '127.0.0.1' port = 5432


3. Activar el lenguaje PL/pgSQL. El PL/pgSQL debe estar activado antes de ejecutar el asistente de instalacin o de cargar el modelo de datos manualmente. Si no se activa el PL/pgSQL antes de crear el modelo de datos, se producir un error en la funcin k_sp_authenticate al intentar conectarse por primera vez y ser necesario volver a crear el modelo de datos desde cero.

# createlang plpgsql hipergate4


4. Si se encuentran problemas de permisos accediendo al lenguaje c, hacer:

# update pq_language set lanpltrusted=true where lanname='c'; # grant usage on language c to knowgate;
MySQL 5.x 1. Conectarse al servidor como root y ejecutar:

CREATE DATABASE hipergate4 CHARACTER SET utf8; CREATE USER knowgate IDENTIFIED BY 'knowgate';

GRANT ALL PRIVILEGES ON *.* TO 'knowgate'@'%' IDENTIFIED BY 'knowgate';


Ntese que la base de datos debe estar creada con juego de caracteres UTF-8 y que no es suficiente con hacer un GRANT ALL PRIVILEGES ON knowgate.* ya que esto no otorga el privilegio de SUPER que es requerido durante el proceso de creacin inicial del modelo de datos para crear triggers.

h. Ejecutar el Asistente de Instalacin


Para iniciar hipergate bsicamente existen tres requisitos: 1. Tener las libreras (JARs) necesarios en su sitio (por defecto ya lo estn en WEB-INF/lib). Configurar las propiedades del archivo hipergate.cnf para inidicar a la aplicacin a qu base de datos debe conectarse. hipergate.cnf se crea por defecto en el directorio /etc (o C:\WINNT en Windows) pero su ubicacin puede cambiarse asignando el nombre del directorio donde se encuentre a la variable de entorno KNOWGATE_PROFILES Tener creado el modelo de datos

2.

3.

El Asistente de Instalacin que se encuentra en http://servidor:puerto/admin/setup.htm Una vez finalizada su ejecucin el asistente de instalacin salta automticamente a la pantalla de inicio de sesin de la aplicacin.

i. Configuracin de Seguridad y reas de Trabajo


Para crear nuevos Dominio, reas de Trabajo y Usuarios lea el Manual de Usuario. Se recomienda proteger el directorio /admin con autentificacin bsica del servidor web una vez finalizada la instalacin inicial. Es preciso dar permisos de escritura al usuario que ejecute el servidor web sobre el directorio /tmp o /C:\TEMP o cualquier otro que se designe como directorio temporal en el archivo hipergate.cnf.

j. Pruebas adicionales de conexin y acceso


Una

http://myserver/admin/test_connect.jsp?profile=hipergate. Si todo
funcion correctamente, aparecer una pantalla con el driver y cadena de conexin JDCB y un mensaje de xito. Puede acceder a la aplicacin de ejemplo a travs de la URL:

vez

cargada

la

base

de

datos,

acceda

la

siguiente

URL:

http://myserver/login.html. El sistema de carga de base de datos genera una


serie de usuarios y contraseas por defecto.

hipergate tiene dos dominios reservados con 5 usuarios que deben conservarse, aunque se recomienda cambiar su contrasea por defecto. administrator@hipergate-system.com (password hipergate) Cuenta de administrador del sistema completo de hipergate. Gestiona los dominios, areas de trabajo y usuarios que pueden acceder a la aplicacin a nivel global. administrator@hipergate-model.com (password model, en minsculas) Cuenta de administrador del dominio modelo de la base de datos. Se utiliza para generar copias clnicas de los dominios. superuser@hipergate-model.com (password model, en minsculas) Cuenta de usuario avanzado del dominio modelo de la base de datos. Se utiliza para generar copias clnicas de los dominios. user@hipergate-model.com (password model, en minsculas) Cuenta de usuario ordinario del dominio modelo de la base de datos. Se utiliza para generar copias clnicas de los dominios. guest@hipergate-model.com (password model, en minsculas) Cuenta de usuario invitado del dominio modelo de la base de datos. Se utiliza para generar copias clnicas de los dominios. Este usuario no tiene permisos de escritura en la aplicacin. Adicionalmente, el proceso de instalacin genera tres dominios de pruebas para que los usuarios puedan empezar a trabajar con la aplicacin directamente. Cada dominio (test, demo y real) se puede emplear en los procesos de prueba, aceptacin y produccin de cambios en la aplicacin.

[administrator|superuser|user|guest]@hipergate-test.com (password TEST, en maysculas) [administrator|superuser|user|guest]@hipergate-demo.com (password DEMO, en maysculas) [administrator|superuser|user|guest]@hipergate-real.com (password REAL, en maysculas)

k. Configuracin de servlets
Tras ejecutar el Asistente de Instalacin, es conveniente revisar el contenido del archivo /WEB-INF/web.xml para configurar los parmetros de los servlets del paquete com.knowgate.http. Deben estar creados los servlets: HttpBinaryServlet, HttpBlobServlet y HttpQueryServlet. Para ello agregar las siguientes lneas al archivo web.xml:

<servlet> <servlet-name>HttpBinaryServlet</servlet-name> <servletclass>com.knowgate.http.HttpBinaryServlet</servlet-class> <init-param> <param-name>jdbcDriverClassName</param-name> <param-value></param-value> </init-param> <init-param>

<param-name>jdbcURL</param-name> <param-value></param-value> </init-param> <init-param> <param-name>dbUserName</param-name> <param-value></param-value> </init-param> <init-param> <param-name>dbUserPassword</param-name> <param-value></param-value> </init-param> <init-param> <param-name>id_product</param-name> <param-value></param-value> </init-param> <init-param> <param-name>id_location</param-name> <param-value></param-value> </init-param> <init-param> <param-name>id_category</param-name> <param-value></param-value> </init-param> <init-param> <param-name>id_user</param-name> <param-value></param-value> </init-param> </servlet> <servlet> <servlet-name>HttpBLOBServlet</servlet-name> <servletclass>com.knowgate.http.HttpBLOBServlet</servlet-class> <init-param> <param-name>jdbcDriverClassName</param-name> <param-value></param-value> </init-param> <init-param> <param-name>jdbcURL</param-name> <param-value></param-value> </init-param> <init-param> <param-name>dbUserName</param-name> <param-value></param-value> </init-param> <init-param> <param-name>dbUserPassword</param-name> <param-value></param-value> </init-param> <init-param> <param-name>nm_table</param-name>

<param-value></param-value> </init-param> <init-param> <param-name>nm_field</param-name> <param-value></param-value> </init-param> <init-param> <param-name>pk_field</param-name> <param-value></param-value> </init-param> <init-param> <param-name>pk_value</param-name> <param-value></param-value> </init-param> <init-param> <param-name>bin_field</param-name> <param-value></param-value> </init-param> </servlet> <servlet> <servlet-name>HttpQueryServlet</servlet-name> <servletclass>com.knowgate.http.HttpQueryServlet</servlet-class> <init-param> <param-name>jdbcDriverClassName</param-name> <param-value></param-value> </init-param> <init-param> <param-name>jdbcURL</param-name> <param-value></param-value> </init-param> <init-param> <param-name>dbUserName</param-name> <param-value></param-value> </init-param> <init-param> <param-name>dbUserPassword</param-name> <param-value></param-value> </init-param> <init-param> <param-name>queryspec</param-name> <param-value></param-value> </init-param> <init-param> <param-name>columnlist</param-name> <param-value>*</param-value> </init-param> <init-param> <param-name>where</param-name> <param-value></param-value> </init-param> <init-param> <param-name>orderby</param-name>

<param-value></param-value> </init-param> <init-param> <param-name>showas</param-name> <param-value>XLS</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>HttpBinaryServlet</servlet-name> <url-pattern>/servlet/HttpBinaryServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>HttpBLOBServlet </servlet-name> <url-pattern>/servlet/HttpBLOBServlet</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>HttpQueryServlet</servlet-name> <url-pattern>/servlet/HttpQueryServlet</url-pattern> </servlet-mapping>

Configuracin de mltiples instancias de hipergate en la misma mquina


Todos los parmetros por defecto de los servlets pueden dejarse en blanco excepto si se utilizan varias instancias de hipergate en la misma mquina, en cuyo caso es preciso especificar valores pordefecto de la siguiente forma: Nombre de la clase Java del driver JDBC

jdbcDriverClassName {org.postgresql.Driver | oracle.jdbc.driver.OracleDriver | jdbcURL dbUserName dbUserPassword

com.microsoft.jdbc.sqlserver.SQLServerDriver} URL de acceso a la base de datos (igual que la propiedad dburl del archivo cnf correspondiente) Usuario de base de datos (igual que la propiedad dbuser del archivo cnf correspondiente) Clave del Usuario (igual que la propiedad dbpassword del archivo cnf correspondiente)

l. Mltiples instancias de hipergate en el mismo servidor


Es posible utilizar varias instancias de hipergate corriendo contra diferentes bases de datos en el mismo servidor. Cada instancia requiere el uso de un archivo de propiedades propio igual que hipergate.cnf pero con nombre distinto. Todos los archivos de propiedades para todas las instancias deben colocarse en el mismo directorio, por defecto /etc o C:\WINNT o el que se especifique en la variable de entorno KNOWGATE_PROFILES. La versin pblica de hipergate viene preparada para trabajar con 5 archivos de propiedades adicionales adems de hipergate.cnf: demo.cnf, devel.cnf, portal.cnf, real.cnf y test.cnf. Para usar un archivo de propiedades diferente de hipergate.cnf hay que editar

include de JSP situado en /web/methods/dbbind.jsp. Se debe reemplazar la clase com.knowgate.dataobjs.DBBind en dbbind.jsp por la subclase apropiada para cada archivo de propiedades:

demo.cnf devel.cnf portal.cnf real.cnf test.cnf

com.knowgate.dataobjs.DBDemo com.knowgate.dataobjs.DBDevel com.knowgate.dataobjs.DBPortal com.knowgate.dataobjs.DBReal com.knowgate.dataobjs.DBTest

Por consiguiente para utilizar el archivo de propiedades test.cnf el contenido de dbbind.jsp debe ser:

<jsp:useBean id="GlobalDBBind" class="com.knowgate.dataobjs.DBTest"/>

scope="application"

m. Incompatibilidades conocidas

Versin 4.0

El driver de PostgreSQL que se suministra con la build slo sirve para la versin 8.3 El driver de Oracle que se suministra con la build slo sirve para la versin 11g El driver de SQL Server que se suministra con la build slo sirve para el Service Pack 2 de SQL Server 2005 hipergate 4 no funciona con Microsoft SQL Server 7.0, aunque no es muy difcil modificarla para que funcione hipergate 4 no funciona con versiones de MySQL anteriores a la 5.0 y no puede modificarse fcilemnte para que funcione hipergate 4 no funciona con Oracle 8. Java BeanShell 2.0b1 no es compatible con JBOSS 4.0. BeanShell se utiliza durante el proceso inicial de creacin de la base de datos con ModelManager. Se puede usar hipergate con JBoss si se carga el modelo de datos con alguna de las exportaciones binarias.

n. Descargas Adicionales

Drivers JDBC para PostgreSQL MySQL Connector/J 5.0 Drivers JDBC para Oracle Oracle Instant Client Microsoft SQL Server 2000 JDBC Driver SP3 Microsoft SQL Server 2005 JDBC Driver 1.1

o. Herramientas de Administracin

Consulta SQL
Existe una herramienta de consulta directa por SQL contra la base de datos en /admin/sql.htm.

Permite lanzar uno o varios comandos SQL con el delimitador seleccionado por el susuario y recoger el conjunto de resultados de una consulta. Esta utilidad se conecta por defecto siempre contra la base de datos especificada en hipergate.cnf y no en otros archivos de propiedades, de modo que tenga mucho cuidado en su uso cuando maneje varias instancias diferentes de hipergate en el mismo servidor ya que podra conectarse a la instancia equivocada. Se recomienda deshabilitar cualquer acceso a esta herramienta por parte de los usuarios finales.

Estado del pool de conexiones


Puede consultarse llamando a la pgina /admin/connectionpool.jsp

Valor de las variables de entorno


Pueden inspeccionarse llamando a la pgina /admin/environment.jsp

Valor de las cookies de sesin


Pueden leerse llamando a la pgina /admin/viewcookies.html

p. Instalacin sobre JBoss


Contribuido por Nam Tu nguyen

Usar el archivo etiquetado hipergate-xx-war.zip en vez de hipergate-xxsrc.zip Crear el modelo de datos usando un volcado binario en lugar de utilizando el Asistente de Instalacin. Java BeanShell (necesario para ejecutar el asistente) no funciona bien sobre JBoss 4.0. Configurar manualmente hipergate.cnf Copiar los drivers JDBC y la librera hipergate-x.x.xx.jar a %JBOSS_HOME %/server/default/lib/ Crear una conexin para JBoss en %JBOSS_HOME%/server/default/deploy/ Hacer una copia de hsql-ds.xml for para la base de datos que se vaya a utilizar. Por ejemplo si es PostgreSQL podra ser postgre-ds.xml como:

<local-tx-datasource> <jndi-name>KnowgateDS</jndi-name> <connectionurl>jdbc:postgresql://127.0.0.1:5432/hgoltp8t</connectio n-url> <!-- Clase del driver --> <driver-class>org.postgresql.Driver</driver-class> <!-- Usuario y Contrasea -->

<user-name>knowgate</user-name> <password>knowgate</password> <security-domain>PostgreSqlDbRealm</security-domain> <metadata> <type-mapping>Postgre SQL</type-mapping> </metadata> </local-tx-datasource>


No se requiere un servicio, mbean, ni nada; tan slo hay que modificar /default/conf/login-config.xml.

Copy hiperweb.war to /server/default/deploy Abrir http://localhost/hiperweb/

q. Apndice 1: Propiedades de hipergate.cnf


El archivo hipergate.cnf contiene la siguiente informacin (NOTA, las variables $CATALINA_HOME no son vlidas en este fichero, se utilizan por claridad):

# [Base de Datos] # Parmetros de conexin a la base de datos driver=org.postgresql.Driver dburl=jdbc:postgresql://192.168.1.30:5432/test schema= dbuser=postgres dbpassword=postgres # [Pool de conexiones] # Parmeteros que gobiernan el comportamiento del pool de conexiones de hipergate poolsize=32 maxconnections=100 logintimeout=20 connectiontimeout=60000 connectionreaperdelay=30000 # [Acceso a Ficheros] # Directorio para archivos temporales temp=/tmp # Acceso a ficheros por parte del servidor # Modo de acceso a ficheros (PUREJAVA=0, UNIX=1, WINDOWS = 2) javamode=0 # URL raz de la aplicacin web webserver=http://hostname:8080 # URL raz al servidor de imgenes opcional imageserver=http://hostname:8080/images # Protocolo, host, usuario y contrasea de acceso a los siguientes recursos

fileprotocol=file:// fileserver=localhost fileuser= filepassword= # Directorio raz de almacenamiento privado storage=$CATALINA_HOME/webapps/storage # Directorio para almacenar tareas de borrado shelldir=/tmp # Directorio raz de almacenamiento pblico workareasput=$CATALINA_HOME/webapps/hipergate/workareas # URL raz de almacenamiento pblico workareasget=http://hostname:8080/workareas # Tamao mximo de fichero (bytes) maxfileupload=10485760 # [Miscelnea] # Realizar validacin XML de documentos? setXMLValidation=1 # Nmero de hilos del planificador de tareas maxschedulerthreads=1 # [WebMail] # Poner los nombres de los protocolos en minsculas mail.transport.protocol=smtp mail.store.protocol=pop3 mail.incoming=pop3.yourserver.com mail.outgoing=smtp.yourserver.com mail.user= # LDAP ldapconnect=ldap://127.0.0.1:389/dc=hipergate,dc=org ldapuser=cn=Manager,dc=hipergate,dc=org ldappassword=manager ldapclass=com.knowgate.ldap.LDAPNovell

A continuacin se describe cada uno de los parmetros y su funcin driver Nombre del driver JDBC, segn se utilizara en la funcin Class.forName:

(SQL Server 2000) (SQL Server 2005)

org.postgresql.Driver (PostgreSQL) com.mysql.jdbc.Driver (MySQL) oracle.jdbc.driver.OracleDriver (Oracle) com.microsoft.jdbc.sqlserver.SQLServerDriver com.microsoft.sqlserver.jdbc.SQLServerDriver

dburl Cadena de conexin JDBC a la base de datos:

(PostgreSQL)

jdbc:postgresql://host_name:5432/nombre_bbdd jdbc:mysql://host_name/nombre_bbdd (MySQL) jdbc:oracle:thin:@nombre_host:1521:oracle_sid

(Oracle)

jdbc:microsoft:sqlserver://nombre_host:1433;Se lectMethod=cursor;DatabaseName=nombre_bbdd (SQL Server


2000)

jdbc:sqlserver://nombre_host:1433;SelectMethod =cursor;DatabaseName=nombre_bbdd (SQL Server 2005)


La cadena de conexin contiene siempre al menos el nombre o direcci IP del servidor (host) el puerto y el nombre de la base de datos. Si el servidor web y la base de datos estn en la misma mquina el host es "127.0.0.1" o "localhost". schema Esquema de la base de datos. Puede ser el usuario propietario de las tablas. En PostgreSQL dejar este parmetro en blanco excepto si se experimentan problemas de acceso a la tabla sql_features en cuyo caso la propiedad schema debe ser public. Dejar en blanco tambin para MySQL.

dbo (SQL Server) HIPERGATE (Oracle) public (PostgreSQL)

dbuser/dbpassword Usuario y contrasea de conexin a la BB.DD. via JDBC. poolsize Nmero de conexiones que permanecern abiertas en el pool en espera de ser utilizadas. Una conexin slo puede permanecer en el pool sin ser utilizada por un mximo de 5 minutos. Tras este periodo de inactividad todas las conexiones no usadas se cierran y el tamao del pool se reduce eventualmente a cero. El valor por defecto para este parmetro es 32. Si este parmetro se pone a cero, se deshabilita el pool y cada conexin se obtiene llamando directamente al mtodo java.sql.DriverManager.getConnection(). maxconnections Nmero mximo absoluto de de conexiones que se pueden abrir contra la base de datos. logintimeout Tiempo mximo de espera, en segundos, para obtener una conexin a la base de datos. El valor por defecto es 20. temp Directorio temporal para la aplicacin. En l se almacenan los archivos de subida (upload) y algunos archivos de generacin temporal.


javamode

/tmp (Linux) C:\\TEMP (Windows)

Modo de trabajo con el sistema de ficheros del servidor. El modo 0 (PUREJAVA) accede al sistema de archivos a travs del API de Java (java.io). Los modos 1 y 2 (UNIX y WINDOWS) utilizan comandos del sistema para realizar las mismas acciones. Mientras que el modo PUREJAVA mantiene la compatibilidad entre plataformas, los modos nativos proporcionan un acceso a ficheros mucho ms eficaz. En WebLogic bajo Windows se debe utilizar el modo PUREJAVA. webserver URL completa a la raz de la aplicacin web. Se utiliza para componer las URLs relativas y absolutas a cada mdulo de la aplicacin.

http://server:port/webapp http://myserver:8080/ http://localhost:7001/hipergateWeb (ejemplo con

WebLogic) imageserver URL al servidor de imgenes opcional. Todas las imgenes estticas de la aplicacin (pantallas, iconos, etc) pueden ubicarse en un servidor separado, o dejarse en un subdirectorio dentro del mismo servidor.

(ejemplo con WebLogic)

http://images.mycompany.com/hipergate http://myserver:8080/images http://localhost:7001/hipergateWeb/images

fileprotocol hipergate puede acceder a los ficheros almacenados de distinas maneras: por FTP, NFS o directorios montados directamente en el servidor. En este parmetro se establece el protocolo de acceso al repositorio de ficheros.

file:// (ficheros locales) ftp:// (acceso por FTP) nfs:// (acceso por NFS, no soportado)

fileserver Nombre del servidor que contiene el repositorio de ficheros. Esta opcin solo es til cuando el protocolo de acceso fileprotocol es distinto de file://.

localhost (ficheros locales) ftp-server.domain.com (acceso por FTP)

fileuser/filepassword Nombre de usuario y contrasea utilizados para el acceso a repositorios remotos. Actualmente solo se utiliza para acceso por FTP. storage Directorio raz de almacenamiento privado de usuarios, plantillas y scripts de ejecucin SQL (QBF).

$CATALINA_HOME/webapps/storage /vol/1/hipergate_storage C:\\bea\\weblogic81\\samples\\workshop\\hiperg

ate\\storage (Windows 2000)


shelldir Algunos contenedores de servlets (sobre todo Tomcat) bloquean ficheros y directorios. Si desea eliminar una newsletter, website o cuenta de acceso hay que borrar todos los directorios relacionados con este objecto, pero Java impide este borrado y por tanto hay que crear una tarea que borre los directorios desde fuera del contendor de servlets. Para cada elemento a borrar, se aade una linea al fichero cleanup.txt con la ruta completa al directorio a borrar. Se puede crear un script que lea este fichero y borre cada directorio y aadirlo como una tarea programada (cronjob) o ejecutarlo cada vez que se rearranca el servicio.

/tmp $CATALINA_HOME/webapps/shell C:\\BEA\\weblogic81\\samples\\workshop\\hiperg ate\\shell (Windows 2000)


workareasput Directorio raz de almacenamiento pblico, visible a travs de web. Puede estar dentro de la raz del servidor web, o bien en otro directorio.

$CATALINA_HOME/webapps/hipergate/workareas /vol/1/hipergate_workareas C:\\BEA\\weblogic81\\samples\\workshop\\hiperg ate\\hipergateWeb\\workareas (Windows 2000)


workareasget URL absoluta para acceder al directorio workareasput.

/workareas /hipergateWeb/workareas

maxfileupload Tamao mximo (en bytes) de fichero que se permite subir a la aplicacin setXMLValidation Activar las trazas de validacin de XML al fusionar las plantillas XSLT de los mdulos webbuilder y mailings. maxschedulerthreads Nmero mximo de hilos (threads) que arranca el planificador de ejecucin. mail.transport.protocol Transporte que se utilizar para enviar mensajes de correo electrnico (por defecto smtp) mail.store.protocol Protocolo de almacenamiento de correo electrnico (por defecto pop3) mail.incoming Servidor de recepcin de correo POP3 (por defecto localhost) mail.outgoing Servidor de envo de correo SMTP (por defecto localhost)

r. Apndice 2: Carga manual de la base de datos

Creacin de la base de datos con volcados binarios


En vez de utilizar el Asistente de Instalacin es posible configurar el archivo hipergate.cnf manualmente e importar los volcados binarios del modelo de datos que hay en el directorio database/ de la distribucin. Oracle 10g/XE 1. Escribir la siguiente sentencia desde la lnea de comandos:

IMP system/manager fromuser=HIPERGATE touser=HIPERGATE buffer=128000 commit=yes ignore=yes file=h4orclxe.dmp


Microsoft SQL Server 2005

1. 2.

Copiar h4mssql2005.bak a una unidad de disco local. Hacer click con el botn derecho sobre la nueva BB.DD., seleccionar All Tasks -> Restore Database, seleccionar "From Device", aadir h4mssql2005.bak a la lista de dispositivos y hacer click en OK. PostgreSQL 8.x 1. Crear una base de datos Unicode:

# createdb -E UNICODE hipergate4


Crear un nuevo usuario:

# createuser knowgate # grant all on database hipergate4 to knowgate

2.

Restaurar la BB.DD. desde el fichero H3PGSQL8.DUMP:

# pg_restore -d hipergate4 h4pgsql83.backup


Si se encuentran problemas de permisos accediendo al lenguaje c, hacer:

# update pq_language set lanpltrusted=true where lanname='c'; # grant usage on language c to knowgate;

Creacin de la base de datos con la clase Java ModelManager


Para utilizar una base de datos primero debe comprobar que dispone del driver JDBC correspondiente y que lo ha configurado en el fichero hipergate.cnf.

La base de datos utilizada en el parmetro dburl debe estar creada y vaca antes de ser cargada. El proceso de carga de base de datos de hipergate utilizar los parmetros de conexin, usuario y contrasea disponibles en el fichero de configuracin. Para cargar la base de datos con el modelo bsico de trabajo y un juego de datos de ejemplo, ejecute el siguiente comando (respetando maysculas y minsculas):

java [-cp ...] com.knowgate.hipergate.datamodel.ModelManager /etc/hipergate.cnf create database


NOTA: Ser necesario que en su variable de entorno CLASSPATH se encuentren todas las libreras incluidas en la distribucin de hipergate. El conjunto mnimo de libreras de las incluidas en la distribucin para que funcione ModelManager es: beanshell.bsh-2.0b1.jar, ibm.bsf-2.2.jar, jakarta-oro-2.0.8.jar, xmlParserAPIs.jar, xercesImpl.jar. Tambin hay que incluir el driver JDBC apropiado. El siguiente script puede facilitar esta tarea. Cada vez que se ejecuta, busca todos los paquetes JAR en /opt/tomcat/webapps/hipergate/WEB-INF/lib/ y los aade al CLASSPATH (-cp) del comando java que se ejecuta al final:

#!/bin/sh cp=`ls -1 /opt/tomcat/webapps/hipergate/WEB-INF/lib/*.jar | tr '\n' ':'` java -cp "$cp" com.knowgate.hipergate.datamodel.ModelManager $@


Puede guardar el anterior script en /usr/local/bin/modelmanager.sh, y ejecutar la sentencia modelmanager.sh create database.

s. Apndice 3: Configuracin de granjas de servidores

Introduccin
hipergate puede funcionar instalado en granjas de servidores. Cuando la aplicacin funciona sobre varias mquinas en paralelo, es necesario habilitar el Coodinador de Cache Distribuido. Cada servidor web de hipergate mantiene un cache local de informacin de acceso frecuente: claves de usuuente: claves de usuario, valores de remonte, opciones de men, etc. Si se ponen varios servidores web en pararelo existe la posibilidad de que uno de los servidores actualice en la base de datos informacin que est locamente cacheada en otro. Por este motivo es necesario instalar un coordinador de caches locales. El coordinador en si mismo no almacena ninguna informacin, sino simplemente

otorga tickets con fechas de caducidad a los caches locales para coordinarlos entre ellos. No es posible pasar informacin de un cache local a otro. Cuando se actualiza la informacin en un nodo, se marca como invlida para todos los dems y el resto deben re-cargarla de la base de datos. El coordinador de cache se divide en dos partes: cliente y servidor. La parte cliente est en el paquete com.knowgate.cache en hipergate.jar y es independiente del servidor que se utilice. La parte servidor puede, a su vez, ser de dos tipos: HTTP o EJB. Un coordinador HTTP utiliza uno de los servidores web en la granja para coordinar al resto. Esta es la configuraci&oacut Un coordinador EJB utiliza un servidor de aplicaciones como JBoss o WebLogic como servidor de tickets para los servidores web cliente.

Configuracin del coordinador sobre un servidor HTTP


Cualquierna de los nodos en una granja de servidores hipergate puede actuar como coordinador del resto. Slo puede haber un coordinador, si el coordinador cae, el resto de los nodos dejarn de funcionar. Para habilitar el coordinador, abrir el archivo de propiedades appserver.cnf de cada nodo y poner:

threetiers=enabled java.naming.provider.url=http://DIRECCION_IP:PUERTO/cache/serv er.jsp

Configuracin del coordinador sobre un servidor EJB


La instalacin del coordinador sobre un contenedor de EJBs es ms compleja que directamente sobre un servidor web aunque tambin proporciona mejor rendimiento, escalabilidad y tolerancia a fallos.

Parte Cliente (servidores web)


Para utilizar JBoss es preciso instalar libreras adicionales en cada uno de los clientes

cachecoordinator-jboss30.jar apache.log4j.jar jboss-3.0.common-client.jar jboss-3.0.jnp-client.jar sun.jndi.jar

Parte Servidor (JBoss)

En el archivo standardjboss.xml aadir:

<container-configuration> <container-name>Singleton Stateless SessionBean</container-name> <call-logging>false</call-logging> <containerinvoker>org.jboss.proxy.ejb.ProxyFactory</container-invoker> <container-interceptors> <interceptor>org.jboss.ejb.plugins.LogInterceptor</interceptor > <interceptor>org.jboss.ejb.plugins.SecurityInterceptor</interc eptor> <!-- BMT --> <interceptor transaction = "Bean"> org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor </interceptor> <interceptor transaction = "Bean"> org.jboss.ejb.plugins.TxInterceptorBMT </interceptor> <interceptor transaction = "Bean" metricsEnabled = "true"> org.jboss.ejb.plugins.MetricsInterceptor </interceptor> <interceptor> org.jboss.resource.connectionmanager.CachedConnectionIntercept or </interceptor> </container-interceptors> <client-interceptors> <home> <interceptor>org.jboss.proxy.ejb.HomeInterceptor</interceptor> <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor> <interceptor>org.jboss.proxy.TransactionInterceptor</intercept or> <interceptor>org.jboss.invocation.InvokerInterceptor</intercep tor> </home> <bean>

<interceptor>org.jboss.proxy.ejb.StatelessSessionInterceptor</ interceptor>

<interceptor>org.jboss.proxy.SecurityInterceptor</interceptor> <interceptor>org.jboss.proxy.TransactionInterceptor</intercept or> <interceptor>org.jboss.invocation.InvokerInterceptor</intercep tor> </bean> </client-interceptors> <instancepool>org.jboss.ejb.plugins.StatelessSessionInstancePool</insta nce-pool> <instance-cache/> <persistence-manager/> <transaction-manager/> <container-pool-conf> <MaximumSize>1</MaximumSize> <MinimumSize>1</MinimumSize> <strictMaximumSize>true</strictMaximumSize> </container-pool-conf> </container-configuration>
Arrancar JBoss y desplegar el archivo cachecoordinator-jboss30.jar. Para ello:

Copiar el JAR al directorio jboss/server/all/deploy, jboss/server/default/deploy o jboss/server/minimal/deploy Abrir la consola de administracin de JBoss (http://servidor:8080/jmx-console/ seleccionar el men "MainDeployer" para desplegar el archivo cachecoordinator-jboss30.jar (ej.

file://C:\jboss\server\all\deploy\cachecoordinatorjboss30.jar)

t. Apndice 4: Libreras de terceros


J2EE Client - 3.0 Contiene clases J2EE necesarias para el cache distribuido de hipergate Xerces2 Java Parser 2.9.0 Parser XML de la Fundacin Apache Bean Scripting Framework - 2.4.0 Un conjunto de clases Java que proporcionan un lenguaje de scripting dentro de aplicaciones Java. Jakarta POI - Java API To Access Microsoft Format Files - 2.5 Acceso a ficheros basados en el formato de Documento OLE 2 de Microsoft desde Java. Jakarta Lucene - 1.4

Jakarta Lucene es un motor de indexacin de alto rendimiento escrito en Java. Java BeanShell - 2.0b4 BeanShell es un intrprete de cdigo fuente de Java con caractersticas de scripting, escrito en Java. Jakarta ORO 2.0.8 (slo a partir de la versin 2.0) El proyecto OROMatcher fue cedido a The Apache Software Foundation y ahora es Jakarta ORO. Sun JavaMail - 1.4.0 El API de JavaMail proporciona un conjunto de clases para el acceso a un sistema de correo. Sun Java Advanced Imaging API - 1.1.3 Las libreras JAI de SUN proporcionan acceso a tratamiento de imgenes en el lado del servidor sin emplear AWT Novell LDAP classes for Java(slo a partir de la versin 2.0) Las libreras LDAP de SUN proporicionan acceso a Novell eDirectory, OpenLDAP u otros directorios basados en LDAP. Sun JSR-168 Portlet API 1.0 (slo desde la versin 2.1) JiBX XML binding 1.1.5 JiBX es un entorno de trabajo para manipular archivos XML usando objetos Java isomorfos.

u. Apndice 5: Libreras de Depuracin


La versin estndar de hipergate se distribuye con una librera de depuracin llamada hipergate-debug.jar. Esta librera vuelca trazas detalladas de ejecucin en el archivo /tmp/javatrc.txt (o C:\javatrc.txt en Windows). No se debe utilizar la versin de depuracin en sistemas de produccin final ya que pueden degradar el rendimiento o llenar el disco.

v. Apndice 6: Notas para recompilar los fuentes


com.oreilly.servlet.CacheHttpServlet: Cannot resolve symbol method getContentType() Para solucionar este error incluir la librera /lib/compile/servlet.jar al compilar el proyecto. org.jibx.runtime.JiBXException: Unable to access binding information for class com.knowgate.hipergate.Menu Para solucionar este error hay que ejecutar el post-compilador de JiBX tras compilar normalmente el proyecto ejecutando:

C:\JRE\bin\java -cp C:\JAR\bcel.jar;C:\JAR\jibx-bind1.1.5.jar;C:\JAR\jibx-extras.jar;C:\JAR\xpp3.jar org.jibx.binding.Compile C:\knowgate\storage\xslt\schemas\menudef-jixb.xml

w. Actualizacin desde la versin 3.0 a la 4.0


Para actualizar la versin 2.1 a la 3.0 efectuar los siguientes pasos : 1. 2. 3. 4. Hacer una copia de respaldo de la base de datos y de las pginas JSP de la 3.0. Descargar el archivo ZIP comprimido de la 3.0. Instalar las pginsa JSP de la 3.0 en una nueva ubicacin en el servidor web. Cambiar todas las libreras del /WEB-INF/lib de la 3.0 por las de la 4.0

5. 6.

7.

(excepto el driver JDBC que se est usando). El archivo hipergate.jar ya no viene dentro del directorio /WEB-INF/lib como en la 2.1, sino descomprimido en el directorio /WEB-INF/classes de la 3.0. Apuntar la instancia de 3.0 a la misma base de datos de la 2.1 reutilizando el hipergate.cnf que ya existiese. Abrir el asistente de instalacin en http://servidor/admin/setup.htm. El asistente detectar automticamente la versin anterior y actualizar convenientemente el modelo de datos.

Actualizacin manual alternativa


Los scripts para alterar un modelo de datos de versin 2.1 y actualizarlo a la 3.0 se encuentran en /java/com/knowgate/hipergate/datamodel/updgrade/ Hay que ejecutar el archivo 210-300.ddl para la base de datos correspondiente. Esto puede hacerse utilizando la clase com.knowgate.hipergate.datamodel.ModelManager desde la lnea de comandos.

java [-cp ...] com.knowgate.hipergate.datamodel.ModelManager /etc/hipergate.cnf upgrade 210 300

x. Diagnstico de Problemas

JavaMail
com.sun.mail.smtp.SMTPAddressFailedException: 553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1) Este error suele ser debido a que el servidor de correo requiere autentificacin al enviar. Ver http://forum.java.sun.com/thread.jspa?threadID=586817&tstart=0 com.sun.mail.smtp.SMTPAddressFailedException: 550 5.7.1 Unable to relay for ... Este error es debido a que la seguridad de servidor no permite hacer relay de correo. Ver http://java.sun.com/products/javamail/FAQ.html#norelay No provider for SMTP Escribir el nombre del protocolo smtp en minlas en la propiedad mail.transport.protocol de hipergate.cnf

MySQL
MessagingException Illegal mix of collations for operation 'UNION' Esto es debido a que la base de datos ha sido creada con juego de caracteres LATIN1 (u otro) en vez de UTF8. Access denied; you need the SUPER privilege for this operation Durante la creacin inicial del modelo de datos. Ejecutar el GRANT segn se especifica en la seccin de creacin de usuarios para MySQL de esta gua.

PostgreSQL

Impossible to get connection to the database relation "sql_features" does not exist Pruebe a establecer la propiedad schema=public en hipergate.cnf. SET AUTOCOMMIT TO OFF is no longer supported La versin del driver JDBC no coincide con la de la base de datos. ERROR: function k_sp_autenticate("unknown", "unknown") does not exist. The authentication service is temporaly unavailable. Debe activar el lenguage PL/pgSQL ANTES de iniciar la creacin del modelo de datos con el asistente de instalacin.

SQL Server
FUNCTION dbo.k_sp_prj_cost does not exist Desde una herramienta de consulta SQL volver a crear sobre el propietario adecuado (tpicamente dbo o db_accessadmin) la funcin Transact/SQL k_sp_prj_cost cuyo cdigo fuente puede encontrarse en java\com\knowgate\hipergate\datamodel\procedures\mssql\projtrack.ddl

General
Posted content length of XXX exceeds limit of YYY Aumentar el valor en bytes de la propiedad maxfileupload en hipergate.cnf y reiniciar el servidor web para que coja los cambios. Busque en los foros pblicos para obtener informacin adicional sobre problemas con la instalacin.