Cómo integrar el Sistema de Tramitación Electrónica en egeasy

De Egeasy
Revisión del 11:16 5 abr 2010 de Amendez (Discusión | contribuciones) (Configurar el servicio web STE)

Saltar a: navegación, buscar

Introducción

Este manual sirve para explicar todos los pasos que hay que dar para integrar el Sistema de Tramitación Electrónica en la plataforma egeasy. Esta explicación no partirá de cero, sino que se supone que ya se tiene instalada la plataforma egeasy, con un centro configurado y desarrollado para su usu cotidiano.

Requisitos

Para una correcta integración del Sistema de Tramitación Electrónica vamos a necesitar:

  • Servidor web (Apache)
  • Servidor de base de datos
  • Servidor de Tomcat

Pasos a seguir

Para la instalación de la aplicación web del Sistema de Tramitación Electrónica, vamos a disponer de una instalación de la aplicación XAMPP, que nos proporciona de una forma rápida y sencilla las aplicaciones requeridas para una puesta en marcha. Para que las explicaciones de los ficheros de configuración sean lo menos confusas posible, en este articulo vamos a instalar la aplicación XAMPP en C:\, por lo tanto todas las rutas se explicarán desde dicha ruta. Ademas de instalar la aplicación XAMPP, tenemos que instalar el servicio web, el cual lo vamos a instalar para mayor comodidad en C:\ste. Así que todas las explicaciones parten de dicha ruta de instalación.

Configurar el servidor web, Apache

Para configurar el servidor Apache, debemos modificar el archivo de configuración, que esta en la ruta C:\xampp\apache\conf con el nombre de httpd.conf.

Especificar la IP y el puerto de escucha:

Listen 12.34.56.78:80

Al final de dicho fichero debemos poner lo siguiente:

ScriptAlias "/URLALIAS" "PATHWEBSERVICE"
<Directory "PATHWEBSERVICE">
    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all
</Directory>

URLALIAS: Es la URL que vamos a definir donde va a estar nuestro servicio web. Para este ejemplo usaremos tramitacion.
PATHWEBSERVICE: Es la ruta física donde está desplegado el servicio web. Para este ejemplo, esa ruta es la siguiente: C:/STE/tramitacion/.

Un ejemplo podría ser el siguiente:

ScriptAlias "/tramitacion" "C:/STE/tramitacion"
<Directory "C:/STE/tramitacion/">
    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all
</Directory>

Configurar el servicio web STE

Para configurar el servicio web del Sistema de Tramitación Electrónica, debemos modificar el fichero de configuración llamado webservice.ini, que en nuestro ejemplo está en la ruta C:\STE\tramitacion.

