aplicaciones ria web1.0, web2.0 y html5

15
Tecnologías de la Información y Comunicación. Área Sistemas Informáticos Trabajo: “Investigación Aplicaciones R.I.A.Materia: Desarrollo de Aplicaciones III PRESENTA: Abraham Gerardo Flores Guevara Fecha de entrega: 13/01/2012

Upload: gerardo

Post on 08-Jul-2015

995 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Aplicaciones RIA web1.0, web2.0 y html5

Tecnologías de la Información y Comunicación. Área Sistemas Informáticos

Trabajo: “Investigación Aplicaciones R.I.A.”

Materia: Desarrollo de Aplicaciones III

PRESENTA:

Abraham Gerardo Flores Guevara

Fecha de entrega: 13/01/2012

Page 2: Aplicaciones RIA web1.0, web2.0 y html5

2

Índice de Contenido

Introducción. ............................................................................................................................................................... 3

¿Cuál es la diferencia entre las aplicaciones tradicionales y aplicaciones R.I.A.?............................... 3

¿Qué es un Cliente Ligero? .................................................................................................................................... 3

Características de los clientes ligeros: ............................................................................................................... 4

¿Qué caracteriza a las aplicaciones R.I.A.? ....................................................................................................... 5

¿Qué caracteriza a la web 1.0? ............................................................................................................................ 6

¿Qué caracteriza a la web 2.0? ............................................................................................................................. 7

Sintaxis de XML .......................................................................................................................................................... 7

Sintaxis de HTML ....................................................................................................................................................... 8

Sintaxis de CSS ........................................................................................................................................................... 9

Estructura de aplicaciones desarrolladas bajo el modelo de objeto de documentos (DOM) ...... 9

¿Qué es XMLHttpRequest, y cómo se usa? ................................................................................................... 13

Webliografía:............................................................................................................................................................. 15

Page 3: Aplicaciones RIA web1.0, web2.0 y html5

3

Introducción.

La web evidentemente no ha sido siempre como hoy la conocemos sino que ha ido

evolucionando para adaptarse a las necesidades de nosotros y también para mejorar y llegar

a un mayor número de personas haciéndola más accesible, es por eso que en la presente

investigación aborda una comparación de la web 1.0 y 2.0 además se abordan estructuras en

lenguajes que tienen que ver en la programación de sitios web que son necesarios conocer

para comprender la telaraña mundial.

¿Cuál es la diferencia entre las aplicaciones tradicionales y aplicaciones

R.I.A.?

Las aplicaciones habituales necesitan recargar la página cuando queremos realizar

tareas que son simples o que requieren un cambio mínimo. Esta lentitud suele atormentarnos

y hace que echemos de menos la agilidad que nos ofrecen otro tipo de aplicaciones que ya

conocemos, como las instaladas en el propio PC o las aplicaciones cliente-servidor.

A diferencia de las aplicaciones web habituales, las RIA (Rich Internet Applications)

enriquecen la experiencia del usuario a través de interfaces propias de aplicaciones de

escritorio, que suelen ser más interactivas y con mayores capacidades gráficas y multimedia.

Éste es el caso de Gmail, la aplicación de Google para la gestión del correo electrónico, que

tiene un interfaz web que permite al usuario efectuar acciones sobre su correo igual que si

estuviera utilizando un programa cliente instalado en su propio equipo.

¿Qué es un Cliente Ligero?

Un cliente ligero es un dispositivo de escritorio, que permite a cada usuario disponer de un

entorno informático en su puesto de trabajo.

Page 4: Aplicaciones RIA web1.0, web2.0 y html5

4

Un Cliente Ligero (Thin client) es un ordenador (cliente) conectado a una red cliente-servidor

que tiene muy poca o ninguna lógica del programa, por lo que depende principalmente del

servidor central para las tareas de procesamiento. Este servidor es el encargado de

distribuirlos escritorios virtuales entre todos los clientes conectados.

Características de los clientes ligeros:

Mayor seguridad

Sistemas a prueba de virus

ROM -> el usuario puede modificar la estabilidad del S.O.

Fácil administración

Sistemas sin ventilador

Sin ruido

Consumo pequeño de energía

Alta disponibilidad del sistema

Tiempo de boot muy rápido y de alta estabilidad

