Está en la página 1de 23

ANEXO a la Gua de Estndares Normativa de Empaquetado y Entrega

ndice
1 Introduccin.............................................................3 2 Empaquetado de los entregables...............................3
2.1 Empaquetado de los mdulos.......................................3 2.2 Nombrado de los entregables.......................................4 2.3 Versionado de empaquetados .....................................5 2.4 Poltica de empaquetado de libreras............................5 2.5 Elementos a excluir del empaquetado...........................7

3 Despliegue del aplicativo..........................................8


3.1 Componentes de la versin a desplegar........................8 3.2 Configuracin de contexto.........................................12 3.3 Despliegues con EJBs.................................................12 3.4 Despliegues con Webservices.....................................13

4 Configuracin para arquitectura IAM WAS................13


4.1 Descriptores de despliegue........................................13 4.2 Configuracin de Carga de clases...............................14 4.3 Configuracin en el servidor WAS relativa a la aplicacin ..............................................................................................15 4.4 Configuracin de propiedades especficas de la aplicacin................................................................................17

5 Utilizacin de recursos............................................18
5.1 Base de datos............................................................18 5.2 Ficheros de las aplicaciones.......................................22

1 Introduccin
El objetivo de este documento es definir la normativa que se debe cumplir para realizar las tareas de empaquetado y entrega de los aplicativos web J2EE del IAM, as como permitir su validacin antes del proceso de despliegue.

2 Empaquetado de los entregables


2.1 Empaquetado de los mdulos
Se usar Maven 3.0.4 como herramienta de construccin de los artefactos. Debe existir un pom.xml padre en la raz del proyecto que contenga como mnimo la siguiente configuracin: Mdulos incluidos en el aplicativo. Libreras del proyecto compartidas por sus mdulos. Java Development Kit (JDK) usado para compilar. Para el despliegue en WAS 6.1 se debe compilar con JDK 5, mientras que para desplegar en WAS 8 debemos compilar con JDK 6.

Cada mdulo debe disponer tambin de su propio pom.xml que permite la compilacin y empaquetado de cada mdulo. Para realizar la compilacin y empaquetado del aplicativo se ejecutar en la raz del proyecto el siguiente comando: mvn clean package. Adicionalmente se pueden aadir distintas opciones (por ejemplo perfil a usar) que debern ser indicadas en la solicitud de auditora. Se debe generar al menos un entregable (EAR) correspondiente al aplicativo que se colocar en la carpeta de despliegues. En caso de contener recursos (estticos o de configuracin) se debe generar un fichero ZIP con los recursos estticos y otro fichero ZIP con los ficheros de configuracin por cada entorno. En caso de tener subsistemas (como puede ser internet e intranet) se crearan un directorio por subsistema repitiendo el esquema. A continuacin se muestra un esquema donde se puede observar donde se encuentra cada uno de los elementos descritos en esta apartado. Se supone una entrega del proyecto CURSO en el tag V01.01.003

Ilustracin 1. Esquema de la carpeta de despliegues de CURSO

2.2 Nombrado de los entregables


Cada entregable tendr un nombre del proyecto ms la versin a desplegar. La normativa del proyecto y versin viene definida en el documento general de la Gua de Estndares. Los ficheros pom.xml indican la siguiente informacin: <groupId> - nombre del paquete o grupo al que pertenece el proyecto. En general ser de la forma es.iam.grupoId, dnde grupoId es [areaNegocio].[acronimoAplicativo]. <artifactId> - nombre del artefacto a empaquetar que representa.

<version> - versin del aplicativo que debe coincidir con el del artefacto. No es necesario indicarlo si corresponde a un mdulo debido a que coincide con la versin definido en el pom padre. <packaging>- indica el tipo de empaquetado: ear, war, jar, pom, ejb...

Los mdulos JAR, WEB y EJB empaquetados dentro de un EAR deben tener la misma versin que el EAR. Es obligatorio que el pom.xml que realiza el empaquetado del EAR contenga la versin a entregar.

2.3 Versionado de empaquetados


Los empaquetados j2ee tienen un fichero especifico META-INF/MANIFEST.MF que permite especificar propiedades de ese empaquetado (sea jar, war ear). Una de las propiedades de dicho fichero es "Implementacion-Version" que permite especificar la versin del aplicativo. Esto permite conocer la versin desplegada de la aplicacin a travs de la consola de WebSphere.

