cap01
-
Upload
marcesevilla -
Category
Documents
-
view
13 -
download
0
Transcript of 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
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
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
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.
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.
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
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.
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
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.
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.
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
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/