You are on page 1of 36

MÓDULO: DESARROLLO WEB EN ENTORNO SERVIDOR

Módulo Desarrollo de Aplicaciones WEB en entorno Servidor

2ºDAW

pag: 1

UT1. SELECCIÓN DE ARQUITECTURAS Y HERRAMIENTAS DE PROGRAMACIÓN 1. Modelos de Programación Entornos Cliente/Servidor 2. Generación de Páginas Web. CGI 3. Lenguajes de Programación en el Entorno Servidor 4. Integración con los Lenguajes de Marcas 5. Integración con los Servidores Web. 6. Herramientas de Programación en

Módulo Desarrollo de Aplicaciones WEB en entorno Servidor

2ºDAW

pag: 2

1. Modelos de Programación en Entornos Cliente/Servidor
Internet utiliza la tecnología cliente/servidor, es un sistema de información distribuido. Esta tecnología está basada en la idea de servicio. Características • El cliente es un proceso consumidor de servicios. • El servidor es un proceso proveedor de servicios. • La comunicación entre el cliente y el servidor es mediante mensajes. • Comparten recursos, distintos clientes comparten los mismos servidores. • Transparencia en la localización física de los servidores y clientes. • Independencia de las plataformas. • Los clientes realizan peticiones y los servidores esperan estas peticiones. • Encapsulamiento de servicios al cliente.

Módulo Desarrollo de Aplicaciones WEB en entorno Servidor

2ºDAW

pag: 3

Tiene que ver con el interfaz gráfico para realizar peticiones. • El servidor procesa la solicitud. Componentes de software. • Capa de datos. • El cliente pide información al servidor. la presentación al usuario de la información devuelta por el servidor y el procesamiento de los datos producidos por el cliente. • El cliente recibe el resultado. • El servidor envía el resultado al cliente. suelen ser bases de datos y contienen Gestores de bases de datos. Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 4 .Funcionamiento del cliente/servidor. Está compuesta por archivos que contienen los datos. • El servidor recibe la petición del cliente. • Capa de negocio o de lógica de aplicación. Esta capa es la responsable de procesamiento que tiene lugar en la aplicación. • Capa de presentación.

Está basado en la libertad que da el modelo cliente/servidor para balancear el proceso entre las capas de presentación. – FAT CLIENT (THIN SERVER). – FAT SERVER (THIN CLIENT). El nivel de presentación y de aplicación se realiza en el cliente y el servidor realiza las funciones de administrador de la base de datos. El peso de la aplicación se ejecuta en el cliente.Modelos de programación cliente/servidor se obtienen dependiendo del: Tamaño de sus componentes. aplicación y base de datos. Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 5 . El cliente queda restringido a la presentación de la interfaz de usuario.

Proporciona archivos a clientes. el servidor recibe el mensaje y envía la página correspondiente. El cliente solicita archivos y el servidor los localiza y envía. El cliente hace una consulta al servidor y éste recibe la consulta y extrae la información y se la envía al cliente. – SERVIDORES WEB. – SERVIDORES DE CORREO. Guardan y proporcionan páginas WEB. – SERVIDORES DE BASES DE DATOS. El cliente realiza peticiones SQL. El cliente desde un navegador hace una llamada a la página. Gestiona el envío y la recepción de correo.• Por la naturaleza de los servicios ofrecidos por los servidores. – SERVIDOR DE TRANSACCIONES. – SERVIDORES DE FICHEROS. Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 6 .

– SERVIDOR DE OBJETOS. Permite almacenar objetos que los clientes son capaces de activar. – En todas las arquitecturas cliente/servidor. · Nivel de datos: acceso de datos. · Nivel del cliente: presentación.Mediante un solo mensaje se realizan un conjunto de peticiones SQL. Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 7 . • Por el número de niveles.

La arquitectura en 2 niveles se utiliza para describir los sistemas cliente/servidor en donde el cliente solicita recursos y el servidor responde directamente a la solicitud. Esto significa que el servidor no requiere otra aplicación para proporcionar parte del servicio. Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 8 .– ARQUITECTURA DE DOS NIVELES. con sus propios recursos.