2.4 Poltica de empaquetado de libreras


Solo se podrn usar, y por tanto empaquetar, las libreras aprobadas por el IAM que se encuentran publicadas en el gestor de artefactos corporativo. Hay que tener en cuenta que algunas libreras, aunque estn publicadas en el gestor de artefactos corporativo, solo deben usarse para compilar las fuentes o realizar pruebas del sistema y por ese motivo no deben estar presentes en el empaquetado final del aplicativo. Las siguientes libreras se encuentran ya desplegadas en los servidores WAS del IAM por lo que no deben ser incluidas en el empaquetado de los aplicativos. API StandAlone eAS_TSP_v6.2.7 base.jar classes12.jar db2java.zip db2jcc.jar db2jcc_lidense_cu.jar msbase.jar msqlserver.jar msutil.jar 5

ojdbc12.jar ojdbc14_g.jar ojdbc5.jar spy.jar sqlsever.jar util.jar

No se deben tampoco incluir libreras propias de servidores de aplicaciones o de la jdk, por ejemplo: ant-antlr-* core.jar ffdc.jar ffdc.jar ivjejb35.jar j2ee.jar jaas.jar jboss*.jar jboss*.properties jcert.jar jdbc2_0-stdext.jar jnet.jar jsse.jar jstl.jar jta.jar namespace.jar rt.jar

server.jar servlet.jar xml.jar

No se deben empaquetar jar necesarios tan solo para realizar las pruebas del sistema: cactus*.jar jmock*.jar jtestcvase*.jar junit*.jar mockito*.jar powermock*.jar strutstest*.jar

2.5 Elementos a excluir del empaquetado


En este apartado se listan los elementos que no deben estar presentes en el empaquetado final de ninguno de los mdulos de un aplicativo. Ficheros obsoletos, por ejemplo, con extensin .old Ficheros duplicados con extensiones diferentes, por ejemplo, .desarrollo y .produccin. Duplicacin de una misma librera (.jar) con diferente versin. Carpetas y ficheros propios del sistema de control de versiones. Descriptores o ficheros de configuracin propios de otros servidores de aplicaciones. Diferentes versiones de descriptores o ficheros de configuracin (web.xml.desarrollo) Archivos con el cdigo fuente no compilado (.java) Clases de prueba de la aplicacin (por ejemplo JUnit), ni clases que implementen sentencias assert.

Clases que implementen un mtodo main, puesto que son aplicaciones WEB y no aplicaciones cliente. Contenidos estticos del aplicativo. Ver apartado Recursos estticos Archivos de configuracin dependientes del entorno. Ver Archivo con recursos dependientes del entorno

3 Despliegue del aplicativo


3.1 Componentes de la versin a desplegar
En esta arquitectura IAM WAS los artefactos del sistema se van a distribuir entre los diferentes servidores y recursos. En este apartado se indican los artefactos que deben formar parte de la versin que se entrega al Dpto. de Tecnologas Web. 3.1.1

Contenido del EAR

Solamente se permite el despliegue de artefactos EAR en el servidor WAS. Consideramos la siguiente estructura estndar de directorios para los aplicativos EAR: /Directorio raz del EAR WAR 1 WAR N EJB 1 EJB N lib META-INF application.xml MANIFEST.MF

Los mdulos Web y EJB se empaquetan en el directorio raz del EAR. El directorio lib debe contener las libreras compartidas por todos los mdulos empaquetados en el EAR, salvo las libreras compartidas a nivel de servidor definidas en el apartado Poltica de empaquetado de libreras. El fichero META-INF/MANIFEST.MF se genera durante el proceso de empaquetado realizado con Maven. Debe contener la siguiente informacin:

Manifest-version : 1.0 Build-Jdk: <Versin del JDK usado para compilar> Created-By: <uso de Maven como herramienta de empaquetado>

El descriptor de despliegue de la aplicacin META-INF/application.xml debe cumplir con la especificacin J2EE 1.4 para WAS 6.1 o Java EE 6 para WAS 8. Debe contener una referencia a los distintos mdulos WEB o EJB a desplegar as como el context root de cada mdulo. Respecto a los descriptores de despliegue, el EAR no debe incluir la carpeta META-INF/ibmconfig, ya que debern utilizarse los recursos definidos a nivel de servidor WAS. El nombre del fichero .EAR tiene que corresponderse con el context root del mdulo Web principal, el cual debe coincidir con el acrnimo de la aplicacin y contexto que se haya indicado en el documento Despliegue de Aplicacin Web . 3.1.2