Computación libre de errores

Llamadas a soporte cercanas a 0

Significativa reducción del TCO

Servicio, mantenimiento, energía y coste de soporte se reducen drásticamente.

Despliegue automatizado y centralizado con aplicaciones predefinidas.

Page 5: Aplicaciones RIA web1.0, web2.0 y html5

5

Económico

Al no procesar datos no requiere de un equipo complejo.

Permite el aprovechamiento al máximo de los recursos del equipo servidor.

¿Qué caracteriza a las aplicaciones R.I.A.?

Accesibilidad: AJAX en nativo en los navegadores web y es el único RIA framework

que puede ser encontrado por los diferentes motores de búsqueda. Aunque Adobe Flash ha

dado grandes pasos en esta dirección.

Comunicaciones avanzadas: con servidores que soporten nuevas tecnologías se

puede mejorar la experiencia del usuario al utilizar protocolos de red optimizados y entradas

y salidas asíncronas. Se requiere de una conexión de banda ancha confiable.

Complejidad: soluciones avanzadas puede ser más difíciles de diseñar, desarrollar,

implementar y depurar que las aplicaciones web tradicionales.

Consistencia: la interfaz de usuario y las experiencias pueden ser controlada por el

sistema operativo, el monitoreo del rendimiento y diagnóstico de errores puede ser difícil.

Instalación y mantenimiento: se requiere de la instalación de un plugin o una

máquina virtual o sandbox, que generalmente es más rápida que la instalación de una

aplicación tradicional y esta no se puede automatizar. Las actualizaciones son automáticas.

Page 6: Aplicaciones RIA web1.0, web2.0 y html5

6

Offline: puede ser usada sin conexión a Internet, reteniendo el estado en la máquina

cliente.

Seguridad: se mejora la seguridad por medio de actualizaciones automáticas y

sandbox. Pero las extensiones por sí mismas son sujetas a vulnerabilidades.

Rendimiento: puede ser mejorado dependiendo de la aplicación y de las

características de la red. Aplicaciones que pueden procesar localmente en el cliente evitan

viajes hacia el servidor lo que incrementa su rendimiento. Dándole más trabajo al cliente

también se puede incrementar el rendimiento del servidor. Por el contrario los recursos

necesarios hacen difícil que las aplicaciones puedan ejecutarse en dispositivos pequeños,

móviles o embebidos.

Riqueza: añadiendo características que no son nativas en los navegadores web como

captura de video

¿Qué caracteriza a la web 1.0?

Pocos productores de contenidos.

Muchos lectores de contenidos.

Páginas estáticas.

La actualización de los sitios web no se realizaban de forma periódica.

Sitios direccionales y no colaborativos.

Los usuarios son lectores consumidores.

Interacción mínima reducida a consumidores.

Interacción mínima reducida a formularios de contacto, inscripción, boletines, etc.

Discurso linear: emisor-receptor.

Page 7: Aplicaciones RIA web1.0, web2.0 y html5

7

¿Qué caracteriza a la web 2.0?

Los usuarios se transforman en productores de contenido.

Web colaborativa.

Posibilidad de publicar las informaciones y realizar cambios en los datos sin necesidad

de conocimientos tecnológicos avanzados.

Facilita las interacciones.

Facilita la publicación, la investigación y la consulta de contenidos web.

Información en permanente cambio.

Software gratuitos de muy bajo costo

Sintaxis de XML

El lenguaje estándar XML especifica unas normas básicas a nivel de sintaxis, a cumplir

por todos aquellos documentos con intención de denominarse XML. Las características

básicas exigidas son:

Información de la versión XML (obligatoria): la versión más utilizada es 1.0, aunque

ya está disponible la versión 1.1 de XML.

Codificación de caracteres utilizada (opcional): hace referencia al modo en que se

representan internamente los caracteres, normalmente UTF-8 o UTF-16.

Declaración independiente (opcional): indica al procesador XML si un documento es

independiente (standalone=”yes”) o se basa en información de fuentes externas, es decir, si

depende de declaraciones de marca externas como una DTD externa (standalone=”no”), esta

es la opción por defecto. Ejemplo:

Page 8: Aplicaciones RIA web1.0, web2.0 y html5

8

<?xml version="1.0"?>

<nota>

