cap01

12
Desarrollo de Aplicaciones con Sistemas de Bases de Datos Sesión 1.2: 1 Desarrollo de Aplicaciones con Sistemas de Bases de Datos Desarrollo de Aplicaciones Con Sistemas de Bases de Datos: Introducción al Desarrollo Web Departamento de Tecnologías y Sistemas de Información Escuela Superior Informática – Ciudad Real Ingeniería Técnica en Informática de Gestión Curso 2007/08 Ismael Caballero Desarrollo de Aplicaciones con Sistemas de Bases de Datos Sesión 1.2: 2 Desarrollo de Aplicaciones con Sistemas de Bases de Datos Contenidos Internet Cliente/Servidor Tecnologías de Clientes Web Tecnologías de Servidor Web

Transcript of cap01

Page 1: cap01

Desarrollo de Aplicaciones con Sistemas de Bases de Datos Sesión 1.2: 1

Desarrollo de Aplicaciones

con Sistemas de Bases de Datos

Desarrollo de Aplicaciones Con Sistemas de Bases de Datos:

Introducción al Desarrollo Web

Departamento de Tecnologías y Sistemas de Información

Escuela Superior Informática – Ciudad Real

Ingeniería Técnica en Informática de Gestión

Curso 2007/08Ismael Caballero

Desarrollo de Aplicaciones con Sistemas de Bases de Datos Sesión 1.2: 2

Desarrollo de Aplicaciones

con Sistemas de Bases de Datos Contenidos

• Internet

• Cliente/Servidor

• Tecnologías de Clientes Web

• Tecnologías de Servidor Web

Page 2: cap01

Desarrollo de Aplicaciones con Sistemas de Bases de Datos Sesión 1.2: 3

Desarrollo de Aplicaciones

con Sistemas de Bases de Datos Internet

• Internet

– Conjunto de redes intercomunicadas entre sía través de redes WAN.

– Internet no es sólo navegación Web, existen muchos más servicios, además del http.

– Práctica:• Busca algo de la Historia y evolución de Internet, desde sus comienzos hasta nuestros días.

Desarrollo de Aplicaciones con Sistemas de Bases de Datos Sesión 1.2: 4

Desarrollo de Aplicaciones

con Sistemas de Bases de Datos Cliente / Servidor

• Contenidos:

– Servicios.

– Servidores y Clientes.

– Páginas y Aplicaciones Web

– Sitios y Portales Web

Page 3: cap01

Desarrollo de Aplicaciones con Sistemas de Bases de Datos Sesión 1.2: 5

Desarrollo de Aplicaciones

con Sistemas de Bases de Datos

Cliente/Servidor

Servicios

• Servicios

– Se denomina servicio a cualquier funcionalidad que puede proporcionar una red.

– Todo servicio necesita de un servidor que lo gestione y de un cliente que lo consuma

– El paradigma cliente/Servidor consiste en que existe un recurso que es gestionado por un proceso servidor (que se ejecuta en un ordenador al que se llamará servidor); un proceso cliente (que se ejecuta en un ordenador al que se llamará cliente)demanda su utilización al servidor y éste se encarga de satisfacer esta necesidad.

Desarrollo de Aplicaciones con Sistemas de Bases de Datos Sesión 1.2: 6

Desarrollo de Aplicaciones

con Sistemas de Bases de Datos

Cliente/Servidor

Servicios (II)

• Ejemplos de Servicios en Internet:

– Web (http – HyperText Transfer Protocol)

– Correo Electrónico (smtp, pop3, imap)

– Transferencia de ficheros (ftp, tftp,...)

– Compartición de ficheros (smb)

– Servicio de Noticias (nntp)

• Concepto de URL (Universal Resource Locator)

TipoServicio://maquina.dominio:puerto/camino/archivo

Page 4: cap01

Desarrollo de Aplicaciones con Sistemas de Bases de Datos Sesión 1.2: 7

Desarrollo de Aplicaciones

con Sistemas de Bases de Datos

Cliente/Servidor

Servidores y Clientes

• Internet Explorer

• WS_FTP32

• ftp

• IIS

• ftpd

FTP

• Outlook

• Eudora

• Lotus

• Thunderbyte

• Exchange

• Sendmail

• Lotus

Correo Electrónico

• Internet Explorer

• Netscape

• Firefox

• Internet Information Server (IIS)

• Apache

• Tomcat

Web

ClienteServidorServicio

Desarrollo de Aplicaciones con Sistemas de Bases de Datos Sesión 1.2: 8

Desarrollo de Aplicaciones

con Sistemas de Bases de Datos

Cliente/Servidor

Páginas, Sitios y Portales

• Página Web

– Documento HTML almacenado de forma estática o generado de forma dinámicaque muestra una información útil para el usuario, o permite personalizarla.

• Sitio Web

– Conjunto de páginas web que tratan sobre un tema

• Portal Web

– Conjunto de sitios web, que pueden pertenecer a una o a varias organizaciones.

Page 5: cap01

Desarrollo de Aplicaciones con Sistemas de Bases de Datos Sesión 1.2: 9