Contenido del WAR

Cada mdulo Web (aplicacin o servicio web) contenido en el EAR se empaqueta en un fichero WAR que tendr la siguiente estructura: /Directorio raz del WAR WEB-INF jsp classes META-INF Archivos de configuracin independientes del entorno

lib web.xml META-INF MANIFEST.MF Los archivos jsp deben estar bajo el directorio WEB-INF/jsp pudiendo este tener subdirectorios para facilitar el ordenado de las jsp. El directorio WEB-INF/classes contiene las clases java compiladas as como los ficheros de recursos propios de la aplicacin y no dependientes de entorno. El directorio lib nicamente debe contener las libreras JAR usadas exclusivamente por el mdulo Web. El fichero META-INF/MANIFEST.MF debe contener la siguiente informacin:
Manifest-version : 1.0 Build-Jdk: <Versin del JDK usado para compilar> Created-By: <uso de Maven como herramienta de empaquetado>

El descriptor de despliegue WEB-INF/web.xml debe cumplir especificacin de servlets 2.4 para WAS 6.1 y servlets 3.0 para WAS 8.0

con

la

Cualquier fichero de configuracin no dependiente del entorno ir incluido dentro del directorio WEB-INF. 3.1.3

Contenido de mdulos jar.

El fichero META-INF/MANIFEST.MF debe contener la siguiente informacin:

Manifest-version : 1.0 Build-Jdk: <Versin del JDK usado para compilar> Created-By: <uso de Maven como herramienta de empaquetado>

En caso de que el jar contenga en su interior EJB se empaquetaran junto con su descriptor de despliegue

10

3.1.4

Recursos estticos

Podemos considerar recursos estticos a los archivos html (.htm, .html), los documentos de ayuda/manuales (.doc, .pdf), las carpetas con hojas de estilo (.css), carpetas con imgenes (.jpg, .gif, .png) y archivos javascript (.js), etc. Estos elementos deben entregarse en un archivo ZIP independiente al EAR tal y como se indica en el apartado Empaquetado de los mdulos, pues se despliegan en el servidor web frontal IBM HTTP Server. Todo lo referente al runtime de los Applets tambin tiene que ser entregado conjuntamente con la parte esttica y no con el EAR de la aplicacin. En una aplicacin con varios mdulos WAR, para poder diferenciar los posibles context roots, los recursos estticos debern ubicarse bajo un directorio con el identificativo de cada context root. Al menos se debe incluir una pgina esttica (home.htm, index.htm,...), la cual ser declarada en el descriptor web.xml como welcome file. Dicha pgina ser el punto de entrada inicial en las aplicaciones que requieren SSL. 3.1.5

Archivo con recursos dependientes del entorno

Si se dispone de ficheros de configuracin (.properties, .XML, etc.) y sus propiedades dependen del entorno en que se encuentra desplegado, se entregarn en un archivo ZIP adicional tal y como se indica en el apartado Empaquetado de los mdulos, que se desplegar en el repositorio de recursos de los servidores WAS. Se agruparn en una carpeta para su despliegue en preproduccin y otra para su despliegue en produccin y cuando dichos recursos se modifican con la actualizacin de versin (o es el primer despliegue) deben incluirse en la entrega. Para aplicaciones a desplegar en plataforma WAS 8 se entregar en un nico fichero, denominado serviciosIAM.properties, todas aquellas propiedades de los servidores IAM y/o acceso a los mismos, a cumplimentar por las unidades de Sistemas. Estos ficheros incluyen: Ficheros con parmetros propios de la aplicacin cuyos valores dependen del entorno Ficheros con datos de servicios externos (URLs, mquinas, usuarios de conexin, etc.) Log4J.properties o similar Almacenes de certificados propios de la aplicacin

11

Se debe declarar un perfil (profile) en el script de .pom padre que permita el empaquetado del archivo ZIP para al menos el entorno de preproduccin y produccin.

Entorno de desa: mvn clean package P desa (o mvn clean package ya que es el de por defecto) Entorno de pre: mvn clean package P pre Entorno de pro: mvn clean package P pro