<remitente>Miguel</remitente>

<destinatario>Jorge</destinatario>

<titulo>Recordatorio</titulo>

<mensaje>Recógeme este fin de semana</mensaje>

</nota>

Sintaxis de HTML

Todos los documentos HTML tienen la estructura que se muestra a continuación,

aunque la etiqueta <body> puede ser sustituida por <frameset> para un tipo de páginas que

dividen la ventana del navegador en varios cuadros (frames).

<HTML>

<HEAD>

<TITLE>Título de la página</TITLE>

...

</HEAD>

<BODY>

Aquí iría el contenido de la página

</BODY>

</HTML>

Page 9: Aplicaciones RIA web1.0, web2.0 y html5

9

Sintaxis de CSS

La sintaxis es muy simple, consiste en escribir el nombre de la etiqueta html que

queremos aplicarle un estilo o bien el nombre de la capa o bloque seguido de una llave “{” y

luego los estilos que queremos aplicar, una vez que tenemos todo el código listo, cerramos la

llave con “}”, si por ejemplo queremos cambiar el tamaño de fuente de toda la página web, le

aplicaríamos el estilo a la etiqueta <body>, quedaría de esta forma:

body{

font-size:16px;

}

Cuando queremos aplicar estilos a un bloque que creamos nosotros, antes del nombre

tenemos que insertar un “#”, imaginemos que creamos un bloque (capa) llamado “cabecera”

donde queremos asignarle un tamaño de 780px de ancho, lo hacemos así:

#cabecera{

width:780px;

}

Estructura de aplicaciones desarrolladas bajo el modelo de objeto de

documentos (DOM)

La clase Modelo de objetos de documento XML (DOM) es una representación en la

memoria de un documento XML. DOM permite leer, manipular y modificar un documento

XML mediante programación. La clase XmlReader también lee XML, aunque proporciona

acceso de sólo avance y de sólo lectura sin almacenamiento en memoria caché. Esto significa

que no hay funciones para editar los valores de un atributo o contenido de un elemento, ni la

Page 10: Aplicaciones RIA web1.0, web2.0 y html5

10

posibilidad de agregar y quitar nodos con XmlReader. La edición es la función principal de

DOM. Es la forma común y estructurada mediante la que se representan datos XML en la

memoria, aunque los datos XML reales se almacenan de forma lineal cuando se encuentran

en un archivo o proceden de otro objeto. A continuación se muestran datos XML:

Entrada

<?xml version="1.0"?>

<books>

<book>

<author>Carson</author>

<price format="dollar">31.95</price>

<pubdate>05/01/2001</pubdate>

</book>

<pubinfo>

<publisher>MSPress</publisher>

<state>WA</state>

</pubinfo>

</books>

En la ilustración siguiente se muestra cómo se estructura la memoria cuando se leen

estos datos XML en la estructura DOM.

Page 11: Aplicaciones RIA web1.0, web2.0 y html5

11

Estructura de documentos XML

Dentro de la estructura de los documentos XML, cada círculo de esta ilustración

representa un nodo, que se denomina objeto XmlNode. El objeto XmlNode es el objeto

básico del árbol de DOM. La clase XmlDocument, que extiende la clase XmlNode, admite