Desarrollo de Aplicaciones

con Sistemas de Bases de Datos

Cliente/Servidor

Páginas Estáticas vs Dinámicas

• Páginas Estáticas

– Son aquellas almacenadas en el servidor en un fichero .htm o html. No pueden ser personalizadas.

Cliente Web

1. El cliente solicita una página

3. El servidor envía el fichero al cliente

2. El servidor Web localiza el fichero HTML

4. El navegador recibe el fichero HTML y lo muestra

Desarrollo de Aplicaciones con Sistemas de Bases de Datos Sesión 1.2: 10

Desarrollo de Aplicaciones

con Sistemas de Bases de Datos

Cliente/Servidor

Páginas Estática vs Dinámica (II)

• Páginas Dinámicas

– Son aquellas que permiten un cierto grado de interactividad. Esta interactividad puede producirse en uno o dos de los siguientes niveles:• Páginas Dinámicas del Lado de Cliente

– Son aquellas en las que la propia página contiene código para implementar dicha interactividad. Se dice que dicha interactividad se realiza del lado del cliente.

– Se implementa con lenguajes de Script

• Páginas Dinámicas del Lado del Servidor– Son aquellas generadas por una aplicación web, tal que la información contenida en ellas puede haber sido personalizada por el usuario. La interactividad se realiza del lado del servidor.

– Se implementa con diversas tecnologías.

Page 6: cap01

Desarrollo de Aplicaciones con Sistemas de Bases de Datos Sesión 1.2: 11

Desarrollo de Aplicaciones

con Sistemas de Bases de Datos

Cliente/Servidor

Páginas Estática vs Dinámica (III)

• Proceso de generación de página dinámica del lado del cliente:

Cliente Web

1. El cliente solicita una página

3. El servidor envía el fichero al cliente

2. El servidor Web localiza el fichero HTML

5. El navegador recibe, procesa y muestra el HTML

4. El navegador recibe y ejecuta los scripts, renderizandoel HTML

Desarrollo de Aplicaciones con Sistemas de Bases de Datos Sesión 1.2: 12

Desarrollo de Aplicaciones

con Sistemas de Bases de Datos

Cliente/Servidor

Páginas Estática vs Dinámica (IV)

• Proceso de generación de página dinámica del lado del servidor:

Cliente Web

1. El cliente solicita una página

4. El servidor envía el fichero al cliente

2. El servidor Web localiza el fichero.

5. El navegador recibe, procesa y muestra el HTML

3. La aplicación Web ejecuta los scripts según lo demandado por el cliente y genera el HTML correspondiente

Page 7: cap01

Desarrollo de Aplicaciones con Sistemas de Bases de Datos Sesión 1.2: 13

Desarrollo de Aplicaciones

con Sistemas de Bases de Datos Tecnologías Web

• Contenidos

– Tecnologías para páginas estáticas

– Tecnologías para páginas dinámicas del lado del cliente

– Tecnologías para páginas dinámicas del lado del servidor.

Desarrollo de Aplicaciones con Sistemas de Bases de Datos Sesión 1.2: 14

Desarrollo de Aplicaciones

con Sistemas de Bases de Datos

Tecnologías Web

Páginas Estáticas

• Tecnologías para páginas Estáticas

– HTML• Lenguaje de marcado basado en etiquetas que representan ciertos elementos.

• Permiten mostrar el texto.

• Se verá en el tema 2.

– CSS• Cascading Style Sheet (Hojas de Estilo)

• Permiten maquetar las páginas HTML

• Se verán en el tema 3.

Page 8: cap01

Desarrollo de Aplicaciones con Sistemas de Bases de Datos Sesión 1.2: 15

Desarrollo de Aplicaciones

con Sistemas de Bases de Datos

Tecnologías Web

Páginas Dinámicas de Cliente

• Tecnologías para páginas Dinámicas del lado del cliente.

– Lenguajes de scripts• VBScript

– Versión de Visual Basic

– Competidor de Java Script

– Válido sólo para navegadores de Microsoft.

• JavaScript– Derivado de LiveScript de Netscape.

– Basado en la familia de los lenguajes C

– Tiene muchos elementos de Java, pero no es Java.

– Se verán en el tema 4.

Desarrollo de Aplicaciones con Sistemas de Bases de Datos Sesión 1.2: 16

Desarrollo de Aplicaciones

con Sistemas de Bases de Datos

Tecnologías Web

Páginas Dinámicas de Cliente (II)

– Aplicaciones para ejecución local• Java Applets

– Aplicación gráfica Java que se queda embebida en una página web.

– Necesita una Máquina Virtual Java

– Al ser Java es Multiplataforma.

• Active X Controls

– Aplicación realizada en VB o en C++ basada en Tecnologías Microsoft que se embebe en HTML

– Sólo válido para Internet Explorer, por lo que está en desuso.

• Animaciones Flash.

– Objetos realizados en Macromedia Flash y embebidos en la página Web

• AJAX

Page 9: cap01

Desarrollo de Aplicaciones con Sistemas de Bases de Datos Sesión 1.2: 17

