49
Módulo 5 Desarrollo de Aplicaciones en Internet 5.1. Introducción y conceptos básicos 5.1.1 Definiciones 5.1.1.1 Aplicación 5.1.1.2 Tecnología 5.1.1.3 Internet 5.1.1.4 Página Web 5.1.1.5 Sitio Web 5.1.1.6 Portal 5.1.1.7 Dominio 5.1.1.8 Red Social 5.1.1.9 Blog 5.1.1.10 Wiki 5.1.1.11 Servidor Web 5.1.1.12 Cliente Web (navegador o bowser) 5.1.2 Protocolos http (HyperText Transfer Protocol) y https (Hyper Text Transfer Protocol Secure) 5.1.3 URI (Uniform Resource Identifier), URL (Uniform Resource Locator) y URN (Uniform Resource Name) 5.1.4. Lenguajes de marcado de documentos y el estándar SGML (Standard Generalized Markup Language) 5.1.5 Interfaz DOM (Document Object Model)

Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

Embed Size (px)

Citation preview

Page 1: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

Módulo 5Desarrollo de

Aplicaciones en Internet

5.1. Introducción y conceptos básicos

5.1.1 Definiciones

5.1.1.1 Aplicación

5.1.1.2 Tecnología

5.1.1.3 Internet

5.1.1.4 Página Web

5.1.1.5 Sitio Web

5.1.1.6 Portal

5.1.1.7 Dominio

5.1.1.8 Red Social

5.1.1.9 Blog

5.1.1.10 Wiki

5.1.1.11 Servidor Web

5.1.1.12 Cliente Web (navegador o bowser)

5.1.2 Protocolos http (HyperText Transfer Protocol) y https

(Hyper Text Transfer Protocol Secure)

5.1.3 URI (Uniform Resource Identifier), URL (Uniform Resource

Locator) y URN (Uniform Resource Name)

5.1.4. Lenguajes de marcado de documentos y el estándar SGML

(Standard Generalized Markup Language)

5.1.5 Interfaz DOM (Document Object Model)

Page 2: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

5.2 Tecnología de desarrollo para Internet

5.2.1 Tecnologías utilizadas en el cliente

5.2.1.1 HTML

5.2.1.2. DHTML

5.2.1.3. Javascript

5.2.1.4. Hojas de estilo en cascada (CSS)

5.2.2 Tecnologías utilizadas en el servidor

5.2.2.1 Patrón MVC (Modelo vista controlador)

5.2.2.2 Lenguages de programación y marcos de trabajo

Frame works

5.2.2.2.1 PHP y Cake (CakePHP)

5.2.2.2.2 Java, J2EE, strut, Hibernate o spring

5.2.2.2.3 C#, C++, VB, J#y, NET

5.2.2.2.4 Coldfusion

5.2.2.2.5 Ruby on Rails

5.2.2.3. Servidores

5. 2.2.3.1. Servidores Web

5.2.2.3.2. Servidores contenedores

5.2.3.3.3 Servidores aplicativos

5. 2.2.3.4. Manejadores de bases de datos

Page 3: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

5.2.3 Tecnologías RIA

5.2.3.1 Concepto de RIA

5.2.3.2 Web 1.0 vs. Web 2.0

5.2.3.3. Programación Multimedia : Flash, Flex, SilverLight

5.2.3.4. XML (Extensible Markup Language)

5. 2.3.4.1 DTD (Document Type Definition)

5.2.3.4.2 XML Schema (XSDL)

5.2.3.4.3 ¿Cómo dar Formatos a los

documentos XML?

5.2.3.4.3.1 Hojas de estilo en cascada

5.2.3.4.3.2 XSL (Extensible

Stylesheet language)

5.2.3.5. AJAX (Asynchronous JavaScript and XML)

5.2.3.5.1. JSON (JavaScript Object Notation)

5.2.3.5.2. Prototype

5.3. Estudio Práctico para el desarrollo de una aplicación para

internet.

Page 4: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

Objetivos particulares del módulo

Al finalizar el estudio del módulo el alumno será capaz de desarrollar una

aplicación para Internet de mediano alcance a partir del estudio de las

tecnologías más usadas en el mercado laboral: observando sus ventajas y

desventajas, arquitecturas, especificaciones, así como sus tendencias e

innovaciones.

Page 5: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

Introducción al módulo

Las aplicaciones y los sistemas de información que dan soporte a las operaciones

sustantivas y a la toma de decisiones de las organizaciones, tienden cada día a ser

implementadas sobre una arquitectura basada en los servicios de Internet (Web,

correo electrónico, FTP). Es imperativo que el licenciado en Informática conozca las

tecnologías que existen en el mercado para apoyar el desarrollo de dichas

aplicaciones.

En este módulo el alumno aprenderá los conceptos básicos empleados en las

tecnologías para el desarrollo e implementación de las aplicaciones; el lugar que

ocupan en las arquitecturas más usadas y sus usos más frecuentes. Posteriormente,

hará un análisis de sus ventajas y desventajas con relación al rendimiento, soporte,

escalabilidad, actualidad, confiabilidad, rapidez de implementación.

La mayoría de las aplicaciones y sistemas de información (si no es que todas) tienen

como base para su funcionamiento la interacción con bases de datos. El alumno

conocerá cómo el detalle de hacer dicha interacción cuando se aborden las

tecnologías, arquitecturas y los RMDBS más usados.

Finalmente, en una actividad de reforzamiento, se pedirá al alumno que desarrolle

una pequeña aplicación que integre todos los conocimientos vistos en el módulo.

Page 6: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

Desarrollo de contenido

5. Desarrollo de Aplicaciones en Internet

5.1. Introducción y conceptos básicos

Antes de comenzar es importante definir algunos conceptos que nos sirvan como

marco de referencia.

5.1.1.1 Aplicación

En informática una aplicación es un programa o conjunto de programas (sistemas

informáticos), con los cuales el usuario final interactúa; es decir, son aquellas

instrucciones que permiten la interacción entre el usuario y la computadora

facilitándole la realización de diversas actividades de forma automática. Una

aplicación puede desarrollarse en distintos lenguajes y en distintas plataformas y con

fines u objetivos específicos. Las aplicaciones necesitan de un sistema operativo

para poder funcionar. Existen varios tipos de aplicaciones: procesadores de texto,

bases de datos, hojas de cálculo, correo electrónico, etc.

5.1.1.2. Tecnología

Tecnología es el conjunto de saberes que permiten fabricar objetos y modificar el

medio ambiente, incluyendo las plantas y animales, para satisfacer las necesidades y

los deseos humanos. Es una palabra de origen griego, formada por tekne (arte,

técnica u oficio) y logos (conjunto de saberes). Aunque hay muchas tecnologías muy

diferentes entre sí, es frecuente usar el término en singular para referirse a una

cualquiera de ellas o al conjunto de todas1.

Pero para nuestros intereses hablemos de Tecnología Informática (TI), podemos

decir que es un conjunto de inventos, técnicas y conocimientos organizados que

se usan para realizar algún tipo de producto o servicio. La TI es aquella que se ocupa

del uso de computadoras y del software electrónico de convertir, de almacenar, de

1Fuente: http://es.wikipedia.org/wiki/Tecnología [Consulta: abril 2 de 2008]

Page 7: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

proteger, de procesar, de transmitir y de recuperar la información. Hay tecnologías

que sirven para desarrollar aplicaciones para Internet, como lenguajes de

programación, software especializado, técnicas de diseño, modelos de arquitectura y

marcos de trabajo.

5.1.1.3. Internet

“Internet es una red de redes de alcance mundial que utiliza el protocolo TCP/IP2

para las comunicaciones. Fue creada para facilitar la comunicación entre el gobierno

y los investigadores”.

Sus orígenes se remontan a 1969, cuando se estableció la primera conexión de

computadoras, conocida como ARPANET, entre tres universidades en California y

una en Utah. Pero realmente su auge se alcanzo alrededor de 1990.

Para 2007, según las Estadísticas Mundiales Internet3, la red de redes cuenta con

la nada despreciable cantidad de 6,574,666,417 internautas, divididos de la siguiente

manera.

2El nombre TCP/IP proviene de dos de los protocolos más importantes de la familia de protocolosInternet: el Transmission Control Protocol (TCP) y el Internet Protocol (IP), José Luís Raya, TCP/IPpara Windows 2000 Server Colombia 2001, p. 59.

3Fuente: http://www.exitoexportador.com/stats.htm [Consulta: abril 2 de 2008]

Page 8: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

ESTADISTICAS MUNDIALES DEL INTERNET Y DE POBLACION

RegionesPoblacion( 2007 Est.)

%PoblacionMundial

Usuarios,dato

más reciente

% Población(Penetración)

% UsoMundial

Crecimiento( 2000-2007

)

Africa 933,448,292 14.2 % 43,995,700 4.7 % 3.5 % 874.6 %

