Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1. Que es Hipergate.
a. Que hace Hipergate nico. 2. Modulos Funcionales.
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.
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.
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.
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.
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
Gestin de Pedidos. Gestin de Facturacin. TPV Banesto. TPV Banco Popular. TPV BBVA.
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.
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.
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.
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.
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.
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.
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.
Otros Componentes
Infomentum AppletFile 3.0 (opcional) DipuTree Java tree applet 3.0 (opcional)
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.
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.
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
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.
asistente de instalacin.
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'".
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.
web
storage
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
<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:
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:
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.
Puede mover las libreras a shared/lib si tiene problemas para cargarlas desde WEBINF/lib.
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:
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
# 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';
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.
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:
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:
<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>
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)
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:
Por consiguiente para utilizar el archivo de propiedades test.cnf el contenido de dbbind.jsp debe ser:
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.
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 -->
# [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:
(PostgreSQL)
(Oracle)
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
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.
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.
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://.
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).
/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)
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:
2.
# update pq_language set lanpltrusted=true where lanname='c'; # grant usage on language c to knowgate;
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):
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.
<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)
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.
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.
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.