Desarrollo de Aplicaciones

con Sistemas de Bases de Datos

Tecnologías Web

Páginas Dinámicas Servidor

• Tecnologías para páginas Dinámicas del lado del Servidor.

– Ejecutan programa o aplicaciones en el servidor que genera dinámicamente como resultado código HTML

– Permiten que el navegador sea un cliente neutro.

– Es posible la ejecución distribuida, accediendo a distintos recursos distribuidos como bases de datos.

– Dos tecnologías:• Independiente de la arquitectura de la página

• Dependiente de la arquitectura de la página.

Desarrollo de Aplicaciones con Sistemas de Bases de Datos Sesión 1.2: 18

Desarrollo de Aplicaciones

con Sistemas de Bases de Datos

Tecnologías Web

Páginas Dinámicas Servidor (II)

• Independiente de la Arquitectura

– Common Gateway Interfaces (CGI)• Tecnología usada durante mucho tiempo en los servidores que adolecía de problemas de rendimientos (lanzaba una instancia de la aplicación por cada petición del cliente independientemente del servidor web)

• Aplicaciones escritas en C, C++ o Perl para un tratamiento adecuado de cadenas de caracteres.

• Tecnología muy difícil de aprender y de utilizar, aunque muy difundida y utilizada.

Page 10: cap01

Desarrollo de Aplicaciones con Sistemas de Bases de Datos Sesión 1.2: 19

Desarrollo de Aplicaciones

con Sistemas de Bases de Datos

Tecnologías Web

Páginas Dinámicas Servidor (III)

• Dependiente de la Arquitectura– Active Server Pages (ASP)

• Construida usando VBScript o JavaScript• Acceden a los mismos servicios que una aplicación Windows de escritorio, incluyendo ADO, SMTP y COM

• Eran Script interpretados cada vez que eran solicitados, por lo que son lentas.

• Servidor Web: Internet Information Server (IIS) y otros servidores con addons

– Java Server Pages (JSP)• Son como las páginas ASP pero implementadas en Java.• Destaca el concepto de Servlet• Es la plataforma más difundida y actualizada, aunque adolece una serie de problemas.

• Pueden usar EJBs (propietario) y Servicios Web• Servidor Web: Tomcat, Apache y derivados e IIS

Desarrollo de Aplicaciones con Sistemas de Bases de Datos Sesión 1.2: 20

Desarrollo de Aplicaciones

con Sistemas de Bases de Datos

Tecnologías Web

Páginas Dinámicas Servidor (IV)

– PHP Hypertext Preprocessor (PHP)• Similar a ASP, pero usando C y Perl.

• Es código libre

• Servidor Web: Apache y derivados, IIS.

– ASP.NET• Evolución de ASP que permite usar cualquiera de los lenguajes .NET (VB.NET, C#, C++, …)

• Resuelve muchos de los problemas de rendimiento de ASP al ser compilado.

• Puede utilizar Servicios Web XML

• Servidor Web: IIS.

• Se verán en el resto del curso.

Page 11: cap01

Desarrollo de Aplicaciones con Sistemas de Bases de Datos Sesión 1.2: 21

Desarrollo de Aplicaciones

con Sistemas de Bases de Datos

Tecnologías Web

Páginas Dinámicas Servidor (V)

• Tecnologías Necesarias:

– Servidores Web• Apache

• IIS

– Servidor de Aplicaciones Web• Tomcat, Jboss, IBM WebSphere y derivados

• IIS

– Bases de Datos• MySQL, Oracle, …

• SQL Server 2000

Desarrollo de Aplicaciones con Sistemas de Bases de Datos Sesión 1.2: 22

Desarrollo de Aplicaciones

con Sistemas de Bases de Datos

Tecnologías Web

Páginas Dinámicas Servidor (VI)

• Tecnologías:

– Entornos de Desarrollo (SDK)• Microsoft .NET para ASP.NET

• Php para PHP

• J2EE para JSP

– A veces se combinan tecnologías como:• WAMP = Windows+Apache+MySQL+PHP

• LAMP = Linux + Apache+MySQL+PHP

Page 12: cap01

Desarrollo de Aplicaciones con Sistemas de Bases de Datos Sesión 1.2: 23

Desarrollo de Aplicaciones

con Sistemas de Bases de Datos

Tecnologías Web

Páginas Dinámicas Servidor (VII)

• Gestores de Contenidos.

– Aplicaciones Web preconfiguradas y personalizables para diferentes entornos, que permiten realizar una gestión de contenidos de una empresa.• JSP:- Plone (http://plone.org/)

• PHP: PhpNuke (http://www.phpnuke.org/)– Idea interesante para facilitar la instalación y configuración: instalar primero WAMP y luego PHPNuke

• ASP.NET: DotNetNuke (http://www.dotnetnuke.com )– Requiere SQL Server 2000 e IIS

Desarrollo de Aplicaciones con Sistemas de Bases de Datos Sesión 1.2: 24

Desarrollo de Aplicaciones

con Sistemas de Bases de Datos Referencias

• http://www.desarrolloweb.com/manuales/21/