Asia 3,712,527,624 56.5 % 459,476,825 12.4 % 36.9 % 302.0 %

Europa 809,624,686 12.3 % 337,878,613 41.7 % 27.2 % 221.5 %

Oriente Medio 193,452,727 2.9 % 33,510,500 17.3 % 2.7 % 920.2 %

Norte America 334,538,018 5.1 % 234,788,864 70.2 % 18.9 % 117.2 %

Latinoamerica/ Caribe

556,606,627 8.5 % 115,759,709 20.8 % 9.3 % 540.7 %

Oceania /Australia

34,468,443 0.5 % 19,039,390 55.2 % 1.5 % 149.9 %

TOTALMUNDIAL

6,574,666,417 100.0 % 1,244,449,601 18.9 % 100.0 % 244.7 %

Cuadro 5.1 Distribución mundial de la población de internautas. Fuente:http://www.exitoexportador.com/stats.htm [Consulta: abril 2 de 2008]

Como ya lo mencionamos anteriormente, gracias a Internet es posible se

comuniquen miles de máquinas de diferentes lugares del mundo, utilizando un el

protocolo TCP/IP, además garantiza que redes físicas heterogéneas funcionen como

una red lógica única de alcance mundial.

Internet proporciona la infraestructura necesaria para la comunicación e intercambio

de información, haciendo posible la existencia de muchos servicios, entre los que se

encuentran:

World Wide Web Correo electrónico Listas de distribución Foros Web Weblogs FTP Transferencia de

archivos Archie

Chats o IRC Telnet Gopher Redes sociales Wikis Spaces Transmisión de archivos

P2P y P2M

Page 9: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

5.1.1.4. Página Web

Una página Web es un documento para el WWW (que intenta ser estandarizada por

el World Wide Web Consortium, también llamado W3C), normalmente en formato

HTML (que proviene del estándar SGML) o en formato XHTML (que proviene del

estándar XML), accesible mediante un navegador de Internet.

Las páginas Web pueden ser cargadas de un equipo local o remoto, llamado

Servidor Web, el cual servirá de HOST. El servidor Web puede restringir las páginas

a una red privada, por ejemplo, una Intranet o puede publicar las páginas en el World

Wide Web. Las páginas Web son solicitadas por los clientes y ser transferidas a

éstos por los servidores usando el Protocolo de Transferencia de Hipertexto o HTTP

(Hypertext Transfer Protocol). La acción de guardar una página Web en el Servidor

“host” se denomina “hosting”.

Las páginas Web pueden consistir de archivos de texto estático o de una serie de

archivos con código que instruya al servidor sobre cómo construir el HTML para cada

página que es solicitada, a esto se le conoce como página Web dinámica.

5.1.1.5. Sitio Web

Un sitio Web4, es una fuente de información que puede contener: textos, imágenes,

animaciones, videos, hiperligas, entre otras. Adaptada para la World Wide Web

(WWW), se accede a ellas mediante el "navegador", el "browser", "visualizador" o

"cliente" (Netscape, Internet Explorer, FireFox Mozilla, Ópera, Navigator, etc.) de

preferencia de cada uno de los usuarios. Puede contener “hiperenlaces”, “hiperligas”

o también conocidos como “link” convenientemente enlazadas por el contenido a

otras páginas Web dentro del mismo sitio o uno externo, constituyendo así la red de

redes.

4No hay que confundir sitio Web con página Web; esta última es un sólo archivo HTML (o XHTML), y

forma parte de un sitio Web.

Page 10: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

En general los sitios pueden ser de cuatro tipos: comercio, entretenimiento,

informativo y educativo. Un sitio Web puede ser desde muy simple (algunas páginas

estáticas con texto, imágenes, animaciones, etc.) hasta ya algo más complejo,

utilizando páginas dinámicas que muestran información actualizada obtenida de

alguna fuente (base de datos); mostrando imágenes, cuadros estadísticos, consultas

de diversos tipos, etc.

La forma de conectarnos a un sitio Web es con una dirección o nombre (URL), el

cual apunta a un servidor, a través de nuestra computadora que solicita ver el

contenido, el servidor envía los datos y el usuario esta listo para navegar.

Esta información se presentaba generalmente en formato HTML, más recientemente

es presentada en su mayoría por el XHTML, el cual ha cambiado en cuanto sintaxis y

estándares (el código es mucho más limpio).

Los sitios Web5 pueden ser visualizados desde un abanico de dispositivos con

disponibilidad de Internet como computadoras personales, computadoras portátiles,

PDAs, dispositivos de video juegos portátiles (consolas portátiles) y teléfonos

móviles.

5.1.1.6. Portal

Portal es un término, sinónimo de puente, para referirse a un Sitio Web que sirve o

pretende servir como un sitio principal de partida para las gente que se conectan a

través de el, ofreciéndole una gama muy amplia de posibilidades y temas. Son sitios

que los usuarios tienden a visitar como sitios ancla. Los portales tienen gran

reconocimiento en Internet por el poder de influencia que tienen sobre grandes

masas humanas. Un portal se considera un sitio robusto. Entonces podemos definir a

un portal como una plataforma de despegue para la navegación en la Web. Existen

5Para publicar un sitio Web, se requiere del servicio de Web hosting que le ofrecen los Proveedores

de Presencia Internet.

Page 11: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

los generales y los especializados o de lugar. Algunos portales6 generales muy

conocidos son: Yahoo, Netscape, Lycos, CNET, la red de Microsoft, y América en

línea (AOL).

Los servicios típicos ofrecidos por los portales incluyen un directorio de sitios Web,

un buscador, noticias, encuestas, chats, foros, blogs, correo electrónico, información

del tiempo, e-mail, cotizaciones de acciones, mapa, y a veces de un foro para la

comunidad.

5.1.1.7. Dominio

El nombre del dominio es la dirección en Internet. Esta formado por 3 campos: el

subdominio, el dominio y la extensión, separados por un punto. El subdominio nos

muestra el protocolo que estamos usando, el dominio es la marca identificativa de

esa dirección y por último la extensión nos puede mostrar localización, función o tipo,

por ejemplo: .com (comercial), .net (network) , .org (organización) y .edu (educación)

Un cuarto campo es la extensión que se pueden ubicar por el país de origen como:

.es España, .mx México, .arg Argentina, etc

También hay subdominios y es algo que se escribe antes del nombre del dominio y

podría funcionar para indicar una parte muy especial de un site en Internet como el

apartado de "Foros" de casadomo.com: http://foro.casadomo.com.

5.1.1.8. Red Social

Son sitios basados en la web que permiten a los usuarios compartir contenido,

interactuar y crear comunidades sobre intereses similares.

5.1.1.9. Blog

Este término inglés blog o weblog proviene de las palabras web y log ('log' en inglés

= diario). Aplicación web destinada a la publicación periódica de noticias, editoriales,

6“Excite” está entre los primeros portales que ofrecen a usuarios la capacidad de crear un portal que

se personalice de acuerdo a intereses individuales de cada visitante.

Page 12: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

comentarios. Bitácora de internet periódicamente actualizada que recopila

cronológicamente textos o artículos de uno o varios autores, apareciendo primero el

más reciente, donde el autor conserva siempre la libertad de dejar publicado lo que

crea pertinente

5.1.1.10. Wiki

Es un sitio web en el que se permite a los usuarios editar libremente los contenidos.

Es un término tomado de la lengua hawaiana que significa “rápido”.

5.1.1.11. Servidor Web

Un servicio Web (Web service), es un recurso de software que se ejecuta en un

servidor Web remoto, en respuesta a la solicitud hecha por un cliente -a través de un

navegador-. Los servicios Web son equivalentes a cualquier aplicación que corre en

un equipo local, sólo que la información necesaria para llevar a cabo una tarea

específica es enviada al servidor y el resultado de esa tarea, devuelto al usuario,

ambos en la forma de contenido Web.

Es una colección de protocolos y estándares que sirven para intercambiar datos

entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes de

programación diferentes, y ejecutadas sobre cualquier plataforma, pueden utilizar los

servicios Web para intercambiar datos en redes de computadoras como Internet.

5.1.1.12. Cliente Web

Un cliente Web es una interfaz, conocida como navegador o browser la cual se utiliza

para acceder o comunicarse con ciertos programas, alojados en un servidor remoto.

Se requiere específicamente una conexión a otro programa al que se denomina

servidor y que suele estar en otra máquina. “…Ya7 no se utilizan por criterios de

costo, sino para obtener datos externos (por ejemplo páginas Web, información

bursátil o bases de datos), interactuar con otros usuarios a través de un gestor

central, compartir información con otros usuarios (servidores de archivos y otras

7Fuente: http://es.wikipedia.org/wiki/Cliente [Consultado: abril 8 de 2008]

Page 13: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

aplicaciones Groupware) o utilizar recursos de los que no se dispone en la máquina

