SERVIDORES DE OBJETOS

Post on 22-Jan-2016

44 views 0 download

description

SERVIDORES DE OBJETOS. Christian Andrés Castellanos 255988 Carlos Alberto Algarra 255888. SYBASE - EAServer ENTERPRISE APPLICATION SERVER. - PowerPoint PPT Presentation

Transcript of SERVIDORES DE OBJETOS

SERVIDORES DE SERVIDORES DE OBJETOSOBJETOS

Christian Andrés Castellanos 255988Christian Andrés Castellanos 255988

Carlos Alberto Algarra 255888Carlos Alberto Algarra 255888

SYBASE - EAServer SYBASE - EAServer ENTERPRISE APPLICATION ENTERPRISE APPLICATION

SERVERSERVER

EAServerEAServer es un conjunto de es un conjunto de herramientas y servidores de aplicaciones herramientas y servidores de aplicaciones

que se utilizan para implementar que se utilizan para implementar aplicaciones web distribuidas que aplicaciones web distribuidas que

soporten un alto volumen de tráfico, soporten un alto volumen de tráfico, contenido dinámico, y un intenso contenido dinámico, y un intenso

procesamiento de transacciones en línea.procesamiento de transacciones en línea.

• Power Dynamo

• Jaguar

• PowerJ

Está compuesto por:

• Adaptive Server Anywhere

• Integrador de Aplicaciones

•Es un servidor de aplicaciones que actúa como intermediario entre el servidor web y el DBMS.•Provee las herramientas necesarias para construir y administrar una aplicación web que contienen html estático y dinámico.•El servidor de aplicaciones procesa templates, que son paginas html con sql embedido, y dinámicamente genera páginas HTML para enviarlas al servidor web.

DYNAMODYNAMO

Es un servidor de componentes con la habilidad de servir componentes powerbuilder, Java(CORBA o Enterprise JavaBeans), ActiveX, o C++, a un cliente que hace llamadas a métodos .

Dynamo en algunos casos es cliente de Jaguar.

JAGUARJAGUAR

•Los componentes son módulos de código reutilizable que combinan tareas relacionadas o métodos.

•Residen en un servidor (por ejemplo un servidor jaguar) y puede ser usados por muchos programas diferentes, prescindiendo del leguaje de presentación del programa.

•Un cliente ejecuta los métodos de un componente.

COMPONENTESCOMPONENTES

•En lugar de crear un programa pesado, usted crea un cliente que contiene la interface y código de validación y varios componentes individuales que contienen la funcionalidad (business logic) de su programa.

•Los componentes Jaguar son instalados sobre un servidor jaguar y contienen los métodos que se ejecutan en la infraestructura del negocio, permitiendole acceder a fuentes de datos.

COMPONENTESCOMPONENTES

•El administrador instala el código ejecutable del componente sobre el servidor Jaguar.

•Los componentes pueden ser ditribuidos a través de una red (internet o intranet) sobre diferentes servidores.

•Los componentes instalados pueden ser usados por cualquier número de aplicaciones independientes.

COMPONENTESCOMPONENTES

•Se pueden utilizar diferentes herramientas de desarrollo (PowerJ, PowerBuilder, Visual Basic, Visual C ++)

•Modelos de componentes (java beans, java servlets, ActiveX, PowerBuilder nvo) para desarrollar componentes middle-tier e implementarlas sobre un servidor Jaguar.

•Se utilizan scripts para llamar los métodos de los componentes sobre el servidor jaguar.

CONSIDERACIONESCONSIDERACIONES

La infraestructura del lado del cliente para aplicaciones empresariales debe ser tan pequeña y eficiente como sea posible para conservar el ancho de banda de la red.

Particiones de la aplicación:

• Estructura de la Presentación

• Estructura del negocio

• Estructura de la base de datos.

•La estructura de la presentación reside en el escritorio del usuario, nivel alto, o es descargada dinámicamente al escritorio del usuario.

•La estructura del negocio reside en el nivel medio o servidor transaccional de componentes.

•La base de datos reside en el nivel inferior del sistema empresarial para mantener y asegurar la información de la organización.

ARQUITECTURASARQUITECTURAS

Tipicamente las aplicaciones usan una de las tres siguientes architecturas:

•Distribuida•web•Cliente / Servidor

Algunas aplicaciones requieren una combinación de las anteriores.

Arquitectura de aplicaciones Arquitectura de aplicaciones distribuidasdistribuidas

El cliente y el servidor trabajan juntos para desarrollar tareas para el usuario del negocio.

El cliente puede manipular todas las interacciones con el usuario mientras el servidor middle-tier provee servicios de fondo a el cliente.