Cliente. En la arquitectura en 3 niveles.. Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 9 . Servidor de aplicaciones (también denominado software intermedio). – ARQUITECTURA DE TRES NIVELES. equipado con una interfaz de usuario (un navegador web) para la presentación. equipo que solicita los recursos. existe un nivel intermedio. Servidor de datos. que proporciona al servidor de aplicaciones los datos que requiere.Lógica de la aplicación o negocio integrada con el acceso de datos o con la presentación o con ambos. pero que requiere de otro servidor para hacerlo. cuya tarea es proporcionar los recursos solicitados.

La arquitectura en 3 niveles permite: . Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 10 . .Un mayor grado de flexibilidad.Mayor seguridad. ya que la seguridad se puede definir independientemente para cada servicio y en cada nivel. . ya que las tareas se comparten entre servidores.Mejor rendimiento.La lógica de la aplicación separada del acceso a datos y de la presentación.

En la arquitectura en 3 niveles. La lógica de aplicación se divide en distintos niveles. la arquitectura en 3 niveles es potencialmente una arquitectura en N-niveles. Por consiguiente. un servidor puede utilizar los servicios de otros servidores para proporcionar su propio servicio. Por lo tanto. Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 11 . cada servidor (nivel 2 y 3) realiza una tarea especializada (un servicio).– ARQUITECTURA DE NIVELES MULTIPLES.

donde el cliente se limita a obtener dicha información. No necesitan programación Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 12 . GENERACIÓN DINÁMICA DE PÁGINAS WEB. Las páginas web se pueden clasificar en estáticas y dinámicas. Su principal ventaja es que son económicas en su creación.2. sin poder interactuar con la página web visitada. pueden tener un diseño vistoso e incluir imágenes y texto. no pueden soportar consultas online. ni aplicaciones WEB como gestores de bases de datos. Están construidas principalmente con hipervínculos o enlaces. CGI. Es aquella página enfocada principalmente a mostrar una información permanente. • PÁGINA WEB ESTÁTICA.

C. consultas en bases de datos. Este programa puede estar desarrollado en un leguaje como PER. Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 13 . un mecanismo de comunicación entre el servidor web y una aplicación externa.• PÁGINA WEB DINÁMICA. el servidor web pasa las solicitudes a un programa externo. CGI. Usando programas CGI el servidor puede interactuar con aplicaciones para realizar búsquedas de documentos. Son más difíciles de diseñar pues necesitan conocimientos de lenguajes de programación. C++ ó VISUAL BASIC o en cualquier lenguaje que soporte el servidor. Ej: Encuestas. Su principal ventaja es que ofrecen aplicaciones específicas para cada empresa. etc. Es aquella página que contiene aplicaciones que permiten interactuar al cliente. de creación y gestión de bases de datos. pedidos on-line. En una aplicación CGI. Es el sistema más antiguo para la creación de páginas dinámicas.

Da dinamismo a nuestro código HTML e interactividad a nuestras páginas. con una gran librería de funciones y mucha documentación. Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 14 . – PHP. Es un lenguaje gratuito de código abierto e independiente de la plataforma donde se ejecute.El cliente envía una URL que apunta no a un documento sino a una aplicación y el servidor activa la aplicación la cual responde a la petición del cliente. • Lenguajes embebidos en el código HTML. ejecutados e interpretados por el servidor. conexiones en red. LENGUAJES DE PROGRAMACIÓN EN EL ENTORNO SERVIDOR. 3. Los lenguajes del entorno servidor son aquellos que son reconocidos. Puede realizar accesos a bases de datos. y otras tareas para crear la página final que verá el cliente.

Se utiliza casi exclusivamente en los servidores Web de Microsoft (Internet Information Server y Personal Web Server).El cliente solamente recibe una página con el código HTML resultante de la ejecución de PHP. Active Server Pages. en el servidor y puede utilizarse conjuntamente con HTML para realizar tareas interactivas y en tiempo real con el cliente. Se trata básicamente de un lenguaje de tratamiento de textos (scripts). y que se denomina VBScript (Visual Basic Script). por lo tanto. Este lenguaje nos permite separar en las Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 15 . Los scripts ASP se ejecutan. ASP.Net que es un lenguaje mucho más complejo que el original ASP. es una tecnología propietaria de Microsoft. basado en Basic. Posteriormente se crea el lenguaje ASP.

