
===============================================================================
INDICE
===============================================================================

 1. INTRODUCCIN

 2. REQUERIMIENTOS

 3. SISTEMA DE FICHEROS

 4. CREACIN DE BBDD

 5. CONFIGURACIN JBOSS/APACHE

 6. DESPLIEGUE


===============================================================================
1. INTRODUCCIN
===============================================================================

La distribucin cuenta con 3 proyectos.

 - EjemploContenedorAplicaciones
 - EjemploAplicacion
 - Yingo

El tercero es la librera de Yingo y los dos primeros proyectos que sirven para
desplegar un caso de ejemplo.

El proyecto 'EjemploContenedorAplicaciones' es de tipo Web y es el que se 
desplegar en el jboss.

El 'EjemploAplicacion' es el que contiene todas las clases, recursos y 
configuracin de spring para desplegar la aplicacin 'ejemplo' de Yingo en el 
proyecto 'EjemploContenedorAplicaciones'. Varios mdulos pueden ser desplegados
en un mismo despliegue.

Para un despliegue ms sencillo recomendamos importar los 3 proyectos en
Eclipse

===============================================================================
2. REQUERIMIENTOS
===============================================================================

- La versin de java debe ser 1.5

- Se ha testado en Jboss 4.0 y 4.2

- Esta distribucin incluye los script de creacin de BBDD y est configurado
  en la configuracin del pool de conexiones para el motor de Oracle (testado
  ORACLE 10). Yingo utiliza hibernate por lo que puede ser adaptado fcilmente 
  a otros motores de BBDD aunque este punto no se ha testado

===============================================================================
3. SISTEMA DE FICHEROS
===============================================================================

Es necesario crear dos directorios

 - 'real' Donde se almacenarn los ficheros cuya informacin se almacena en
   BBDD

   La direccin del directorio se configura en el bean 'utilidadFicheroReal'

  EjemploContenedorAplicaciones/src/es/mcu/yingo/springConfig/spring-config.xml

 - 'session' Donde se almacenarn los ficheros de manera temporal. Este
   directorio se puede limpiar peridicamente.

   La direccin del directorio se configura en el bean 'utilFicheroSession'

  EjemploContenedorAplicaciones/src/es/mcu/yingo/springConfig/spring-config.xml

En el ejemplo la configuracin es:

 Q:
 |
 + appIntra
   |
   +- real
   |
   +- session


===============================================================================
4. CREACIN DE BBDD
===============================================================================

Tal y como sale de la caja, el ejemplo est configurado para atacar contra un
motor de BBDD Oracle (Testado con ORACLE 10)

Se ha de crear un esquema de BBDD y lanzar los siguientes scripts

1. Modelo de datos.
===================
Lanzar el script

 Yingo/sql/modelo/crebasOracle.sql

Contiene los script de creacin de los objetos de BBBDD

2. Insert seq_aplicacion
========================
Por cada aplicacin es necesario que se aada una lnea en la tabla
SEQ_APLICACION.

Para aadir esta fila para el mdulo de ejemplo ejecutar el script:

 EjemploAplicacion/sql/INSERT_SEQ_APLICACION.sql

3. Parmetros de la conexin
============================
Configurar los parmetros de la conexin editando el siguiente fichero

EjemploContenedorAplicaciones/src/es/mcu/yingo/springConfig/spring-database.xml

y modificando las propiedades del bean 'appIntraDataSource'

===============================================================================
5. CONFIGURACIN JBOSS/APACHE
===============================================================================

La autentificacin de usuario del ejemplo es a travs de certificado de 
usuario, aunque para que sea ms fcil y como prueba de concepto, en este
caso se optado a que el usuario sea nico.

Por lo tanto se requiere SSL con autentificacin de cliente.

Si se opta realizar la prueba slo con el jboss hay que configurar este
modificando el fichero

 ${JBOSS_HOME}/server/default/deploy/jbossweb-tomcat55.sar/server.xml

Aadiendo lo siguiente:

<Connector port="8443" address="${jboss.bind.address}"
           maxThreads="100" minSpareThreads="5" maxSpareThreads="15"
           scheme="https" secure="true" clientAuth="true"
           keystoreFile="${jboss.server.home.dir}/conf/keyServerSSL.cer"
           keystorePass="selfmcu"
           truststoreFile="${jboss.server.home.dir}/conf/key.cer"
           truststorePass="selfmcu"
           sslProtocol = "TLS" />

modificando las propiedades 'keystoreFile', 'keystorePass', 'truststoreFile' y
'truststorePass'

Si se opta porque haya un apache delante del jboss sirviendo este al apache
por protocolo AJP es necesario habilitar el protocolo SSL y slo es necesario
que el directorio

 https://localhost:8443/EjemploContenedorAplicaciones/cert

Tenga autentificacin SSL con autentificacin de cliente

===============================================================================
6. DESPLIEGUE
===============================================================================

Para realiza el despliegue hay que lanzar los siguientes ant:

 EjemploContenedorAplicaciones/ant/build.xml

que compila Yingo, realiza el jar y copia todas las libreras al despliegue. Y

 EjemploAplicacion/ant/build.xml

que compila el mdulo y copia el jar y las jsp en el despliegue.

Para comprobar que funciona lanzar:

Para el Jboss:

 https://localhost:8443/EjemploContenedorAplicaciones/ejemplo/inter/index.jsp

Para el Apache/Jboss:

 https://localhost/EjemploContenedorAplicaciones/ejemplo/inter/index.jsp