local (por ejemplo para la impresión)”.

5.1.2 Protocolos http (HyperText Transfer Protocol) y https (Hyper Text

Transfer Protocol Secure)

¿Cómo implementar nuestras aplicaciones Web? Primero, hay que instalar un

servidor Web, que es un programa que implementa el protocolo HTTP (HyperText

Transfer Protocol). Este protocolo está diseñado para transferir hipertextos, páginas

Web o páginas HTML: textos complejos con enlaces, figuras, formularios, botones y

objetos incrustados como animaciones o reproductores de música.

El que HTTP y HTML estén íntimamente ligados no significa que sean lo mismo.

HTML es un lenguaje de marcado y HTTP es un protocolo, los dos para

hipertexto.

El protocolo de transferencia de hipertexto: (HTTP, HyperText Transfer Protocol) es

el protocolo usado en cada transacción de la Web (WWW). HTTP fue desarrollado

por el consorcio W3C y la IETF, colaboración que culminó en 1999 con la publicación

de una serie de RFC, siendo el más importante de ellos el RFC 2616, que especifica

la versión 1.1.

HTTP define la sintaxis y la semántica que utilizan los elementos software de la

arquitectura web (clientes, servidores, proxies) para comunicarse. Es un protocolo

orientado a transacciones y sigue el esquema petición-respuesta entre un cliente y

un servidor.

Hypertext Transfer Protocol Secure: (Protocolo seguro de transferencia de

hipertexto), es un protocolo de red basado en el protocolo HTTP, destinado a la

transferencia segura de datos de hipertexto, es decir, es la versión segura de HTTP.

El sistema HTTPS utiliza un cifrado basado en las Secure Socket Layers (SSL) para

crear un canal cifrado (cuyo nivel de cifrado depende del servidor remoto y del

navegador utilizado por el cliente) más apropiado para el tráfico de información

sensible que el protocolo HTTP. Usa el puerto 443.

Page 14: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

5.1.3. URI (Uniform Resource Identifier), URL (Uniform Resource Locator) y

URN (Uniform Resource Name)

Uniform Resource Identifier, identificador uniforme de recurso, definido en RFC 2396

(Uniform Resource Identifiers: Generic Syntax). Un URI es una cadena corta de

caracteres que identifica inequívocamente un recurso (servicio, página, documento,

dirección de correo electrónico, enciclopedia, etc.). Normalmente estos recursos son

accesibles en una red o sistema.

URL significa Uniform Resource Locator, es decir, localizador uniforme de recurso.

Es una secuencia de caracteres, de acuerdo a un formato estándar, que se usa para

nombrar recursos, como documentos e imágenes en Internet, por su localización.

Los URL fueron una innovación fundamental en la historia de la Internet. Fueron

usadas por primera vez por Tim Berners-Lee en 1991, para permitir a los autores de

documentos establecer hiperenlaces en la World Wide Web (WWW o Web). Desde

1994, en los estándares de la Internet, el concepto de URL ha sido incorporado

dentro del más general de URI (Uniform Resource Identifier - Identificador Uniforme

de Recurso), pero el término URL aún se utiliza ampliamente.

URN es un acrónimo inglés de Uniform Resource Name, al español "Nombre de

recurso uniforme". Un URN trabaja de manera similar a un URL (Localizadores

Universales de Recursos), estos identifican recursos en la web, pero a diferencia de

un URN, no indica exactamente donde se encuentra ese objeto. Básicamente un

URI(Uniform Resource Identifier) = URL + URN

5.1.4. Lenguajes de marcado de documentos y el estándar SGML (Standard

Generalized Markup Language)

Lenguaje de Marcado: Un conjunto de símbolos y reglas que se usan para

especificar el formato y delimitar el contenido de un documento dado, que después

será interpretado por un programa específico. Por ejemplo, el lenguaje HTML es

Page 15: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

usado para especificar el formato de las páginas web que serán presentadas en un

explorador.

SGML: SGML son las siglas de Standard Generalized Markup Language o "Lenguaje

de Marcado Generalizado". Consiste en un sistema para la organización y etiquetado

de documentos. La Organización Internacional de Estándares (ISO) normalizó este

lenguaje en 1986.

El lenguaje SGML sirve para especificar las reglas de etiquetado de documentos y no

impone en sí ningún conjunto de etiquetas en especial.

5.1.5 Interfaz DOM (Document Object Model)

Modelo de objetos en documentos. Interface independiente de la plataforma y del

lenguaje que permite que los programas y scripts tengan acceso dinámicamente y

actualicen el contenido, la estructura y estilo de los documentos.

5.2 Tecnología de desarrollo para Internet

Es momento de estudiar las diversas tecnologías que existen para el desarrollo de

aplicaciones para Internet. En este punto se desarrollarán las más importantes.

5.2.1 Tecnologías utilizadas en el cliente

Generalmente se separan en 2 tipos las tecnologías cuando se habla de Web, el

cliente y el servidor. Cuando hablamos de cliente, nos referimos a aquellas

tecnologías que corren a través del navegador (por lo general). La ubicación de los

datos o de las aplicaciones es totalmente transparente para el cliente.

Page 16: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

El cliente inicia un requerimiento de servicio. Este requerimiento puede llegar a

convertirse en variados requerimientos de trabajo a través de redes LAN o WAN.

Ejemplo: El navegador es una especie de aplicación conocida como “cliente”, el

cual se encarga de interpretar las etiquetas HTML, para mostrarlas al usuario

solicitante.

Figura 5.1 Aplicaciones de la WEB hacia el cliente8

IBM define al modelo Cliente/Servidor 9

Es la tecnología que proporciona al usuario final el acceso transparente a las

aplicaciones, datos, servicios de cómputo o cualquier otro recurso del grupo de

trabajo y/o, a través de la organización, en múltiples plataformas. El modelo

8Fuente:

http://www.adelat.org/media/docum/nuke_publico/lenguajes_del_lado_servidor_o_cliente.html[Consultado: abril 8 de 2008]9

Fuente: http://www.inei.gob.pe/biblioineipub/bancopub/inf/lib5038/defi.HTM [Consulta: abril 3 de2008]

Page 17: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

soporta un medio ambiente distribuido en el cual los requerimientos de servicio

hechos por estaciones de trabajo inteligentes o "clientes'', resultan en un trabajo

realizado por otros computadores llamados servidores".

5.2.1.1 HTML

HTML acrónimo de HyperText Markup Language, (Lenguaje de Marcado de

HiperTexto). Es un lenguaje diseñado para estructurar textos y presentarlos en

forma de hipertexto. Para realizar una página Web se puede hacer de diferentes

formas, desde convertirse en un experto y teclear cada una de las etiquetas desde el

Block de Notas (NOTEPAD) de Windows, debido a que una página Web es

simplemente un texto al que se le añaden etiquetas con el objeto de indicar

diferentes propiedades o características, o bien utilizar un editor para realizar páginas

Web. Dichos editores permiten por medio de menús e iconos incluir etiquetas de

HTML sin necesidad de teclearlas.

Son tres las etiquetas o tags que describen la estructura básica de un documento

HTML. Estas tags no afectan la apariencia del documento y solo interpretan y filtran

los archivos HTML. Todas las etiquetas necesitan cerrarse con línea diagonal ("/").

Como se puede ver en el ejemplo siguiente.

La estructura queda de esta manera

<html><head><title> titulo del sitio </title></head>

<body>Contenido del documento HTML</body></html>

1. <HTML>: Limita el documento, se escriben al inicio y al final e indican que se

encuentra escrito en este lenguaje.

Page 18: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

2. <HEAD>: (cabeza) Especifica el prólogo del resto del archivo. Define la cabecera

del documento HTML, esta cabecera suele contener información sobre el

documento que no se muestra directamente al usuario. Dentro de la etiquete

<head> podemos encontrar a su ves la etiqueta.

<title>: Define el título de la página. Por lo general, el título aparece en la

barra de título, arriba de la ventana, también es con el nombre que se

guarda en los favoritos. Solo puede haber un título por documento,

preferiblemente corto pero significativo, y no caben otras tags dentro de

él.

3. <BODY> </BODY>: Dentro de este par de etiquetas se coloca el contenido o

cuerpo del documento que se desea se visualice a través del navegador, dentro

de esta etiqueta pueden definirse propiedades comunes de toda la página, como

color de fondo, alineación y márgenes. Dentro de ella se insertan todas las

etiquetas necesarias para darle formato al contenido (texto, imágenes,

animaciones, etc.) de la hoja HTML.

5.2.1.2 DHTML

Imaginemos por un momento que tuviéramos entre manos un gran proyecto: La

creación masiva de páginas, como puede ser un periódico, donde diariamente hay

que cambiar los contenidos por completo; o una enciclopedia online, con miles de

páginas y referencias, por poner dos ejemplos. Si utilizáramos únicamente HTML