Arquitectura de aplicaciones Arquitectura de aplicaciones distribuidasdistribuidas

El servidor middle-tier ejecuta muchos de los procedimientos y accesos a bases de datos.

Para invocar los servicios del servidor, el cliente llama un método o función asociado con un componente u objeto que reside en el servidor.

Arquitectura de aplicaciones Arquitectura de aplicaciones distribuidasdistribuidas

Jaguar CTS puede hospedar componentes powerbuilder, EJB, Java, ActiveX, y C/C++.

Cualquier tipo de cliente Jaguar puede acceder a cualquier tipo de componente corriendo en Jaguar, prescindiendo del lenguaje que fue utilizado para desarrollar el componente.

Arquitectura de aplicaciones Arquitectura de aplicaciones distribuidasdistribuidas

Arquitectura de aplicaciones Arquitectura de aplicaciones webweb

En una aplicación web, un browser web cliente envía peticiones o solicitudes por documentos HTML hacia un servidor web.

Los documentos pueden incluir referencias a otros recursos, tales como imágenes, archivos de sonido, plugins, Java applets, o controles ActiveX.

Arquitectura de aplicaciones Arquitectura de aplicaciones webweb

Algunos recursos de programas, tales como plugins y controles ActiveX, pueden requerir software adicional en el cliente o navegadores específicos.

Arquitectura de aplicaciones Arquitectura de aplicaciones webweb

Las páginas web también pueden contener scripts del lado del cliente y del lado del servidor.

•Los scripts del lado del cliente contiene instrucciones que son ejecutados sobre navegador.

•Los scripts del lado del servidor contiene instrucciones que son ejecutadas sobre un servidor de aplicaciones.

Arquitectura de aplicaciones Arquitectura de aplicaciones webweb

Un servidor de aplicaciones actua como un intermediario entre el servidor web y el DBMS.

El servidor de aplicaciones procesa las instrucciones empotradas (tales como sentencias SQL y scripts), forma la salida como HTML, y las envía al servidor web.

Arquitectura de aplicaciones Arquitectura de aplicaciones webweb

Arquitectura cliente/servidorArquitectura cliente/servidorEn una aplicación tradicional cliente/servidor, un programa corriendo en la máquina del cliente accede a una base de datos corriendo o ejecutandose en un servidor.

En el modelo del cliente/servidor, la interface del usuario y la estructura del negocio se encuentran juntos en el computador del cliente. El cliente puede opcionalmente incluir uno o más componentes.

Arquitectura cliente/servidorArquitectura cliente/servidor

EJEMPLOEJEMPLO

1. En un navegador Web, un usuario solicita una página.

2. El servidor Web pasa la solicitud al servidor de páginas, quien localiza el template para la página solicitada y ejecuta los scripts del template.

3. Los scripts conectan hacia el servidor de componentes, pasando información de la conexión a la base de datos.

4. Los métodos en el servidor de componentes obtienen los datos requeridos desde la base de datos y los genera una página HTML de forma dinámica, gracias a Dynamo.

5. El servidor de componentes retorna la página HTML al servidor de páginas.

6. El servidor de páginas reemplaza el script en la página Web solicitada con el HTML generado, y retorna la página al navegador Web por medio del servidor Web.

7. El usuario interactua con la página, puede solicitar otra página o actualizar información.

8. El servidor Web pasa la URL junto con los parámetros de acción al servidor de páginas y el ciclo se repite.

ASPASPACTIVE SERVER PAGESACTIVE SERVER PAGES

Microsoft introdujo esta tecnología llamada Active Server Pages en diciembre de 1996.

Es parte del Internet Information Server (IIS) desde la versión 3.0 y es una tecnología de páginas activas que permite el uso de diferentes scripts y componentes en conjunto con el tradicional HTML para mostrar páginas generadas dinámicamente.

El ASP es una tecnología dinámica funcionando del lado del servidor, lo que significa que cuando el usuario solicita un documento ASP, las instrucciones de programación dentro del script son ejecutadas para enviar al navegador únicamente el código HTML resultante.

Para insertar instrucciones ASP dentro del código HTML se incluye encerrado entre "<% %>". Estos comandos son los que procesa el servidor antes de enviar la página al navegador.

<P><% For I = 1 To 5 Step 1 %> <FONT SIZE="<%= I %>">Maestros del Web!</FONT><BR> <% Next %></P>

Maestros del Web!Maestros del Web!Maestros del Web!Maestros del Web!Maestros del Web!

•El lenguaje con el que se escribe (VBScript o Jscript) permite unas funcionalidades que no van más allá de las básicas de cualquier lenguaje: trabajo con variables, tipos, estructuras de control y un juego de funciones (que en el caso de VBScript es bastante limitado).

