Está en la página 1de 23

ANEXO a la Gua de

Estndares
Normativa de Empaquetado
y Entrega
1
ndice
1 Introduccin______________________________________________4
2 Empaquetado de los entregables_______________________4
2.1 Empaquetado de los mdulos_____________________________4
2.2 Nombrado de los entregables_____________________________5
2.3 Versionado de empaquetados_____________________________6
2.4 ol!tica de empaquetado de librer!as_____________________6
2.5 Elementos a e"cluir del empaquetado____________________#
3 Despliegue del aplicativo________________________________8
3.1 $omponentes de la %ersin a desplegar__________________#
3.1.1 Contenido del EAR_______________________________________________9
3.1.2 Contenido del WAR______________________________________________!
3.1.3 Contenido de m"dulos #ar$_______________________________________
3.1.4 Re%ursos estti%os______________________________________________
3.1.5 Ar%&ivo %on re%ursos dependientes del entorno__________________
3.1.6 'o%umenta%i"n_________________________________________________(
3.2 $on&guracin de conte"to_______________________________13
3.3 'espliegues con E()s_____________________________________13
3.4 'espliegues con *ebser%ices____________________________13
4 Confguracin para arquitectura I! "#____________13
4.1 'escriptores de despliegue______________________________13
4.2 $on&guracin de $arga de clases_______________________15
4.3 $on&guracin en el ser%idor *+, relati%a a la
aplicacin 15
4.3.1 Con)gura%i"n de la *esi"n______________________________________+
4.3.2 Re%arga de %lases y ,*-s________________________________________.
4.3.3 -ropiedades personali/adas a nivel de servidor__________________.
4.4 $on&guracin de propiedades espec!&cas de la
aplicacin 1#
2
$ %tili&acin de recursos_________________________________1'
5.1 )ase de datos_____________________________________________1-
5.1.1 .ilegroup______________________________________________________9
5.1.2 Nomenclatura de &c/eros____________________________________9
5.1.3 ndices_________________________________________________________9
5.1.4 articionamiento_____________________________________________(!
5.1.5 +cceso a base de datos desde *+,_________________________(!
5.1.6 Requisitos para la e#e%u%i"n de s%ripts__________________________(
5.2 .ic/eros de las aplicaciones_____________________________22
3
1 0ntroduccin
El objetivo de este documento es definir la normativa que se debe cumplir para
realizar las tareas de empaquetado y entrega de los aplicativos eb !2EE del "#$% as&
como permitir su validaci'n antes del proceso de despliegue.
2 Empaquetado de los entregables
2.1 Empaquetado de los mdulos
(e usar) $aven 3.*.4 como +erramienta de construcci'n de los artefactos.
,ebe e-istir un pom.-ml padre en la ra&z del proyecto que contenga como m&nimo la
siguiente configuraci'n.
$'dulos incluidos en el aplicativo.
/ibrer&as del proyecto compartidas por sus m'dulos.
!ava ,evelopment 0it 1!,02 usado para compilar. 3ara el despliegue en
4#( 6.1 se debe compilar con !,0 5% mientras que para desplegar en
4#( 5 debemos compilar con !,0 6.
6ada m'dulo debe disponer tambi7n de su propio pom.xml que permite la
compilaci'n y empaquetado de cada m'dulo.
3ara realizar la compilaci'n y empaquetado del aplicativo se ejecutar) en la
ra&z del proyecto el siguiente comando. mvn clean package. #dicionalmente se
pueden a8adir distintas opciones 1por ejemplo perfil a usar2 que deber)n ser indicadas
en la solicitud de auditor&a.
(e debe generar al menos un entregable 1E#92 correspondiente al aplicativo
que se colocar) en la carpeta de despliegues. En caso de contener recursos 1est)ticos
o de configuraci'n2 se debe generar un fic+ero :"3 con los recursos est)ticos y otro
fic+ero :"3 con los fic+eros de configuraci'n por cada entorno. En caso de tener
subsistemas 1como puede ser internet e intranet2 se crearan un directorio por
subsistema repitiendo el esquema.
# continuaci'n se muestra un esquema donde se puede observar donde se
encuentra cada uno de los elementos descritos en esta apartado. (e supone una
entrega del proyecto 6;9(< en el tag =*1.*1.**3
4
Ilustracin 1. Esquema de la carpeta de despliegues de CURSO
2.2 Nombrado de los entregables
6ada entregable tendr) un nombre del proyecto m)s la versi'n a desplegar. /a
normativa del proyecto y versi'n viene definida en el documento general de la >u&a de
Est)ndares.
/os fic+eros pom.xml indican la siguiente informaci'n.
<groupId> ? nombre del paquete o grupo al que pertenece el proyecto.
En general ser) de la forma es.iam.grupoId, d'nde grupo"d es
@areaAegocioB.@acronimo#plicativoB.
<artifactId> ? nombre del artefacto a empaquetar que representa.
<version> ? versi'n del aplicativo que debe coincidir con el del
artefacto. Ao es necesario indicarlo si corresponde a un m'dulo debido
a que coincide con la versi'n definido en el pom padre.
<packaging>? indica el tipo de empaquetado. ear% ar% jar% pom% ejb...
5
/os m'dulos !#9% 4EC y E!C empaquetados dentro de un E#9 deben tener la
misma versi'n que el E#9. Es obligatorio que el pom.xml que realiza el empaquetado
del E#9 contenga la versi'n a entregar.
2.3 Versionado de empaquetados
/os empaquetados j2ee tienen un fic+ero especifico $ED#?"AEF$#A"EE(D.$E
que permite especificar propiedades de ese empaquetado 1sea jar% ar ' ear2. ;na de
las propiedades de dic+o fic+ero es G"mplementacion?=ersionG que permite especificar
la versi'n del aplicativo. Esto permite conocer la versi'n desplegada de la aplicaci'n a
trav7s de la consola de 4eb(p+ere.
2.4 ol!tica de empaquetado de librer!as
(olo se podr)n usar% y por tanto empaquetar% las librer&as aprobadas por el "#$
que se encuentran publicadas en el gestor de artefactos corporativo.
Hay que tener en cuenta que algunas librer&as% aunque est7n 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.
/as siguientes librer&as se encuentran ya desplegadas en los servidores 4#(
del "#$ por lo que no deben ser incluidas en el empaquetado de los aplicativos.
#3" (tand#lone e#(ID(3Iv6.2.J
base.jar
classes12.jar
db2java.zip
db2jcc.jar
db2jccIlidenseIcu.jar
msbase.jar
msqlserver.jar
msutil.jar
ojdbc12.jar
ojdbc14Ig.jar
ojdbc5.jar
6
spy.jar
sqlsever.jar
util.jar
Ao se deben tampoco incluir librer&as propias de servidores de aplicaciones o
de la jdK% por ejemplo.
ant?antlr?L
core.jar
ffdc.jar
ffdc.jar
ivjejb35.jar
j2ee.jar
jaas.jar
jbossL.jar
jbossL.properties
jcert.jar
jdbc2I*?stde-t.jar
jnet.jar
jsse.jar
jstl.jar
jta.jar
namespace.jar
rt.jar
server.jar
servlet.jar
-ml.jar
J
Ao se deben empaquetar jar necesarios tan solo para realizar las pruebas del
sistema.
cactusL.jar
jmocKL.jar
jtestcvaseL.jar
junitL.jar
mocKitoL.jar
poermocKL.jar
strutstestL.jar
2.5 Elementos a e"cluir del empaquetado
En este apartado se listan los elementos que no deben estar presentes en el
empaquetado final de ninguno de los m'dulos de un aplicativo.
Eic+eros obsoletos% por ejemplo% con e-tensi'n .old
Eic+eros duplicados con e-tensiones diferentes% por ejemplo% .desarrollo
y .producci'n.
,uplicaci'n de una misma librer&a 1.jar2 con diferente versi'n.
6arpetas y fic+eros propios del sistema de control de versiones.
,escriptores o fic+eros de configuraci'n propios de otros servidores de
aplicaciones.
,iferentes versiones de descriptores o fic+eros de configuraci'n
1eb.-ml.desarrollo2
#rc+ivos con el c'digo fuente no compilado 1.java2
6lases de prueba de la aplicaci'n 1por ejemplo !;nit2% ni clases que
implementen sentencias assert.
6lases que implementen un m7todo main% puesto que son aplicaciones
4EC y no aplicaciones cliente.
6ontenidos est)ticos del aplicativo. =er apartado 9ecursos est)ticos
#rc+ivos de configuraci'n dependientes del entorno. =er #rc+ivo con
recursos dependientes del entorno
5
3 'espliegue del aplicati%o
3.1 $omponentes de la %ersin a desplegar
En esta arquitectura "#$ 4#( 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 versi'n que se entrega al ,pto. de Decnolog&as 4eb.
3.1.1 Contenido del EAR
(olamente se permite el despliegue de artefactos E#9 en el servidor 4#(.
6onsideramos la siguiente estructura est)ndar de directorios para los
aplicativos E#9.
/Directorio raz del ER
!R 1
"
!R #
E$% 1
"
E$% #
li&
'E()I#*
application.+ml
'#I*ES(.'*
/os m'dulos 4eb y E!C se empaquetan en el directorio ra&z del E#9.
El directorio lib debe contener las librer&as compartidas por todos los m'dulos
empaquetados en el E#9% salvo las librer&as compartidas a nivel de servidor definidas
en el apartado 3ol&tica de empaquetado de librer&as.
El fic+ero META-INF/MANIFEST.MF se genera durante el proceso de
empaquetado realizado con $aven. ,ebe contener la siguiente informaci'n.
M
Manifest-version !."
#uild-$d% &'ersi(n del $)* usado para +ompilar,
-reated-#. &uso de Maven +omo /erramienta de empa0uetado,
Implementa+ion-'ersion &versi(n del apli+ativo,
El descriptor de despliegue de la aplicaci'n META-INF/appli+ation.xml debe
cumplir con la especificaci'n !2EE 1.4 para 4#( 6.1 o !ava EE 6 para 4#( 5. ,ebe
contener una referencia a los distintos m'dulos 4EC o E!C a desplegar as& como el
+ontext root de cada m'dulo.
9especto a los descriptores de despliegue% el E#9 no debe incluir la carpeta
META-INF/ibm+onfig% ya que deber)n utilizarse los recursos definidos a nivel de
servidor 4#(.
El nombre del fic+ero .E#9 tiene que corresponderse con el context root del
m'dulo 4eb principal% el cual debe coincidir con el acr'nimo de la aplicaci'n y
conte-to que se +aya indicado en el documento ,espliegue de #plicaci'n 4eb .
3.1.2 Contenido del WAR
6ada m'dulo 4eb 1aplicaci'n o servicio eb2 contenido en el E#9 se
empaqueta en un fic+ero 4#9 que tendr) la siguiente estructura.
/Directorio raz del !R
!E%)I#*
,sp
classes
'E()I#*
rc-i.os de con/iguracin independientes del
entorno
li&
0e&.+ml
'E()I#*
'#I*ES(.'*
/os arc+ivos jsp deben estar bajo el directorio 1E#-INF/2sp pudiendo este
tener subdirectorios para facilitar el ordenado de las jsp.
El directorio 1E#-INF/+lasses contiene las clases java compiladas as& como
los fic+eros de recursos propios de la aplicaci'n y no dependientes de entorno.
El directorio lib Nnicamente debe contener las librer&as !#9 usadas
e-clusivamente por el m'dulo 4eb.
El fic+ero META-INF/MANIFEST.MF debe contener la siguiente informaci'n.
1*
Manifest-version !."
#uild-$d% &'ersi(n del $)* usado para +ompilar,
-reated-#. &uso de Maven +omo /erramienta de empa0uetado,
Implementa+ion-'ersion &versi(n del apli+ativo,
El descriptor de despliegue 1E#-INF/3eb.xml debe cumplir con la
especificaci'n de servlets 2.4 para 4#( 6.1 y servlets 3.* para 4#( 5.*
6ualquier fic+ero de configuraci'n no dependiente del entorno ir) incluido
dentro del directorio 1E#-INF.
3.1.3 Contenido de mdulos jar.
El fic+ero META-INF/MANIFEST.MF debe contener la siguiente informaci'n.
En caso de que el jar contenga en su interior E!C se empaquetaran junto con
su descriptor de despliegue
3.1.4 Recursos estticos
3odemos considerar recursos est)ticos a los arc+ivos +tml 1.+tm% .+tml2% los
documentos de ayudaFmanuales 1.doc% .pdf2% las carpetas con +ojas de estilo 1.css2%
carpetas con im)genes 1.jpg% .gif% .png2 y arc+ivos javascript 1.js2% etc.
Estos elementos deben entregarse en un arc+ivo :"3 independiente al E#9 tal
y como se indica en el apartado Empaquetado de los m'dulos% pues se despliegan en
el servidor eb frontal "C$ HDD3 (erver. Dodo lo referente al runtime de los #pplets
tambi7n tiene que ser entregado conjuntamente con la parte est)tica y no con el E#9
de la aplicaci'n.
En una aplicaci'n con varios m'dulos 4#9% para poder diferenciar los posibles
conte-t roots% los recursos est)ticos deber)n ubicarse bajo un directorio con el
identificativo de cada conte-t root.
#l menos se debe incluir una p)gina est)tica 1+ome.+tm% inde-.+tm%...2% la cual
ser) declarada en el descriptor 3eb.xml como 3el+ome file. ,ic+a p)gina ser) el punto
de entrada inicial en las aplicaciones que requieren ((/.
3.1.5 Archivo con recursos dependientes del entorno
(i se dispone de fic+eros de configuraci'n 1.properties% .O$/% etc.2 y sus
propiedades dependen del entorno en que se encuentra desplegado% se entregar)n en
un arc+ivo :"3 adicional tal y como se indica en el apartado PEmpaquetado de los
m'dulosQ% que se desplegar) en el repositorio de recursos de los servidores 4#(. (e
agrupar)n en una carpeta para su despliegue en preproducci'n y otra para su
11
Manifest-version !."
#uild-$d% &'ersi(n del $)* usado para +ompilar,
-reated-#. &uso de Maven +omo /erramienta de empa0uetado,
Implementa+ion-'ersion &versi(n del apli+ativo,
despliegue en producci'n y cuando dic+os recursos se modifican con la actualizaci'n
de versi'n 1o es el primer despliegue2 deben incluirse en la entrega.
3ara aplicaciones a desplegar en plataforma 4#( 5 se entregar) en un Nnico
fic+ero% denominado servicios"#$.properties% todas aquellas propiedades de los
servidores "#$ yFo acceso a los mismos% a cumplimentar por las unidades de
(istemas.
Estos fic+eros incluyen.
Eic+eros con par)metros propios de la aplicaci'n cuyos valores
dependen del entorno
Eic+eros con datos de servicios e-ternos 1;9/s% m)quinas% usuarios de
cone-i'n% etc.2
/og4!.properties o similar
#lmacenes de certificados propios de la aplicaci'n
(e debe declarar un perfil 1profile2 en el script de .pom padre que permita el
empaquetado del arc+ivo :"3 para al menos el entorno de preproducci'n y producci'n.

3ara preproducci'n el perfil tendr) el identificador pre y para producci'n tendr)
el identificador pro. En caso de crear un perfil para desarrollo su identificador ser)
desa y este ser) el perfil por defecto. #s& los comandos a ejecutar por entorno ser)n
como siguen.
(e podr)n crear perfiles adicionales siempre y cuando se ejecuten junto con los
perfiles obligatorios. 3or ejemplo mvn +lean pa+%age 45 pre,internet.
En el documento $anual D7cnico de ,espliegue de #plicaci'n 4eb% se
deber)n indicar los par)metros dependientes de cada entorno% independientemente de
que los fic+eros ya contengan dic+as modificaciones% ya que se verificar) que los
valores son correctos antes de proceder a su despliegue.
12
Entorno de desa mvn +lean pa+%age 45 desa
6o mvn +lean pa+%age .a 0ue es el de por defe+to7
Entorno de pre mvn +lean pa+%age 45 pre
Entorno de pro mvn +lean pa+%age 45 pro
3.1.6 Documentacin
/a documentaci'n a aportar% para solicitar la petici'n de despliegue de la
aplicaci'n% se encuentra indicada en la gu&a de est)ndares en el apartado "#(.
3.2 $on&guracin de conte"to
/os +ontext roots deben ser Nnicos en todo el "#$ para evitar problemas de
colisi'n con otras aplicaciones y se deben evitar conte-tos estereotipo como
PFservletsQ. 3ara ello% se debe anteponer en el conte-t root los 5 caracteres que se
correspondan con el acr'nimo de la aplicaci'n a la que pertenecen.
3.3 'espliegues con E()s
(e pro+&be la utilizaci'n de E!C 2.-.% que requiera generaci'n de clases y
despliegues. En caso de ser necesario su uso deber) ser justificado y se indicar) en el
documento P$anual D7cnico de ,espliegue de #plicaci'n 4ebQ de la aplicaci'n. Este
documento deber) indicar que la aplicaci'n requiere el despliegue de los E!Cs.
3.4 'espliegues con *ebser%ices
/a >u&a de Est)ndares define pautas espec&ficas para el desarrollo de servicios
eb para el "#$ en su ane-o P$anual de (ervicios 4ebQ
En el documento PManual T8+ni+o de )espliegue de Apli+a+i(n 1eb9 se debe
indicar que la aplicaci'n requiere el despliegue de los servicios eb% para que en la
instalaci'n de dic+o E#9 se marque el despliegue de los mismos.
4 $on&guracin para arquitectura 0+1
*+,
4.1 'escriptores de despliegue
/os descriptores de despliegue son los fic+eros O$/ normalizados que
contienen informaci'n como el conte-t root de la aplicaci'n eb% la declaraci'n de los
recursos de la aplicaci'n 1datasources% url%...2% los m'dulos E!Cs y 4eb% etc.
# parte de los descriptores appli+ation.xml y 3eb.xml% el E#9 a implantar en la
plataforma "#$ debe incluir los descriptores necesarios para el despliegue en el
servidor 4#(. /as propiedades que se indiquen en ellos para el despliegue de la
aplicaci'n% ser)n comprobadas en la instalaci'n. (i dic+as propiedades no +an sido
justificadas en el documento P$anual D7cnico de ,espliegue de #plicaci'n 4eb9%
pueden ser ignoradas o cambiadas en su instalaci'n.
13
En concreto% se ignorar)n las propiedades de los descriptores bajo la carpeta
META-INF:ibm+onfig del E#9% ya que deber)n utilizarse los recursos definidos a nivel
de servidor 4#(.
6on respecto a las propiedades de despliegue de los m'dulos 4eb se
recomienda tener configurado en a los descriptores appli+ation.xml y 3eb.xml los
siguientes elementos.
<display-name> 1application.-ml2. debe coincidir con el conte-to de la
aplicaci'n% es decir% si +ay varios m'dulos ar ind&quese el que se
considere como principal.
<context-root>. identificativo de la aplicaci'n y proyectoR se
recomienda que el conte-to de todos los m'dulos de las aplicaciones
del mismo proyecto comiencen por 3?4 letras relativas al mismo% por
ejemplo. >"DE% >"DEI"AE% >"DEI4(
<servlet-mapping>. mapeo de ;9/s a servlets
<elcome-file-list>. al menos debe declararse la p)gina est)tica de
inicio entregada con los componentes est)ticos% fundamentalmente si
se trata de aplicaciones que requieren ((/
<error-page>. mapeo de errores 4-- y 5-- a una p)gina personalizada
de la aplicaci'n
<resource-def>. para definici'n de los pool de cone-iones a base de
datos% recursos ;9/% etc.
9especto al descriptor ibm-3eb-ext.xmi de 4#(% localizado en el directorio
4EC?"AE del 4#9% se tendr) en cuenta.
file!erving"na#led$"false":des+abilita el servicio de p)ginas
serve!ervlets%y&lassname"na#led$'false'. los servlets deben
servirse solamente a trav7s de una ;9" 9eferente% sin embargo% si esta
propiedad est) +abilitada% el servlet puede ser invocado especificando
el nombre de la clase. 3or motivos de seguridad% esta propiedad debe
de estar a false.
reloading"na#led$'false'( des+abilitar la recarga de clases a nivel de
4eb $odule. En el servidor 4#( esta recarga se +abilita a nivel de
aplicaci'n cuando es necesario.
)sp*ttri#utes reload"na#led$'false'. espec&fica si se +abilita la
recarga de clases cuando un !(3 es modificado. En el servidor 4#(
esta recarga se +abilita a nivel de aplicaci'n cuando es necesario
14
Ao deber)n entregarse descriptores propios de otros servidores de
aplicaciones 1jboss?eb.-ml% etc.2. Dambi7n debe tenerse especial cuidado en no
entregar diferentes versiones de los descriptores 1eb.-ml.desarrollo2 o fic+eros
obsoletos de los mismos 1eb.-ml.old2.
4.2 $on&guracin de $arga de clases
El +lassloader mode de la aplicaci'n se recomienda que sea en modo
3#9EADIE"9(D% lo que implica la utilizaci'n de las librer&as ya disponibles en 4#(
siempre que sea posible% evitando sobrecargar la memoria del servidor java con clases
en e-ceso% pero se admite tambi7n carga de clases 3#9EADI/#(D.
3or otra parte% si +ay m)s de un m'dulo 4EC% se recomienda que la pol&tica
del 4#9 est7 a nivel de $<,;/E y en ese caso debe incluirse en la documentaci'n la
carga de clases a aplicar en cada m'dulo.
4.3 $on&guracin en el ser%idor *+, relati%a a la
aplicacin
/os par)metros que afecten al rendimiento de las aplicaciones desplegadas se
deben configurar a nivel de servidor y no ir embebidos en el c'digo de la aplicaci'n.
Esto tiene un doble objetivo.
/a normalizaci'n del procedimiento de configuraci'n
El cambio din)mico de las propiedades.
Deniendo en cuenta que varias aplicaciones van a compartir el mismo servidor
4#(% cualquier par)metro que una aplicaci'n necesite cambiar a nivel de servidor%
debe de ser acordado y aprobado de antemano.
4.3.1 Confguracin de la Sesin
Ao se debe incluir informaci'n sobre tiempo de sesi'n en el descriptor 3eb.xml.
Este dato se configura a nivel de aplicaci'n en el servidor 4#(. Diempo de e-piraci'n
de la sesi'n. El valor por defecto ser) de 3* minutos. Ao debe indicarse en el fic+ero
3eb.xml ni modificarse por c'digo este valor% pues de esta forma% en el servidor 4#(
se podr) modificar convenientemente el valor para la aplicaci'n ya desplegada.
3or defecto los servidores de "#$ no tendr)n +abilitada la r7plica de sesi'n
para evitar utilizar procesamiento y recursos innecesarios por el propio aplicativo% ya
que esta opci'n incide en el rendimiento de la aplicaci'n y puede ocasionar problemas
serios de gesti'n de la memoria. En el caso de que la aplicaci'n necesite dic+a
replica% +abr) que indicarlo en el documento P$anual D7cnico de ,espliegue de
#plicaci'n 4eb9 y asegurarse de.
15
Sue si se utiliza HDD3(ession% todo lo que est7 incluido sea serializable.
El tama8o de HDD3(ession debe reducirse al m)-imo.
4.3.2 Recarga de clases y S!s
#unque en el descriptor ibm-3eb-ext.xmi% localizado en el 4EC?"AE de la
aplicaci'n% se +ayan incluido los atributos relativos a la recarga de clases% estos ser)n
ignorados y configurados en el servidor 4#(.
En el entorno de desarrollo se +abilitar) la recarga de clases a nivel de 4eb
$odule% as& como la recarga cuando un !(3 es modificado. #dem)s% se proporcionar)
un procedimiento autom)tico de parada?despliegue?arranque de la aplicaci'n.
(in embargo% en los entorno de preproducci'n% formaci'n y producci'n la
recarga de clases y !(3s estar) des+abilitada% pues no se realizan despliegues de
componentes aislados. 3or defecto% tampoco se realizar) una precompilaci'n de !(3
en el despliegue de las aplicaciones para minimizar el tiempo de parada de servicio.
,e ser necesaria la recarga de los !(3% debe ser e-presamente documentado en el
$anual D7cnico de ,espliegue.
4.3.3 !ropiedades personali"adas a nivel de servidor
En determinadas circunstancias puede ser necesario especificar propiedades
personalizadas que modifiquen el comportamiento por defecto del contenedor 4eb del
servidor de aplicaciones.
#n)logamente% las propiedades personalizadas en la !=$ se utilizan para
modificar el comportamiento de la !=$ as& como definir variables espec&ficas que
estar)n disponibles para su uso por las aplicaciones desplegadas en el servidor de
aplicaciones.
#lgunas de estas propiedades ya est)n incorporadas por defecto en los
servidores de la plataforma "#$ 4#(% pero otras deben solicitarse e-presamente y su
incorporaci'n se realizar) una vez est7 aprobado el cambio% dado que afecta a todas
las aplicaciones en el servidor.
NIVEL PROPIEDAD
PERSONALIZADA
USO POR DEFECTO
Contenedor
WEB
com.ibm.ws.webcontainer.
invokefilterscompatibility
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 !"# est$ mapeada a
%o activa
16
un servlet o a un fic&ero antes de
enviar las peticiones a la cadena de
filtros, de modo que se producira
un error '(' si no e)istiera esta
propiedad
Contenedor
WEB
com.ibm.ws.webcontainer.
disallowAll*ileServing
Esta propiedad impide que las
aplicaciones puedan servir
contenido est$tico desde el servidor
de aplicaciones,
independientemente de la propia
configuraci+n de la aplicaci+n. ,odo
este tipo de contenido se deber
proporcionar a trav-s del servidor
Web
Activa
Contenedor
WEB
com.ibm.ws.webcontainer.
disallowserveservletsbyclassna
me
Esta propiedad impide que se
puedan invocar a los servlets
directamente a trav-s del nombre
de la clase para evitar posibles
riesgos de seguridad.
Activa
Contenedor
Web
.ttpSession/d"euse Esta propiedad determina si el
gestor de sesiones puede usar el
identificador de sesi+n enviado del
navegador para preservar los datos
a trav-s de aplicaciones Web que se
est$n e0ecutando en un mismo
dominio.
%o activa
123 WAS456"EC!"S7S
WAS86"EC!"S7S
Esta propiedad se usa desde los
aplicativos para conocer la ruta de
los recursos de las aplicaciones.
Activa
123 WAS456#79S
WAS86#79S
Esta propiedad se usa desde los
aplicativos para conocer la ruta de
los fic&eros de logs de las
aplicaciones
Activa
123 WAS456SE"2E"6%A3E
WAS86SE"2E"6%A3E
Esta propiedad permite conocer el
nombre del servidor de aplicaciones
en el que se est$ e0ecutando la
aplicaci+n. Este nombre puede
usarse como parte de la
nomenclatura de fic&eros %AS.
Activa
123 &ttp.non:ro)y.osts ;+ &ttps<
&ttp.pro)y.ost
&ttp.pro)y:ort
&ttp.pro)ySet
Configuraci+n de pro)y para
llamadas a servicios e)ternos al
/A3.
%o activa
1J
En el $anual D7cnico de ,espliegue se especificar)n los valores que deben
asignarse para cada uno de estos par)metros cuando no sean los valores por defecto.
Estos valores pueden variar entre el entorno de desarrollo y producci'n% pero siempre
deber)n indicarse los que correspondan al entorno de producci'n% los cuales ser)n
aplicados tambi7n en el entorno de preproducci'n
4.4 $on&guracin de propiedades espec!&cas de la
aplicacin
/a especificaci'n !2EE o !ava EE recomienda acceder siempre a los recursos
e-ternos mediante un 9esource $anager% y en concreto% para los fic+eros de
configuraci'n propios de la aplicaci'n% la forma adecuada es definirlos mediante ;9/s
gestionadas por el ;<= <esour+e Manager. Estos recursos ;9/ deben ser creados en
el 4#( la primera vez que se necesite por la aplicaci'n y podr)n ser reutilizados por el
resto de aplicaciones del proyecto. Es el caso de la direcci'n ;9/ del eb(ervice de
u4eb% que ya est) definido a nivel de servidor 4#( y por tanto disponible para que
todas las aplicaciones tengan dic+a informaci'n independizada del entorno.
/a configuraci'n de par)metros de la aplicaci'n dependientes del entorno
seguir) estas pautas.
;9/s generales del "#$% por ejemplo direcci'n del eb(ervice de u4eb. se
utilizar)n recursos ;9/ creados en el 4#(.
;9/s espec&ficas de la aplicaci'n% por ejemplo% llamadas a ebservices
creados en el )mbito del proyecto. se agrupar)n en uno o varios fic+eros
.properties o .-ml.
3ar)metros propios de la aplicaci'n. se agrupar)n en uno o varios fic+eros
.properties o .-ml.
,irecciones de los recursos A#( propios de la aplicaci'n. se incluir) ese dato
dentro de un fic+ero de propiedades
Eic+eros de configuraci'n de trazas 1log4j.properties% etc.2. se ubicar)n junto
con los fic+eros de propiedades.
/os fic+eros de propiedades se ubicar)n en un repositorio Nnico de la
plataforma 4#( y se acceder) a ellos mediante el recurso ;9/ url/miApli+a+ion% Nnico
para cada aplicaci'n.
3ara aplicaciones a desplegar en plataforma 4#( 5 se entregar) en un Nnico
fic+ero% denominado servicios"#$.properties% todas aquellas propiedades de los
15
servidores "#$ yFo acceso a los mismos% a cumplimentar por las unidades de
(istemas.
5 2tili3acin de recursos
5.1 )ase de datos
En lo relativo a base de datos se deben seguir las siguientes indicaciones tanto
a la +ora de solicitar su creaci'n como para acceder a ella desde una aplicaci'n
desplegada en un servidor 4#(.
5.1.1 .ilegroup
/a base de datos deber) tener definidos de forma obligatoria para el entorno
productivo los siguientes filegroupTs.
39"$#9U para albergar las tablas del sistema
E>I,#D#nn para albergar tablas de datos. 1nn VW*1 XWMM2
E>I"$>nn para albergar im)genes 1si las +ubiere2.
E>IDEOnn para albergar te-tos 1si los +ubiere2.
E>I"A,nn para albergar &ndices no cluster.
5.1.2 Nomenclatura de &c/eros
# la +ora de crear la base de datos los nombres de los fic+eros de base de
datos ser)n similares a.
>.YnombreIbdY,atosYprimaryI*1.mdf
>.YnombreIbdY,atosYAombreIfic+eroIdata*1.ndf
>.YnombreIbdY"magenesYAombreIfic+eroIimg*1.ndf
>.YnombreIbdY"ndicesYAombreIfic+eroIind*1.ndf
>.YnombreIbdY/ogYAombreIfic+eroIlog*1.ldf
5.1.3 ndices
Dodo &ndice no cluster deber) ubicarse en los file groups 1E>I"A,nn2 definidos
para ello.
Ao definir &ndice por la clave primaria% pues la definici'n de la clave primaria ya
lleva impl&cita la creaci'n de un &ndice.
,efinir &ndices por las columnas sobre las cuales +aya definida una relaci'n de
integridad 1foreign Key2.
(i se crean &ndices por varias columnas colocar primero la columna que sea
m)s selectiva% es decir% por la que no se repitan muc+o los valores y despu7s
las menos selectivas.
1M
/os &ndices sobre columnas que tiene muc+a informaci'n duplicada no son
eficientes.
,efina &ndices clustered si necesita +acer consultas sobre un rango de valores
u ordenar datos por medio de >9<;3 CU u <9,E9 CU.
5.1.4 articionamiento
En aquellas tablas en las que se estime un nNmero muy elevado de filas% del
orden de m)s de 1 mill'n% deber) implementarse el particionamiento de la misma
+abilitando para ello la definici'n de funci'n y esquema de particionamiento.
5.1.5 +cceso a base de datos desde *+,
/os servidores de Cases de ,atos corporativos sobre los que las aplicaciones
desplegadas en entorno 4#( deben trabajar fundamentalmente son (S/ (erver 2**5
y <racle 1*g. En cualquier caso% los proveedores de datos para (S/ (erver que
deben utilizarse ser)n los incluidos en el servidor de aplicaciones para la versi'n 4#(
6% debi7ndose utilizar los drivers !,C6 que proporciona $icrosoft para la versi'n 4#(
5.
4#( 6.
o 4eb(p+ere embedded 6onnect!,C6 driver for $( (S/ (erver 1(S/
(erver 2*** y 2**52
o <racle !,C6 ,river 1<racle M ' 1*2
o ,C2 ;niversal !,C6 ,river 3rovider 1,C2 vJ y v52
o ,C2 ;,C for i(eries 1Doolbo-2 1#(4**2
4#( 5.
o $icrosoft (S/ (erver !,C6 ,river 2.* F 3.* 1(S/ (erver 2*** y 2**52
o <racle !,C6 ,river 1<racle M ' 1*g2
o ,C2 ;niversal !,C6 ,river 3rovider 1,C2 vJ% v5 y superiores2
o ,C2 ;,C for i(eries 1Doolbo-2 1#(4**2
3ara el acceso a la base de datos las aplicaciones deber)n +acer referenciar a
un recurso de tipo datasour+e creado a nivel de c7lula 4#(% ofreciendo las ventajas
de los pool de cone-iones gestionado por el propio servidor 4#(. Esto significa que la
aplicaci'n no debe incluir en su empaquetado librer&as de proveedores para acceso a
las bases de datos% ni se deber)n abrir cone-iones directamente a la base de datos
sino +aciendo uso de las cone-iones proporcionadas por el pool definido en el
datasour+e del servidor 4#(.
El fic+ero en el que queda reflejado esta referencia es el descriptor eb.-ml.
2*
&resour+e-ref id>?<esour+e<ef@!ABCA!ABA"DEB?,
&des+ription, breve des+rip+i(n sobre la #) a la 0ue se aso+iarF &/des+ription,
&res-ref-name,2db+/mi)atasour+e&/res-ref-name,
&res-t.pe,2avax.s0l.)ataSour+e&/res-t.pe,
&res-aut/,-ontainer&/res-aut/,
&res-s/aring-s+ope,S/areable&/res-s/aring-s+ope,
&/resour+e-ref,
3uesto que estos recursos pueden ser compartidos por las aplicaciones
desplegadas en la c7lula% se tendr) que estimar si una nueva aplicaci'n puede o no
compartir el recurso ya creado% si debe ampliarse la capacidad de cone-iones
m)-imas a base de datos o si necesita una configuraci'n de par)metros espec&ficos.
Dodo ello debe venir debidamente documentado en el documento P)espliegue de
Apli+a+i(n 1eb9. En cuanto a la configuraci'n de estos datasource.
El nombre !A," del recurso seguir) el patr'n 2db+/&nom#),.
,ebe indicarse si se precisa transacciones del tipo O# o no.
AZ m&nimo de cone-iones. por defecto se establecer) a 1.
AZ m)-imo de cone-iones. por defecto a 1*% se recomienda no superar las 3*.
Diempo de espera por la cone-i'n. por defecto a 15* milisegundos.
(tatement cac+e size. Especifica el nNmero m)-imo de statements que puede
ser cac+eado por cone-i'n. (i la statement +a+/e no es lo suficientemente
grande% es posible que ciertas ejecuciones de 3repare(tatement y
6allable(tatement sean desec+adas para incluir otras nuevas. Hay que tener
en cuenta que este par)metro mejora el rendimiento de la aplicaci'n% pero que
puede afectar a otros recursos como es la memoria.
Aivel de aislamiento. propiedad personalizada que se configurar) cuando
venga justificado en el documento PManual T8+ni+o de )espliegue de
Apli+a+i(n 1eb9
9especto a los datos de autenticaci'n utilizado para la cone-i'n con la base de
datos.
/os usuarios de autenticaci'n para la cone-i'n se definir)n a nivel de servidor
4#(% pudi7ndose crear m)s de un usuario para corresponderse con diferentes
perfiles de permisos en base de datos.
o /a nomenclatura para usuarios con permisos de lecturaFescritura
seguir) el patr'n &nombre#),1E#
o /a nomenclatura para usuarios de s'lo lectura seguir) el patr'n
&nombre#),)ES
El usuario ser) distinto del propietario de la base de datos u esquema <racle%
definiendo en base de datos los permisos adecuados para cada perfil de
acceso.
El usuario a utilizar para conectividad desde la aplicaci'n eb debe ser distinto
al utilizado desde procesos batc+ o aplicaciones cliente.
5.1.6 Re#uisitos para la ejecucin de scripts
/os scripts entregados para su ejecuci'n en bases de datos de los entornos de
preproducci'n yFo producci'n deber)n incluir el lenguaje bajo el cual se van a ejecutar.
3or lo tanto deber) especificarse en cada script la siguiente sentencia. (ED
/#A>;#>E (3#A"(H ' (ED /#A>;#>E EA>/"(H segNn corresponda para la
correcta ejecuci'n del mismo.
21
En caso de utilizar gestor de base de datos <racle 1previa autorizaci'n del
comit7 de est)ndares2% es imprescindible especificar el idioma% territorio y set de
caracteres de la base de datos. 3or ejemplo% (3#A"(H% (3#"A y 4E5"(<555M31%
respectivamente.
5.2 .ic/eros de las aplicaciones
Ao se debe +acer uso del disco local del servidor 4#( generando documentos
desde las aplicaciones% lo que conlleva problemas de espacio y paralizaci'n del
servicio. 3or el mismo motivo% no se puede usar el +*! propio de la plataforma
,*! ya -ue derivar.a igualmente en una parada de los servicios.
3or ello% las aplicaciones a desplegar en ,e#!p/ere de#er0n venir
preparadas para tra#a)ar con carpetas contenedoras +*! propias del aplicativo.%
aplic)ndose en la generaci'n de.
Eic+eros de traza de la aplicaci'n a nivel "AE< o ,EC;>
Eic+eros temporales generados por la aplicaci'n% incluidos los fic+eros
temporales de cualquiera de los frameorKs o librer&as de terceros que utiliza
la aplicaci'n 1#O"(% etc.2
Eic+eros de tipo plantillas o formularios generados por la aplicaci'n
"nformes que se almacenen en disco
#rc+ivos documentales o im)genes generados o almacenados por la aplicaci'n
1a direcci2n al recurso +*! de#en configurarse mediante un recurso 341
del servidor ,*! o en alguna propiedad incluida en los fic/eros propios de la
aplicaci2n5 permitiendo su modificaci'n en funci'n del entorno de f&sico de ejecuci'n
sin necesidad de alterar el E#9.
"l recurso +*! ser0 gestionado por el 6pto. de 6esarrollo solicitante del
mismo% por lo que la pol&tica de borrado de fic+eros o ampliaci'n del espacio debe
asumirse dentro de dic+a gesti'n. En cualquier caso% la aplicaci'n puede verse
afectada si se queda sin espacio en dic+o recurso% por lo que recomendamos.
/os fic+eros temporales deben ser borrados por la propia aplicaci'n lo
antes posible o en su defecto tener un mecanismo de borrado a trav7s de
un proceso 1bat+/2 peri'dico.
22
El tama8o total de los fic+eros temporales% documentales% de trazas% etc.%
no debe de superar nunca el tama8o m)-imo pedido en el entorno de
ejecuci'n para cada aplicaci'n. 3ara ello% la aplicaci'n debe acotar
mediante configuraci'n el tama8o de los fic+eros y controlar las
e-cepciones por falta de espacio.
<bs7rvese la importancia de diferenciar el servidor de origen en el nombre
del fic+ero 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