necesitaríamos un regimiento de programadores Web para poder llevar a cabo el

trabajo de crear tantas páginas y su actualización.

Asimismo, si quisiéramos desarrollar una aplicación en Web donde el usuario tuviese

que interaccionar con la página; o una aplicación que ofreciese algún servicio, como

Page 19: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

un buscador o un gestor de correo a través de la Web, también nos veríamos muy

limitados con el HTML.

Además, también estamos muy limitados con el HTML en el momento de crear

efectos en las páginas, animaciones que llamen un poco la atención del usuario y

que permitan hacer que las mismas sean más divertidas.

DHTML es lo que hace posible crear páginas Web que salven todas las limitaciones

del HTML como las comentadas anteriormente. Como vemos, el DHTML es muy

amplio y engloba muchas técnicas que se pueden realizar con multitud de lenguajes

de programación y programas distintos.

Vamos a hacer una clasificación de DHTML para acotar sus usos.

DHTML de cliente

Por un lado tenemos el DHTML que se desarrolla en el ámbito de una página Web,

cuando ésta se ve en la pantalla del equipo del usuario, es decir, en los

navegadores. En estos casos, para realizar cualquier tipo de efecto o interactividad

en la página tenemos como recurso el navegador, por eso se llama “de cliente”.

La programación en el cliente sirve para muchas cosas, ejemplo de ello son los

efectos diversos en las páginas, sonidos, videos, menús interactivos, control y

respuesta a las acciones de un usuario en la página, control sobre los formularios.

Para hacerlas podemos utilizar diversos lenguajes de programación como JavaScript

y VBScript, o incluso podemos insertar aquí programas como Flash.

Pero no basta poder programar del lado del cliente, puesto que estos lenguajes no

permiten el desarrollo de cualquier proyecto en Internet, debido a que al ser

ejecutados en el navegador del cliente no tienen acceso a todos los recursos del

sistema del usuario (para evitar agujeros de seguridad) ni a los recursos del servidor

Page 20: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

en los que están alojadas las páginas. Esta limitación, añadida a la ya comentada de

su dependencia del navegador, los hace insuficientes para desarrollos avanzados,

siendo más bien un complemento de programación que el núcleo de verdaderas

aplicaciones en el Web.

DHTML de servidor

Por otro lado, existen una serie de lenguajes que se basan en el servidor para

ejecutar sus scripts, al igual que la programación del cliente se basa en el navegador.

Cuando una página es solicitada por parte de un cliente, el servidor ejecuta los

scripts y genera una página resultado, que envía al cliente. La página resultado

contiene únicamente el código HTML, por lo que puede ser interpretada por cualquier

navegador sin lugar a errores, independientemente de su versión.

Esta independencia del navegador ya es una ventaja significativa con respecto a la

programación en el cliente, pero lo es aún más porque contamos con todos los

recursos del servidor donde están alojadas las páginas. Estos recursos, como

gestores de bases de datos, servidores de correo o el propio sistema de archivos del

servidor, son los que nos van a permitir construir todo tipo de aplicaciones.

Como ventajas adicionales se puede destacar que el código de las páginas con los

scripts nunca llega al cliente, recordamos que al navegador sólo le llega HTML, y

esto implica que nuestros visitantes nunca van a poder acceder al corazón de las

aplicaciones que hayamos desarrollado, es decir, a los scripts del lado del servidor.

Hay muchos lenguajes del lado del servidor que podemos usar: ASP, desarrollado

por Microsoft, PHP de código libre, JSP para programar en Java, o alguna otra

interfaz como CGI, que se desarrolla en lenguajes como C o Perl.

Page 21: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

5.2.1.3 Javascript

JavaScript es un lenguaje interpretado, es decir, que no requiere compilación, se

utiliza principalmente en páginas Web, con una sintaxis semejante a los lenguajes

Java y C.

Al contrario que Java, JavaScript no es un lenguaje orientado a objetos propiamente

dicho, ya que no dispone de Herencia; es más bien un lenguaje basado en

prototipos, ya que las nuevas clases se generan clonando las clases base

(prototipos) y extendiendo su funcionalidad.

Todos los navegadores interpretan el código JavaScript integrado dentro de las

páginas Web. Para interactuar con una página Web se provee al lenguaje JavaScript

de una implementación del DOM (para evitar incompatibilidades, el World Wide Web

Consortium diseñó el estándar Document Object Model).

Podemos usar JavaScript para programar todas las validaciones que requiere un

formulario hecho con HTML, como evitar el ingreso de caracteres no válidos, campos

no llenados.

5.2.1.4. Hojas de estilo en cascada (CSS Cascading Style Sheets )

Son un lenguaje formal usado para definir la presentación de un documento

estructurado escrito en HTML o XML (y por extensión en XHTML). El W3C (World

Wide Web Consortium) es el encargado de formular la especificación de las hojas de

estilo que servirán de estándar para los agentes de usuario o navegadores.

Page 22: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

5.2.2 Tecnologías utilizadas en el servidor

En una red de computadoras, un servidor es un equipo que pone diversos recursos a

disposición de otras computadoras conocidas como “los clientes”. Estos recursos

pueden ser: acceso a bases de datos, a diversas aplicaciones, impresoras, fax,

procesamiento de imágenes, etc.

En Internet, este término se utiliza a menudo para designar los sistemas que

proporcionan información a los usuarios de la red. Los servidores pueden estar

conectados a los clientes a través de redes LANs o WANs y son los encargados de

alojar los sitios Web junto con todas sus aplicaciones.

5.2.2.1 Patrón MVC (Modelo vista controlador)

Es un patrón de arquitectura de software que separa los datos de una aplicación, la

interfaz de usuario, y la lógica de control en tres componentes distintos. El patrón

MVC se ve frecuentemente en aplicaciones web, donde la vista es la página HTML y

el código que provee de datos dinámicos a la página. El modelo es el Sistema de

Gestión de Base de Datos y la Lógica de negocio, y el controlador es el responsable

de recibir los eventos de entrada desde la vista.

5.2.2.2 Lenguages de programación y marcos de trabajo . Frame

works

Lenguaje de programación: Conjunto de reglas semánticas y sintácticas utilizadas

para dar instrucciones a un ordenador.

Framework: estructura de soporte definida, mediante la cual otro proyecto de

software puede ser organizado y desarrollado. Típicamente, puede incluir soporte de

programas, bibliotecas y un lenguaje interpretado entre otros software para ayudar a

desarrollar y unir los diferentes componentes de un proyecto.

Page 23: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

Representa una arquitectura de software que modela las relaciones generales de las

entidades del dominio. Provee una estructura y una metodología de trabajo la cual

extiende o utiliza las aplicaciones del dominio.

5.2.2.2.1 PHP y Cake (CakePHP)

Framework de desarrollo de aplicaciones web escrito en PHP, facilita al usuario la

interacción con la base de datos mediante el uso de ActiveRecord. Además hace uso

del patrón Modelo Vista Controlador.

PHP es un lenguaje de programación interpretado, usado para la creación de

aplicaciones para servidores o para la creación de contenido dinámico para sitios

Web. Últimamente también para la creación de otro tipo de programas incluyendo

aplicaciones con interfaz gráfica usando las librerías Qt o GTK+.

El fácil uso y la similitud con los lenguajes más comunes de programación

estructurada, como C y Perl, permiten a la mayoría de los programadores

experimentados crear aplicaciones complejas con una curva de aprendizaje muy

suave. También les permite involucrarse con aplicaciones de contenido dinámico sin

tener que aprender todo un nuevo grupo de funciones y prácticas.

Debido al diseño de PHP, también es posible crear aplicaciones con una Interfaz

Gráfica para el Usuario (GUI), utilizando la extensión PHP-Qt o PHP-GTK. También

puede ser usado desde la línea de órdenes, de la misma manera como Perl o Python

pueden hacerlo, esta versión de PHP se llama PHP Command Line Interface (CLI).

Su interpretación y ejecución se da en el servidor Web, en el cual se encuentra

almacenado el script y el cliente sólo recibe el resultado de la ejecución. Cuando el

cliente hace una petición al servidor para que le envíe una página Web, generada por

un script PHP, el servidor ejecuta el intérprete de PHP, el cual procesa el script

Page 24: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

solicitado que generará el contenido de manera dinámica, pudiendo modificar el

contenido por enviar, y regresa el resultado al servidor, el cual se encarga de

regresárselo al cliente. Además es posible utilizar PHP para generar archivos PDF,

Flash, así como imágenes en diferentes formatos, entre otras cosas.

Permite la conexión a diferentes tipos de servidores de bases de datos tales como

MySQL, PostgreSQL, Oracle, ODBC, DB2, Microsoft SQL Server, Firebird y SQLite;

lo cual permite la creación de Aplicaciones Web muy robustas.

PHP también tiene la capacidad de ser ejecutado en la mayoría de los sistemas