Al abrir el fichero webservice.ini encontramos las siguiente etiquetas que debemos configurar. Ahora vamos a pasar a explicar detalladamente que son cada una de las etiquetas de este archivo de configuración del servicio web.

  • SERVER_ADDRESS: IP donde se publicará el servidor de tramitación.
  • SERVER_PORT: Puerto donde se publicará el servidor de tramitación.
  • WS_DB_CONNECTION_STRING: Cadena de conexión a la base de datos de tramitación, donde se tenemos que poner el nombre de usuario de la base de datos, seguido de una @, a continuación indicamos la ruta de la base de datos, seguido de una @ y por ultimo la contraseña para acceder a la base de datos. En resumen: NOMBREUSUARIO@DIRECCIONBD@CONTRASEÑA
  • WS_DB_TYPE: Tipo de gestor de base de datos. Posibles valores: SQL Server, Oracle.
  • WS_DIRECTORY_DOCUMENTS: Ruta donde se almacenan los documentos generados por la aplicación.
  • WS_DIRECTORY_LOGS: Ruta donde se localizan los logs de la aplicación.
  • WS_FILE_INVALID_WORDS: Ruta del fichero donde están las palabras que no se van a indexar en la base de datos (para búsquedas).
  • WS_FILE_ERROR_MESSAGES: Ruta del fichero donde están los mensajes de error que ofrece la aplicación.
  • WS_TYPE_REGISTRATION: Si esta etiqueta está presente, entonces en la aplicacón web los usuarios podrán registrarse libremente. Los valores que admite esta etiqueta es Free y Fix.
  • WS_FILE_REGISTRATION_FORM:Ruta y nombre del archivo xml que se usará para generar el formulario de registro en la aplicación web.
  • EGE_USER_RRC: Identificador del usuario en la plataforma egeasy, con el que va a acceder la aplicación de tramitacion a la plataforma. Para un correcto funcionamiento, debemos generar un usuario en la plataforma solo para la tramitación.
  • EGE_CENTER_NAME:Nombre del centro egeasy sobre el que trabaja la aplicación de tramitación.
  • EGE_DB_CONNECTION_STRING: Cadena de conexión a la base de datos de egeasy, donde se tenemos que poner el nombre de usuario de la base de datos, seguido de una @, a continuación indicamos la ruta de la base de datos, seguido de una @ y por ultimo la contraseña para acceder a la base de datos. En resumen: NOMBREUSUARIO@DIRECCIONBD@CONTRASEÑA
  • EGE_DB_TYPE: Tipo de gestor de base de datos. Posibles valores: SQL Server, Oracle.
  • EGE_MODEL_DIRECTORY: Ruta donde se localiza el modelo del centro de la plataforma egeasy.
  • EGE_DOCUMENT_BASE: Ruta donde se localizan la base documental de la plataforma egeasy. Puede ser una carpeta de sistema de ficheros o una ruta dentro de un gestor documental.
  • EGE_DOCUMENT_BASE_TYPE: Gestor de base documental. Posibles valores: Filesystem y ESB (para Platino).
  • EGE_REGISTRY_DIRECTORY: Ruta donde se localizan los registro de la plataforma egeasy.
  • EGE_ESB_URL: Url del ESB de comunicación con la plataforma Platino.
  • EGE_ESB_SWAP_DIRECTORY: Ruta del directorio de intercambio con el ESB de comunicación con la plataforma Platino.
  • EGE_EMAIL_SMTP_SERVER: Dirección IP y puerto del servidor de correo SMTP que se usa para enviar correos electrónicos.
  • EGE_EMAIL_SENDER_ADDRESS: Dirección remitente que se usa para enviar correos electrónicos.
  • EGE_EMAIL_USER_NAME: Nombre de la cuenta de usuario de correo electrónico que se usa para enviar correos electrónicos.
  • EGE_EMAIL_PASSWORD: Contraseña de la cuenta de usuario de correo electrónico que se usa para enviar correos electrónicos.
  • MAX_ATTACHMENT_SIZE: Tamaño máximo en MB permitido para un envío de tarea (suma de archivos adjuntos).
  • VARIABLES: A partir de esta etiqueta, variables de configuración del centro, en formato <nombre>=<valor>

Un ejemplo de un fichero de configuración, podría ser el siguiente:

SERVER_ADDRESS=10.22.144.169
SERVER_PORT=10000
WS_DB_CONNECTION_STRING=<usuario>@<base de datos>@<contraseña>
WS_DB_TYPE=Oracle|SQL Server
WS_DIRECTORY_DOCUMENTS=
WS_DIRECTORY_LOGS=
WS_FILE_INVALID_WORDS=C:\Temp\Centros STE\Acecau_ste\palabras.dat
WS_FILE_ERROR_MESSAGES=c:\temp\Centros STE\sijuego\errormessages.dat
WS_TYPE_REGISTRATION=Free|Fix
WS_FILE_REGISTRATION_FORM=C:\Temp\Centros STE\Acecau_ste\registration.xml
EGE_USER_RRC=0
EGE_CENTER_NAME=Acecau STE
EGE_DB_CONNECTION_STRING=<usuario>@<base de datos>@<contraseña>
EGE_DB_TYPE=Oracle|SQL Server
EGE_MODEL_DIRECTORY=
EGE_DOCUMENT_BASE=
EGE_DOCUMENT_BASE_TYPE=Filesystem|ESB
EGE_REGISTRY_DIRECTORY=
EGE_ESB_URL=
EGE_ESB_SWAP_DIRECTORY=
EGE_EMAIL_SMTP_SERVER=<ip>:<port> 
EGE_EMAIL_SENDER_ADDRESS=
EGE_EMAIL_USER_NAME=
EGE_EMAIL_PASSWORD=
MAX_ATTACHMENT_SIZE=2
VARIABLES
<nombre>=<valor>

Mensajes de error

Palabras no idexadas

Configurar la aplicación web STE

Para configurar la aplicación web del Sistema de Tramitación Electrónica, debemos modificar el fichero de configuración llamado ste.conf, que en este ejemplo se encuentra en C:\xampp\tomcat\webapps\ste\WebContent\WEB-INF\classes\org\siani\ste\configuration.

Al abrir el fichero ste.conf encontramos las siguiente etiquetas que debemos configurar. Ahora vamos a pasar a explicar detalladamente que son cada una de las etiquetas de este archivo de configuración del servicio web.

  • SITE_DIR: Ruta donde se encuentra instalada la aplicación web.
  • SITE_URL: URL donde se encuentra la aplicación web.
  • LOG_DIR: Ruta donde se encuentran los logs de la aplicación web.
  • TEMP_DIR: Ruta donde se encuentra los archivos subidos por los usuarios temporalmente.
  • WS_SOAP_URL: URL donde se encuentra el servicio web del STE.