Es. no interviniendo para nada el código HTML.jsp. Cada cual se ocupa de su parte del trabajo dentro de la página web sin interferir en la parte de otro. una tecnología orientada a crear páginas web con programación en Java. Con JSP podemos crear aplicaciones web que se ejecuten en variados servidores web. – JSP. que en castellano vendría a decir algo como Páginas de Servidor Java. pues.páginas webs la parte de diseño que contiene la página. – PERL. es una derivación del lenguaje C. Creamos programas con extensión . Es un acrónimo de Java Server Pages. que incluye sentencias java dentro de HTML. Es un lenguaje de programación interpretado. Así el trabajo de los diseñadores y programadores es mucho más sencillo. ya que Java es en Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 16 . de múltiples plataformas.

implementado en un archivo class (Byte codes de Java).jsp. Un ejemplo de esta clase de aplicación podría ser Tomcat. Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 17 . Los JSP corren dentro de un producto software llamado “contenedor web” que les proporciona una serie de servicios y que está formado por un contenedor JSP y un contenedor de servlets. Esta fase de traducción se lleva a cabo habitualmente cuando se recibe la primera solicitud de la página .esencia un lenguaje multiplataforma. aunque existe la opción de precompilar en código para evitar ese tiempo de espera la primera vez que un cliente solicita la página. El motor de las páginas JSP está basado en los servlets de Java programas en Java destinados a ejecutarse en el servidor El motor JSP lleva a cabo una fase de traducción de esa página en un servlet.

Es un lenguaje de programación dinámico. en algún punto del documento se introducirá mediante la marca "<?php" el inicio de un bloque de PHP. En un mismo documento es posible abrir y cerrar fragmentos de código PHP varias veces. entrelazando las sentencias script con el código HTML estático. Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 18 . Tiene muchas librerías.– PYTHON. muy fácil de aprender y orientado a objetos. páginas web. que contienen su propio código HTML. INTEGRACIÓN CON LOS LENGUAJES DE MARCAS Cuando se programa en un lenguaje de script como PHP se escriben documentos. 4. En las páginas dinámicas. dicho bloque contendrá el código que será procesado por el interprete y para marcar su fin se utilizará la marca "?>".

?> </body> </html> Guardamos este ejemplo con el nombre prueba.php en el directorio C:\xampp\htdocs\ Ahora abrimos la URL http://localhost/prueba.Write ("Hola Mundo") %> Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 19 .Ejemplo PHP <html> <head> <title>Ejemplo PHP</title> </head> <body> <?php echo '<p>Hola Mundo</p>'.php en un navegador. Ejemplo ASP <html> <head> <title>Ejemplo ASP</title> </head> <body> <% Response.

com/blog/31498/comoinstalar-iis-en-windows-7 Comprobamos que IIS está activado escribiendo http://localhost en un navegador y se deberá visualizar la pantalla siguiente: Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 20 .asp necesitamos Activar IIS en Windows 7.</body> </html> Para ejecutar las páginas web con extensión .malavida. Las instrucciones de activación se encuentran en la dirección: http://www.

Vamos desde Panel de control hasta activar o desactivar las características de Windows y activamos las casillas que se muestran en la página siguiente: Ahora tenemos dos servidores. IIS y Apache.conf de la ruta xampp\apache\conf\. escuchando por el mismo puerto. cuya ruta es: C:\xampp\apache\conf\ Para cambiar el puerto en XAMPP.conf. Para que ambos puedan coexistir deberemos cambiar el puerto del servidor Apache. 80 Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 21 . tenemos que cambiar.5 la característica de ASP Clásico no viene instalada por defecto para ello nos vamos a habilitar el servidor web para ejecutar aplicaciones ASP Clásicas. en las líneas "Listen 80" y "ServerName localhost:80" del fichero httpd. Esto se consigue editando el fichero htpd.En IIS7 y IIS7.

Guardamos los cambios y reinicíamos el equipo. Ejemplo JSP <html> <head> <title>Ejemplo JSP</title> </head> <body> <% out.asp en el directorio C:\Inetpub\wwwroot\ Ahora abrimos la URL http://localhost/prueba. Ahora nuestro servidor http://localhost:88 Apache será Guardamos el ejemplo de asp con el nombre prueba.por 88.asp en un navegador.println ("Hola Mundo"). %> </body> </html> Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 22 .