operativos tales como UNIX (y de ese tipo, como Linux o Mac OS X) y Windows, y

puede interactuar con los servidores de Web más populares ya que existe en versión

CGI, módulo para Apache, e ISAPI.

El modelo PHP puede ser visto como una alternativa al sistema de Microsoft que

utiliza ASP.NET/C#/VB.NET, a ColdFusion de la compañía Adobe (antes

Macromedia), a JSP/Java de Sun Microsystems, y al famoso CGI/Perl.

5.2.2.2.2 Java, J2EE, struts, Hibernate o spring

Java: lenguaje multiplataforma para el desarrollo de software creada por Sun

Microsystems, ampliamente extendida hoy en día, que otorga independencia de

plataforma al software creado en ella y lo provee de una gran cantidad de APIs

estandarizados.

J2EE Define un estándar para el desarrollo de aplicaciones empresariales multicapa

diseñado por Sun Microsystems. J2EE simplifica las aplicaciones empresariales

basándolas en componentes modulares y estandarizados, proveyendo un completo

conjunto de servicios a estos componentes, y manejando muchos de las funciones

de la aplicación de forma automática, sin necesidad de una programación compleja.

Page 25: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

Java Platform Enterprise Edition o Java EE (anteriormente conocido como Java 2

Platform Enterprise Edition o J2EE hasta la versión 1.4), es una plataforma de

programación para desarrollar y ejecutar software de aplicaciones en Java con

arquitectura de n niveles distribuidos, basándose ampliamente en componentes de

software modulares ejecutándose sobre un servidor de aplicaciones.

Esta tecnología soporta una gran variedad de tipos de aplicaciones, desde

aplicaciones Web de gran escala, hasta pequeñas aplicaciones cliente-servidor. El

objetivo principal de la tecnología J2EE es crear un simple modelo de desarrollo para

aplicaciones empresariales utilizando componentes basados en el modelo de

aplicación. En este modelo dichos elementos utilizan servicios proporcionados por el

contenedor, que de otro modo tendrían que estar incorporados en el código de la

aplicación. Pero observa que esto podría no ser lo ideal para todos los escenarios:

por ejemplo, una pequeña aplicación se cubriría mejor utilizando una solución de la

tecnología Java de peso ligero utilizando Servlets y JSPs en lugar de toda la

arquitectura J2EE.

Strut: es una herramienta de soporte para el desarrollo de aplicaciones Web bajo el

patrón MVC bajo la plataforma J2EE (Java 2, Enterprise Edition). Struts se

desarrollaba como parte del proyecto Jakarta de la Apache Software Foundation,

pero actualmente es un proyecto independiente conocido como Apache Struts. Struts

permite además reducir el tiempo de desarrollo.

Hibernate: es una herramienta de Mapeo objeto-relacional para la plataforma Java

(y disponible también para .Net con el nombre de NHibernate) que facilita el mapeo

de atributos entre una base de datos relacional tradicional y el modelo de objetos de

una aplicación, mediante archivos declarativos (XML) que permiten establecer estas

Page 26: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

relaciones. Hibernate es software libre, distribuido bajo los términos de la licencia

GNU LGPL.

5.2.2.2.3 C#, C++, VB, J#y, NET

C#. Lenguaje de programación diseñado por Microsoft en 2001 como parte de

su plataforma .NET. Combina el lenguaje de bajo nivel de C y la velocidad de

la programación de alto nivel de Visual Basic.

C++. Lenguaje de programación diseñado a mitad de los años 80 como

extensión del lenguaje C. Está considerado como el lenguaje más potente ya

que permite trabajar tanto a alto como a bajo nivel, aunque no está casi nada

automatizado, por lo que hay que hacerlo casi todo manualmente, como en C.

Visual Basic es un lenguaje de programación desarrollado por Alan Cooper

para Microsoft. El lenguaje de programación es un dialecto de BASIC, con

importantes añadidos. Constituye un IDE (entorno de desarrollo integrado o en

inglés Integrated Development Enviroment) que ha sido empaquetado como

un programa de aplicación, es decir, consiste en un editor de código

(programa donde se escribe el código fuente), un depurador (programa que

corrige errores en el código fuente para que pueda ser bien compilado), un

compilador (programa que traduce el código fuente a lenguaje de máquina), y

un constructor de interfaz gráfica o GUI (es una forma de programar en la que

no es necesario escribir el código para la parte gráfica del programa, sino que

se puede hacer de forma visual).

J#. lenguaje transicional para programadores del lenguaje de programación

Java y del lenguaje J++ de Microsoft, creado con la intención de que ambos

puedan usar sus conocimientos actuales para crear aplicaciones en la

plataforma .NET de Microsoft.

Page 27: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

.NET. es un proyecto de Microsoft para crear una nueva plataforma de

desarrollo de software con énfasis en transparencia de redes, con

independencia de plataforma de hardware y que permita un rápido desarrollo

de aplicaciones.

5.2.2.2.4 Coldfusion

Es un lenguaje de script o lenguaje de programación Web que se ejecuta en un

servidor y devuelve una respuesta a un cliente en formato HTML.

Cold Fusion10 es una interfaz creada por Allaire que sirve para conectarse a bases de

datos desde el Web, de esta manera es posible que se distribuya información desde

Internet o una Intranet. Es una potente herramienta para realizar las funciones de

acceso a la información alojada en bases de datos, utilización de programación

personalizada, y presentación de la información utilizando formatos muy avanzados.

Cold Fusion11 centra su potencialidad en la confiabilidad y el control del manejo de

datos. Reconoce la complejidad del manejo e interacción de escritos CGI,

ofreciendo una potente seguridad, veloz carga de datos, procesamiento rápido de

escritos CGI que posibilita el cumplimiento de tareas de entrada o devolución de

datos.

Entre las funciones de Cold Fusion están:

Sirve a cualquier requisición de datos una vez cuente con la instalación y

configuración de las fuentes de datos ODBC de 32-bits.

Detecta errores producidos por la mala configuración o por el registro

completo de la bitácora del servidor SQL.

Funciona correctamente en una máquina remota. Se ejecuta sin problemas

en el Microsoft Internet Information Server, aún teniendo gran cantidad de

10http://www.adobe.com/products/coldfusion/

11Fuente: http://www.uca.edu.sv/investigacion/bdweb/reportes/coldfusion.html [Consulta: abril 7 de

2008]

Page 28: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

solicitudes. Gracias a ello brinda un correcto funcionamiento tanto en

Internet como en Intranets.

Provee de ayuda para la configuración que permita generar páginas HTML

en forma dinámica.

Crea estructuras condicionales dinámicamente para personalizar la solicitud

de datos y el envío de los mismos hacia el cliente. Así mismo, diseña

cadenas de datos para crear dinámicamente menús desplegables y para

llenar listas de selección y listas de documentos.

Cómo funciona Cold Fusion12

Una vez se ha realizado la instalación de este paquete, se pueden realizar

requisiciones a través de un URL, las cuales son enviadas al servidor Web, y éste a

su vez la hace a la interfaz de Cold Fusion, la que se conecta a una fuente de datos

ODBC, a la cual solicita los datos que requiere extraer de la base de datos.

Como puede verse, Cold Fusion utiliza fuentes de datos ODBC, de las que incluye

una versión dentro del software de instalación, para poder manipular la información

dentro de las bases de datos.

Una vez se ha obtenido la información que se ha solicitado, la interfaz envía los

datos hacia el Servidor Web y éste al browser, en donde los mismos son

desplegados gráficamente.

En la siguiente figura se muestra el proceso que sigue Cold Fusion al momento de

recibir y responder a una requisición.

12ídem

Page 29: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

Arquitectura de Cold Fusion para acceder bases de datos en el Web.

Análisis de integración: servidores Web y manejadores de bases de datos

5.2.2.2.4 Ruby on Rails

Ruby on Rails, también conocido como RoR o Rails es un framework de

aplicaciones Web de código abierto escrito en el lenguaje de programación Ruby,

siguiendo el paradigma de la arquitectura Modelo Vista Controlador (MVC). Trata de

combinar la simplicidad con la posibilidad de desarrollar aplicaciones del mundo real

escribiendo menos código que con otros frameworks y con un mínimo de

configuración. El lenguaje de programación Ruby permite la metaprogramación, de la

cual Rails hace uso, lo que resulta en una sintaxis que muchos de sus usuarios

encuentran muy legible. Rails se distribuye a través de RubyGems, que es el formato

oficial de paquete y canal de distribución de librerías y aplicaciones Ruby.

Ruby es un lenguaje de programación reflexivo y orientado a objetos creado por el

programador japonés Yukihiro "Matz" Matsumoto en 1993. Combina una sintaxis

inspirada en Python, Perl con características de programación orientada a objetos

similares a Smalltalk. Comparte también funcionalidad con otros lenguajes de

Page 30: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

programación como Lisp, Lua, Dylan y CLU. Ruby es un lenguaje de programación