•Para hacer algo complejo en una página ASP, lo más seguro es que se deba realizar a través de algún componente, ejemplo ActiveX.

Para crear componentes de servidor se puede utilizar cualquier lenguaje de programación. Aunque muy habitualmente se hacen en Visual Basic, se pueden hacer también en Delphi, Visual C++ o el propio C++ por ejemplo. Para su programación es necesario que se sigan unas normas y estructuras.

La creación de un componente se hace a través del objeto server de ASP.

Set mi_componente = Server.CreateObject(IDENTIFICADOR)

El identificador que se le pasa es una cadena de caracteres que contiene el código del componente que se quiere crear.

Un componente suele ser un archivo .dll y es habitual que la instalación de esa dll se realice manualmente. Para ello se copia el archivo .dll en el directorio system del servidor, (\winnt\system32 en NT o \windows\system en Win95) y luego se registra la dll en el sistema con el comando

regsvr32 mi_componente.dll

Es liviano y puede correr en PCs normales que tengan Windows y un servidor web.

Se puede utilizar desde cualquier computadora que esté conectada a la red que tenga instalado un navegador.

Es muy fácil de programar, y tiene muchas utilidades que con una breve línea de aprendizaje pueden ser modificadas a su gusto.

VentajasVentajas

APACHEAPACHE

Apache: Servidor "libre" de HTTPApache: Servidor "libre" de HTTP

Originalmente basado en el servidor mas popular de la Originalmente basado en el servidor mas popular de la época: NCSA http a principios de 1995.  época: NCSA http a principios de 1995. 

Desde su origen a evolucionado hasta convertirse en uno Desde su origen a evolucionado hasta convertirse en uno de los mejores servidores en términos de eficiencia, de los mejores servidores en términos de eficiencia, funcionalidad y velocidad.  funcionalidad y velocidad. 

Apache es el servidor WWW mas popular del momento.  Apache es el servidor WWW mas popular del momento.  Apache a demostrado ser substancialmente mas rápido Apache a demostrado ser substancialmente mas rápido

que muchos otros servidores libres y compite de cerca con que muchos otros servidores libres y compite de cerca con los mejores servidores comerciales. los mejores servidores comerciales.

Apache es el número uno de los servidores web de todo el Apache es el número uno de los servidores web de todo el mundo. Más del 50% de los servidores de la red utilizan mundo. Más del 50% de los servidores de la red utilizan Apache.Apache.

Como Obtenerlo - LicenciaComo Obtenerlo - Licencia

Una de las características que atraen a más Una de las características que atraen a más usuarios es que el código fuente de Apache es usuarios es que el código fuente de Apache es gratuito, así se puede explorar, ver como está gratuito, así se puede explorar, ver como está hecho y si se quiere, modificarlo a tu gusto. hecho y si se quiere, modificarlo a tu gusto.

Este software gratuito lo podemos encontrar Este software gratuito lo podemos encontrar de dos formas: de dos formas: • Mediante FTP: en el sitio web Java.sun.com. Mediante FTP: en el sitio web Java.sun.com. • En la página web: www.apache.org Aquí encontrará En la página web: www.apache.org Aquí encontrará

las últimas versiones de Apache (estable y oficial), las últimas versiones de Apache (estable y oficial), parches, módulos, etc...parches, módulos, etc...

CompatibilidadCompatibilidad

Apache se puede instalar en WindowsApache se puede instalar en Windows y y LinuxLinux

Antes de instalar el servidor de Internet Apache es Antes de instalar el servidor de Internet Apache es necesario tener en cuenta que paquetes se requieren necesario tener en cuenta que paquetes se requieren previamente. Dependiendo de la versión de Windows en previamente. Dependiendo de la versión de Windows en ejecución asi:ejecución asi:

Windows 95Windows 95. Debe instalar Winsock2 para actualizar el dll . Debe instalar Winsock2 para actualizar el dll de Winsock. de Winsock.

Windows 98 y NT 4.0Windows 98 y NT 4.0. Debe instalar MSI.. Debe instalar MSI.

Versiones posteriores de Windows a las mencionadas Versiones posteriores de Windows a las mencionadas anteriormente anteriormente nono requieren de la instalación de estos requieren de la instalación de estos paquetespaquetes

ConfiguraciónConfiguración

Apache tiene 3 ficheros de configuración: Apache tiene 3 ficheros de configuración: • httpd.conf, httpd.conf, • access.conf access.conf • srm.conf .srm.conf .

