SERVIDORES DE OBJETOS

65
SERVIDORES DE SERVIDORES DE OBJETOS OBJETOS Christian Andrés Castellanos Christian Andrés Castellanos 255988 255988 Carlos Alberto Algarra Carlos Alberto Algarra 255888 255888

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

Page 1: SERVIDORES DE OBJETOS

SERVIDORES DE SERVIDORES DE OBJETOSOBJETOS

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

Carlos Alberto Algarra 255888Carlos Alberto Algarra 255888

Page 2: SERVIDORES DE OBJETOS

SYBASE - EAServer SYBASE - EAServer ENTERPRISE APPLICATION ENTERPRISE APPLICATION

SERVERSERVER

Page 3: SERVIDORES DE OBJETOS

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

Page 4: SERVIDORES DE OBJETOS

•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

Page 5: SERVIDORES DE OBJETOS

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

Page 6: SERVIDORES DE OBJETOS

•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

Page 7: SERVIDORES DE OBJETOS

•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

Page 8: SERVIDORES DE OBJETOS

•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

Page 9: SERVIDORES DE OBJETOS

•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.

Page 10: SERVIDORES DE OBJETOS

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.

Page 11: SERVIDORES DE OBJETOS

•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.

Page 12: SERVIDORES DE OBJETOS

ARQUITECTURASARQUITECTURAS

Tipicamente las aplicaciones usan una de las tres siguientes architecturas:

•Distribuida•web•Cliente / Servidor

Algunas aplicaciones requieren una combinación de las anteriores.

Page 13: SERVIDORES DE OBJETOS

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.

Page 14: SERVIDORES DE OBJETOS

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.

Page 15: SERVIDORES DE OBJETOS

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.

Page 16: SERVIDORES DE OBJETOS

Arquitectura de aplicaciones Arquitectura de aplicaciones distribuidasdistribuidas

Page 17: SERVIDORES DE OBJETOS

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.

Page 18: SERVIDORES DE OBJETOS

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.

Page 19: SERVIDORES DE OBJETOS

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.

Page 20: SERVIDORES DE OBJETOS

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.

Page 21: SERVIDORES DE OBJETOS

Arquitectura de aplicaciones Arquitectura de aplicaciones webweb

Page 22: SERVIDORES DE OBJETOS

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.

Page 23: SERVIDORES DE OBJETOS

Arquitectura cliente/servidorArquitectura cliente/servidor

Page 24: SERVIDORES DE OBJETOS

EJEMPLOEJEMPLO

Page 25: SERVIDORES DE OBJETOS

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

Page 26: SERVIDORES DE OBJETOS

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.

Page 27: SERVIDORES DE OBJETOS

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

Page 28: SERVIDORES DE OBJETOS

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.

Page 29: SERVIDORES DE OBJETOS

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

Page 30: SERVIDORES DE OBJETOS

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.

Page 31: SERVIDORES DE OBJETOS

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

Page 32: SERVIDORES DE OBJETOS

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.

Page 33: SERVIDORES DE OBJETOS

ASPASPACTIVE SERVER PAGESACTIVE SERVER PAGES

Page 34: SERVIDORES DE OBJETOS

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.

Page 35: SERVIDORES DE OBJETOS

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.

Page 36: SERVIDORES DE OBJETOS

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.

Page 37: SERVIDORES DE OBJETOS

<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!

Page 38: SERVIDORES DE OBJETOS

•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.

Page 39: SERVIDORES DE OBJETOS

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.

Page 40: SERVIDORES DE OBJETOS

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.

Page 41: SERVIDORES DE OBJETOS

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

Page 42: SERVIDORES DE OBJETOS

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

Page 43: SERVIDORES DE OBJETOS

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.

Page 44: SERVIDORES DE OBJETOS

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...

Page 45: SERVIDORES DE OBJETOS

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

Page 46: SERVIDORES DE OBJETOS

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.

Page 47: SERVIDORES DE OBJETOS

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.

Page 48: SERVIDORES DE OBJETOS

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.

Page 49: SERVIDORES DE OBJETOS

InstalaciónInstalación

Page 50: SERVIDORES DE OBJETOS

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”.

Page 51: SERVIDORES DE OBJETOS

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 .

Page 52: SERVIDORES DE OBJETOS

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;.

Page 53: SERVIDORES DE OBJETOS

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;.

Page 54: SERVIDORES DE OBJETOS

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

Page 55: SERVIDORES DE OBJETOS

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

Page 56: SERVIDORES DE OBJETOS

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.

Page 57: SERVIDORES DE OBJETOS

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

Page 58: SERVIDORES DE OBJETOS

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"..

Page 59: SERVIDORES DE OBJETOS

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.

Page 60: SERVIDORES DE OBJETOS

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í)

Page 61: SERVIDORES DE OBJETOS

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:

Page 62: SERVIDORES DE OBJETOS

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.

Page 63: SERVIDORES DE OBJETOS

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.

Page 64: SERVIDORES DE OBJETOS

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"); }}}}

Page 65: SERVIDORES DE OBJETOS

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.