Para preproduccin el perfil tendr el identificador pre y para produccin tendr el identificador pro. En caso de crear un perfil para desarrollo su identificador ser desa y este ser el perfil por defecto. As los comandos a ejecutar por entorno sern como siguen. Se podrn crear perfiles adicionales siempre y cuando se ejecuten junto con los perfiles obligatorios. Por ejemplo mvn clean package P pre,internet. En el documento Manual Tcnico de Despliegue de Aplicacin Web, se debern indicar los parmetros dependientes de cada entorno, independientemente de que los ficheros ya contengan dichas modificaciones, ya que se verificar que los valores son correctos antes de proceder a su despliegue. 3.1.6

Documentacin

La documentacin a aportar, para solicitar la peticin de despliegue de la aplicacin, se encuentra indicada en la gua de estndares en el apartado IAS.

3.2 Configuracin de contexto


Los context roots deben ser nicos en todo el IAM para evitar problemas de colisin con otras aplicaciones y se deben evitar contextos estereotipo como /servlets. Para ello, se debe anteponer en el context root los 5 caracteres que se correspondan con el acrnimo de la aplicacin a la que pertenecen.

3.3 Despliegues con EJBs


Se prohbe la utilizacin de EJB 2.x., que requiera generacin de clases y despliegues. En caso de ser necesario su uso deber ser justificado y se indicar en el documento Manual Tcnico de Despliegue de Aplicacin Web de la aplicacin. Este documento deber indicar que la aplicacin requiere el despliegue de los EJBs.

12

3.4 Despliegues con Webservices


La Gua de Estndares define pautas especficas para el desarrollo de servicios web para el IAM en su anexo Manual de Servicios Web En el documento Manual Tcnico de Despliegue de Aplicacin Web se debe indicar que la aplicacin requiere el despliegue de los servicios web, para que en la instalacin de dicho EAR se marque el despliegue de los mismos.

4 Configuracin para arquitectura IAM WAS


4.1 Descriptores de despliegue
Los descriptores de despliegue son los ficheros XML normalizados que contienen informacin como el context root de la aplicacin web, la declaracin de los recursos de la aplicacin (datasources, url,...), los mdulos EJBs y Web, etc. A parte de los descriptores application.xml y web.xml, el EAR a implantar en la plataforma IAM debe incluir los descriptores necesarios para el despliegue en el servidor WAS. Las propiedades que se indiquen en ellos para el despliegue de la aplicacin, sern comprobadas en la instalacin. Si dichas propiedades no han sido justificadas en el documento Manual Tcnico de Despliegue de Aplicacin Web, pueden ser ignoradas o cambiadas en su instalacin. En concreto, se ignorarn las propiedades de los descriptores bajo la carpeta META-INF\ibmconfig del EAR, ya que debern utilizarse los recursos definidos a nivel de servidor WAS. Con respecto a las propiedades de despliegue de los mdulos Web se recomienda tener configurado en a los descriptores application.xml y web.xml los siguientes elementos: <display-name> (application.xml): debe coincidir con el contexto de la aplicacin, es decir, si hay varios mdulos war indquese el que se considere como principal. <context-root>: identificativo de la aplicacin y proyecto; se recomienda que el contexto de todos los mdulos de las aplicaciones del mismo proyecto comiencen por 3-4 letras relativas al mismo, por ejemplo: GITE, GITE_INF, GITE_WS <servlet-mapping>: mapeo de URLs a servlets

13

<welcome-file-list>: al menos debe declararse la pgina esttica de inicio entregada con los componentes estticos, fundamentalmente si se trata de aplicaciones que requieren SSL <error-page>: mapeo de errores 4xx y 5xx a una pgina personalizada de la aplicacin <resource-def>: para definicin de los pool de conexiones a base de datos, recursos URL, etc.

Respecto al descriptor ibm-web-ext.xmi de WAS, localizado en el directorio WEB-INF del WAR, se tendr en cuenta: fileServingEnabled="false":deshabilita el servicio de pginas serveServletsByClassnameEnabled="false": los servlets deben servirse solamente a travs de una URI Referente, sin embargo, si esta propiedad est habilitada, el servlet puede ser invocado especificando el nombre de la clase. Por motivos de seguridad, esta propiedad debe de estar a false. reloadingEnabled="false": deshabilitar la recarga de clases a nivel de Web Module. En el servidor WAS esta recarga se habilita a nivel de aplicacin cuando es necesario. jspAttributes reloadEnabled="false": especfica si se habilita la recarga de clases cuando un JSP es modificado. En el servidor WAS esta recarga se habilita a nivel de aplicacin cuando es necesario

