View
995
Download
2
Category
Preview:
Citation preview
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
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
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.
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.
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.
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.
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:
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>
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
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.
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.
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.
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
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.
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
Recommended