Académique Documents
Professionnel Documents
Culture Documents
Da 2
Revisin de Unidad 1
Que es JAVA? Que es JBOSS? Cmo es la estructura de directorios de Jboss? Cules son las diferentes instancias? Cmo es la estructura de directorios de una instancia?
Que es JBOSS?
Es un Servidor de Aplicaciones J2EE open source que se ejecuta sobre java.
Conf:: Archivos de configuracin ledos por el servidor de aplicaciones en el inicio (salvo jbosslog4j.xml) Data: Directorio utilizado por servicios para lograr persistencia (Ej. Hipersonic) Deploy: Directorio donde se ubican los archivos de aplicaciones por desplegar por Jboss. Deployers: Aplicaciones que realizan los despliegues. (jbossweb.deployer) Lib: Libreras especificas de cada instancias Log: Directorio por defecto de ubicacin de logs. | | Tmp: Directorio temporal de las aplicaciones que estn en ejecucin. Work: Carpeta temporal utilizada para compilar archivos JSP.
Revisin de Unidad 2
Como instalar Jboss / Prerrequisitos Cmo controlar Jboss?
Revisin de Unidad 3
Archivos de Configuracin:
Run.conf Jboss-log4j.xml Loggin-config.xml *-ds.xml
Unidad 4
Desplegando aplicaciones Hot Deployment Expanded Deploy Mltiples instancias Configuracin de run.sh Configuracin de puertos Instalacin/configuracin de una aplicacin con Expanded Deploy
11
Tipo de Deploys
Hot Deployment
El servicio de hot deployment es el encargado de buscar cada cierto periodo de tiempo cambios en la carpeta ./deploy Este servicio es utilizado en entornos de desarrollo ya que permite desplegar y replegar aplicaciones fcilmente sin detener el servidor. Esta ubicado en la carpeta ../deploy/ El archivo que se encarga de configurar este servicio es: hdscanner-jboss-beans.xml No es aconsejable la implementacin del mismo en el entorno productivo.
12
Tipo de Deploys
Expanded Deploy
Adems de aplicaciones empaquetadas (ZIP) el jboss permite instalar aplicaciones que estn completamente expandidas. Como ya mencionamos existen los archivos empaquetas (*.war *.ear *.sar *.jar) estos archivos son faciles de distribuir pero no nos permiten de modificar el contenido de la aplicacin fcilmente. El jboss durante el inicio realiza la descompresion de todos paquetes de cada aplicacin (*.WAR). Se realiza un Expanded Deploy cuando la aplicacin es lo suficientemente grande para afectar la performance durante el deploy.
13
Deploy de Aplicaciones
El despliegue de una aplicacin se realiza copiando un archivo (WAR) o, en caso de Expanded Deploy, la estructura de directorio de la aplicacin a la carpeta ../deploy. Este mismo procedimiento se utiliza para los archivos de datasource y otros servicios. Luego se procede a comprobar el server.log
Para la desinstalacion se debe eliminar o mover la aplicacin fuera del directorio ../deploy
14
15
Mltiples instancias
Cuando cada vez hay mas aplicaciones o mas accesos sobre la misma, lo recomendable es crecer horizontalmente. Crecer Horizontalmente: Generar nuevas instancias que compartan la carga de una misma aplicacin u otra. Ventajas de Crecer Horizontalmente versus una nica instancia con varias aplicaciones:
Una aplicacin que falle puede afectar parcial o totalmente el desempeo de la JVM. En consecuencia dejar el resto de las aplicaciones dentro de la instancia de Jboss indisponibles. Permitir configurar cada aplicacin con los requerimientos especficos de la misma(Libreras, tamaos de memoria, etc.) Es recomendable no superar los 2 GB de memoria Heap ya que cada Garbage Collection demorara mucho tiempo congelando la aplicacin hasta que los mismos concluyan.
16
Mltiples instancias
Consideraciones previas:
Para que cada instancia tenga parametros de memoria distintos se deben generar diferentes scripts de arranque (run.sh). Cada run.sh de instancia debe especificar en la variable RUN_CONF la ruta completa del archivo run.conf de esa instancia. Se debe tener especial cuidado en la eleccin de puertos evitando el solapamiento de instancias. Verificar las polticas de logueo si se desea almacenar los logs de mltiples instancias en un mismo directorio.
17
Mltiples instancias
<instancia>/conf/bindingservice.beans/META-INF/bindingsjboss-beans.xml Archivo de configuracin que contiene los BindingSet que luego pueden asignarse a diferentes instancias. Los mismos definen la variacin o offset de los puertos por defecto. El archivo ya contiene 3 BindingSet que permiten ejecutar mltiples instancias sin necesidad de crearlos.
18
bindings-jboss-beans.xml
Estndar Modificado
Para Crear un BindingSet diferentes a los estandares debemos: Incorporar tantas lineas como BindingSet se desee crear: <inject bean=Nombre del BindingSet"/>
19
bindings-jboss-beans.xml
Estndar Modificado
20
bindings-jboss-beans.xml
Agregamos al archivo de configuracin dos nuevos bloques de Binding. Tenemos que tener en cuenta 3 valores:
Respetar el nombre del bindingSet declarado al inicio. (1) Fijar un nombre del set. (2) Definir una diferencia entre este set y los puertos default. (3)
21
bindings-jboss-beans.xml
La definicin de los parmetros anteriores dentro del archivo solo es til si la instancia hace uso de esos nuevos BindingSet. Para ello existen 2 formas de realizarlo: 1. Por parmetro al momento de inicio: 2. Modificar la lnea del archivo bindings-jboss-beans.xml
NOTA: Tener en cuenta el nombre del bloque de Binding, No el valor Inject bean
22
Consola de Instancia . D1
Consola de Instancia . D2
23
Revisin de Unidad 4
Cuantos tipos de Deploy Existen? Si configuro Hot Deploy no puedo tener aplicaciones instaladas Expanded Deploy. V / F Explique el procedimiento para instalar, comprobar y desinstalar una aplicacin. Qu archivo permite configurar los puertos de binding del servidor de aplicacin y donde esta ubicado? Teniendo en cuenta la siguiente imagen responda:
El puerto de conexin web es 8480 V / F En caso de ser falso: Como verificara los puertos? Al menos 2 alternativas.
25
Si configuro Hot Deploy no puedo tener aplicaciones instaladas Expanded Deploy. V / F Falso : Son dos configuraciones independientes.
26
Para desintalar:
Eliminar la aplicacin (Directorio o archivo). Aguardar la lnea del log de undeploy sucefully
Qu archivo permite configurar los puertos de binding del servidor de aplicacin y donde esta ubicado?
El archivo es el bindings-jboss-beans.xml y esta dentro de <instancia>/conf/bindingservice.beans/META-INF/
27
El puerto de conexin web es 8480 V / F Falso: El nombre asociado al parmetro -Djboss.service.binding.set=ports-8480 solo es un nombre de Binding Set puede tener cualquier valor de puerto.
Fin Unidad 4
29
Unidad 5
Mod_JK
Funcionalidad
Descargando Mod_JK
Apache-Tomcat
Mod_JK
El mod_jk es un conector que permite al web container Jakarta Tomcat interactuar con diferentes servidores web usando el protocolo AJP.
Mod_JK
La principal funcionalidad de este mdulo es permitir a servidores de aplicaciones o al servidor Jakarta Tomcat enlazarse con un servidor web. Este servidor web, tpicamente el servidor HTTP Apache, introduce una mayor gestin en las conexiones de los clientes y mayor seguridad en las transacciones del sistema. As mismo se puede enlazar varias instancias al servidor web permitiendo una mayor tolerancia a errores y aligerar la carga en los servidores de aplicacin.
32
Protocolo AJP
El Apache JServ Protocol (AJP) es, en el contexto de la World Wide Web un protocolo binario que permite enviar solicitudes desde un servidor web a un servidor de aplicaciones que se encuentra detrs del servidor web. Tambin permite monitoreo dado que el servidor web puede enviar un ping al servidor de aplicacin.
33
Protocolo AJP
Esquema del proceso de comunicacin entre el HTTP Server y el App Server
34
Descargando Mod_JK
Mod_jk fue diseado para ser utilizado por el webcontainer Apache-Tomcat. Jboss al incluir como web container a Apache Tomcat puede utilizar el protocolo AJP para realizar el enlace con Apache Http Server. El modulo de conector lo obtenemos del Website de Tomcat Conectors: http://tomcat.apache.org/download-connectors.cgi All encontraremos todas las versiones disponibles (Fuentes, Binarios, Versiones antiguas)
35
Descargando Mod_JK
Nosotros utilizaremos la versin Binaria correspondiente a nuestro S.O. y la versin de apache que utilizamos.
http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/linux/jk-1.2.30/i586/
Este archivo lo dejaremos en el directorio donde apache aguarda sus modulos ( /opt/lampp/modules ) y lo renombraremos a mod_jk.so
36
Mod_JK.conf
LoadModule jk_module modules/mod_jk.so Se encargara de indicarle al apache donde se encuentra el modulo mod_jk que tiene que iniciar JkWorkersFile etc/workers.properties Indica al modulo la ubicacion del archivo donde se definen los workers (workers.properties) JkLogFile logs/mod_jk.log Especifica la ubicacin del archivo donde se almacenaran los logs del modulo mod_jk.
38
Mod_JK.conf
JkLogLevel info Establece el nivel de log del modulo a info JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " Establece el formato de en el que se registraran los logs Una vez definidos todos estos parametros en el mod_jk.conf tendremos que editar el archivo httpd.conf y agregar la siguiente linea. Include etc/mod_jk.conf
39
Que es un Worker
Un worker es una instancia de Jboss que est esperando para ejecutar servlets por cuenta de algn servidor web. Por ejemplo, podemos tener un servidor web como Apache reenviando peticiones servlets a un proceso Tomcat (el worker que se ejecuta detrs de l) Por ende por cada instancia de Jboss que deseemos conectar al apache es necesario definir un Worker.
40
43
47
Fin Unidad 5
48
Unidad 6
SSL
Introduccin a SSL Sus principales caractersticas
49
Introduccin a SSL
Qu es SSL? SSL (Secure Socket Layers) es un proceso que garantiza un canal de comunicacin seguro entre 2 equipos distantes previo a un proceso de autenticacin. Sus principales caractersticas son:
Independiente del Protocolo segurizado (HTTP, POP, FTP,SMTP) Se basa en el concepto de clave publica y privada. Genera un tnel de comunicacin seguro. Es transparente para el usuario. Su implementacin es simple. Es un estndar desde 2001 de la IETF (Internet Engineering Task Force) pasndose a llamar TLS (Transport Layer Security).
50
2. El Servidor al recibir la peticin del cliente enva el certificado publico firmado por una
Entidad Certificadora Reconocida junto con el modo elegido. Como es lgico se elige el modo mas seguro compatible entre cliente y servidor.
3. El cliente verifica la validez del certificado (en consecuencia la confianza del servidor al
que se enviaran los datos). Luego genera una clave aleatoria que es cifrada por el certificado publico que envi el servidor al cliente en el paso 2.
5. De aqu en adelante ambos se comunican por el canal seguro ya que ambos comparten
una clave que solo ellos conocen.
51
52
Navegando Seguro
Acceso a la web por puerto seguro https://<ip>:8443/
Se registra la siguiente advertencia porque el certificado no cumple todos lo requisitos para ser confiable.
53
Navegando Seguro
El cliente se basa en los siguientes puntos para determinar que un certificado es valido y por consiguiente se debe confiar en la contraparte:
Fecha de Vencimiento del certificado Persona o empresa que firmo el certificado. El Dominio de emisin del certificado debe coincidir al visitado.
En este caso la entidad certificadora no es segura (AUTOFIRMADO) Y el dominio no es correcto.
54
Navegando Seguro
Para solventar el error del Dominio, en vista que el acceso se realizo por IP y no por hostname:
https://192.168.104.70:8443/
De esta forma el browser solo nos reportar el problema de autofirmado. NOTA: Esto no altera la encriptacin, los datos viajan seguros pero el cliente reporta que no confa en la contraparte.
55
Navegando Seguro
Para aprobar el uso de esta conexin verificamos los datos del certificado y aceptamos la excepcin:
56
Navegando Seguro
Todos los datos trasmitidos por la aplicacin son encriptados por el certificado generado. Es comn que empresas posean entidades certificadoras internas (que certifican webs de su intranet). Suelen incorporar los certificados como CA confiables en los repositorios del Sistema Operativo de las maquinas cliente, de esa forma cualquier certificado firmado internamente es confiable.
57
Fin Unidad 6
58