interpretado en una sola pasada y su implementación oficial es distribuida bajo una

licencia de software libre.

Goza de gran popularidad para el desarrollo de aplicaciones de tipo Web 2.0 puesto

que automatiza las tareas más comunes y permite ciclos cortos para el desarrollo de

prototipos.

5.2.2.3. Servidores

5. 2.2.3.1. Servidores Web

5.3.1. Servidores Web

Un servidor Web, es un programa que implementa el protocolo HTTP (HyperText

Transfer Protocol).

Cabe mencionar que la palabra servidor identifica tanto al programa como a la

máquina en la que dicho programa se ejecuta. Existe, por tanto, cierta ambigüedad

en el término, aunque no será difícil diferenciar a cuál de los dos nos referimos en

cada caso.

Un servidor Web se encarga de mantenerse a la espera de peticiones HTTP llevada

a cabo por un cliente HTTP (nuestro navegador). El navegador realiza una petición al

servidor y éste le responde con el contenido que el cliente solicita. El servidor

responde enviando el código HTML de la página; el cliente, una vez recibido el

código, lo interpreta y lo muestra en pantalla. El cliente es el encargado de interpretar

el código HTML, es decir, de mostrar las fuentes, los colores y la disposición de los

textos y objetos de la página; el servidor sólo se limita a transferir el código de la

página sin llevar a cabo ninguna interpretación de la misma.

Page 31: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

Sobre el servicio Web clásico podemos montar aplicaciones Web, que son

fragmentos de código que se ejecutan cuando se realizan ciertas peticiones o

respuestas HTTP. Hay que distinguir entre:

Aplicaciones en el lado del cliente: el cliente Web es el encargado de

ejecutarlas en la máquina del usuario. Son las aplicaciones tipo Java o

JavaScript: el servidor proporciona el código de las aplicaciones al cliente y

éste, mediante el navegador, las ejecuta. Es necesario, por tanto, que el

cliente disponga de un navegador con capacidad para ejecutar aplicaciones

(también llamadas scripts). Normalmente, los navegadores permiten ejecutar

aplicaciones escritas en lenguaje JavaScript y Java, aunque pueden añadirse

más lenguajes mediante el uso de plug-in.

Aplicaciones en el lado del servidor: el servidor Web ejecuta la aplicación;

ésta, una vez ejecutada, genera cierto código HTML; el servidor toma este

código recién creado y lo envía al cliente por medio del protocolo HTTP. Las

aplicaciones de servidor suelen ser la opción por la que se opta en la mayoría

de las ocasiones para realizar aplicaciones Web. La razón es que, al

ejecutarse ésta en el servidor y no en la máquina del cliente, éste no necesita

ninguna capacidad adicional, como sí ocurre en el caso de querer ejecutar

aplicaciones JavaScript o Java. Así pues, cualquier cliente dotado de un

navegador Web básico puede utilizar este tipo de aplicaciones.

Algunos de los servidores Web más usados son:

Page 32: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

Apache

Apache + Tomcat IIS

Cherokee

Sun Java System (antes iPlanet

y Sun One)

5.2.2.3.2. Servidores contenedores

Es la implementación que hace cumplimiento del contrato de componentes web de la

arquitectura J2EE. Este contrato especifica un entorno de ejecución para

componentes web que incluye seguridad, concurrencia, gestión del ciclo de vida,

procesamiento de transacciones, despliegue y otros servicios. Un contenedor web

suministra los mismos servicios que el contenedor de JSP así como también una

vista federada de las APIs de la plataforma J2EE.

5.2.3.3.3 Servidores aplicativos

Se denomina servidor de aplicaciones a un servidor en una red de computadoras que

ejecuta ciertas aplicaciones y proporciona servicios de aplicación a las computadoras

cliente. Un servidor de aplicaciones generalmente gestiona la mayor parte (o la

totalidad) de las funciones de lógica de negocio y de acceso a los datos de la

aplicación. Los principales beneficios de la aplicación de la tecnología de servidores

de aplicación son la centralización y la disminución de la complejidad en el desarrollo

de aplicaciones. Si bien el término es aplicable a todas las plataformas de software,

Page 33: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

hoy en día el término servidor de aplicaciones se ha convertido en sinónimo de la

plataforma J2EE de Sun Microsystems.

Los servidores de aplicación típicamente incluyen también un middleware (o software

de conectividad) que les permite intercomunicarse con variados servicios, para

efectos de confiabilidad, seguridad, no-repudio. Los servidores de aplicación también

nos brindan a los desarrolladores una Interfaz para Programación de Aplicaciones

(API), de tal manera que no tengamos que preocuparnos por el sistema operativo o

por la gran cantidad de interfaces requeridas en una aplicación Web moderna.

Los servidores de aplicación también brindan soporte a una gran variedad de

estándares, tales como HTML, XML, IIOP, JDBC, SSL, lo cual permite su

funcionamiento en ambientes Web además de la conexión a una gran variedad de

fuentes de datos, sistemas y dispositivos.

5.2.2.3.4. Manejadores de bases de datos

Un sistema manejador de bases de datos es la parte más importante del software de

un sistema de base de datos. Un DBMS es una colección de numerosas rutinas de

software interrelacionadas, cada una de las cuales es responsable de alguna tarea

específica.

Las funciones principales de un DBMS son:

Crear y organizar la base de datos.

Establecer y mantener las trayectorias de acceso a la base de datos de tal

forma que los datos puedan ser accedidos rápidamente.

Manejar los datos de acuerdo a las peticiones de los usuarios.

Registrar el uso de las bases de datos.

Interacción con el manejador de archivos a través de las sentencias en

DML al comando del sistema de archivos. Así el Manejador de base de

datos es el responsable del verdadero almacenamiento de los datos.

Page 34: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

Respaldo y recuperación que consiste en contar con mecanismos

implantados que permitan la recuperación fácilmente de los datos en caso

de ocurrir fallas en el sistema de base de datos.

Control de concurrencia que se basa en controlar la interacción entre los

usuarios concurrentes para no afectar la inconsistencia de los datos.

Seguridad e integridad que consiste en contar con mecanismos que

permitan el control de la consistencia de los datos evitando que estos se

vean perjudicados por cambios no autorizados o previstos.

Para las aplicaciones que se desarrollen en este diplomado podemos utilizar

cualquier DBMS y más concretamente RDBMS. Como vimos en el módulo tres de

bases de datos, existen muchos manejadores que podemos instalar sin ningún

problema en nuestras computadoras como MySQL o PostgreSQL.

5.2.3 Tecnologías RIA

5.2.3.1 Concepto de RIA

¿Qué es RIA? (Rich Internet Aplications): tipo de aplicaciones con más ventajas que

las tradicionales aplicaciones Web. Esta surge como una combinación de las

ventajas que ofrecen las aplicaciones Web y las aplicaciones tradicionales.

En los entornos RIA, no se producen recargas de página, ya que desde el principio

se carga toda la aplicación, y sólo se produce comunicación con el servidor cuando

se necesitan datos externos como datos de una Base de Datos o de otros ficheros

externos.

5.2.3.2 Web 1.0 vs. Web 2.0

Web 1.0 Potenciación de presencia informativa y accesible a través de la Red.

Internet se convierte en un servidor de conocimiento estático de acceso limitado por

Page 35: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

razones técnicas, económicas y geográficas. Páginas creadas a partir del código

HTML difícilmente actualizables y con nula interacción del usuario en las mismas.

Mientras que Web 2.0 es la segunda generación de Web basada en comunidades de

usuarios y una gama especial de servicios, que fomentan la colaboración y el

intercambio ágil de información entre los usuarios. interacción del usuario con la Red

pudiendo él mismo incluir su propia información en el sistema, creando o no Web

interactivas y visuales.

5.2.3.3. Programación multimedia, Flash, Flex, SilverLight.

Programación multimedia: se refiere a la realización de un programa capaz de

manipular archivos multimedia, reproducirlos y aplicarles efectos.

Algunos de estos son los siguientes:

Flash. Es una aplicación que trabaja sobre "Fotogramas" destinado a la

producción de animación. Es actualmente escrito y distribuido por Adobe

Systems, y utiliza gráficos vectoriales e imágenes ráster, sonido, código de

programa, flujo de vídeo y audio bidireccional (el flujo de subida sólo está

disponible si se usa conjuntamente con Macromedia Flash Communication

Server). En sentido estricto, Flash es el entorno y Flash Player es el programa de

máquina virtual utilizado para ejecutar los archivos generados con Flash.

Los archivos de Flash, que tienen generalmente la extensión de archivo SWF,

pueden aparecer en una página web para ser vista en un navegador, o pueden

ser reproducidos independientemente por un reproductor Flash. Los archivos de

Flash aparecen muy a menudo como animaciones en páginas Web y sitios Web

multimedia, y más recientemente Aplicaciones de Internet Ricas. Son también