No debern entregarse descriptores propios de otros servidores de aplicaciones (jboss-web.xml, etc.). Tambin debe tenerse especial cuidado en no entregar diferentes versiones de los descriptores (web.xml.desarrollo) o ficheros obsoletos de los mismos (web.xml.old).

4.2 Configuracin de Carga de clases


El classloader mode de la aplicacin se recomienda que sea en modo PARENT_FIRST, lo que implica la utilizacin de las libreras ya disponibles en WAS siempre que sea posible, evitando sobrecargar la memoria del servidor java con clases en exceso, pero se admite tambin carga de clases PARENT_LAST. Por otra parte, si hay ms de un mdulo WEB, se recomienda que la poltica del WAR est a nivel de MODULE y en ese caso debe incluirse en la documentacin la carga de clases a aplicar en cada mdulo.

14

4.3 Configuracin en el servidor WAS relativa a la aplicacin


Los parmetros que afecten al rendimiento de las aplicaciones desplegadas se deben configurar a nivel de servidor y no ir embebidos en el cdigo de la aplicacin. Esto tiene un doble objetivo: La normalizacin del procedimiento de configuracin El cambio dinmico de las propiedades.

Teniendo en cuenta que varias aplicaciones van a compartir el mismo servidor WAS, cualquier parmetro que una aplicacin necesite cambiar a nivel de servidor, debe de ser acordado y aprobado de antemano. 4.3.1

Configuracin de la Sesin

No se debe incluir informacin sobre tiempo de sesin en el descriptor web.xml. Este dato se configura a nivel de aplicacin en el servidor WAS: Tiempo de expiracin de la sesin. El valor por defecto ser de 30 minutos. No debe indicarse en el fichero web.xml ni modificarse por cdigo este valor, pues de esta forma, en el servidor WAS se podr modificar convenientemente el valor para la aplicacin ya desplegada. Por defecto los servidores de IAM no tendrn habilitada la rplica de sesin para evitar utilizar procesamiento y recursos innecesarios por el propio aplicativo, ya que esta opcin incide en el rendimiento de la aplicacin y puede ocasionar problemas serios de gestin de la memoria. En el caso de que la aplicacin necesite dicha replica, habr que indicarlo en el documento Manual Tcnico de Despliegue de Aplicacin Web y asegurarse de: Que si se utiliza HTTPSession, todo lo que est incluido sea serializable. El tamao de HTTPSession debe reducirse al mximo.

4.3.2

Recarga de clases y JSPs

Aunque en el descriptor ibm-web-ext.xmi, localizado en el WEB-INF de la aplicacin, se hayan incluido los atributos relativos a la recarga de clases, estos sern ignorados y configurados en el servidor WAS. En el entorno de desarrollo se habilitar la recarga de clases a nivel de Web Module, as como la recarga cuando un JSP es modificado. Adems, se proporcionar un procedimiento automtico de parada-despliegue-arranque de la aplicacin. Sin embargo, en los entorno de preproduccin, formacin y produccin la recarga de clases y JSPs estar deshabilitada, pues no se realizan despliegues de componentes aislados. Por defecto, tampoco se realizar una precompilacin de JSP 15

en el despliegue de las aplicaciones para minimizar el tiempo de parada de servicio. De ser necesaria la recarga de los JSP, debe ser expresamente documentado en el Manual Tcnico de Despliegue. 4.3.3

Propiedades personalizadas a nivel de servidor

En determinadas circunstancias puede ser necesario especificar propiedades personalizadas que modifiquen el comportamiento por defecto del contenedor Web del servidor de aplicaciones. Anlogamente, las propiedades personalizadas en la JVM se utilizan para modificar el comportamiento de la JVM as como definir variables especficas que estarn disponibles para su uso por las aplicaciones desplegadas en el servidor de aplicaciones. Algunas de estas propiedades ya estn incorporadas por defecto en los servidores de la plataforma IAM WAS, pero otras deben solicitarse expresamente y su incorporacin se realizar una vez est aprobado el cambio, dado que afecta a todas las aplicaciones en el servidor.

NIVEL Contenedor WEB

PROPIEDAD PERSONALIZADA com.ibm.ws.webcontainer. invokefilterscompatibility