Guardamos este fichero con el nombre prueba.jsp en un navegador.jsp en el directorio C:\xampp\tomcat\webapps\ROOT\ Arrancamos el servidor web tomcat Ahora abrimos la URL http://localhost:8080/prueba. Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 23 .

Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 24 .iesjovellanos.org/directorio/archiv o. localizador uniforme de recurso y se refiere a la dirección única que identifica a una página web en Internet. es decir. URL significa Uniform Resource Locator. es decir. es un conjunto de reglas y procedimientos que deben respetarse para el envío y la recepción de datos a través de una red. En la barra de direcciones el usuario indica la dirección o URL para realizar una petición al servidor.5. Integración con los Servidores Web. El formato de una URL será: protocolo://dominio:puerto/ruta/fichero http://www.html Un protocolo es un método estándar que permite la comunicación entre procesos.

HTTPS. Entre otros. El propósito del protocolo HTTP es permitir la transferencia de archivos (principalmente. Este conjunto de protocolos se denomina TCP/IP. el protocolo HTTP (Protocolo de transferencia de hipertexto) es el protocolo más utilizado en Internet. contiene los siguientes protocolos: HTTP. en formato HTML) entre un navegador (el cliente) y un servidor web localizado mediante una cadena de caracteres denominada dirección URL. los protocolos utilizados pertenecen a una sucesión de protocolos o a un conjunto de protocolos relacionados entre sí. La comunicación entre el navegador y el servidor se lleva a cabo en dos etapas: Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 25 . FTP.En Internet. Protocolo HTTP Desde 1990.

• El navegador realiza una solicitud HTTP • El servidor procesa la solicitud y después envía una respuesta HTTP PROTOCOLO HTTPS (Hypertext Transfer Protocol Secure ) Es un protocolo de red basado en el protocolo HTTP. tiendas en línea. y cualquier tipo de servicio que requiera el envío de datos personales o contraseñas. es decir. comercio electrónico. Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 26 . etc. como pueden ser transacciones bancarias. Es más utilizado por entidades bancarias. destinado a la transferencia segura de datos de hipertexto. es la versión segura de HTTP.

El dominio indicará el servidor que nos proporciona el recurso.HTTPS crea un canal cifrado. El objetivo del protocolo FTP es: • Permitir que equipos remotos puedan compartir archivos. se utilizará el esquema Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 27 . de este modo se consigue que la información sensible (usuario y claves de paso normalmente) no pueda ser usada por un atacante que haya conseguido interceptar la transferencia de datos de la conexión. • Permitir una transferencia de datos eficaz. ya que lo único que obtendrá será un flujo de datos cifrados que le resultará imposible de descifrar. Protocolo FTP El protocolo FTP define la manera en que los datos deben ser transferidos a través de una red TCP/IP. • Permitir la independencia entre los sistemas de archivo del equipo del cliente y del equipo del servidor.

Solo se utilizará cuando el servidor utilice un puerto distinto al puerto por defecto. ya que por ella sabe el servidor el tipo de documento que se accede e indica al cliente (navegador) el modo en que debe tratarse ese documento.de IP para identificar la maquina que será el dominio. El puerto es opcional y lo normal es no ponerlo si el puerto es el mismo que se utiliza normalmente por el servicio. El camino será la ruta de directorios que hay que seguir para encontrar el documento que se desea referenciar. La extensión de los ficheros será también algo importante. Un dominio se compone normalmente de tres partes: las tres uves dobles el nombre de la organización y el tipo de organización. Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 28 . Para separar los subdirectorios se utiliza la barra /. El nombre de los subdirectorios y del fichero referenciado puede ser de más de ocho caracteres y se tendrá en cuenta la diferencia entre mayúsculas y minúsculas en el nombre.

http://localhost/aplicacion?parametro1=va lor1&parametro2=valor2&parametro3=val or3 . Se utiliza para recuperar información identificada por una URL. Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 29 . Si la URL se refiere a un proceso generador de datos como un programa PHP se devuelve la información generada por el programa. mientras que cuando se utiliza el método POST los datos de un formulario se envían a la página destino inmersos dentro del cuerpo de la petición HTTP. • Método POST. También se puede utilizar para pasar información al servidor en el formato de pares atributo-valor separados por & al final de la URL después del símbolo ?. Se diferencia del método GET en la forma en la que los datos son enviados: En el caso de GET los datos son incluidos en la URL.Modos de petición al servidor: • Método GET.