ampliamente utilizados en anuncios de la web.

Page 36: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

En versiones anteriores, Macromedia amplió a Flash más allá de las animaciones

simples, convirtiéndolo en una herramienta de desarrollo completa, para crear

principalmente elementos multimedia e interactivos para Internet.

Fue hasta 2005 perteneciente a la empresa Macromedia conocido hasta

entonces como Macromedia Flash® y adquirido por Adobe Systems® (desde

entonces conocido como Adobe Flash®) ampliando con ello su portafolio de

productos dentro del mercado.

Flex: agrupa una serie de tecnologías publicadas por Macromedia para dar soporte al

despliegue y desarrollo de Aplicaciones Enriquecidas de Internet, basadas en su

plataforma propietaria Flash.

Microsoft Silverlight es un complemento para navegadores de Internet, competirá

directamente con Flash, le agrega algunas de las funciones del Windows

Presentation Foundation como la reproducción de vídeos, gráficos vectoriales,

animaciones y otros elementos, será un pluggin multinavegador y multiplataforma,

estará disponible para MacOS y Windows. A marzo 2008 no incluye a Linux y aún le

falta soporte en varias plataformas y navegadores, de los más populares.

Algunas de las “ventajas” que tiene sobre Flash es, que viene con DRM integrado de

modo nativo. Otra más importante es que esta basado en XML, algo que resulta mas

fácilmente indexable (en flash esto era un grave problema).

El objetivo de la nueva aplicación, es brindar una aplicación similar a la que da

Adobe Flash Player. Silverlight compite directamente con los siguientes programas:

Adobe Flex, Nexaweb, OpenLaszlo y algunas presentaciones de componentes

AJAX.

Si deseas probar la potencia de esta herramienta, Microsoft ya ha liberado una beta,

en la siguiente dirección.

Page 37: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

http://www.microsoft.com/silverlight/resources/InstallationFiles.aspx

5.2.3.4. XML

XMLsignifica eXtensible Markup Language, o Lenguaje de Marcado Extensible. Ya

conocemos el lenguaje HTML, que nos permite la navegación tipo hipertexto; sin

embargo, XML no es sólo un lenguaje, es una forma de especificar éstos, de ahí lo

de “extensible”. Todo lenguaje que se exprese de una forma determinada puede ser

XML. Por lo tanto, no es un lenguaje para hacer mejores páginas Web, sino para

información auto-descrita, al menos si las etiquetas están bien puestas.

¡Es un error pensar que XML es para crear páginas Web, o algo parecido a las

páginas Web!

XML es un lenguaje que cambia el paradigma de programación tradicional basado en

funciones u objetos a la programación basada en el documento. Se puede usar para

cambiar totalmente la forma de publicación: de un programa que recibe unas

entradas y produce unas salidas, se pasa a otro que genera un documento más, o

bien programas que toman documentos y producen otros.

Ventajas

Es extensible, lo que quiere decir que una vez diseñado un lenguaje y

puesto en producción, igual es posible extenderlo con la adición de

nuevas etiquetas de manera de que los antiguos consumidores de la

vieja versión todavía puedan entender el nuevo formato.

El analizador es un componente estándar, no es necesario crear un

analizador específico para cada lenguaje. Esto posibilita el empleo de

uno de los tantos disponibles. De esta manera se evitan bugs y se

acelera el desarrollo de la aplicación.

Page 38: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

Si un tercero decide usar un documento creado en XML, es sencillo

entender su estructura y procesarlo. Mejora la compatibilidad entre

aplicaciones.

5. 2.3.4.1 DTD (Document Type Definition)

Es una descripción de estructura y sintaxis de un documento XML o SGML. Su

función básica es la descripción del formato de datos, para usar un formato común y

mantener la consistencia entre todos los documentos que utilicen la misma DTD.

5.2.3.4.2 XML Schema (XSDL

Sirven para definir el esquema o estructura de un documento XML (para determinar

qué elementos y atributos son válidos, que pueden contener los elementos, etc.).

5.2.3.4.3 ¿Cómo dar Formatos a los documentos XML?

5.2.3.4.3.1 Hojas de estilo en cascada

5.2.3.4.3.2 XSL (Extensible Stylesheet

language)

"Lenguaje extensible de hojas de estilo”, es una familia de lenguajes basados en el

estándar XML que permite describir como la información contenida en un documento

XML cualquiera debe ser transformada o formateada para su presentación en un

medio.

5.2.3.5. AJAX (Asynchronous JavaScript and XML)

Acrónimo de Asynchronous JavaScript and XML (JavaScript asíncrono y XML), es

una técnica de desarrollo Web para crear aplicaciones interactivas o RIA (Rich

Page 39: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

Internet Applications). Éstas se ejecutan en el cliente, es decir, en el navegador de

los usuarios y mantiene comunicación asíncrona13 con el servidor en segundo plano.

De esta forma es posible realizar cambios sobre la misma página sin necesidad de

recargarla. Esto significa aumentar la interactividad, velocidad y uso en la misma.

AJAX es una combinación de tres tecnologías ya existentes:

XHTML (o HTML) y hojas de estilos en cascada (CSS) para el diseño que

acompaña a la información.

Document Object Model (DOM) accedido con un lenguaje de scripting por

parte del usuario como JavaScript y JScript, para mostrar e interactuar

dinámicamente con la información presentada.

El objeto XMLHttpRequest para intercambiar datos asincrónicamente con

el servidor Web. En algunos frameworks y en algunas situaciones

concretas, se usa un objeto iframe en lugar del XMLHttpRequest para

realizar dichos intercambios.

XML es el formato usado comúnmente para la transferencia de vuelta al

servidor, aunque cualquier formato puede funcionar, incluyendo HTML

preformateado o texto plano.

Como el DHTML, LAMP o SPA, AJAX no constituye una tecnología en sí, sino que

es un término que engloba a un grupo de éstas que trabajan conjuntamente.

5.2.3.5.1. JSON (JavaScript Object Notation)

Es un formato ligero para el intercambio de datos, un subconjunto de la notación

literal de objetos de JavaScript que no requiere el uso de XML

13Asíncrona se refiere que no es necesario que los usuarios se conecten al mismo tiempo, un

ejemplo de esto podría ser el FORO.

Page 40: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

5.2.3.5.2. Prototype

Es un framework escrito en JavaScript que se orienta al desarrollo sencillo y

dinámico de aplicaciones web. Una herramienta que implementa las técnicas AJAX y

su potencial es aprovechado al máximo cuando se desarrolla con Ruby On Rails.

Page 41: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

Bibliografía específica sugerida (lecturas básicas)

Tema de launidad

Bibliografía núm.

5.1. Wyatt, Allen L., La magia de Internet, McGraw Hill, 1995.

5.2. Bobadilla, Sancho, et al, HTML dinámico, ASP y JavaScript através de ejemplos, Alfaomega, 2000.

Bobadilla, Sancho, et al, Superutilidades para Webmasters,McGraw Hill, 1999.

Fábrega, Pedro Pablo, PHP 4, Prentice Hall, 2000.

Frentzen, Jeff y Sobotka, Henry, Superutilidades paraJavaScript, McGraw Hill, 1999.

Hobbs, Asthon, Aprendiendo programación para bases dedatos con JDBC, Prentice Hall, 1998.

Morrison, Michael, et al, XML al descubierto, Prentice Hall,2000.

Palacio Bañeres, Juan, PERL páginas Web interactivas,Alfaomega, 1999.

Rowe, Jeff, Creación de servidores de bases de datos paraInternet con CGI, Prentice Hall, 1996.

Weinman, William E., El libro de CGI, Prentice Hall, 1996.

5.2. Adkoli, Anand y Velpuri, Rama, Manual de Oracle 8 parawindows NT, McGraw Hill, 1999.

Bowen, Rich y Coar, Ken, Servidor Apache al descubierto,Prentice Hall, 2000.

Hall, Marty, Servlets y JavaServer Pages, Prentice Hall, 2001.

Maruyama, Hiroshi, et al, Sitios Web con XML y Java, PrenticeHall, 2000.

Page 42: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

5.3. Hall, Marty, Servlets y JavaServer Pages, Prentice Hall, 2001.

Maruyama, Hiroshi, et al, Sitios Web con XML y Java, PrenticeHall, 2000.

5.3. Hall, Marty, Servlets y JavaServer Pages, Prentice Hall, 2001.

Maruyama, Hiroshi, et al, Sitios Web con XML y Java, PrenticeHall, 2000.

Sitios de Internet

Sitio Descripción

http://www.uca.edu.sv/investigacion/bdweb/reportes/coldfusion.html

Guía didáctica para la integración deBases de Datos en Internet

http://www.w3.org/ Sitio oficial del W3C, donde se desarrollanlos estándares Web.

http://www.inei.gob.pe/biblioineipub/bancopub/inf/lib5038/indice.HTM

Glosario: TECNOLOGIA CLIENTESERVIDOR

http://www.buscandohost.com/hosting_glosario.php

Diccionario, glosario de hosting

http://www2.uca.es/manual-html/ Manual de HTML

http://www.php.net/ Sitio oficial de PHP, uno de los lenguajesmás usados para el desarrollo deaplicaciones Web.

http://www.mysql.com/ Sitio oficial de MySQL, uno de losmanejadores de bases de datos másusados para el desarrollo de aplicacionesWeb.

http://www.java.com/es/ Sitio oficial de Sun Microsystems. En estesitio se puede bajar todo lo necesario parala creación de aplicaciones Web con Java.

http://www.ruby-lang.org/es/ Sitio oficial de Ruby, que es un lenguajede programación orientado a objetos muypopular en los últimos años.

Page 43: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

Actividades

5.1 Elabora un mapa conceptual que relacione los siguientes conceptos:

Aplicación, Tecnología, Internet, Página Web, Sitio Web, Portal, Dominio, Red Social,

Blog, Wiki, servidor Web, Cliente Web (navegador o browser)

Sugerencia: ubica “Internet” en el centro de tu mapa.

5.2 Actividad de Foro

¿Qué tipo de aplicaciones Web requieren la implementación de un protocolo seguro

(https)?

¿Crees que todas las aplicaciones Web deberían implementarlo; porqué?

Elabora un documento Word y envíalo a la plataforma.

5.3 Actividad de Foro

¿En tu lugar de trabajo emplean blogs o wikis como herramientas para trabajar?

¿Consideras que el uso de este tipo de herramientas pudiera proporcionar alguna

ventaja en tu organización; porqué? Elabora en documento Word tu participación y

envíala a la plataforma

5.4 Tu jefe te ha designado como encargado del desarrollo de una nueva aplicación

Web para la empresa. Parte de tu responsabilidad consiste en elegir que tecnología

o lenguaje de programación se deberá utilizar.

Por los apuntes sabes que existen muchos lenguajes de programación del lado del

servidor (tecnologías) que podrían ayudarte a tu propósito:

J2EE/JSP

PHP

.Net

C++

C#

J#

Page 44: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

Coldfusion

Ruby on rails

¿Cuáles crees que son los factores que podrían ayudarte a determinar que

tecnología o lenguaje de programación son los más adecuados?

¿Cuáles no son los indicados para este tipo de desarrollo, porqué?

Entrega tus respuestas en un documento Word (máximo 1 cuartilla).

5.5. Actividad de Foro

El desarrollo consolidado de RIAs es algo relativamente reciente. Visita las siguientes

páginas y explora algunas de las aplicaciones desarrolladas con Silverlight y Flex

Silverlight

http://silverlight.net/Showcase/

Flex

http://flex.org/showcase/

Responde a las siguientes preguntas:

En general ¿Cómo te pareció la experiencia?

¿Consideras que las páginas Web como las conocemos hoy serán reemplazadas por

estas tecnologías?

¿Qué desventajas podrían tener estas tecnologías respecto a las páginas HTML

tradicionales?

De estas dos tecnologías ¿Cuál escogerías y porqué?

Nota:

Para ver las aplicaciones desarrolladas con Silverlight necesitarás el plug-in que

podrás descargar de la siguiente dirección: http://silverlight.net/

Para ver las aplicaciones desarrolladas con Flex necesitarás la última versión del

plug-in de flash que podrás descargar de la siguiente dirección:

http://www.adobe.com

Page 45: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

5.6 Desarrolla una aplicación web que envíe un correo electrónico desde un

formulario. Los pasos para crear la aplicación son los siguientes:

a) En el editor de tu preferencia crea un formulario en html (contacto.html) con