USO Esta propiedad permite invocar filtros en las peticiones que no tienen definido un mapeo a un servlet. Sin esta propiedad configurada, WAS comprobara primero si la URL est mapeada a un servlet o a un fichero antes de enviar las peticiones a la cadena de filtros, de modo que se producira un error 404 si no existiera esta propiedad Esta propiedad impide que las aplicaciones puedan servir contenido esttico desde el servidor de aplicaciones, independientemente de la propia configuracin de la aplicacin. Todo este tipo de contenido se deber proporcionar a travs del servidor Web Esta propiedad impide que se puedan invocar a los servlets directamente a travs del nombre

POR DEFECTO No activa

Contenedor WEB

com.ibm.ws.webcontainer. disallowAllFileServing

Activa

Contenedor WEB

com.ibm.ws.webcontainer. disallowserveservletsbyclassna me

Activa

16

de la clase para evitar posibles riesgos de seguridad. Contenedor Web HttpSessionIdReuse Esta propiedad determina si el gestor de sesiones puede usar el identificador de sesin enviado del navegador para preservar los datos a travs de aplicaciones Web que se estn ejecutando en un mismo dominio. Esta propiedad se usa desde los aplicativos para conocer la ruta de los recursos de las aplicaciones. Esta propiedad se usa desde los aplicativos para conocer la ruta de los ficheros de logs de las aplicaciones Esta propiedad permite conocer el nombre del servidor de aplicaciones en el que se est ejecutando la aplicacin. Este nombre puede usarse como parte de la nomenclatura de ficheros NAS. Configuracin de proxy para llamadas a servicios externos al IAM. No activa

JVM

WAS61_RECURSOS WAS8_RECURSOS

Activa

JVM

WAS61_LOGS WAS8_LOGS

Activa

JVM

WAS61_SERVER_NAME WAS8_SERVER_NAME

Activa

JVM

http.nonProxyHosts ( https) http.proxyHost http.proxyPort http.proxySet

No activa

En el Manual Tcnico de Despliegue se especificarn los valores que deben asignarse para cada uno de estos parmetros cuando no sean los valores por defecto. Estos valores pueden variar entre el entorno de desarrollo y produccin, pero siempre debern indicarse los que correspondan al entorno de produccin, los cuales sern aplicados tambin en el entorno de preproduccin

4.4 Configuracin de propiedades especficas de la aplicacin


La especificacin J2EE o Java EE recomienda acceder siempre a los recursos externos mediante un Resource Manager, y en concreto, para los ficheros de configuracin propios de la aplicacin, la forma adecuada es definirlos mediante URLs gestionadas por el URL Resource Manager. Estos recursos URL deben ser creados en 17

el WAS la primera vez que se necesite por la aplicacin y podrn ser reutilizados por el resto de aplicaciones del proyecto. Es el caso de la direccin URL del webService de uWeb, que ya est definido a nivel de servidor WAS y por tanto disponible para que todas las aplicaciones tengan dicha informacin independizada del entorno. La configuracin de parmetros de la aplicacin dependientes del entorno seguir estas pautas: URLs generales del IAM, por ejemplo direccin del webService de uWeb: se utilizarn recursos URL creados en el WAS. URLs especficas de la aplicacin, por ejemplo, llamadas a webservices creados en el mbito del proyecto: se agruparn en uno o varios ficheros .properties o .xml. Parmetros propios de la aplicacin: se agruparn en uno o varios ficheros .properties o .xml. Direcciones de los recursos NAS propios de la aplicacin: se incluir ese dato dentro de un fichero de propiedades Ficheros de configuracin de trazas (log4j.properties, etc.): se ubicarn junto con los ficheros de propiedades.

Los ficheros de propiedades se ubicarn en un repositorio nico de la plataforma WAS y se acceder a ellos mediante el recurso URL url/miAplicacion, nico para cada aplicacin. Para aplicaciones a desplegar en plataforma WAS 8 se entregar en un nico fichero, denominado serviciosIAM.properties, todas aquellas propiedades de los servidores IAM y/o acceso a los mismos, a cumplimentar por las unidades de Sistemas.

5 Utilizacin de recursos
5.1 Base de datos
En lo relativo a base de datos se deben seguir las siguientes indicaciones tanto a la hora de solicitar su creacin como para acceder a ella desde una aplicacin desplegada en un servidor WAS. 5.1.1