métodos para realizar operaciones en el documento en conjunto, (por ejemplo, cargarlo en la

memoria o guardar el código XML en un archivo. Además, la clase XmlDocument proporciona

un medio para ver y manipular los nodos de todo el documento XML. Las clases XmlNode y

XmlDocument han mejorado el rendimiento y la capacidad de uso y disponen de métodos y

propiedades para realizar lo siguiente:

Obtener acceso y modificar nodos específicos de DOM, como nodos de elemento, de

referencia de entidad, etc.

Page 12: Aplicaciones RIA web1.0, web2.0 y html5

12

Recuperar nodos completos, además de la información que contiene el nodo, como el

texto de un nodo de elemento.

Nota

Si una aplicación no requiere la estructura o las funciones de edición proporcionadas

por DOM, las clases XmlReader y XmlWriter proporcionan acceso a secuencias de XML de sólo

avance sin almacenamiento en caché. Para obtener más información, consulte Leer

fragmentos de XML con XmlReader y Escribir XML con XmlWriter.

Los objetos Node tienen un conjunto de métodos y propiedades, así como

características básicas y bien definidas. Algunas de estas características son:

Un nodo tiene un único nodo primario, que se encuentra directamente encima de él.

Los únicos nodos que no tienen un nodo primario son la raíz del documento, puesto que éste

es el nodo de nivel superior y contiene el propio documento y fragmentos de documento.

La mayor parte de los nodos pueden tener varios nodos secundarios, que son los que

están situados inmediatamente debajo de ellos. A continuación se muestra una lista de tipos

de nodo que pueden tener nodos secundarios.

Documento

DocumentFragment

EntityReference

Elemento

Attribute

Los nodos XmlDeclaration, Notation, Entity, CDATASection, Text, Comment,

ProcessingInstruction y DocumentType no tienen nodos secundarios.

Page 13: Aplicaciones RIA web1.0, web2.0 y html5

13

¿Qué es XMLHttpRequest, y cómo se usa?

XMLHttpRequest (XHR), también referida como XMLHTTP (Extensible Markup

Language / Hypertext Transfer Protocol), es una interfaz empleada para realizar peticiones

HTTP y HTTPS a servidores Web. Para los datos transferidos se usa cualquier codificación

basada en texto, incluyendo: texto plano, XML, JSON, HTML y codificaciones particulares

específicas. La interfaz se presenta como una clase de la que una aplicación cliente puede

generar tantas instancias como necesite para manejar el diálogo con el servidor.

El uso más popular, si bien no el único, de esta interfaz es proporcionar contenido

dinámico y actualizaciones asíncronas en páginas WEB mediante tecnologías construidas

sobre ella como por ejemplo AJAX.

La interfaz se presenta encapsulada en una clase. Para utilizarlo, la aplicación cliente

debe crear una nueva instancia mediante el constructor adecuado. Es posible realizar

peticiones síncronas y asíncronas al servidor; en una llamada asíncrona el flujo de proceso no

se detiene a esperar la respuesta como se haría en una llamada síncrona, si no que se define

una función que se ejecutará cuando se complete la petición: un manejador de evento.

XMLHttpRequest es una interfaz para realizar llamadas mediante HTTP, por lo que es

recomendable un buen conocimiento de este protocolo. Es importante el manejo correcto de

la cache en el servidor HTTP, en los proxy cache intermedios y en el navegador WEB.

Otro elemento importante es el manejo de juegos de caracteres, la codificación y

decodificación de texto y su identificación mediante cabeceras HTTP y MIME. El estándar

XMLHttpRequest recomienda UTF-8 para la codificación de cadenas de texto. La codificación

Page 14: Aplicaciones RIA web1.0, web2.0 y html5

14

particular de los datos transmitidos se determina según el siguiente algoritmo, utilizando la

primera opción que corresponda.

Si los datos transmitidos son XML o HTML, y así se identifica mediante la

correspondiente cabecera Content-Type de HTTP, la codificación se detectará basándose en

las reglas estándar de XML o HTML según corresponda.

Si la cabecera HTTP especifica un tipo MIME mediante Content-Type e identifica un

charset se utiliza dicho charset.

Si los datos enviados especifican un BOM válido, se utilizará la variante UTF

determinada por dicho BOM.

Utilizar UTF-8.

Es importante tener esto en cuenta en entornos dónde se mezclen varias

codificaciones, por ejemplo, pueden producirse errores de visualización de caracteres al

incorporar funcionalidad AJAX a una página WEB codificada con ISO 8859-1.

Page 15: Aplicaciones RIA web1.0, web2.0 y html5

15

Webliografía:

http://alejandrosambuelli.blogspot.com/

http://www.ibermatica.com/ibermatica/eventos/2009/mtRIA

http://es.wikipedia.org/wiki/Rich_Internet_Applications#Caracter.C3.ADsticas_clave

http://itzamna.bnct.ipn.mx:8080/dspace/bitstream/123456789/4000/1/IMPLEMENTACIONCLIENTES.pdf

http://es.wikipedia.org/wiki/XMLHttpRequest#Implementaci.C3.B3n_y_uso_de_la_interfaz

http://msdn.microsoft.com/es-es/library/hf9hbf87(v=vs.80).aspx

http://html.conclase.net/w3c/dom1-es/introduction.html