Si el tamaño de los datos a enviar es muy grande. Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 30 . En el caso de que no queramos hacer visible a los usuarios cómo se envían los datos.Hay casos en los que estamos obligados a utilizar el método POST y no el GET: Si los datos a enviar contienen caracteres que no pueden codificarse en ASCII.

• NAVEGADORES. ponen al alcance del usuario toda la información que ha sido subida a la web. Mozilla Firefox es el segundo navegador más usado por detrás de Internet Explorer. Herramientas de programación. Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 31 . estabilidad y el gran número de posibilidades que ofrece. GOOGLE CHROME: Google Chrome es un navegador web desarrollado por Google y compilado con base en componentes de código abierto. OPERA : El Opera Browser es uno de los mejores navegadores que existe en la actualidad.6. Algunos de los más conocidos son: MOZILLA FIREFOX : Por la sencillez. Son aplicaciones que permiten la visualización de documentos o sitios en hipertexto.

NETSCAPE NAVIGATOR: Netscape Navigator compitió con Internet Explorer. SAFARI: Este navegador de Apple.AVANT BROWSER: es un navegador de internet que usa el motor de búsqueda de Windows Internet Explorer. CRAZY BROWSER: Crazy Browser es un novedoso navegador web. INTERNET EXPLORER: Es el navegador de Internet más utilizado de la actualidad. denominado Safari crece cada día más en el mercado. Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 32 . FINEBROWSER: Este multinavegador permite la visualización de páginas web de forma múltiple en una sola ventana.

M. REG. mostrando documentación en línea de Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 33 . H. CSS.• EDITORES DE TEXTO PARA LA WEB. NSI. CS. Aptana. VHD. NOTEPAD++. Son aplicaciones que ayudan al desarrollador en la escritura de código HTML y otros lenguajes web. AU3. Permite personalizar los colores de pantalla y de cada una de las etiquetas. ST. JAVA. Existen muchos como Notepad++. SCM. HS. TEX. INI. ML. VB. F. CSS y Javascript) es único. TCL. JSS. Aptana. que permite entre otras cosas. utiliza un sistema de colores para distinguir etiquetas. C. PS. XML. ADA. RB. MX. editar código fuente. PL. MAK. e incluso puede usarse como plugin en éste. RC. ASM. SQL. NFO. V. SH. BAT. etc. Su asistente de código (HTML. muchos lenguajes de programación: TXT. Este editor está basado en Eclipse. LUA. ASP. HTML. PY. PHP. Es un gran editor de texto. PAS. JS. Soporta. AS. LSP.

Un IDE es una aplicación de software que proporciona servicios integrales a los programadores Está compuesto por un conjunto de herramientas de programación. Viene con cliente FTP y depurador de Javascript. un compilador y/o un intérprete. • ENTORNOS DE DESARROLLO INTEGRADO. un depurador y un constructor de interfaz gráfica GUI. Consta de un editor de texto. Puede servir para uno o varios lenguajes. Es el editor web más completo del mercado y además es libre (gratuito y con código fuente abierto). Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 34 . como en qué navegadores está soportada una función de Javascript o un atributo CSS. Además muestra información en línea sobre las funciones Javascript propias.todos y cada uno de los elementos.

NETBEANS. COBOL.ECLIPSE. Su soporte para gestionar bases de datos (MySQL. etc. PYTHON. MS SQL Server. C. NetBeans IDE es un producto libre y gratuito sin restricciones de uso. hecho principalmente para el lenguaje de programación Java. …). PostgreSQL. cliente FTP. Es un entorno de desarrollo integrado de código abierto multiplataforma escrito en Java que soporta JAVA. ZEND STUDIO. Es un entorno de desarrollo integrado libre. Oracle. aunque el resaltado de sintaxis les podría valer a los desarrolladores más expertos. Existe además un número importante de módulos para extenderlo. Es un entorno de desarrollo para PHP. Tiene autocompletado de código HTML (no para Javascript y CSS) además de para PHP. que a día de hoy no existe nada mejor. PHP. Su punto fuerte está en su editor y depurador PHP. y no es posible editar en modo WYSIWYG. y Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 35 . C++.

Entorno de desarrollo integrado de Microsoft. VISUAL STUDIO. Visual Basic. Módulo Desarrollo de Aplicaciones WEB en entorno Servidor 2ºDAW pag: 36 .soporte de control de versiones integrado (CVS y Subversion). soporta C#. C++. lo convierte en el mejor entorno de desarrollo web para PHP existente.