Un ejemplo del fichero de configuración es(Es necesario que usemos el nombre "steprueba", tal como aparece en el ejemplo, cuando configuremos nuestro fichero):

SITE_DIR = c:/xampp/tomcat/webapps/ste/WebContent
SITE_URL = http://steprueba
LOG_DIR = C:/xampp/tomcat/webapps/ste/logs
TEMP_DIR = C:/xampp/tomcat/webapps/ste/temp
WS_SOAP_URL = http://steprueba/tramitacion/tramitacion_ws_cgi.exe/soap/IEgeWebService

Configurar el DNS

Debemos preparar nuestra maquina indicando, mediante un nombre de dominio, dónde está situado el Sistema de Tramitación Electrónica. En nuestro caso, el sistema está instalado en local, por lo que sólo debemos ir a la ruta C:\WINDOWS\system32\drivers\etc\ de nuestro equipo e introducir lo siguiente en el fichero hosts:

 127.0.0.1       steprueba

Creación de tablas en la base de datos

Para la implantación del Sistema de Tramitación Electrónica, se deben crear unas cuantas tablas e índices en la base de datos. En este ejemplo vamos a utilizar la misma base de datos y esquema donde tenemos implantada ya la plataforma egeasy. A continuación, se listarán los script con las sentencias SQL que hay que ejecutar en la base de datos para generar todo lo necesario para el Sistema de Tramitación Electrónica. Disponemos de los script tanto para SQL-Server como para Oracle.

  • Script para base de datos en SQL-Server
CREATE TABLE WS$ADMINISTRATORS
       (ID NUMERIC(10),
        NIF VARCHAR(10),
        NAME VARCHAR(50));
CREATE TABLE WS$ORGANIZATIONS
       (ID NUMERIC(10),
        NAME VARCHAR(50));
CREATE TABLE WS$USERS
       (ID NUMERIC(10) PRIMARY KEY,
        ID_ORGANIZATION NUMERIC(10),
        NIF VARCHAR(10),
        NAME VARCHAR(50),
        FULLNAME VARCHAR(50), 
        EMAIL VARCHAR(50),
        FORM IMAGE);
CREATE TABLE WS$PROCESSES
       (ID NUMERIC(10) PRIMARY KEY,
        LABEL VARCHAR(100),
        TRAMITATION_STATUS VARCHAR(100),
        ID_PROCEDURE NUMERIC(10),
        ID_USER NUMERIC(10),
        STATUS NUMERIC(1),
        CREATE_DATE DATETIME,
      	START_DATE DATETIME,
      	END_DATE DATETIME,
	LAST_READ_DATE DATETIME);
CREATE TABLE WS$TASKS
      (ID NUMERIC(10) PRIMARY KEY,
       ID_PROCESS NUMERIC(10),
       ID_EGE NUMERIC(10),
       ID_DEFINITION NUMERIC(10),
       CREATE_RECEIVE_DATE DATETIME,
       SEND_RESPONSE_DATE DATETIME,
       STATUS NUMERIC(1),
       RESPONSE_TO NUMERIC(10),
       CONTENT IMAGE);
CREATE TABLE WS$TASK_SIGNATURES
      (ID NUMERIC(10) PRIMARY KEY,
       SIGNATURE IMAGE);
CREATE TABLE WS$TASK_SNAPSHOTS
      (ID NUMERIC(10) PRIMARY KEY,
       SNAPSHOT IMAGE);
CREATE TABLE WS$FILES
      (ID NUMERIC(10),
       ID_TASK NUMERIC(10),
       ID_EGE NUMERIC(10),
       ATTACH_DATE DATETIME,
       SOURCE NUMERIC(1),
       FILE_NAME VARCHAR(50));
CREATE TABLE EG$SEQUENCES
      (NAME VARCHAR(50),
       SUBSEQUENCE VARCHAR(50),
       CURRENT_VALUE NUMERIC(10));
//tablas para index
CREATE TABLE WSI$WORDS
      (ID NUMERIC(10),
       CAPTION VARCHAR(15));
CREATE INDEX IEGI$WORDS#CAP ON WSI$WORDS (CAPTION);
CREATE TABLE WSI$INDEX
      (ID_WORD NUMERIC(10),
       ID_PROCESS NUMERIC(10),
        ID_TASK NUMERIC(10));
CREATE INDEX IEGI$INDEX#WRD ON WSI$INDEX(ID_WORD);
  • Script para base de datos en Oracle
CREATE TABLE WS$ADMINISTRATORS
       (ID NUMBER(10),
        NIF VARCHAR2(10),
        NAME VARCHAR2(50));
CREATE TABLE WS$ORGANIZATIONS
       (ID NUMBER(10),
        NAME VARCHAR2(50));