Son de texto y tienen dos tipos de Son de texto y tienen dos tipos de información: ordenes y comentarios (que van información: ordenes y comentarios (que van precedidos por #). precedidos por #).

Por medio de las órdenes se le indica al Por medio de las órdenes se le indica al servidor que haga algo de una forma concreta.servidor que haga algo de una forma concreta.

ConfiguraciónConfiguración

El El httpd.confhttpd.conf: es el archivo principal de : es el archivo principal de configuración. Se utiliza para indicarle al configuración. Se utiliza para indicarle al servidor qué programas ha de ejecutar.servidor qué programas ha de ejecutar.

srm.confsrm.conf: Fichero en el que se configuran los : Fichero en el que se configuran los recursos del sistema.recursos del sistema.

access.confaccess.conf: Controla los permisos de los : Controla los permisos de los ficheros y directorios que se encuentran en el ficheros y directorios que se encuentran en el sitio Web.sitio Web.

Archivos de RegistroArchivos de Registro

Por defecto Apache utiliza dos ficheros Por defecto Apache utiliza dos ficheros de registro. de registro. • El El access.logaccess.log para monitorizar los accesos para monitorizar los accesos

y el error.log que guardará los fallos que y el error.log que guardará los fallos que sucedan. Contiene una línea para cada sucedan. Contiene una línea para cada petición en formato CLF:petición en formato CLF:

hosthost ident authuser date request status bytes ident authuser date request status bytes

• error.logerror.log anota la fecha y hora, cliente y anota la fecha y hora, cliente y error producido.error producido.

InstalaciónInstalación

ConceptosConceptosLos Los servlets y y Java Server Pages (Java Server Pages (JSPs)s) son dos métodos de son dos métodos de creación de páginas web dinámicas en servidor usando el creación de páginas web dinámicas en servidor usando el lenguaje Java. lenguaje Java. Ambos necesitan un programa que los contenga, y sea el que Ambos necesitan un programa que los contenga, y sea el que envíe efectivamente páginas web al servidor, y reciba las envíe efectivamente páginas web al servidor, y reciba las peticiones, las distribuya entre los servlets, y lleve a cabo todas peticiones, las distribuya entre los servlets, y lleve a cabo todas las tareas de gestión propias de un servidor web. las tareas de gestión propias de un servidor web.

Existen servidores Existen servidores específicos para específicos para servlets y JSPs servlets y JSPs llamados llamados contenedores de contenedores de servlets servlets ó ó servlet servlet enginesengines. A veces . A veces también se llaman también se llaman “Web-Container”.“Web-Container”.

TOMCATTOMCAT

• Es un servidor de aplicaciones.Es un servidor de aplicaciones.• Tomcat es un contenedor de Tomcat es un contenedor de Servlets Quizas el nombre que más Quizas el nombre que más salga a relucir con "Servlet Engines" es Tomcat o salga a relucir con "Servlet Engines" es Tomcat o Jakarta ApacheJakarta Apache..• Surgió de Sun Microsystem's cuando desarrollaban un "Servidor de Surgió de Sun Microsystem's cuando desarrollaban un "Servidor de Paginas" que utilizara "Java",y posteriormente cedieron el código Paginas" que utilizara "Java",y posteriormente cedieron el código fuente a la fundación Apache.fuente a la fundación Apache.• A pesar del nombre Apache-Tomcat, no requiere de Apache para A pesar del nombre Apache-Tomcat, no requiere de Apache para su funcionamiento (solo requiere de un JDK ("Java Development su funcionamiento (solo requiere de un JDK ("Java Development Kit") ". La comunicación entre el "Servidor de Paginas (Ejm.Kit") ". La comunicación entre el "Servidor de Paginas (Ejm. Apache)" y el "Servlet Engine (Tomcat)" se lleva acabo mediante el Apache)" y el "Servlet Engine (Tomcat)" se lleva acabo mediante el protocolo denominado ajp12 y recientemente con su sucesor ajp13 .protocolo denominado ajp12 y recientemente con su sucesor ajp13 .

Instalación de Tomcat Instalación de Tomcat LINUXLINUX (1)(1)

Pasos Previos Pasos Previos

Instalación del JDKInstalación del JDK

La base para operar cualquier producto que utiliza "Java" es el "JDK" de la La base para operar cualquier producto que utiliza "Java" es el "JDK" de la plataforma correspondiente, en este caso el enfoque será sobre la plataforma correspondiente, en este caso el enfoque será sobre la plataforma "Linux“ (También puede ser "Windows" o "Sun Solaris“). plataforma "Linux“ (También puede ser "Windows" o "Sun Solaris“). Inclusive los pasos de Instalación despues del "JDK" no distan mucho de Inclusive los pasos de Instalación despues del "JDK" no distan mucho de las diversas plataformas.las diversas plataformas.Se tiene al instalar el jdk un directorio llamado jdk1.4, para mayor Se tiene al instalar el jdk un directorio llamado jdk1.4, para mayor uniformidad se recomienda cambiar el nombre de este directorio a jdk y uniformidad se recomienda cambiar el nombre de este directorio a jdk y movilizarlo al directorio /usr/local/. movilizarlo al directorio /usr/local/. Posteriormente se debe definir una variable ambiental la cual le indicará Posteriormente se debe definir una variable ambiental la cual le indicará al sistema la ubicación del JDK, esta variable se llama al sistema la ubicación del JDK, esta variable se llama JAVA_HOMEJAVA_HOME la la cual debe ser agregada a /etc/bashrc , si no está familiarizado con cual debe ser agregada a /etc/bashrc , si no está familiarizado con ambientes *nix, esto significa agregar la linea: ambientes *nix, esto significa agregar la linea:

export JAVA_HOME=/usr/local/jdk;.export JAVA_HOME=/usr/local/jdk;.

Instalación de Tomcat Instalación de Tomcat (2)(2)

Instalación de Tomcat Instalación de Tomcat

Bajar la versión Bajar la versión binariabinaria de Tomcat en: de Tomcat en: http://jakarta.apache.org/tomcat. (La versión de http://jakarta.apache.org/tomcat. (La versión de Código Fuente Código Fuente (src) solo es necesaria si quiere experimentar y/o Instalar Apache (src) solo es necesaria si quiere experimentar y/o Instalar Apache con Tomcat ).con Tomcat ).

Descomprimir el archivo Descomprimir el archivo TarTar de Tomcat en /usr/local/, esto de Tomcat en /usr/local/, esto genera genera un directorio llamado jakarta-tomcat-<número_de_version>, un directorio llamado jakarta-tomcat-<número_de_version>, para para dar mayor uniformidad se recomienda cambiar el nombre de este dar mayor uniformidad se recomienda cambiar el nombre de este directorio a Tomcat.directorio a Tomcat. Posteriormente se debe definir una variable ambiental la cual le Posteriormente se debe definir una variable ambiental la cual le indicará al sistema la ubicación de Tomcat , esta variable se indicará al sistema la ubicación de Tomcat , esta variable se llama llama TOMCAT_HOMETOMCAT_HOME la cual debe ser agregada a /etc/bashrc , si no la cual debe ser agregada a /etc/bashrc , si no esta familiarizado con ambientes *nix, esto significa agregar la esta familiarizado con ambientes *nix, esto significa agregar la linea:linea:

export TOMCAT_HOME=/usr/local/tomcat;.export TOMCAT_HOME=/usr/local/tomcat;.

Instalación de Tomcat Instalación de Tomcat (4)(4)

Ejecución y Pruebas Ejecución y Pruebas Descienda al directorio bin de Tomcat (/usr/local/tomcat/bin ) y Descienda al directorio bin de Tomcat (/usr/local/tomcat/bin ) y

ejecute el archivo ejecute el archivo startup.sh startup.sh : :

Al introducir la dirección Al introducir la dirección www.servidorprueba.com:8080www.servidorprueba.com:8080 en un en un navegador, se le esta indicando que solicite la pagina principal de navegador, se le esta indicando que solicite la pagina principal de www.servidorprueba.com en el puerto TCP 8080 ; En su navegador www.servidorprueba.com en el puerto TCP 8080 ; En su navegador debe aparecer la pagina principal de documentación de Tomcat y los debe aparecer la pagina principal de documentación de Tomcat y los diversos Links hacia los ejemplos de Tomcat . diversos Links hacia los ejemplos de Tomcat .

Configuración Local Solo para ilustrar esta instalación inicial modifique el archivo /etc/hosts agregando una línea como la siguiente:127.0.0.1 www.servidorprueba.com

Configuración de Tomcat Configuración de Tomcat (1)(1) Aunque ya este observando la documentación de Tomcat, seguramente esto Aunque ya este observando la documentación de Tomcat, seguramente esto

no le servirá de mucho a los visitantes de su sitio y seguramente tampoco no le servirá de mucho a los visitantes de su sitio y seguramente tampoco sabrán que deben agregar :8080 a sus solicitudes, para realizar estos sabrán que deben agregar :8080 a sus solicitudes, para realizar estos cambios es necesario entrar en los detalles de configuración de Tomcatcambios es necesario entrar en los detalles de configuración de Tomcat

Configuración de Tomcat Configuración de Tomcat (2)(2)

server.xmlserver.xml server.xmlserver.xml es el archivo principal de configuración para Tomcat, es el archivo principal de configuración para Tomcat, contiene una gran variedad de parámetros. Algunos son:contiene una gran variedad de parámetros. Algunos son:

<-- --> y valores "Default"<-- --> y valores "Default" El archivo El archivo server.xmlserver.xml es un archivo en XML , el cual de no contener es un archivo en XML , el cual de no contener una estructura conforme a XML, se indicará al arranque de Tomcat; una estructura conforme a XML, se indicará al arranque de Tomcat; dicho archivo se encuentra bajo el directorio /usr/local/tomcat/conf dicho archivo se encuentra bajo el directorio /usr/local/tomcat/conf donde /usr/local/tomcat es el directorio definido en TOMCAT_HOME.donde /usr/local/tomcat es el directorio definido en TOMCAT_HOME.

Todo contenido entre <-- --> es considerado un comentario, y por lo Todo contenido entre <-- --> es considerado un comentario, y por lo tanto cualquier parámetro que se encuentre entre estos caracteres no tanto cualquier parámetro que se encuentre entre estos caracteres no es utilizado por "Tomcat"; aquellos parámetros que no sean definidos es utilizado por "Tomcat"; aquellos parámetros que no sean definidos dentro de dentro de server.xmlserver.xml son asignados un valor "Default" por Tomcat. son asignados un valor "Default" por Tomcat.<Server> - </Server> <Server> - </Server> <Server> es el elemento principal del archivo <Server> es el elemento principal del archivo server.xmlserver.xml y y todastodas las las demás secciones deben encontrarse entre estos nodos. demás secciones deben encontrarse entre estos nodos.

Instalación de Tomcat Instalación de Tomcat WINDOWS WINDOWS

Apache y Tomcat Apache y Tomcat (1)(1)

Porque se necesita Tomcat para ejecutar Java en Apache ? Porque se necesita Tomcat para ejecutar Java en Apache ?

El funcionamiento principal de Apache desde su creación fue la de El funcionamiento principal de Apache desde su creación fue la de aceptar y responderaceptar y responder requisiciones de Paginas en Internet, estas requisiciones de Paginas en Internet, estas requisiciones correspondían a documentos estáticos (puro HTML), es requisiciones correspondían a documentos estáticos (puro HTML), es por esto que cuando se requiere ejecutar algún tipo de contenido por esto que cuando se requiere ejecutar algún tipo de contenido dinámico (programas) como "Java", es necesario coordinar los dinámico (programas) como "Java", es necesario coordinar los esfuerzos de Apache con otro ambiente, en el caso de "Java" es esfuerzos de Apache con otro ambiente, en el caso de "Java" es precisamente "Tomcat" quien ofrece facilidades para ejecutar los dos precisamente "Tomcat" quien ofrece facilidades para ejecutar los dos componentes más utilizados en ambientes "Java": componentes más utilizados en ambientes "Java": "JSP ("Java Server "JSP ("Java Server Pages")" y "Servlets"Pages")" y "Servlets"..

Apache y Tomcat Apache y Tomcat (2)(2)

Configurar Tomcat para Cooperar con Apache Configurar Tomcat para Cooperar con Apache Web ServerWeb Server

Usar Tomcat como un contenedor independiente trae algunos Usar Tomcat como un contenedor independiente trae algunos problemas: problemas:

- Tomcat no es tan rápido como Apache cuando sirve páginas estáticas. - Tomcat no es tan rápido como Apache cuando sirve páginas estáticas. - Tomcat no es tan configurable como Apache. - Tomcat no es tan configurable como Apache. - Tomcat no es tan robusto como Apache. - Tomcat no es tan robusto como Apache. - Hay mucho sites que llevan mucho tiempo de investigación sobre Hay mucho sites que llevan mucho tiempo de investigación sobre ciertos servidores web, por ejemplo, sites que usan scripts CGI o ciertos servidores web, por ejemplo, sites que usan scripts CGI o módulos perl o php... No podemos asumir que todos ellos quieran módulos perl o php... No podemos asumir que todos ellos quieran abandonar dichas tecnologías. abandonar dichas tecnologías.

Por todas estas razones es recomendable que las sites del mundo real Por todas estas razones es recomendable que las sites del mundo real usen un servidor web, como Apache, para servir el contenido estático usen un servidor web, como Apache, para servir el contenido estático de la site, y usen Tomcat como un plugin para Servlets/JSP. de la site, y usen Tomcat como un plugin para Servlets/JSP.

Instalación de Tomcat en “Apache” Instalación de Tomcat en “Apache” (1) EN LINUX(1) EN LINUX

Creación del Modulo Mod_JKCreación del Modulo Mod_JKEl modulo Mod_JK es aquel utilizado por Apache para comunicarse con "Tomcat", El modulo Mod_JK es aquel utilizado por Apache para comunicarse con "Tomcat", debido a que este modulo es externo de Apache, se incluye en la distribución de debido a que este modulo es externo de Apache, se incluye en la distribución de Código Fuente de "Tomcat" Código Fuente de "Tomcat" , a continuación se mencionan los pasos a seguir para , a continuación se mencionan los pasos a seguir para su creación:su creación:

- Obtener el archivo - Obtener el archivo TarTar con el con el Código Fuente de "Tomcat"Código Fuente de "Tomcat" (no el (no el binario!). binario!). - Descomprimir el - Descomprimir el Código Fuente de "Tomcat"Código Fuente de "Tomcat" en un directorio temporal en un directorio temporal (generalmente /tmp) , esto genera un directorio por nombre (generalmente /tmp) , esto genera un directorio por nombre jakarta- tomcat-<numero_de_version>-src . jakarta- tomcat-<numero_de_version>-src . - Ahora se debe descender al directorio - Ahora se debe descender al directorio src/native/apache1.3. src/native/apache1.3. Dentro de este directorio se debe ejecutar el siguiente comando: Dentro de este directorio se debe ejecutar el siguiente comando:

apxs -o mod_jk.so -I../jk -I/usr/local/jdk/include/ apxs -o mod_jk.so -I../jk -I/usr/local/jdk/include/ -I/usr/local/jdk/include/linux -c *.c ../jk/*.c-I/usr/local/jdk/include/linux -c *.c ../jk/*.c

apxs es un comando incluido en Apache utilizado para compilar módulos apxs es un comando incluido en Apache utilizado para compilar módulos empleados por productos que operan en conjunción con Apache.empleados por productos que operan en conjunción con Apache.Las letras -I en la instrucción indican los directorios que deben ser incluidos al Las letras -I en la instrucción indican los directorios que deben ser incluidos al compilar el modulo. Una vez ejecutado el comando anterior exitosamente, se compilar el modulo. Una vez ejecutado el comando anterior exitosamente, se

genera el archivo mod_jk.so dentro del directorio. (Este es el Modulo en sí)genera el archivo mod_jk.so dentro del directorio. (Este es el Modulo en sí)

Instalación de Tomcat en “Apache” Instalación de Tomcat en “Apache” (2)(2)

Instalación del Modulo Mod_JKInstalación del Modulo Mod_JK Para instalar el módulo en Apache primeramente se debe copiar el Módulo Para instalar el módulo en Apache primeramente se debe copiar el Módulo (mod_jk.so) al directorio (mod_jk.so) al directorio /usr/local/apache/libexec/usr/local/apache/libexec, para que este disponible en , para que este disponible en Apache.Apache.A diferencia de los módulos incluidos en Apache los cuales generalmente A diferencia de los módulos incluidos en Apache los cuales generalmente requieren que Apache sea re-compilado-instalado, el modulo Mod_JK solo requieren que Apache sea re-compilado-instalado, el modulo Mod_JK solo requiere de unas modificaciones al archivo general de configuración requiere de unas modificaciones al archivo general de configuración httpd.confhttpd.conf httpd.conf httpd.conf Los parámetros para incluir el modulo Mod_JK son los siguientes:Los parámetros para incluir el modulo Mod_JK son los siguientes:

LoadModule jk_module libexec/mod_jk.so AddModule mod_jk.c LoadModule jk_module libexec/mod_jk.so AddModule mod_jk.c JkWorkersFile /usr/local/tomcat/conf/workers.properties JkLogFile JkWorkersFile /usr/local/tomcat/conf/workers.properties JkLogFile

/usr/local/tomcat/log/mod_jk.log JkLogLevel warn/usr/local/tomcat/log/mod_jk.log JkLogLevel warn

Las primeras dos líneas LoadModule y AddModule indican que el modulo debe Las primeras dos líneas LoadModule y AddModule indican que el modulo debe ser cargado y agregado, respectivamente. JkWorkersFile le indica ser cargado y agregado, respectivamente. JkWorkersFile le indica muy muy específicamenteespecíficamente a Apache como comunicarse con "Tomcat", este archivo a Apache como comunicarse con "Tomcat", este archivo aunque utilizado primordialmente por Apache se incluye en "Tomcat" (he ahí la aunque utilizado primordialmente por Apache se incluye en "Tomcat" (he ahí la razón por la cual reside en /usr/local/tomcat/conf), este archivo debe ser razón por la cual reside en /usr/local/tomcat/conf), este archivo debe ser modificado para contener los siguientes parámetros: modificado para contener los siguientes parámetros:

Instalación de Tomcat en “Apache” Instalación de Tomcat en “Apache” (3) Modificando (3) Modificando JkWorkersFileJkWorkersFile

workers.tomcat_home=/usr/local/tomcat workers.tomcat_home=/usr/local/tomcat workers.java_home=/usr/local/jdk ps=/ workers.java_home=/usr/local/jdk ps=/

worker.list=ajp12, ajp13 worker.ajp13.port=8009 worker.list=ajp12, ajp13 worker.ajp13.port=8009 worker.ajp13.host=localhost worker.ajp13.host=localhost

worker.ajp13.type=ajp13worker.ajp13.type=ajp13

Lo que se esta indicando en este archivo es que "Apache" Lo que se esta indicando en este archivo es que "Apache" se comunicará con "Tomcat" mediante el protocolo ajp13 se comunicará con "Tomcat" mediante el protocolo ajp13 (otra alternativa seria ajp12), que "Tomcat" también reside (otra alternativa seria ajp12), que "Tomcat" también reside en el mismo "Host" local y esta utilizando el puerto TCP en el mismo "Host" local y esta utilizando el puerto TCP 8009 para atender solicitudes.8009 para atender solicitudes.

JkLogFile y JkLogLevel indican el lugar donde serán JkLogFile y JkLogLevel indican el lugar donde serán enviados errores relacionados con Apache y "Tomcat" enviados errores relacionados con Apache y "Tomcat" y el nivel de errores reportados , respectivamente.y el nivel de errores reportados , respectivamente.

Instalación de Tomcat en “Apache” Instalación de Tomcat en “Apache” (4)(4)

JkMount JkMount

Hasta este punto ya estan configurados Hasta este punto ya estan configurados casicasi todos los aspectos todos los aspectos relacionados con "Tomcat" y "Apache", solo falta uno: Como indicar a relacionados con "Tomcat" y "Apache", solo falta uno: Como indicar a Apache que solicitudes deben ser enviadas a Tomcat ?, esto es, si ya Apache que solicitudes deben ser enviadas a Tomcat ?, esto es, si ya se diseñaron 5 o 10 programas en "Java" ( JSP y/o Servlets ) como se se diseñaron 5 o 10 programas en "Java" ( JSP y/o Servlets ) como se coordinan éstas con la información que actualmente es enviada por coordinan éstas con la información que actualmente es enviada por Apache ? Apache ?

Se utiliza el parámetro JkMount dentro de Se utiliza el parámetro JkMount dentro de httpd.confhttpd.conf::

JkMount /*.jsp ajp13 JkMount /servidordatos/Insertar ajp13JkMount /*.jsp ajp13 JkMount /servidordatos/Insertar ajp13

La declaración indica que toda requisición terminada en jsp (un Java La declaración indica que toda requisición terminada en jsp (un Java Server Page), será Server Page), será enviadaenviada por Apache vía el protocolo ajp13 , este por Apache vía el protocolo ajp13 , este protocolo da precisamente a Tomcat. protocolo da precisamente a Tomcat.

SERVLETSSERVLETS

Los Servlets son programas Java que se ejecutan Los Servlets son programas Java que se ejecutan en un servidor Web y construyen páginas Web. en un servidor Web y construyen páginas Web.

import java.io.*;import java.io.*;import javax.servlet.*;import javax.servlet.*;import javax.servlet.http.*;import javax.servlet.http.*;

public class HelloWorld extends HttpServlet {public class HelloWorld extends HttpServlet { public void doGet(HttpServletRequest request,public void doGet(HttpServletRequest request, HttpServletResponse response)HttpServletResponse response) throws ServletException, IOException {throws ServletException, IOException { PrintWriter out = response.getWriter();PrintWriter out = response.getWriter(); out.println("Hello World");out.println("Hello World"); }}}}

JSP (Java Server Page)JSP (Java Server Page)

Una JSP es un archivo de texto, que combina tags HTML Una JSP es un archivo de texto, que combina tags HTML con nuevos tags de scripting Java. Básicamente es un con nuevos tags de scripting Java. Básicamente es un archivo HTML con código JAVA intercalado.archivo HTML con código JAVA intercalado.

Una JSP, la primera vez que se invoca, se traduce y se Una JSP, la primera vez que se invoca, se traduce y se compila a un servlet Java. El servlet resultante de la JSP compila a un servlet Java. El servlet resultante de la JSP es una combinación de los tags HTML, más el contenido es una combinación de los tags HTML, más el contenido dinámico embebido en los nuevos tags JSP.dinámico embebido en los nuevos tags JSP.