los siguientes campos:

a. Nombre -> input type=”text” name=”nombre”

b. Apellido -> input type=”text” name=”apellido”

c. Edad -> input type=”text” name=”edad”

d. Estado civil -> input type=”text” name=”edo_civil”

b) Crea un script en php (correo.php) que reciba los campos del formulario

contacto.html y los envíe a una dirección de correo electrónico (de preferencia

la propia).

Page 46: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

Cuestionario de Reforzamiento

1. Define el concepto de Tecnología

2. Explica brevemente lo que se entiende por aplicación informática

3. ¿Qué significan estas siglas WWW, y cuál es su repercusión para las TIC´s?

4. ¿Qué es una página Web?

5. Explica que es un sitio web y como se localiza en la WWW

6. Menciona los principales servicios que ofrece un portal

7. Explica los elementos que conforman un dominio

8. Que debemos de entender por redes sociales en la web y para que sirven en

el uso de las TIC´s

9. Menciona por lo menos 5 sitios WEB y explica de que manera son

visualizados

10.Explica ampliamente los protocolos http

11. Explica las siguientes siglas: URI y URN

12. Explica el uso que se le da a la modelo DOM

13. Desarrolla brevemente el uso del lenguaje Javascript

14.Explica brevemente las funciones de Cold Fusion

15. Menciona la importancia de los servidores aplicativos en una red de

computadoras.

16. Menciona brevemente el contenido general del paquete que conforma el

lenguaje de Visual Basic.

17. Explica ampliamente el uso y manejo de Silverlight

18. ¿Que son los documentos XML?

19. Menciona las tres tecnologías que conforman AJAX

20. ¿Que es el JSON?

Page 47: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

Examen de autoevaluación

1. En la informática una aplicación es el conjunto de hardware utilizado para el

desarrollo de un proyecto ( )

2. La tecnología informática está conformada por inventos, técnicas y

conocimientos organizados para el logro de un producto y/o servicio. ( )

3. ARPANET Es la red de redes con un alcance mundial y que utiliza protocolos

como el TCP/IP´ ( )

4. Las páginas Web pueden ser cargadas de un equipo remoto o local llamado

servidor web ( )

5. Los sitios web pueden ser de 4 tipos: comercio, entretenimiento y educativo

( )

6. Son tres los campos que conforma un dominio: tamaño, ubicación y extensión.

( )

7. Cuando encontramos la extensión .com, .gob, etcétera estamos hablando del

portal de un internet ( )

8. La red social está conformadas por comunidades sobre intereses similares

( )

9. Un servidor Web es una interfaz, conocida como navegador o browser la cual

se utiliza para acceder o comunicarse con ciertos programas, alojados en un

servidor remoto. ( )

10.HTML es un lenguaje de marcado para hipertexto. ( )

11.La URL es un localizador uniforme de recurso. Es una secuencia de

caracteres, de acuerdo a un formato estándar, que se usa para nombrar

recursos, como documentos e imágenes en Internet, por su localización. ( )

12. SGML. Interface independiente de la plataforma y del lenguaje que permite

que los programas y scripts tengan acceso dinámicamente y actualicen el

contenido, la estructura y estilo de los documentos. ( )

Page 48: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

13. JavaScript no es un lenguaje orientado a objetos propiamente dicho, ya que

no dispone de Herencia. ( )

14. PHP es un lenguaje de programación interpretado, usado para la creación de

aplicaciones para servidores o para la creación de contenido dinámico para

sitios Web ( )

15. C++ es un lenguaje de programación, dialecto de BASIC que ha sido

empaquetado como un programa de aplicación, es decir, consiste en un editor

de código, un depurador, un compilador y un constructor de interfaz gráfica.

( )

16. Colfusión es un lenguaje de script o lenguaje de programación Web que se

ejecuta en un servidor y devuelve una respuesta a un cliente en formato HTML

( )

17. Los servidores de aplicación también brindan soporte a una gran variedad de

estándares, tales como HTML, XML, IIOP, JDBC, SSL, lo cual permite su

funcionamiento en ambientes Web. ( )

18. Silverlight. Es una aplicación que trabaja sobre "Fotogramas" destinado a la

producción de animación, utiliza gráficos vectoriales e imágenes ráster,

sonido, código de programa, flujo de vídeo y audio bidireccional. ( )

19. AJAX, Es un formato ligero para el intercambio de datos, un subconjunto de la

notación literal de objetos de JavaScript que no requiere el uso de XML ( )

20. Prototype es un framework escrito en JavaScript que se orienta al desarrollo

sencillo y dinámico de aplicaciones web. implementa las técnicas AJAX y su

potencial es aprovechado al máximo cuando se desarrolla con Ruby On Rails.

( )

Page 49: Módulo 5 Desarrollo de Aplicaciones en Internet - E-campusecampus.fca.unam.mx/diplomados/tics/modulo_5/docs/material... · 5.1.1.4 Página Web 5.1.1.5 Sitio Web ... 5.2.2.2.5 Ruby

Respuestas al examen de autoevaluación

1 F

2 V

3 F

4 V

5 V

6 F

7 F

8 V

9 F

10 V

11 V

12 F

13 V

14 V

15 F

16 V

17 V

18 F

19 F

20 V