CREATE TABLE WS$USERS
       (ID NUMBER(10) PRIMARY KEY,
        ID_ORGANIZACION NUMBER(10),
        NIF VARCHAR2(10),
        NAME VARCHAR2(50),
        FULLNAME VARCHAR2(50), 
        EMAIL VARCHAR2(50),
        FORM LONG RAW);
CREATE TABLE WS$PROCESSES
       (ID NUMBER(10) PRIMARY KEY,
        LABEL VARCHAR2(100),
        TRAMITATION_STATUS VARCHAR2(100),
        ID_PROCEDURE NUMBER(10),
        ID_USER NUMBER(10),
        STATUS NUMBER(1),
        CREATE_DATE DATE,
      	START_DATE DATE,
      	END_DATE DATE,
	LAST_READ_DATE DATE);
CREATE TABLE WS$TASKS
      (ID NUMBER(10) PRIMARY KEY,
       ID_PROCESS NUMBER(10),
       ID_EGE NUMBER(10),
       ID_DEFINITION NUMBER(10),
       CREATE_RECEIVE_DATE DATE,
       SEND_RESPONSE_DATE DATE,
       STATUS NUMBER(1),
       RESPONSE_TO NUMBER(10),
       CONTENT LONG RAW);
CREATE TABLE WS$TASK_SIGNATURES
      (ID NUMBER(10) PRIMARY KEY,
       SIGNATURE LONG RAW);
CREATE TABLE WS$TASK_SNAPSHOTS
      (ID NUMBER(10) PRIMARY KEY,
       SNAPSHOT LONG RAW);
CREATE TABLE WS$FILES
      (ID NUMBER(10),
       ID_TASK NUMBER(10),
       ID_EGE NUMBER(10),
       ATTACH_DATE DATE,
       SOURCE NUMBER(1),
       FILE_NAME VARCHAR2(50));
CREATE TABLE EG$SEQUENCES
      (NAME VARCHAR2(50),
       SUBSEQUENCE VARCHAR2(50),
       CURRENT_VALUE NUMBER(10));
//tablas para index
CREATE TABLE WSI$WORDS
      (ID NUMBER(10),
       CAPTION VARCHAR2(15));
CREATE INDEX IEGI$WORDS#CAP ON WSI$WORDS (CAPTION);
CREATE TABLE WSI$INDEX
      (ID_WORD NUMBER(10),
       ID_PROCESS NUMBER(10),
        ID_TASK NUMBER(10));
CREATE INDEX IEGI$INDEX#WRD ON WSI$INDEX(ID_WORD);

Arrancar el Sistema de Tramitación Electrónica

Para iniciar el Sistema de Tramitación Electrónica debemos iniciar una series de aplicaciones en un cierto orden. Las aplicaciones que debemos iniciar y cómo se listan a continuación.

  • XAMPP

Para iniciar el XAMPP, debemos ir a la ruta donde lo tenemos instalado, en este caso c:\xampp, y ejecutar el archivo con nombre xampp-control.exe.

  • Servidor de Apache

Una vez abierto el panel de control del XAMPP, debemos hacer clic en el botón start para el Apache.

  • Tomcat

Para iniciar el Tomcat, debemos ir a la ruta c:\xampp y ejecutar el archivo de procesos por lotes (.bat) con nombre tomcat_start.bat.

  • Servicio web del Sistema de Tramitación Electrónica

Para iniciar el servicio web, debemos ir a la ruta donde se instaló. Para este ejemplo, debemos ir a la carpeta tramitación, con ruta C:\STE\tramitacion, y ejecutar el archivo de procesos por lotes con nombre lanzar.bat. El archivo lanzar.bat contiene el comando de consola que hay que ejecutar para iniciar el servicio web. Este comando se compone de la ruta y el nombre del archivo Tramitacion_server.exe y el argumento que se le pasa al ejecutable, el cual es la ruta donde está el archivo de configuración del servicio web. Para este ejemplo el archivo lanzar.bat contiene lo siguiente.

"c:\STE\tramitacion\Tramitacion_server.exe" "c:\STE\tramitacion\webservice.ini"

Una vez arrancada todas las aplicaciones, sólo nos queda ir al navegador e introducir la URL que definimos en los ficheros de configuración para acceder al servicio de tramitación electrónica. En este ejemplo debemos introducir http://steprueba

¿Y ahora que?

Una vez completados todos estos pasos, ya disponemos en nuestra máquina del Sistema de Tramitación Electrónica. A continuación, ya podemos pasar a desarrollar en la plataforma egeasy para hacer que el centro del que se disponga haga uso del Sistema de Tramitación Electrónica. Le invito a seguir leyendo el siguiente artículo: Desarrollar con el STE