Filegroup

La base de datos deber tener definidos de forma obligatoria para el entorno productivo los siguientes filegroups: 18

PRIMARY para albergar las tablas del sistema FG_DATAnn para albergar tablas de datos. (nn >=01 <=99) FG_IMGnn para albergar imgenes (si las hubiere). FG_TEXnn para albergar textos (si los hubiere). FG_INDnn para albergar ndices no cluster.

5.1.2

Nomenclatura de ficheros

A la hora de crear la base de datos los nombres de los ficheros de base de datos sern similares a: G:\nombre_bd\Datos\primary_01.mdf G:\nombre_bd\Datos\Nombre_fichero_data01.ndf G:\nombre_bd\Imagenes\Nombre_fichero_img01.ndf G:\nombre_bd\Indices\Nombre_fichero_ind01.ndf G:\nombre_bd\Log\Nombre_fichero_log01.ldf

5.1.3

ndices

Todo ndice no cluster deber ubicarse en los file groups (FG_INDnn) definidos para ello. No definir ndice por la clave primaria, pues la definicin de la clave primaria ya lleva implcita la creacin de un ndice. Definir ndices por las columnas sobre las cuales haya definida una relacin de integridad (foreign key). Si se crean ndices por varias columnas colocar primero la columna que sea ms selectiva, es decir, por la que no se repitan mucho los valores y despus las menos selectivas. Los ndices sobre columnas que tiene mucha informacin duplicada no son eficientes. Defina ndices clustered si necesita hacer consultas sobre un rango de valores u ordenar datos por medio de GROUP BY u ORDER BY.

19

5.1.4

Particionamiento

En aquellas tablas en las que se estime un nmero muy elevado de filas, del orden de ms de 1 milln, deber implementarse el particionamiento de la misma habilitando para ello la definicin de funcin y esquema de particionamiento. 5.1.5

Acceso a base de datos desde WAS

Los servidores de Bases de Datos corporativos sobre los que las aplicaciones desplegadas en entorno WAS deben trabajar fundamentalmente son SQL Server 2005 y Oracle 10g. En cualquier caso, los proveedores de datos para SQL Server que deben utilizarse sern los incluidos en el servidor de aplicaciones para la versin WAS 6, debindose utilizar los drivers JDBC que proporciona Microsoft para la versin WAS 8: WAS 6: o WebSphere embedded ConnectJDBC driver for MS SQL Server (SQL Server 2000 y 2005) Oracle JDBC Driver (Oracle 9 10) DB2 Universal JDBC Driver Provider (DB2 v7 y v8) DB2 UDB for iSeries (Toolbox) (AS400)

o o o

WAS 8: o o o o Microsoft SQL Server JDBC Driver 2.0 / 3.0 (SQL Server 2000 y 2005) Oracle JDBC Driver (Oracle 9 10g) DB2 Universal JDBC Driver Provider (DB2 v7, v8 y superiores) DB2 UDB for iSeries (Toolbox) (AS400)

Para el acceso a la base de datos las aplicaciones debern hacer referenciar a un recurso de tipo datasource creado a nivel de clula WAS, ofreciendo las ventajas de los pool de conexiones gestionado por el propio servidor WAS. Esto significa que la aplicacin no debe incluir en su empaquetado libreras de proveedores para acceso a las bases de datos, ni se debern abrir conexiones directamente a la base de datos sino haciendo uso de las conexiones proporcionadas por el pool definido en el datasource del servidor WAS. El fichero en el que queda reflejado esta referencia es el descriptor web.xml:
<resource-ref id="ResourceRef_1256212520375"> <description> breve descripcin sobre la BD a la que se asociar </description> <res-ref-name>jdbc/miDatasource</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth>

20

