Instrucciones para actualización de 2.4.x a 2.8.0

FRAMEWORK 2
Actualización librería Sistemas 2.8
Versión 1.0
UNIDAD DE ARQUITECTURA SOFTWARE DE APLICACIONES
Hoja de Control
Título
<Título del manual>
Documento de Referencia
Responsable
Unidad de Arquitectura Software de Aplicaciones
Versión
1.0
Fecha Versión
25/04/2016
DIRECCIÓN DE INGENIERIA
Hoja de Control
Título
FRAMEWORK 2: ACTUALIZACIÓN LIBRERÍA SISTEMAS 2.8
Documento de Referencia
Responsable
Unidad de Arquitectura Software de Aplicaciones
Versión
1.0
Fecha Versión
25/04/2016
Registro de Cambios
Versión
1.0
Causa del Cambio
Versión inicial del documento
Responsable del Cambio
Unidad de Arquitectura Software de
Aplicaciones
Fecha del Cambio
18/03/2016
1.1
Framework: FRAMEWORK 2 Manual: Actualización libreía Sistemas 2.8 Tomcat
Versión: 1.0
Fecha: 19/02/2016
1
DIRECCIÓN DE INGENIERIA
Índice
1
INTRODUCCIÓN...............................................................................................................................................3
1.1
1.2
AUDIENCIA OBJETIVO ............................................................................................................................3
CONOCIMIENTOS PREVIOS ....................................................................................................................3
2
DESCRIPCIÓN ...................................................................................................................................................4
3
CONFIGURACIÓN DEL IDE...........................................................................................................................4
4
INSTALACIÓN Y CONFIGURACIÓN ...........................................................................................................4
4.1
INSTALACIÓN ...........................................................................................................................................4
4.1.1 Organización de librerías del proyecto. ...................................................................................................5
4.1.2 Sobrescribir componentes de la plantilla. ................................................................................................9
4.1.3 Cambios en las JSP’s..............................................................................................................................10
4.1.4 Actualización de los logos de la Comunidad de Madrid ........................................................................10
4.2
CONFIGURACIÓN ...................................................................................................................................11
4.2.1 Cambios en el fichero web.xml ...............................................................................................................11
4.2.2 Especificar librerías compartidas en el fichero context.xml ..................................................................14
4.2.3 Cambios en el fichero de configuracion xxxx.conf. ................................................................................16
4.3
ACTUALIZACIONES ESPECIFICAS PARA LA UTILIZACIÓN DE DIFERENTES LIBRERIAS .....17
4.3.1 DWR........................................................................................................................................................17
5
ENLACES RELACIONADOS ........................................................................................................................19
Framework: FRAMEWORK 2 Manual: Actualización libreía Sistemas 2.8 Tomcat
Versión: 1.0
Fecha: 19/02/2016
2
DIRECCIÓN DE INGENIERIA
1 INTRODUCCIÓN
El presente documento es una guía que indica los pasos a seguir para la actualización a la librería SISTEMAS
versión 2.8 en aplicaciones Framework 2.
Se ha creado la versión 2.6 de sistemas para las aplicaciones que se instalarán en Weblogic 11g y la versión 2.8
para las aplicaciones que se instalarán en Tomcat 7 (jre8). En el documento se detalla cómo realizar la
actualización a la nueva versión en Tomcat.
IMPORTANTE
Actualmente las versiones de sistemas permitidas son:
·
Sistemas 2.6.x para aplicaciones instaladas en Weblogic 11g
·
Sistemas 2.8.x para aplicaciones instaladas en Tomcat 7
La aplicaciones instaladas en Oracle IAS, con sistemas 2.4.x dejarán de tener soporte, y deberán ser migradas a
Tomcat.
1.1 AUDIENCIA OBJETIVO
Este documento está orientado a desarrolladores o personal de mantenimiento que trabajen con aplicaciones de
Framework 2.
1.2 CONOCIMIENTOS PREVIOS
Para un completo entendimiento del documento, el lector deberá tener conocimientos previos sobre las
siguientes tecnologías:
·
·
·
·
Java
HTML y Java Server Pages (JSP)
JDBC y Oracle
Tomcat
Framework: FRAMEWORK 2 Manual: Actualización libreía Sistemas 2.8 Tomcat
Versión: 1.0
Fecha: 19/02/2016
3
DIRECCIÓN DE INGENIERIA
2 DESCRIPCIÓN
La nueva versión de sistemas 2.8 utiliza la solución de firma centralizada AFC. (Ya no se utiliza ASF). Además
incorpora comprobaciones adicionales de seguridad para evitar posibles vulnerabilidades.
3 CONFIGURACIÓN DEL IDE
Para utilizar la nueva versión de la librería es importante que se mantenga la configuración de encoding, pmd y
checkstyle de eclipse, con el fin de facilitar esta configuración se han generado dos ficheros .zip con Eclipse y un
workspace base configurados correctamente.
Dependiendo de las caracteristicas del equipo con el que se realice el desarrollo, existen dos eclipses para
Framework 2:
Entorno Framework 2 Galileo
Indicado para ordenadores con menos de 4 Gb de RAM o un procesador menor a un Intel i5.
http://www.madrid.org/arquitecturasw/images/documentacion/framework2/actual/dvd_desarrollo_FW2_Galile
o.zip
Entorno Framework 2 Luna
Indicado para ordenadores de 4 Gb o más de RAM y un procesador igual o superior a un intel i5.
http://www.madrid.org/arquitecturasw/images/documentacion/framework2/actual/dvd_desarrollo_FW2_Luna.z
ip
Si no se desea utilizar uno de los DVD´s, y se prefiere configurar el entorno de manera manual, puede seguirse los
pasos indicados en el Manual de configuración manual eclipse Framework2
http://www.madrid.org/arquitecturasw/images/documentacion/framework2/actual/FW2_configuracion_entorn
o_local.pdf
4 INSTALACIÓN Y CONFIGURACIÓN
4.1 INSTALACIÓN
Para instalar la nueva versión de la librería es necesario comprobar las librerías de la aplicación , tanto las que se
incluyen en el propio .war como las que tiene definidas como compartidas. Durante el desarrollo de la nueva
versión de sistemas, se han actualizado las librerías compartidas existententes y se han creado algunas nuevas
para facilitar su utilización en las aplicaciones, cada una de las nuevas librerías compartidas se incluye o no según
las necesidades especificas de las aplicaciones.
Como se ha indicado anteriormente, uno de los requisitos para utilizar esta nueva versión es la utilización de AFC
para la autenticación en las aplicaciones a través de certificados digitales. Al utilizar AFC en lugar de ASF, aquellas
aplicaciones a las que se pueda acceder mediante certificado digital ya no necesitarán las librerías de ASF, por ese
motivo se han eliminado de la librería compartida principal del framework necesaría en todas las aplicaciones. Es
Framework: FRAMEWORK 2 Manual: Actualización libreía Sistemas 2.8 Tomcat
Versión: 1.0
Fecha: 19/02/2016
4
DIRECCIÓN DE INGENIERIA
importante comprobar que las aplicaciones tampoco se incluyen estas librerías. La librería continua llamandose
fw2-dependencias-FW2, la versión para tenerla asociada directamente a la versión de sistemas será 2.6.0.
En algunas aplicaciones se utilizan funcionalidades de ASF que aun no están implementadas en AFC, con el fin de
mantener y facilitar el uso de estas, se ha creado una nueva librería compartida llamada fw2-dependencias-ASF,
el uso de esta librería compartida sera obligatorio para todas las aplicaciones que realicen cualquier operación de
este tipo. La versión de esta librería es la 2.6.0 para asociarla a la versión de sistemas.
Para aquellas aplicaciones que utilizan clientes de servicios Web de ATLAS como SMS o COVE, se ha creado una
nueva librería compartida fw2-dependencias-ATLAS. La versión de esta librería será 1.2.9 ya que esta es la última
versión de ATLAS publicada, cada vez que se publique una nueva versión de ATLAS se generara una nueva versión
de esta librería compartida que incluira las librerías de la última versión de ATLAS.
Para las aplicaciones que utilizan Crystal Reports XI se ha actualizado la librería existente fw2-compartida-CR. La
nueva versión será la 2.6.0 para aociarla a la nueva versión de sistemas.
En base a esta información, se deben organizar las librerías de cada proyecto.
4.1.1 Organización de librerías del proyecto.
En la mayoría de las aplicaciones de FW2 gran parte de las librerías se encuentran duplicadas en el proyecto o se
incluyen en el .war cuando no deben, tanto por encontrarse repetidas en librerías compartidas como por no ser
necesarías en ejecución. Al actualizar los proyectos, se recomienda repasar las librerías del proyecto para
solucionar estas situaciones, para ello se van a definir a continuación los tipos de librerías que se pueden
encontrar en un proyecto y donde deben encontrarse dentro del mismo:
4.1.1.1 Librerías de compilación
Las librerías de compilación tal como su propio nombre indica son todas aquellas librerías necesarias para poder
compilar el proyecto. Estas librerías pueden ser necesarias en ejecución o no, aquellas que lo son y no se
encuentran dentro de una librería compartida deben incluirse como librerias de ejecución, el resto, deben
moverse al directorio /java/fuentes/lib con el fin de evitar incluirlas en el desplegable de la aplicación.
4.1.1.2 Librerias de ejecución
Las librerías de ejecución deben localizarse en el directorio /java/fuentes/web/WEB-INF/lib, siempre que no esten
en una librería compartida incluida en el proyecto.
Framework: FRAMEWORK 2 Manual: Actualización libreía Sistemas 2.8 Tomcat
Versión: 1.0
Fecha: 19/02/2016
5
DIRECCIÓN DE INGENIERIA
Las carpeta del proyecto java/fuentes/web/WEB-INF/lib no deben incluir ninguna de las librerías de servidor ni
de las que se encuentran en las compartidas.
Típicamente dicha carpeta tendrá la librería de sistemas 2.8.x, la de jaxb_icm y la de dwr, en caso de utilizar ajax:
Framework: FRAMEWORK 2 Manual: Actualización libreía Sistemas 2.8 Tomcat
Versión: 1.0
Fecha: 19/02/2016
6
DIRECCIÓN DE INGENIERIA
4.1.1.2.1 LIBRERÍAS COMPARTIDAS
A continuación se muestra la lista de librerías compartidas, con la descripción de su objectivo y con las librerías
que contienen. En lineas generales, cuando una aplicación utiliza una librería compartida, ninguna de las librerías
que la componen debe incluirse dentro del propio proyecto. En algunas ocasiones, cuando se utiliza una versión
superior de la librería en el código propio de la aplicación o cuando una de las librerías incluidas en el propio
proyecto la utiliza en ejecución es necesario incluir dicha librería en el proyecto y dentro del .war:
4.1.1.2.1.1
fw2-dependencias-FW2-2.6.0:
Esta librería contiene las librerías necesarias para todas las aplicaciónes de FW2.
Lista de librerías
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
axis-1.4
axis-jaxrpc-1.4
axis-saaj-1.4
axis-wsdl4j-1.5.1
commons-logging-1.0.4
commons-discovery-0.2
axis2-kernel-1.6.4
axiom-api-1.2.15
geronimo-activation_1.1_spec-1.1
jaxen-1.1.6
geronimo-stax-api1.0_spec-1.0.1
apache-mime4j-core-0.7.2
axiom-compat-1.2.15
woodstox-core-asl-4.2.0
stax-api-3.1.1
geronimo-ws-metadat_2.0_spec-1.1.2
geronimo-jta_1.1_spec-1.1
commons-httpclient-3.1
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
commons-codec-1.2
wsdl4j-1.6.2
XmlSchema-1.4.7
neethi-3.0.2
woden-api-1.09M
woden-impl-dom-1.09M
woden-impl-commons-1.09M
jsr311-api-1.1.1
commons-fileupload-1.3.1
commons-io-2.2
activation-1.0.1
jfactory-4.2
log4j-1.2.9
jstl-1.2
mail-1.2
xalan-2.6.0
xml-apis-1.0.b2
xercesImpl-2.9.1
Los cambios realizados en esta librería son básicamente la eliminación de todas las librerias de ASF y la subida de
versión de Axis de la 1.2 a la 1.4.
La librería se puede descargar desde el siguiente link:
http://www.madrid.org/arquitecturasw/images/documentacion/framework2/actual/fw2-dependencias-FW22.6.0.war
4.1.1.2.1.2
fw2-dependencias-ASF-2.6.0:
Esta librería contiene las librerías necesarias para aquellas aplicaciones de FW2 que utilizan funionalidades de ASF
no implementadas en AFC.
Lista de librerías
1.
2.
3.
4.
5.
asf_client-5.0.0.0
asf_data-5.0.0.1
asf_securityagent_dss-5.0.0.0
asf_securityagent-5.0.0.0
asf_xmlsec-1.2.1
6.
7.
8.
tbs_threadpoolmanager-5.0.0.3
tbs_util-1.0
tbs_wss-1.0.0.2
La librería se puede descargar desde el siguiente link:
Framework: FRAMEWORK 2 Manual: Actualización libreía Sistemas 2.8 Tomcat
Versión: 1.0
Fecha: 19/02/2016
7
DIRECCIÓN DE INGENIERIA
http://www.madrid.org/arquitecturasw/images/documentacion/framework2/actual/fw2-dependencias-ASF2.6.0.war
4.1.1.2.1.3
fw2-dependencias-ATLAS-1.2.9:
Esta librería contiene las librerías necesarias para aquellas aplicaciones de FW2 que utilizan servicios de ATLAS.
Lista de librerías
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
activation-1.0.1
activation-1.1
afc_ws_lib-1.5.2
apache-mime4j-core-0.7.2
atlasfrm-clientews-lib-1.2.9
atlasfrm-comunes-lib-1.2.9
atlasfrm-eadm-lib-1.2.9.3
atlasfrm-seguridad-lib-1.2.9
atlasfrm-trazas-lib-1.2.9
atlasServices-1.2.9
axiom-api-1.2.13
axiom-dom-1.2.13
axiom-impl-1.2.13
axis-1.4
axis2-adb-1.6.2
axis2-codegen-1.6.2
axis2-kernel-1.6.2
axis2-metadata-1.6.2
axis2-mtompolicy-1.6.2
axis2-saaj-1.6.2
axis2-spring-1.6.2
axis2-transport-http-1.6.2
axis2-transport-local-1.6.2
axis-ant-1.4
axis-jaxrpc-1.4
bcprov-jdk15on-147
commons-beanutils-1.8.3
commons-codec-1.6
commons-collections-3.2
commons-discovery-0.4
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
commons-fileupload-1.2
commons-httpclient-3.1
commons-io-2.4
commons-lang-2.1
commons-logging-1.0.4
commons-logging-api-1.1
geronimo-activation_1.1_spec-1.1
geronimo-javamail_1.4_spec-1.7.1
geronimo-jaxws_2.2_spec-1.0
geronimo-jta_1.1_spec-1.1
geronimo-saaj_1.3_spec-1.0.1
geronimo-stax-api_1.0_spec-1.0.1
geronimo-ws-metadata_2.0_spec-1.1.2
guava-11.0.2
httpcore-4.2.1
itextpdf-5.3.5
jaxb-api-2.1
jaxb-impl-2.1.7
jaxb-xjc-2.1.7
jaxen-1.1.3
jaxws-tools-2.1.3
joda-time-1.6.2
json-20090211
jsr250-api-1.0
jsr311-api-1.0
log4j-1.2.14
mail-1.4
mex-1.6.2-impl
MITyCLibAPI-1.0.4
MITyCLibCert-1.0.4
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
MITyCLibTSA-1.0.4
MITyCLibXADES-1.0.4
neethi-3.0.2
not-yet-commons-ssl-0.3.9
opensaml-2.5.1-1
openws-1.4.2-1
org.apache.xerces-xercesImpl-2.9.1
persistence-api-1.0
rampart-core-1.6.2
rampart-policy-1.6.2
rampart-trust-1.6.2
saaj-api-1.3
serializer-2.7.1
slf4j-api-1.6.1
slf4j-log4j12-1.5.2
stax-api-1.0.1
stax-api-1.0-2
woden-api-1.0M9
woden-impl-commons-1.0M9
woden-impl-dom-1.0M9
wsdl4j-1.6.2
wss4j-1.6.4
wstx-asl-3.2.9
xalan-2.7.1
xerces-xercesImpl-2.9.1
xml-apis-1.3.04
xml-resolver-1.2
XmlSchema-1.4.7
xmlsec-1.4.6
xmltooling-1.3.2-1
La librería se puede descargar desde el siguiente link:
http://www.madrid.org/arquitecturasw/images/documentacion/framework2/actual/fw2-dependencias-ATLAS1.2.9.war
4.1.1.2.1.4
fw2-dependencias-CR-2.6.0:
Esta librería contiene las librerías necesarias para aquellas aplicaciones de FW2 que utilizan ASF.
Lista de librerías
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
barcode-1.0
commons-beanutils-1.6
commons-beanutils-core-1.7.0
commons-codec-1.3
commons-collections-3.1
commons-configuration-1.2
commons-digester-1.6
commons-lang-2.1
commons-logging-1.2
commons-logging-api-1.0.4
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
fw2_lib_crxi-1.1
icu4j-3.8.1
jai_imageio-12.2.213
JDBInterface-12.2.213
jrcerom-12.2.213
keycodeDecoder-12.2.213
log4j-1.2.9
logging-12.2.213
pfjgraphics-12.2.213
QueryBuilder-12.2.213
Framework: FRAMEWORK 2 Manual: Actualización libreía Sistemas 2.8 Tomcat
Versión: 1.0
Fecha: 19/02/2016
8
DIRECCIÓN DE INGENIERIA
11.
12.
13.
14.
CrystalCommon2-12.2.213
CrystalReportsRuntime-12.2.213
cvom-12.2.213
DatabaseConnectors-12.2.213
25.
26.
27.
28.
webreporting-12.2.213
webreporting-jsf-12.2.213
XMLConnector_lib-12.2.213.1476
xpp3_M-1.1.3.4.M
Esta librería se ha creado a partir de la librería compartida anterior añadiendo las librerías commons-beanutils-1.6, commons-beanutilscore-1.6, commons-codec-1.3, commons-digester-1.6 y commons-logging-api-1.0.4 y actualizando la librería fw2_lib_crxi-1_0 a
fw2_lib_crxi-1.1.
La librería se puede descargar desde el siguiente link:
http://www.madrid.org/arquitecturasw/images/documentacion/framework2/actual/fw2-dependencias-CR2.6.0.war
4.1.1.3 Librerias de Test
Las librerias de test pueden localizarse en el directorio de las libreríaas de compilación, aunque se recomienda
dejarlas en el directorio /java/fuentes/test_lib. En este directorio deben encontrarse aquellas librerias necesarias
únicamente para la ejecución de los test de la aplicación. Bajo ninguna circunstancia debe incluirse una librería de
test en el desplegable de una aplicación.
Para asegurar que cada librería se encuentra donde debe, es necesario comprobar las librerías incluidas en el
proyecto de forma que cualquier librería que se este incluyendo en el directorio /java/fuentes/web/WEB-INF/lib
que se encuentre en una de estas librerías compartidas debe moverse a la carpeta /java/fuentes/lib/, siempre
que esta librería sea necesaria para compilar el proyecto, si no lo es debe eliminarse (Como en algunos casos las
versiones de las librerías pueden ser diferentes de las de las compartidas o la versión de la librería no se puede
comprobar y es posible que la versión actual sea necesaria, se recomienda mover las librerías inicialmente,
comprobar la aplicación y una vez comprobada, si se ha visto que la librería no es necesaria, eliminarla).
4.1.2 Sobrescribir componentes de la plantilla.
Es necesario sobrescribir los siguientes componentes de la plantilla, disponibles en el portal de arquitecturasw:
·
·
·
·
·
·
·
·
·
js/paginacionDWR.js
js/sistemas.js
js/solapas.js
style/estilos.css
style/sistemas.css
style/solapas.css
WEB-INF/jsp/calendar.jsp
WEB-INF/jsp/listavalores.jsp
WEB-INF/tlds/paginación.tld
En algunas aplicaciones muy antigüas es posible que las jsps del calendario y la lista de valores tenga otro
nombre, es necesario comprobarlo y utilizar la nueva.
Los ficheros de javascript pueden haberse modifcado para cada una de las aplicaciones, es necesario comprobar
antes de sustituir los ficheros si los de la aplicación tienen algún método que no tengan los nuevos.
Framework: FRAMEWORK 2 Manual: Actualización libreía Sistemas 2.8 Tomcat
Versión: 1.0
Fecha: 19/02/2016
9
DIRECCIÓN DE INGENIERIA
Los ficheros .css también pueden haberse modificado para la aplicación, en ese caso es recomendable modificar
el nombre del fichero de la aplicación (se recomienda añadir al nombre un guión bajo y el codigo poaps de la
aplicación) y en las páginas que utilicen los estilos de este fichero cambiar la referencia al .css.
Todos estos ficheros pueden descargarse desde el siguiente link:
http://www.madrid.org/arquitecturasw/images/documentacion/framework2/actual/recursos_2_8.zip
4.1.3 Cambios en las JSP’s
Realizar una búsqueda en las jsp´s del proyecto por si existieran atributos de nombre “class” en las etiquetas
taglib, ya que habría que cambiar el nombre por “clase”. Si la aplicación tiene taglib propio es necesario cambiar
tanto el .tld como las clases del mismo para eliminar atributos con nombre “class” y sustituirlos por “clase”.
Búsqueda en código
Ø Búsqueda en las jsp´s:
Buscar class=” y sustituir por clase=”
Ø Búsqueda en los tld´s:
Buscar <name>class</name>
Y sustituir por: <name>clase</name>
Ø En las clases que implementen objetos de los tld´s:
Cambiar los métodos setClass() por setClase()
Ø Búsqueda en las jsp´s directivas taglib:
Buscar uri="/jstl-core"
Sustituir por:
uri="http://java.sun.com/jsp/jstl/core”
Ø Búsqueda en las jsp´s directivas taglib:
Buscar uri="/jstl-fmt"
Sustituir por:
uri="http://java.sun.com/jsp/jstl/fmt”
4.1.4 Actualización de los logos de la Comunidad de Madrid
Desde la Unidad de Difusión Electrónica se nos ha transmitido la necesidad de sustituir el logo de Suma de todos
que aparece en las aplicaciones. Por tanto, es necesario:
Framework: FRAMEWORK 2 Manual: Actualización libreía Sistemas 2.8 Tomcat
Versión: 1.0
Fecha: 19/02/2016
10
DIRECCIÓN DE INGENIERIA
4.1.4.1 Eliminar logo
Eliminar las imágenes del antiguo logo (logo_aplicaciones.gif o logo_pop.jpg), del proyecto.
4.1.4.2 Actualizar referencias al logo
Actualizar la referencia de las imágenes eliminadas del logo de la Comunidad de Madrid de Suma de Todos, con la
ruta del nuevo logo, la imagen que hay que utilizar dependera de la posición de la imagen en la página sera
"/webutils/logoCM-izq-89x64.png” si se encuentra a la izquierda y "/webutils/logoCM-der89x64.png”.
Para ellos, se actualizarará en la cabecera.jsp:
/java/fuentes/web/html/portal/cabecera.jsp
Ø Eliminar el antiguo logo Suma de Todos:
<img src="../../images/portal/logo_aplicaciones.gif"...
Y hacer referencia al nuevo logo publicado:
<img src="/webutils/logoCM-izq-89x64.png" ...
Este cambio provoca que los logos NO se vean en local salvo que se publique una web /webutils en el servidor en
el que se encuentra desplegada la aplicación y se incluyan las imágenes que se pueden descargar de las siguientes
URL´s:
http://desarrollo.madrid.org/webutils/logoCM-izq-89x64.png
http://desarrollo.madrid.org/webutils/logoCM-der-89x64.png
4.2 CONFIGURACIÓN
4.2.1 Cambios en el fichero web.xml
El fichero web.xml de la mayoria de los proyectos se encuentra desactualizado, utilizando especificaciones muy
antiguas y etiquetas ya obsoletas.
4.2.1.1 Cambio de la especificación
La primera modificación que debemos realizar en este fichero es el cambio de versión de la especificación del
módulo web del fichero. Ésta debe ser 2.5:
Para ello sustituir el nodo <web-app por el siguiente:
Framework: FRAMEWORK 2 Manual: Actualización libreía Sistemas 2.8 Tomcat
Versión: 1.0
Fecha: 19/02/2016
11
DIRECCIÓN DE INGENIERIA
web.xml
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/j2ee"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd"
version="2.5">
...
</web-app>
4.2.1.2 Posición etiqueta distributable
Una vez actualizada la etiqueta que define la especificación del fichero debemos comprobar y posicionar
correctamente la etiqueta distributable. La etiqueta distributable debe posicionarse en el fichero antes de la
configuración de parámetros de contexto, filtros, mapeo de filtros, listeners, servlets, mapeo de servlets, etc.
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/j2ee"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd"
version="2.5">
<display-name>xxxxxx</display-name>
<distributable/>
...
</web-app>
4.2.1.3 Eliminación de etiquetas taglib
En muchas aplicaciones se incluye la configuración de los taglib
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/j2ee"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd"
version="2.5">
...
<taglib>
<taglib-uri>/jstl-core</taglib-uri>
<taglib-location>/WEB-INF/tlds/c.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>rejillas</taglib-uri>
<taglib-location>/WEB-INF/tlds/regiones.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>paginacion</taglib-uri>
<taglib-location>/WEB-INF/tlds/paginacion.tld</taglib-location>
Framework: FRAMEWORK 2 Manual: Actualización libreía Sistemas 2.8 Tomcat
Versión: 1.0
Fecha: 19/02/2016
12
DIRECCIÓN DE INGENIERIA
</taglib>
<taglib>
<taglib-uri>menu</taglib-uri>
<taglib-location>/WEB-INF/tlds/menu.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>solapas</taglib-uri>
<taglib-location>/WEB-INF/tlds/solapas.tld</taglib-location>
</taglib>
</web-app>
Estas etiquetas deben ser eliminadas del fichero web.xml
4.2.1.4 Añadir <el-ignored> con falor false para activar la evaluación EL en las JSPs
La evaluación EL está desactivada desde la versión 2.4 en adelante. Para activarla es necesario incluir el siguiente
fragmento en el fichero web.xml:
web.xml
...
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<el-ignored>false</el-ignored>
</jsp-property-group>
</jsp-config>
...
Una vez realizados los cambios indicados el fichero web.xml debe quedar
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/j2ee"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd"
version="2.5">
<display-name>xxxxxx</display-name>
<distributable/>
<filter>
<filter-name>xxxxx</filter-name>
<filter-class>xxxx.xxxx.xxxxxx</filter-class>
</filter>
<filter-mapping>
<filter-name>xxxxx</filter-name>
<url-pattern>*</url-pattern>
</filter-mapping>
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<el-ignored>false</el-ignored>
</jsp-property-group>
</jsp-config>
<servlet>
<servlet-name>xxxxx</servlet-name>
Framework: FRAMEWORK 2 Manual: Actualización libreía Sistemas 2.8 Tomcat
Versión: 1.0
Fecha: 19/02/2016
13
DIRECCIÓN DE INGENIERIA
<servlet-class>xxxxx.xxxx.xxxxxx</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>xxxxx</servlet-name>
<url-pattern>*.icm</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>xxxx.html</welcome-file>
</welcome-file-list>
<error-page>
<error-code>404</error-code>
<location>/WEB-INF/jsp/error404.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/WEB-INF/jsp/error500.jsp</location>
</error-page>
</web-app>
Para ver documentación adicional sobre las diferentes configuraciones que se pueden incluir en este
fichero consultar https://docs.oracle.com/cd/E13222_01/wls/docs100/webapp/web_xml.html
Además de los cambios indicados, las aplicaciones que utilizen otras librerías como dwr deben realizar algunos
cambios adicionales en este fichero, los cambios a realizar se detallan en el apartado 4.6.
4.2.2 Especificar librerías compartidas en el fichero context.xml
Las librerías compartidas en el entorno Tomcat no se despliegarán (como ocurre en Weblogic), se encontrarán en
una carpeta por compartida en el servidor (fw2, atlas, cr, …), para cada versión y se indicará la versión que
utilizará la aplicación en un fichero de configuración (context.xml) de forma similar a la que se hacía con el fichero
weblogic.xml en el servidor Weblogic.
Para la configuración local, es necesario descargarse el paquete de librerías del portal de arquitecturasw y
descomprimirlo en la ruta local, en la carpeta correspondiente:
C:/usr/aplic_ICM/lib/compartidas_fw2/
Framework: FRAMEWORK 2 Manual: Actualización libreía Sistemas 2.8 Tomcat
Versión: 1.0
Fecha: 19/02/2016
14
DIRECCIÓN DE INGENIERIA
fw2/
atlas/
cr/
asf/
Por ejemplo, se descarga la versión 2.6.0 de la librería compartida fw2, y se descomprimen las librerías en la ruta
local C:\usr\aplic_ICM\lib\compartidas_fw2\fw2\2.6.0
Para indicar qué librerías compartidas, y qué versiones utiliza la aplicación es necesario indicarlo en el fichero de
configuración context.xml. Este fichero se crea en el proyecto en /java/fuentes/web/META-INF/context.xml
/java/fuentes/web/META-INF/context.xml
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/xxxxxxx">
<!-- Loader básico, sin atributos coge por defecto fw2Version="2.6.0" -->
<Loader className="fw2.tomcat.comun.Fw2TomcatClassLoader"
searchVirtualFirst="false"/>
<!-- Los atributos del Loader son opcionales, si se incluyen carga la versión
de la librería que corresponda,
por ejemplo:
<Loader className="fw2.tomcat.comun.Fw2TomcatClassLoader"
fw2Version="2.6.0"
atlasVersion="1.2.9"
crVersion="2.6.0"
asfVersion="2.6.0"
searchVirtualFirst="false"/>
-->
</Context>
Es necesario cambiar <Context path="/xxxxxxx"> por el nombre de context-root de la aplicación, por
ejemplo <Context path="/fw2_tomcat_web_pub">
Framework: FRAMEWORK 2 Manual: Actualización libreía Sistemas 2.8 Tomcat
Versión: 1.0
Fecha: 19/02/2016
15
DIRECCIÓN DE INGENIERIA
4.2.3 Cambios en el fichero de configuracion xxxx.conf.
4.2.3.1 Eliminar entrada “WEB_HOME”
Eliminar la propiedad WEB_HOME (obligatoria en IAS) este valor se calcula dinámicamente en
función del la ruta donde se encuentra el desplegada la aplicación.
4.2.3.2 Actualizar ruta de logs trazas.ficheroLog
Actualizar ruta de logs trazas.ficheroLog. Según la estructura “/usr/aplic_ICM/logs/xxxx/xxxx”
Por ejemplo: trazas.ficheroLog=/usr/aplic_ICM/logs/fw2_tomcat_web_pub/fw2_tomcat_web_pub
(Crear la carpeta de log en local en la ruta C:/usr/aplic_ICM/logs)
4.2.3.3 Si la aplicación utiliza certificados digitales:
4.2.3.3.1 Modificar variable tipo certificado:
Para que las aplicaciones se puedan probar por https tanto en local como en el resto de entornos es necesario
que la variable “aplicacion.certificados.exportacion” tenga valor “BOTH”
4.2.3.3.2 Incluir variables de configuración de AFC.
La información de acceso, así como las configuraciónes de firma se definirán en el fichero de configuración
mediante las siguientes variables (el nombre de estas variables es igual para todos los frameworks):
Variable
Descripción
Obliga
torio
afc.modulo
Nombre del módulo para autenticarse contra el servicio de ASF. Se
SI
corresponde con el nombre dado de alta en el Servicio de ASF.
afc.password
Contraseña de acceso, debe estar cifrada. Esta contraseña se proporciona
SI
cuando se solicita el acceso al Servicio de AFC.
afc.certificado.endpoint
Punto de acceso al servicio de consulta de datos de Certificados de AFC,
SI
en desarrollo será:
https://deswebservices.madrid.org/afc_ws/services/ServicioAFCCertificado
afc.servidor.endpoint
Punto de acceso al servicio de operaciones AFC en servidor
Framework: FRAMEWORK 2 Manual: Actualización libreía Sistemas 2.8 Tomcat
Versión: 1.0
Fecha: 19/02/2016
NO
16
DIRECCIÓN DE INGENIERIA
ServicioAFCServidor
afc.cliente.endpoint
Punto de acceso al servicio de operaciones AFC en cliente
NO
ServicioAFCCliente
trazas.nivel.atlas
Configuración de los logs del servicio ATLAS de consulta de datos de
Certificados AFC. (INFO, DEBUG, ERROR,..)
4.2.3.3.3 Eliminar propiedades relativas a ASF.
Es necesario eliminar las propiedades obsoletas relativas a ASF, que ya se utilizan.
Ejemplo de fichero de configuración .conf
...
trazas.ficheroLog=/usr/aplic_ICM/logs/xxxxxxxxx/xxxxxxxxx
...
# Configuracion de acceso a AFC en caso de utilizar certificado
afc.modulo=ejpl_app
afc.password=07d818957a3fa16671165a836732cd6bc23c0008f520e3c964
2fd06cce762eac
afc.certificado.endpoint=https://deswebservices.madrid.org/afc_ws/services/Se
rvicioAFCCertificado
# Configuracion de los logs de los servicios de ATLAS
trazas.nivel.atlas=INFO
4.3 ACTUALIZACIONES ESPECIFICAS PARA LA UTILIZACIÓN DE DIFERENTES
LIBRERIAS
4.3.1 DWR
En caso de utilizar Ajax en el proyecto, será necesario actualizar a la versión 2 de dwr, para ello:
4.3.1.1 Actualizar versión de DWR:
Descargar la librería dwr.jar del portal de arquitectura y actualizarla en el proyecto (WEB-INF/lib)
http://www.madrid.org/arquitecturasw/images/documentacion/framework2/actual/dwr.jar
Framework: FRAMEWORK 2 Manual: Actualización libreía Sistemas 2.8 Tomcat
Versión: 1.0
Fecha: 19/02/2016
17
SI
DIRECCIÓN DE INGENIERIA
4.3.1.2 Actualizar dwr.xml:
Actualizar la referencia a la versión 2 en el fichero “dwr.xml”.
dwr.xml
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting
2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd">
...
4.3.1.3 Actualizar web.xml:
Actualizar la definición del servlet dwr en fichero “web.xml”:
web.xml
...
<servlet>
<display-name>DWR Servlet</display-name>
<servlet-name>dwr-invoker</servlet-name>
<servletclass>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>crossDomainSessionSecurity</param-name>
<param-value>false</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
4.3.1.4 Evitar el escapado de código HTML
Framework: FRAMEWORK 2 Manual: Actualización libreía Sistemas 2.8 Tomcat
Versión: 1.0
Fecha: 19/02/2016
18
DIRECCIÓN DE INGENIERIA
A partir de la versión 2 de dwr, por seguridad se escapa el código HTML por defecto. Si al ejecutar el
proyecto encontramos páginas con código escapado debemos añadir el siguiente código en la función
javascript de dwr init():
dwr.util.setEscapeHtml(false);
5 ENLACES RELACIONADOS
Producto/Tecnología
/Librería
URL
AFC
http://intranet.madrid.org/arquitecturasw/afc
DVD Desarrollo Galileo
http://www.madrid.org/arquitecturasw/images/documentacion/framework2/actual/dvd_desarrollo_FW2_Galileo.zip
DVD Desarrollo Luna
http://www.madrid.org/arquitecturasw/images/documentacion/framework2/actual/dvd_desarrollo_FW2_Luna.zip
Configuración Entorno
http://www.madrid.org/arquitecturasw/images/documentacion/framework2/actual/FW2_configuracion_entorno_local.pdf
Librería compartida básica de
FW2
http://www.madrid.org/arquitecturasw/images/documentacion/framework2/actual/fw2-dependencias-FW2-2.6.0.war
Librería compartida de ASF
para FW2
http://www.madrid.org/arquitecturasw/images/documentacion/framework2/actual/fw2-dependencias-ASF-2.6.0.war
Librería compartida de ATLAS
para FW2
http://www.madrid.org/arquitecturasw/images/documentacion/framework2/actual/fw2-dependencias-ATLAS-1.2.9.war
Librería compartida de
Crystal Reports para FW2
http://www.madrid.org/arquitecturasw/images/documentacion/framework2/actual/fw2-dependencias-CR-2.6.0.war
Recursos para sustituir en las
aplicaciones
http://www.madrid.org/arquitecturasw/images/documentacion/framework2/actual/recursos_2_8.zip
Logo de la comunidad de
madrid alineado a la
izquierda
http://desarrollo.madrid.org/webutils/logoCM-izq-89x64.png
Logo de la comunidad de
madrid alineado a la derecho
http://desarrollo.madrid.org/webutils/logoCM-der-89x64.png
Documentación sobre
web.xml
https://docs.oracle.com/cd/E13222_01/wls/docs100/webapp/web_xml.html
Librería dwr
http://www.madrid.org/arquitecturasw/images/documentacion/framework2/actual/dwr.jar
Framework: FRAMEWORK 2 Manual: Actualización libreía Sistemas 2.8 Tomcat
Versión: 1.0
Fecha: 19/02/2016
19