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
© Copyright 2024