Puesto que estos recursos pueden ser compartidos por las aplicaciones desplegadas en la clula, se tendr que estimar si una nueva aplicacin puede o no compartir el recurso ya creado, si debe ampliarse la capacidad de conexiones mximas a base de datos o si necesita una configuracin de parmetros especficos. Todo ello debe venir debidamente documentado en el documento Despliegue de Aplicacin Web. En cuanto a la configuracin de estos datasource: El nombre JNDI del recurso seguir el patrn jdbc/<nomBD>. Debe indicarse si se precisa transacciones del tipo XA o no. N mnimo de conexiones: por defecto se establecer a 1. N mximo de conexiones: por defecto a 10, se recomienda no superar las 30. Tiempo de espera por la conexin: por defecto a 180 milisegundos. Statement cache size: Especifica el nmero mximo de statements que puede ser cacheado por conexin. Si la statement cache no es lo suficientemente grande, es posible que ciertas ejecuciones de PrepareStatement y CallableStatement sean desechadas para incluir otras nuevas. Hay que tener en cuenta que este parmetro mejora el rendimiento de la aplicacin, pero que puede afectar a otros recursos como es la memoria. Nivel de aislamiento: propiedad personalizada que se configurar cuando venga justificado en el documento Manual Tcnico de Despliegue de Aplicacin Web

Respecto a los datos de autenticacin utilizado para la conexin con la base de datos: Los usuarios de autenticacin para la conexin se definirn a nivel de servidor WAS, pudindose crear ms de un usuario para corresponderse con diferentes perfiles de permisos en base de datos: o La nomenclatura para usuarios con permisos de lectura/escritura seguir el patrn <nombreBD>WEB La nomenclatura para usuarios de slo lectura seguir el patrn <nombreBD>DES

El usuario ser distinto del propietario de la base de datos u esquema Oracle, definiendo en base de datos los permisos adecuados para cada perfil de acceso. 21

El usuario a utilizar para conectividad desde la aplicacin web debe ser distinto al utilizado desde procesos batch o aplicaciones cliente.

5.1.6

Requisitos para la ejecucin de scripts

Los scripts entregados para su ejecucin en bases de datos de los entornos de preproduccin y/o produccin debern incluir el lenguaje bajo el cual se van a ejecutar. Por lo tanto deber especificarse en cada script la siguiente sentencia: SET LANGUAGE SPANISH SET LANGUAGE ENGLISH segn corresponda para la correcta ejecucin del mismo.

En caso de utilizar gestor de base de datos Oracle (previa autorizacin del comit de estndares), es imprescindible especificar el idioma, territorio y set de caracteres de la base de datos. Por ejemplo, SPANISH, SPAIN y WE8ISO8859P1, respectivamente.

5.2 Ficheros de las aplicaciones


No se debe hacer uso del disco local del servidor WAS generando documentos desde las aplicaciones, lo que conlleva problemas de espacio y paralizacin del servicio. Por el mismo motivo, no se puede usar el NAS propio de la plataforma WAS ya que derivara igualmente en una parada de los servicios. Por ello, las aplicaciones a desplegar en WebSphere debern venir preparadas para trabajar con carpetas contenedoras NAS propias del aplicativo., aplicndose en la generacin de: Ficheros de traza de la aplicacin a nivel INFO o DEBUG Ficheros temporales generados por la aplicacin, incluidos los ficheros temporales de cualquiera de los frameworks o libreras de terceros que utiliza la aplicacin (AXIS, etc.) Ficheros de tipo plantillas o formularios generados por la aplicacin Informes que se almacenen en disco Archivos documentales o imgenes generados o almacenados por la aplicacin

La direccin al recurso NAS deben configurarse mediante un recurso URL del servidor WAS o en alguna propiedad incluida en los ficheros propios de la

22

aplicacin, permitiendo su modificacin en funcin del entorno de fsico de ejecucin sin necesidad de alterar el EAR. El recurso NAS ser gestionado por el Dpto. de Desarrollo solicitante del mismo, por lo que la poltica de borrado de ficheros o ampliacin del espacio debe asumirse dentro de dicha gestin. En cualquier caso, la aplicacin puede verse afectada si se queda sin espacio en dicho recurso, por lo que recomendamos: Los ficheros temporales deben ser borrados por la propia aplicacin lo antes posible o en su defecto tener un mecanismo de borrado a travs de un proceso (batch) peridico. El tamao total de los ficheros temporales, documentales, de trazas, etc., no debe de superar nunca el tamao mximo pedido en el entorno de ejecucin para cada aplicacin. Para ello, la aplicacin debe acotar mediante configuracin el tamao de los ficheros y controlar las excepciones por falta de espacio. Obsrvese la importancia de diferenciar el servidor de origen en el nombre del fichero pues si pudiera darse un conflicto en la arquitectura en cluster:
WAS 6: System.getProperty("WAS61_SERVER_NAME")); WAS 8: System.getProperty("WAS8_SERVER_NAME"));

23

También podría gustarte