Libro de Texto de Tecnologias Web PDF
Libro de Texto de Tecnologias Web PDF
Libro de Texto de Tecnologias Web PDF
Tecnologas Web
Captulo I
1.1.2 Estructura
Estructura Bsica Un documento HTML comienza con la etiqueta <html>, y termina con </html>. Dentro del documento (entre las etiquetas de principio y fin de html), hay dos zonas bien diferenciadas: el encabezamiento, delimitado por <head> y </head>, que sirve para definir diversos valores vlidos en todo el documento; y el cuerpo, delimitado por <body> y </body>, donde reside la informacin del documento. La utilidad del encabezamiento es la directiva <title>, que permite especificar el ttulo de un documento HTML. Este ttulo no forma parte del documento en s: no aparece, por ejemplo, al principio del documento una vez que este se presenta con un programa adecuado, sino que suele servir como ttulo de la ventana del programa que nos la muestra. Por ejemplo, en el encabezamiento de este manual se ha especificado: <title>Manual prctico de HTML</title> El cuerpo de un documento HTML contiene el texto que, con la presentacin y los efectos que se decidan. Dichos efectos se especifican exclusivamente a travs de directivas. Esto quiere decir que los espacios, tabulaciones y retornos de carro que se introduzcan en el fichero fuente no tienen ningn efecto a la hora de la presentacin final del documento. La figura 1.1 muestra el resultado que genera la estructura bsica de html, muestra el titulo de la pgina y un texto en el cuerpo del documento. La estructura bsica de un documento HTML queda de la forma siguiente:
<html> <head> <title>Ttulo en la Pagina Lenguajes Web ITM</title> </head> <body> Texto del documento, menciones a grficos, enlaces, etc. </body> </html>
Captulo I
<html>: Define el inicio del documento HTML, le indica al navegador que lo que viene a continuacin debe ser interpretado como cdigo HTML. <head>: Define la cabecera del documento HTML, esta cabecera suele contener informacin sobre el documento que no se muestra directamente al usuario. Como por ejemplo el ttulo de la ventana del navegador. Dentro de la cabecera <head> podemos encontrar lo siguiente: <title>: Define el ttulo de la pgina. El ttulo aparece en la barra de ttulo encima de la ventana. <link>: Para vincular el sitio a hojas de estilo o iconos Por ejemplo:<link rel="stylesheet" href="/style.css" type="text/css">. <style>: Para colocar el estilo interno de la pgina, ya sea usando CSS, JavaScript u otros lenguajes similares. No es necesario colocarlo si se va a vincular a un archivo externo usando la etiqueta <link>. <body>: Define el contenido principal o cuerpo del documento. Esta es la parte del documento HTML que se muestra en el navegador; dentro de esta etiqueta pueden definirse propiedades comunes a toda la pgina, como color de fondo y mrgenes. Dentro del cuerpo <body> podemos encontrar numerosas etiquetas. A continuacin se indican algunas a modo de ejemplo: <h1>, <h2>, <h6>: Encabezados o ttulos del documento con diferente relevancia. <table>: Define una tabla. <tr>: Fila de una tabla. <td>: Celda de datos de una tabla. <a>: Hipervnculo o enlace, dentro o fuera del sitio web. Debe definirse el parmetro de pasada por medio del atributo href. Por ejemplo: <a href="http://www.itsch.edu.mx">itsch</a> se representa como itsch). <img>: imagen. Requiere del atributo src, que indica la ruta en la que se encuentra la imagen. Por ejemplo: <img src="imagenes/mifoto.jpg" />. <b>: Texto en negrita (Etiqueta descartada. Se recomienda usar la etiqueta <strong>) <i>: Texto en cursiva. <u>: Texto subrayado. A continuacin se muestra un ejemplo, que para las etiquetas antes mencionadas, debern cerrar el inicio de la etiqueta, de la forma siguiente: </html>: Finaliza el fin del documento HTML </body>: Finaliza el fin del contenido o cuerpo del documento HTML Ejemplo: <html> <head> <title>Ejemplo</title> </head> <body> <p>ejemplo</p> </body> </html>
1.1.3 Caractersticas
1. Este lenguaje se puede integrar con todas las diferentes tecnologas de desarrollo web tales como: ASP, PHP, JSP, etc. 2. Es interpretado por el navegador web de los usuarios. 3. Es soportado por todos los servidores. Formato de las etiquetas Cada elemento de un documento HTML consta de una etiqueta de comienzo, un bloque de texto y una etiqueta de fin con el siguiente formato: <etiqueta> bloque de texto </etiqueta>. Estos elementos se denominan contenedores, porque contienen un bloque de texto entre las etiquetas de comienzo y fin.
Tecnologas Web 3
Captulo I
Comentarios Los comentarios se escriben en HTML empezando con <!-- y terminando con -- > como se ve a continuacin: <!-- Ejemplo de comentario -- > Estructuracin HTML tiene unas reglas estructurales que indican dnde pueden y no pueden ir los elementos. Tenemos el ejemplo de los titulares, que son independientes entre ellos, no pudiendo contenerse unos a otros. El siguiente cdigo sera incorrecto: <h1><h2> Contenido</h2></h1> Las etiquetas tienen que seguir un orden primordial, las primeras que se abren son las ltimas que se cierran: <h1><h2><h3><h4><h5>Contenido</h5></h4></h3></h2></h1>
1.2. Cgis
Cuando el World Wide Web inici su funcionamiento como lo conocemos, empezando a tomar popularidad aproximadamente en 1993, solo se poda apreciar texto, imgenes y enlaces. La introduccin de plugins en los navegadores permiti mayor interactividad entre el usuario y el cliente, aunque estaba limitado por la velocidad y la necesidad de tener que bajar e instalar cada plugin que se necesitara.
1.2.1 Definicin
(Common Gateway Interface, Interfaz de entrada comn) es una importante tecnologa de la World Wide Web que permite a un cliente (explorador Web) solicitar datos de un programa ejecutado en un servidor Web. CGI especifica un estndar para transferir datos entre el cliente y el programa. Es un mecanismo de comunicacin entre el servidor Web y una aplicacin externa cuyo resultado final de la ejecucin son objetos MIME. Las aplicaciones que se ejecutan en el servidor reciben el nombre de CGIs [1].
Tecnologas Web 4
Captulo I
MIME (Multipurpose Internet Mail Extensions, Extensiones de Correo de Internet Multipropsito), son una serie de convenciones o especificaciones dirigidas a que se puedan intercambiar a travs de Internet todo tipo de archivos (texto, audio, vdeo, etc.) de forma transparente para el usuario. Una parte importante del MIME est dedicada a mejorar las posibilidades de transferencia de texto en distintos idiomas y alfabetos [2].
1.2.2 Estructura
Un programa CGI puede ser escrito en cualquier lenguaje de programacin que produzca un fichero ejecutable. Entre los lenguajes ms habituales se encuentran: C, C++, Perl, Java, Visual Basic. No obstante, debido a que el CGI recibe los parmetros en forma de texto ser til un lenguaje que permita realizar manipulaciones de las cadenas de caracteres de una forma sencilla, como por ejemplo Perl. Perl es un lenguaje interpretado que permite manipulaciones sencillas de ficheros y textos, as como la extraccin y manipulacin de cadenas de caracteres, unidas a unas bsquedas rpidas y fciles. La estructura bsica de un script CGI es muy sencilla: inicializacin, procesamiento y finalizacin. Durante el proceso de inicializacin, dentro de un script CGI se realizan las siguientes tareas: Determinar cmo ha sido invocado el script: esto implica consultar la variable de entorno REQUEST_METHOD, para averiguar si la informacin al script CGI se le ha pasado con el mtodo GET o POST. Recuperar los datos de entrada: Si el mtodo utilizado para invocar al script y pasarle los parmetros fue GET, decodifica la variable de entorno QUERY_STRING. Pero si el mtodo utilizado ha sido POST se deber tratar la variable de entorno QUERY_STRING, por si contiene alguna informacin, y a dems tratar la entrada estndar (STDIN) facilitada por el servidor Web al programa CGI.
Variables de entorno que se intercambian de servidor a CGI: SERVER_SOFTWARE: Nombre y versin del software servidor de www. SERVER_NAME: Nombre del servidor. GATEWAY_INTERFACE: Nombre y versin de la interfaz de comunicacin entre servidor y aplicaciones.
Variables de entorno que se intercambian de cliente a CGI: QUERY_STRING: Es la cadena de entrada del CGI cuando se utiliza el mtodo GET sustituyendo algunos smbolos especiales por otros. Cada elemento se enva como una pareja Variable=Valor. Si se utiliza el mtodo POST esta variable de entorno est vaca. CONTENT_TYPE: Tipo MIME de los datos enviados al CGI mediante POST. Con GET est vaca. Un valor tpico para esta variable es: Application/X-www-form-urlencoded. CONTENT_LENGTH: Longitud en bytes de los datos enviados al CGI utilizando el mtodo POST. Con GET est vaca. PATH_INFO: Informacin adicional de la ruta (el "path") tal y como llega al servidor en el URL. REQUEST_METHOD: Nombre del mtodo (GET o POST) utilizado para invocar al CGI. SCRIPT_NAME: Nombre del CGI invocado. SERVER_PORT: Puerto por el que el servidor recibe la conexin. SERVER_PROTOCOL: Nombre y versin del protocolo en uso. (Ej.: HTTP)
Funcionamiento de un CGI: En primera instancia, el servidor recibe una peticin (el cliente ha activado un URL que contiene el CGI), y comprueba si se trata de una invocacin de un CGI. Posteriormente, el servidor prepara el entorno para ejecutar la aplicacin. Esta informacin procede mayoritariamente del cliente.
5
Tecnologas Web
Captulo I
Seguidamente, el servidor ejecuta la aplicacin, capturando su salida estndar. A continuacin, la aplicacin realiza su funcin: como consecuencia de su actividad se va generando un objeto MIME que la aplicacin escribe en su salida estndar. Finalmente, cuando la aplicacin finaliza, el servidor enva la informacin producida, junto con informacin propia, al cliente, que se encontraba en estado de espera.
En la figura 1.2 se muestra el primer paso de una solicitud que se formula desde una pgina web al servidor donde reside el CGI. Posteriormente el CGI solicita a la base de datos la informacin adecuada y es respondido. Finalmente se envan los datos, ya formateados para ser comprensibles, a la pgina web, donde son consultados por el usuario.
Base de Datos
Consu lta
Prog ra ma CGI
1.2.3 Caractersticas
Es un mtodo muy rpido cuando se ejecuta mucho cdigo. Emplea la menor posible cantidad de recursos. Se puede emplear prcticamente cualquier lenguaje.
Apache: Es un servidor web HTTP de cdigo abierto para plataformas Unix (BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y otras, que implementa el protocolo HTTP. Apache Tomcat: Es un servidor web con soporte a JSP. Tomcat. Incluye el compilador Jasper, que compila JSP convirtindolos en servlets. El motor de servlets de Tomcat a menudo se presenta en combinacin con el servidor web Apache. IIS: Este servicio convierte a un ordenador en un servidor de Internet o Intranet es decir que en las computadoras que tienen este servicio instalado se pueden publicar pginas web tanto local como remotamente (servidor web). Glassfish: Es un servidor de aplicaciones desarrollado por Sun Microsystems que implementa las tecnologas definidas en la plataforma Java EE y permite ejecutar aplicaciones que siguen esta especificacin. Lighttpd: Es un servidor web diseado para ser rpido, seguro, flexible, y fiel a los estndares. Est optimizado para entornos donde la velocidad es muy importante, y por eso consume menos recursos que otros servidores. Thttpd: Es un servidor web de cdigo libre disponible para la mayora de las variantes de Unix. Se caracteriza por ser simple, pequeo, porttil, rpido, y seguro, ya que utiliza los requerimientos mnimos de un servidor HTTP. Esto lo hace ideal para servir grandes volmenes de informacin.
6
Tecnologas Web
Captulo I
1.3. ASP
1.3.1 Definicin
ASP Active Server Pages es una tecnologa de Microsoft del tipo "lado del servidor" para pginas web generadas dinmicamente, que ha sido comercializada como un anexo a IIS (Internet Information Services, Servicios de Internet) [3].
CLIENTE
Navegador interf az de usuario
CODIGO ASP
SERVIDOR
1.3.2 Estructura
Adems del cdigo HTML habitual para las pginas Web, el autor de las pginas ASP puede escoger entre dos lenguajes de script para codificar los contenidos dinmicos. Estos lenguajes son VBScript y JScript, el primero de ellos es el ms utilizado y tiene su origen en el conocido lenguaje Visual Basic. Por el contrario JScript se parece a JavaScript. <%@ LANGUAGE="VBSCRIPT" %> <%@ LANGUAGE="JSCRIPT" %> Inicio y Fin Para especificar el inicio y fin en un bloque. Ejemplo: <% Sentencias %> Tratamiento de los comentarios Para especificar un comentario en una pgina ASP debe introducir una comilla simple. Ejemplo: <% 'Esta lnea no ser procesada por tratarse de un comentario %> Tratamiento de las Variables Todas las variables de una pgina ASP son de tipo variante por lo que no debe especificarse entre Integer, string u otro tipo de objeto. Su declaracin es opcional aunque su prctica es una buena costumbre ya que evita errores y facilita la lectura del cdigo. En la declaracin se utiliza la palabra reservada "Dim" pudindose anidar varias declaraciones mediante el separador ",". Ejemplo de creacin y asignacin de variables: <%@ LANGUAGE="VBSCRIPT" %> <% Option explicit Declaracin de 3 variables Dim nombre, fecha_nacimiento, edad 'asignacin de valores nombre = "Alex Medina" fecha_nacimiento = "12/03/69" edad = 31 %>
Tecnologas Web 7
Captulo I
Ejemplo de pgina ASP <%@ LANGUAGE="VBSCRIPT" %> <HTML> <BODY> <% Dim nombre nombre = "Alex Morales" %> <h1>Mi nombre es: <b> <%=nombre%></b></h1>%> </BODY> </HTML>
Los objetos y las funciones en las pginas ASP Los objetos son programas compilados e instalados en el servidor y que han sido programados para realizar un conjunto de operaciones fcilmente accesibles por otros programas y que reciben el nombre de Mtodos. Los 6 objetos intrnsecos que tiene ASP son: Request: Es el objeto que maneja las peticiones realizadas por el usuario y recoge toda la informacin que se recibe en dichas peticiones. Incluido las cabeceras de los mensajes HTTP y sus respectivas cookies. Adems permite el acceso a protocolos de comunicacin cifrados como SSL. Response: Sirve para devolver una respuesta al cliente. Adems de poderle enviar una respuesta nos permite acceder a las cabeceras HTTP de respuesta, en las cuales podremos incluir cookies. Application: Permite mantener informacin compartida entre las diferentes sesiones que se establezcan sobre el servidor. Dicha informacin se inicializar cuando se arranque el servidor. Session: Permite mantener informacin por cada sesin. Dicha informacin se almacenar en el servidor ayudndonos ante las carencias del HTTP que es un protocolo sin estado (no guarda informacin entre peticiones). La informacin de la sesin durar lo que dure la vida de la sesin, aunque tambin especifica un tiempo de inactividad pasado el cual la sesin es eliminada. Server: Este objeto presenta una serie de funcionalidades ofrecidas por el servidor, como son el acceso mapeado a directorios virtuales, codificacin y decodificacin de cadenas de texto y la ms importante, creacin de objetos de servidor. ASPError: Mediante este objeto podremos tener acceso a los errores cometidos en tiempo de ejecucin para evaluarlos y tomar las acciones necesarias para su recuperacin o para informar de los mismos.
Tecnologas Web
Captulo I
El mtodo Write, es utilizado para enviar informacin al navegador. Entre esta informacin podremos incluir el valor de las variables que condicionan el aspecto de la pgina [4]. Utilizacin del objeto Response <%@ LANGUAGE="VBSCRIPT" %> <HTML> <BODY> <% Dim nombre nombre = "Alex Morales" Imprime el nombre de la variable y Concatena strings utilizando VBSCRIPT Response.Write("<h1>Mi nombre es: <b>" & nombre & "</b></h1>") Imprime la cadena de texto entre comillas. El mismo resultado que Response.Write utilizando el signo igual (="Mi primera pgina ASP") %> </BODY> </HTML> La figura 1.5 muestra el resultado de la utilizacin del mtodo response, enviando el mensaje en pantalla.
1.3.3 Caractersticas
Se ejecuta en el servidor donde est alojada la pgina web. El cliente (navegador del usuario) no nota diferencias con una pgina normal (HTML). Por medio de ASP se puede tener acceso a bases de datos. Se puede utilizar HTML y ASP en una misma pgina [5].
Tecnologas Web
Captulo I
1.4 PHP
1.4.1 Definicin
PHP es un lenguaje de programacin interpretado, diseado originalmente para la creacin de pginas web dinmicas. Es usado principalmente en interpretacin del lado del servidor pero actualmente puede ser utilizado desde una interfaz de lnea de comandos o en la creacin de otros tipos de programas incluyendo aplicaciones con interfaz grfica usando las bibliotecas Qt o GTK+. PHP es un acrnimo recursivo que significa PHP (Hypertext Pre-processor) [6].
1.4.2 Estructura
Las instrucciones se separan igual que en C, terminando cada sentencia con un punto y coma. La etiqueta de cierre es: (?>) tambin implica el fin de la sentencia. En la figura 1.6 se muestra el resultado desde un navegador web que soporta PHP, con la siguiente sintaxis bsica: <?php echo "Mi primer pagina en PHP"; ?>
CLIENTE
Navegador interf az de usuario
CODIGO PHP
SERVIDOR
Variables Las variables almacenan informacin por el usuario a travs de un formulario, datos estticos, valores colocados por el programador, etc. Todas las variables se escriben con el signo "$" como su primer carcter y siempre hay que referirse a ellas de la misma forma.
Tecnologas Web
10
Captulo I
Asignacin $nombre = "cadena de caracteres"; $nume1 = 5; Para mostrar el contenido de una variable: echo "$nombre"; Ejemplo: <?php $nombre = "Curso de Bases de Datos"; $horas =6; echo "$nombre<BR>"; echo "$horas<BR>"; ?>
Se nota que dentro de la instruccin echo se pueden colocar etiquetas HTML que el navegador interpretar para construir la pgina. La figura 1.4 muestra el resultado del ejemplo donde se asignan valores a ciertas variables y se muestran en pantalla.
Estructuras de control Las sentencias if, else, while, do while, for, switch, y otras se utilizan de la manera similar que en lenguaje C [7].
1.4.3 Caractersticas
Al ser un lenguaje libre dispone de una gran cantidad de caractersticas que lo convierten en la herramienta ideal para la creacin de pginas web dinmicas: Soporte para una gran cantidad de bases de datos: MySQL, PostgreSQL, Oracle, MS SQL Server, Informix, entre otros. Perceptiblemente ms fcil de mantener y poner al da que el cdigo desarrollado en otros lenguajes. Soportado por una gran comunidad de desarrolladores, como producto de cdigo abierto, PHP goza de la ayuda de un gran grupo de programadores, permitiendo que los fallos de funcionamiento se encuentren y reparen rpidamente. El cdigo se pone al da continuamente con mejoras y extensiones de lenguaje para ampliar las capacidades de PHP. Con PHP se puede hacer cualquier cosa que podemos realizar con un script, CGI, como el procesamiento de informacin en formularios, foros de discusin, manipulacin de cookies y pginas dinmicas [8].
Tecnologas Web
11
Captulo I
1.5 JSP
Es una tecnologa Java que permite generar contenido dinmico para web, en forma de documentos HTML, XML o de otro tipo. Esta tecnologa es un desarrollo de la compaa Sun Microsystems. El uso JSP permite la utilizacin de cdigo Java mediante scripts. Adems, es posible utilizar algunas acciones JSP predefinidas mediante etiquetas. Estas etiquetas pueden ser enriquecidas mediante la utilizacin de Bibliotecas de Etiquetas (TagLibs,Tag Libraries) externas e incluso personalizadas.
1.5.1 Definicin
(Java Server Page, Pgina de Servidor Java), se refiere a un tipo especial de pginas HTML, en las cuales se insertan pequeos programas que corren sobre Internet (comnmente denominados scripts), se procesan en lnea para finalmente desplegar un resultado final al usuario en forma de HTML. Por lo general dichos programas hacen consultas a bases de datos y dependiendo del resultado que se despliegue ser la informacin que se muestre a cada usuario de manera individual. Los archivos de este tipo llevan la extensin .jsp [9].
1.5.2 Estructura
Ejemplo de cdigo de una pgina JSP: <%@ page errorPage="myerror.jsp" %> <%@ page import="com.foo.bar" %> <html> <head> <%! int serverInstanceVariable = 1;%> ... <% int localStackBasedVariable = 1; %> <table> <tr><td></td></tr> ... Para ejecutar las pginas JSP, se necesita un servidor Web que cumpla con las especificaciones de JSP y de Servlet. Tomcat 5 es una completa implementacin de referencia para las especificaciones de Java Servlet 2.2 y JSP 1.1.
Tecnologas Web
12
Captulo I
Las pginas JSP incluyen ciertas variables privilegiadas sin necesidad de declararlas ni configurarlas: Variable PageContext Request Response Sesin Config Application Out Directivas Son etiquetas a partir de las cuales se genera informacin que puede ser utilizada por el motor de JSP. No producen una salida visible al usuario sino que configura cmo se ejecutar la pgina JSP. Su sintaxis es: <%@ directiva atributo="valor" %> Las directivas disponibles son: 1. include: Incluye el contenido de un fichero en la pgina mediante el atributo file. <%@ include file="cabecera.html" %> 2. taglib: Importa libreras de etiquetas (Tag Libraries) <%@ taglib uri="/tags/struts-html" prefix="html" %> 3. page: Especifgica atributos relacionados con la pgina a procesar. Clase javax.servlet.jsp.PageContext javax.servlet.http.HttpServletRequest javax.servlet.http.HttpServletResponse javax.servlet.http.HttpSession javax.servlet.ServletConfig javax.servlet.ServletContext javax.servlet.jsp.JspWriter
Script Permite declarar variables, funciones y datos estticos. <%! int maxAlumnosClase = 30; %> Los scripts son partes de cdigo Java incrustados entre los elementos estticos de la pgina. <% cdigo Java %> Las expresiones se evalan dentro de la servlet. No deben acabar en ";". <%= maxAlumnosClase + 1%> El siguiente ejemplo pondra como ttulo de la pgina el atributo "ttulo" contenido en el objeto request: <% String titulo = ""; if (request.getAttribute("titulo") != null) { titulo = (String) request.getAttribute ("titulo"); } %>
Tecnologas Web 13
Captulo I
1.5.3 Caractersticas
Multiplataforma. Robusto. Seguro. Es el ms utilizado parte de las especificaciones EJB Enterprise JavaBeans. Plataforma independiente. Funciona en la mayora de los casos sin problemas. Se puede desarrollar en Windows y sin embargo se puede desplegar en Linux regularmente sin ningn tipo de problemas. Java fue diseado con la seguridad en mente. Proporciona bibliotecas slidas para todas sus necesidades en materia de seguridad. Apoyo para protocolos e interfaces con API's, como JDBC, JNDI, JNI, Java IDL, etc JAXP Java tiene una solucin para casi cualquier cosa que se requiera desarrollar. Capacidad de carga para las clases de datos sobre diferentes dispositivos y redes. Esto constituye la base de EJB, RMI y de otras tecnologas. Java permite la reflexin dinmica y descubrimiento e invocacin de mtodos. El uso de referencias, esto evita el uso de punteros.
1.6. ASP.Net
1.6.1 Definicin
ASP.NET es un Framework para aplicaciones web desarrollado y comercializado por Microsoft. Es usado por programadores para construir sitios web dinmicos, aplicaciones web y servicios web XML. Apareci en enero de 2002 con la versin 1.0 del .NET Framework, y es la tecnologa sucesora de la tecnologa Active Server Pages (ASP). ASP.NET est construido sobre el (Common Language Runtime, Lenguaje comn en tiempo de ejecucin) permitiendo a los programadores escribir cdigo ASP.NET usando cualquier lenguaje admitido por el .NET Framework [8]. El .NET Framework: Los Ingenieros de Microsoft se han preocupado por brindarle a los desarrolladores un entorno de desarrollo que le permita disponer de una gran serie de herramientas y tecnologas tendientes a facilitar el desarrollo de aplicaciones web potentes y distribuidas, creando un ambiente multiplataforma, altamente deseado por todos los desarrolladores. El .NET Framework es un marco de trabajo multilenguaje, que permite al desarrollador crear Aplicaciones y Servicios Web con las herramientas bsicas para escribir el cdigo.De forma simple, el .NET Framework est formado por el (Common Language Runtime, Lenguaje comn en tiempo de ejecucin) o CLR, la Base Class Library, que funciona como una gran librera de clases unificada, que contiene todas las clases que funcionan dentro del entorno .NET y finalmente la nueva versin de ASP, denominada ASP.NET [11].
Tecnologas Web 14
Captulo I
1.6.2 Estructura
Las pginas de ASP.NET, conocidas oficialmente como (web forms, formularios web), son el principal medio de construccin para el desarrollo de aplicaciones web. Los formularios web estn contenidos en archivos con una extensin ASPX, estos archivos tpicamente contienen etiquetas HTML o XHTML esttico, y tambin etiquetas definiendo Controles Web que se procesan del lado del servidor y Controles de Usuario donde los desarrolladores colocan todo el cdigo esttico y dinmico requerido por la pgina web. Adicionalmente, el cdigo dinmico que se ejecuta en el servidor puede ser colocado en una pgina dentro de un bloque <% -- cdigo dinmico -- %> que es muy similar a otras tecnologas de desarrollo como PHP, JSP y ASP, pero esta prctica es, generalmente, desaconsejada excepto para propsitos de enlace de datos pues requiere ms llamadas cuando se genera la pgina. Formulario web de ejemplo: <%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> protected void Page_Load(object sender, EventArgs e) { Label1.Text = DateTime.Now.ToLongDateString(); } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Pgina de Ejemplo</title> </head> <body> <form id="form1" runat="server"> <div> <asp:Label runat="server" id="Label1" /> </div> </form> </body> </html> El modelo Code-behind Microsoft recomienda que para realizar programacin dinmica se use el modelo (code-behind, cdigo por debajo, o de respaldo), que coloca el cdigo en un archivo separado o en una etiqueta de script especialmente diseada. Los nombres de los archivos (code-behind, cdigo por debajo, o de respaldo) estn basados en el nombre del archivo ASPX tales como MiPagina.aspx.cs o MiPagina.aspx.vb (esta prctica se realiza automticamente en Microsoft Visual Studio y otras interfaces de desarrollo). Cuando se usa este estilo de programacin, el desarrollador escribe el cdigo correspondiente a diferentes eventos, como la carga de la pgina, o el clic en un control, en vez de un recorrido lineal a travs del documento. <%@ Page Language="C#" CodeFile="EjemploCodeBehind.aspx.cs" Inherits="SitioWeb.EjemploCodeBehind" AutoEventWireup="true" %> La etiqueta superior es colocada al inicio del archivo ASPX. La propiedad CodeFile de la directiva @ Page especifica que archivo (.cs o .vb) contiene el cdigo code-behind mientras que la propiedad Inherits
Tecnologas Web 15
Captulo I
Especifica la clase de la cual deriva la pgina. En este ejemplo, la directiva @ Page est incluida en EjemploCodeBehind.aspx y el archivo EjemploCodeBehind.aspx.cs contendr el cdigo para esta pgina: using System; namespace SitioWeb { public partial class EjemploCodeBehind: System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } } } En este caso, el mtodo Page_Load() ser llamado cada vez que la pgina ASPX sea solicitada al servidor. El programador puede implementar manejadores de eventos en varias etapas del proceso de ejecucin de la pgina. Estructura de directorios En general, la estructura de directorios de ASP.NET puede ser determinada por las preferencias del desarrollador. Aparte de unos pocos nombres de directorios reservados, el sitio puede expandirse a cualquier nmero de directorios. La estructura es tpicamente reflejada directamente en las urls. Los nombres de directorios especiales (a partir de ASP.NET 2.0 son): App_Browsers: Contiene archivos de definicin especficos para navegadores. App_Code: Es un directorio para cdigos. El servidor ASP.NET automticamente compilara los archivos (y subdirectorios) en esta carpeta en un ensamblado que es accesible desde cualquier pgina del sitio. App_Code es tpicamente usada para cdigo de acceso a datos, cdigo de modelo o cdigo de negocios. Tambin cualquier manejador http especifico para el sitio e implementacin de mdulos y servicios web van este directorio. Como alternativa a utilizar App_Code el desarrollador puede optar por proporcionar un ensamblado independiente con cdigo precompilado. App_Data: Directorio por defecto para las base de datos, tales como archivos .mdb de Microsoft Access y archivos .mdf de Microsoft SQL Server. Este directorio es usualmente el nico con permisos de escritura en la aplicacin. App_LocalResources: Contiene archivos de recursos localizados para pginas individuales del sitio. App_GlobalResources: Contiene archivos resx con recursos localizados disponibles para cada pgina del sitio. Este es donde el desarrollador ASP.NET tpicamente almacenara mensajes que sern usados en ms de una pgina. App_Themes: Usado para temas alternativos del sitio. App_WebReferences: Usado para archivos de descubrimiento y archivos WSDL para referencias a servicios web para ser consumidos en el sitio. Bin: Contiene cdigo compilado (archivos .dll) para controles, componentes, y otro cdigo que pueda ser referenciado por la aplicacin. Cualquier clase representada por cdigo en la carpeta Bin es automticamente referenciada en la aplicacin [12].
1.6.3 Caractersticas
Eficiencia. Soporte de Lenguajes. ASP.NET soporta la programacin en lenguajes potentes cmo, VisualBasic.Net (VB) y C#, el nuevo lenguaje creado por Microsoft con la intencin de aprovechar la potencia del C++ y combinarlo con las facilidades que brinda a la programacin en Internet un lenguaje como Java. Contenido y Cdigo, por separado.
16
Tecnologas Web
Captulo I
Cdigo Compilado. ASP.NET ya no interpreta el cdigo como la hace la versin anterior de ASP. Dentro del entorno NGWS (New Generation Windows Services, Nueva Generacin de Servicios de Windows) el cdigo es compilado just-in-time [11].
IIS 1.0, Windows NT 3.51 Service Pack 3 IIS 2.0, Windows NT 4.0 y Service Pack 3 IIS 4.0, Windows NT 4.0 Option Pack IIS 5.1, Windows XP Professional IIS 6.0, Windows Server 2003 y Windows XP Profesional x64 Edition IIS 7.0, Windows Vista y Windows Server 2008
1.7. XML
Es el estndar de (Extensible Markup Language, Lenguaje Extensible de Marcas). XML es un conjunto de reglas para definir etiquetas semnticas que nos organizan un documento en diferentes partes. XML es un metalenguaje que define la sintaxis utilizada para definir otros lenguajes de etiquetas estructurados. XML es un subconjunto de SGML especializado en la gestin de informacin para la Web. En la prctica XML contiene a HTML aunque no en su totalidad
1.7.1 Definicin
El Lenguaje Extensible de Marcas, abreviado XML, describe una clase de objetos de datos llamados documentos XML y describe parcialmente el comportamiento de los programas de computadora que los procesan. XML es un "perfil de aplicacin" o una forma restringida de SGML, el Lenguaje Estndar Generalizado de Marcacin [ISO 8879]. Por construccin, los documentos XML son documentos SGML conformados [9]. SGML (Standard Generalized Markup Language, Lenguaje de Marcado Generalizado). Consiste en un sistema para la organizacin y etiquetado de documentos. La Organizacin Internacional de Estndares (ISO) normaliz este lenguaje en 1986 [13].
1.7.2 Estructura
Estructura de un documento XML.
Para crear un documento XML valido solo necesitas recordar 2 cosas. 1.- Declarar el tipo de documento. <?xml version='1.0'?> Cabe mencionar que al declarar un documento XML tambin puedes declarar el tipo de codificacin que ocuparas, esto se hace por medio de un atributo. <?xml version='1.0' encoding='UTF-8'?> 2.- Aunque podemos crear nuestras propias etiquetas en el XML estas deben de llevar un orden jerrquico.
Tecnologas Web 17
Captulo I
</Ligue>
Como se observa, los nodos Galan y Chava son hijos del Nodo Ligue, para crear un nodo nuevo solo se debe escribir: Para indicar el inicio: <nombredelnodo> Para indicar su fin: </nombredelnodo> Dichos nodos, a su vez pueden contener cualquier cantidad de atributos, dichos atributos son fuente de informacin. A continuacin se ve un ejemplo de atributos. <?xml version='1.0' encoding='UTF-8'?> <Ligue> <Galan nombre='Juan' edad='20'>Hola! bailamos</Galan> <Chava nombre='Maria' edad='19'>ashhhhhh!!</Chava> </Ligue> Por ejemplo si se quiere mostrar cdigo mediante XML Qu pasa? <?xml version='1.0'?> <source> for(var a=0; a<10; a++){ trace("Hola Mundo!!") } </source> Esto marcara un error de sintaxis ya que en cdigo se utiliza un: < Pero este pequeo inconveniente lo podemos arreglar usando CDATA. Lo que CDATA hace es: Simplemente toma todo el texto que esta contenido dentro del tag y lo muestra tal cual. Evitando problemas de sintaxis. Ejemplo: <?xml version='1.0'?> <source> <![CDATA[ for(var a=0; a<10; a++){ trace("Hola Mundo!!") } ]]> </source> [14].
1.7.3 Caractersticas
Es una arquitectura ms abierta y extensible. No se necesita versiones para que puedan funcionar en futuros navegadores. Los identificadores pueden crearse de manera simple y ser adaptados en el acto en Internet / intranet por medio de un validador de documentos (parser, analizador). Mayor consistencia, homogeneidad y amplitud de los identificadores descriptivos del documento con XML los RDF (Resource Description FrameWork, Descripcin de Recursos), en comparacin a los atributos de la etiqueta <META> del HTML.
18
Tecnologas Web
Captulo I
Integracin de los datos de las fuentes ms dispares. Se podr hacer el intercambio de documentos entre las aplicaciones tanto en el propio PC como en una red local o extensa. Datos compuestos de mltiples aplicaciones. La extensibilidad y flexibilidad de este lenguaje nos permitir agrupar una variedad amplia de aplicaciones, desde pginas web hasta bases de datos. Gestin y manipulacin de los datos desde el propio cliente web. Los motores de bsqueda devolvern respuestas ms adecuadas y precisas, ya que la codificacin del contenido web en XML consigue que la estructura de la informacin resulte ms accesible. Se desarrollarn de manera extensible las bsquedas personalizables y subjetivas para robots y agentes inteligentes. Tambin conllevar que los clientes web puedan ser ms autnomos para desarrollar tareas que actualmente se ejecutan en el servidor. Se permitir un comportamiento ms estable y actualizable de las aplicaciones web, incluyendo enlaces bidireccionales y almacenados de forma externa (El famoso epgrafe "404 file not found" desaparecer). El concepto de "hipertexto" se desarrollar ampliamente (permitir denominacin independiente de la ubicacin, enlaces bidireccionales, enlaces que pueden especificarse y gestionarse desde fuera del documento, hiperenlaces mltiples, enlaces agrupados, atributos para los enlaces, etc. Creado a travs del Lenguaje de enlaces extensible (XLL) [15].
1.8. AJAX
Es una tcnica de desarrollo web para crear aplicaciones interactivas (Rich Internet Applications, Aplicaciones de Internet Enriquecidas). Estas aplicaciones se ejecutan en el cliente, es decir, en el navegador de los usuarios mientras se mantiene la comunicacin asncrona con el servidor en segundo plano. De esta forma es posible realizar cambios sobre las pginas sin necesidad de recargarlas, lo que significa aumentar la interactividad, velocidad y usabilidad en las aplicaciones.
1.8.1 Definicin
AJAX o "Asynchronous JavaScript and XML", representa la generacin ms nueva de tecnologa en ambientes Web, misma que permite generar interfaces responsivas y giles, utilizando mecanismos existentes en "Browsers"/Navegadores. Las bases de AJAX se encuentran en JavaScript y XML, y su nica dependencia es la necesidad de emplear un Browser moderno (IE6, Firefox, Netscape u Opera). AJAX es una tcnica, no es un producto y tampoco requiere de aplicaciones especiales para ser habilitado [16]. Ajax es una tecnologa asncrona, en el sentido de que los datos adicionales se requieren al servidor y se cargan en segundo plano sin interferir con la visualizacin ni el comportamiento de la pgina. JavaScript es el lenguaje interpretado (scripting language, lenguaje de scripting) en el que normalmente se efectan las funciones de llamada de Ajax mientras que el acceso a los datos se realiza mediante XMLHttpRequest, objeto disponible en los navegadores actuales. En cualquier caso, no es necesario que el contenido asncrono est formateado en XML [17].
1.8.2 Estructura
Es un lenguaje orientado a objetos, utilizado especialmente para permitir la programacin para mostrarla en navegadores. La figura 1.10 muestra un ejemplo de las posibles peticiones de los clientes hacia los servidores web.
Tecnologas Web 19
Captulo I
CLIENTE
Navegador interf az de usuario Llamada Java- Script Motor AJAX HTML+CSS Datos XML
Comunicaci n HTTP
SERVIDOR
Servidor Web / XML
Peticin HTTP
En el siguiente ejemplo se hace una sencilla aplicacin con Ajax. En primer lugar se crea el objeto XMLHttpRequestObject para la peticin de datos. Este objeto se crea dependiendo del navegador web, la primera parte del if es para la mayora de navegadores y la parte del if else es para Internet Explorer. Posteriormente se crea una funcin pedirDatos que tiene como parametros fuenteDatos y divID. Est funcin, como su nombre lo indica, ser la encargada de hacer una peticin de datos, a travs del parmetro fuenteDatos al servidor. Y el resultado de la peticin ser mostrada en la variable divID , la cual es una capa de estilos que se mostrar en el html. La figura 1,11 muestra desde un navegador la aplicacin en AJAX y la figura 1.12 muestra el resultado de la peticin hecha al servidor.
1.8.3 Caractersticas
Se ejecuta del lado del cliente. No es compatible con todos los navegadores web. Use java script y XML.
Tecnologas Web
20
Captulo I
1.9.1 Definicin
Ruby es un lenguaje de programacin interpretado, reflexivo y orientado a objetos, creado por el programador japons Yukihiro "Matz" Matsumoto, quien comenz a trabajar en Ruby en 1993, y lo present pblicamente en 1995. Combina una sintaxis inspirada en Python, Perl con caractersticas de programacin orientada a objetos similares a Smalltalk. Comparte tambin funcionalidad con otros lenguajes de programacin como Lisp, Lua, Dylan y CLU. Ruby es un lenguaje de programacin interpretado en una sola pasada y su implementacin oficial es distribuida bajo una licencia de software libre [19].
1.9.2 Estructura
En ruby todas las cosas son un objeto. Los resultados de las operaciones con estos objetos siempre retornan otro objeto. La clase Fixnum: Son los nmeros enteros del rango 2^-30 a 2^30. Si se sobrepasa el lmite del rango tras una operacin, el tipo de la variable pasa automticamente a Bignum. Como todo en Ruby es un objeto, un nmero constante tiene mtodos a los que se puede invocar. Algunos mtodos destacados son to_s (entero a string), to_f (entero a float), divmod (devuelve un array con el resultado y el cociente de una divisin) y remainder (retorna el resto de una divisin). La clase Float: Representa los nmeros reales, en coma flotante con doble precisin. Algunos de los mtodos que presenta son to_s (float a string), to_i, to_int, truncate (float a entero, truncando la parte decimal) y round (redondear a entero ms cercano). La clase String: Cadenas de texto, encerradas entre comillas simples o dobles. La diferencia entre usar unas u otras estriba en que con las dobles, se parsea el contenido la cadena (por ejemplo, \n se traduce como un salto de lnea), mientras que con las simples, la cadena no se traduce. Es posible acceder a los caracteres de la cadena a travs de su ndice. Si stos son negativos, se empieza a contar desde el final de la cadena. Los mtodos ms destacados son los siguientes: capitalize: hace mayscula la inicial de la cadena. concat / <<: concatena una cadena a otra. [ ]: devuelve el cdigo ascii del carcter que ocupa la posicin indicada. delete: borrar de la cadena el carcter indicado. eql? / == / equal?: los tres comprueban si dos cadenas son iguales. Adems, equal? compara tambin que se trate del mismo objeto. to_i / to_f / to_sym: transformar una cadena en entero, float o smbolo (un smbolo es una variable que apunta a una posicin que contiene una cadena igual al nombre del smbolo. Su ventaja es que smbolos con el mismo nombre hacen referencia a la misma cadena).
21
Tecnologas Web
Captulo I
upcase / downcase / swapcase: transformar una cadena a maysculas, minsculas o intercambiar maysculas y minsculas, y viceversa. reverse: invertir el orden de los caracteres de una cadena. next: retorna el siguiente carcter de la cadena, segn el orden alfabtico. chop: elimina el ltimo carcter de una cadena. chomp: eliminar el salto de lnea final de una cadena. strip / lstrip / rstrip: eliminar los espacios en blanco de una cadena por ambos lados, slo la izquierda o slo la derecha. split: generar un array a partir de un string, indicando el patrn separador de componentes.
1.9.3 Caractersticas
Los comentarios comienzan por #. Las sentencias no terminan en ;. Se pueden evitar los parntesis cuando no haya ambigedad. Las variables locales comienzan por minscula. Las variables no se declaran Las constantes empiezan por mayscula. La sintaxis de Ruby es similar a la de Perl o Python. Altamente portable. Amplia librera estndar [20].
Tecnologas Web
22
Captulo I
Desventajas: Se necesita instalar un servidor web. Todo el trabajo lo realiza el servidor y no delega al cliente. Por tanto puede ser ms ineficiente a medida que las solicitudes aumenten de nmero. La legibilidad del cdigo puede verse afectada al mezclar sentencias HTML y PHP. La programacin orientada a objetos es an muy deficiente para aplicaciones grandes. Dificulta la modularizacin. Dificulta la organizacin por capas de la aplicacin.
Seguridad: PHP es un poderoso lenguaje e intrprete, ya sea incluido como parte de un servidor web en forma de mdulo o ejecutado como un binario CGI separado, es capaz de acceder a archivos, ejecutar comandos y abrir conexiones de red en el servidor. Estas propiedades hacen que cualquier cosa que sea ejecutada en un servidor web sea insegura por naturaleza. PHP est diseado especficamente para ser un lenguaje ms seguro para escribir programas CGI que Perl o C, y con la seleccin correcta de opciones de configuracin en tiempos de compilacin y ejecucin, y siguiendo algunas prcticas correctas de programacin.
ASP
Ventajas: Usa Visual Basic Script, siendo fcil para los usuarios. Comunicacin ptima con SQL Server. Soporta el lenguaje JScript (Javascript de Microsoft).
Desventajas: Cdigo desorganizado. Se necesita escribir mucho cdigo para realizar funciones sencillas. Tecnologa propietaria. Hospedaje de sitios web costosos.
ASP.NET
Ventajas: Completamente orientado a objetos Controles de usuario y personalizados. Divisin entre la capa de aplicacin o diseo y el cdigo. Facilita el mantenimiento de grandes aplicaciones. Incremento de velocidad de respuesta del servidor. Mayor velocidad y Seguridad.
Tecnologas Web
23
Captulo I
JSP
Ventajas: Ejecucin rpida del servlets. Crear pginas del lado del servidor. Multiplataforma. Cdigo bien estructurado. Integridad con los mdulos de Java. La parte dinmica est escrita en Java. Permite la utilizacin se servlets.
RUBY
Ventajas: Permite desarrollar soluciones a bajo Costo. Software libre. Multiplataforma.
Tecnologas Web
24
Captulo II
Computacin Distribuida
Tecnologas Web
25
Captulo II
Computacin Distribuida
Dichas redes son tiles para diversos propsitos. A menudo se usan para compartir ficheros de cualquier tipo (por ejemplo, audio, video o software). Este tipo de red es tambin comnmente usado en telefona VoIP para hacer ms eficiente la transmisin de datos en tiempo real. La eficacia de los nodos en el enlace y transmisin de datos puede variar segn su configuracin local (cortafuegos, NAT, routers, etc.), velocidad de proceso, disponibilidad de ancho de banda de su conexin a la red y capacidad de almacenamiento en disco.
Tecnologas Web
26
Captulo II
Computacin Distribuida
Clasificacin
Redes P2P centralizadas Se basa en una arquitectura monoltica en la que todas las transacciones se hacen a travs de un nico servidor que sirve de punto de enlace entre dos nodos y que, a la vez, almacena y distribuye los nodos donde se almacenan los contenidos. Poseen una administracin muy dinmica y una disposicin ms permanente de contenido. Sin embargo, est muy limitada en la privacidad de los usuarios y en la falta de escalabilidad de un slo servidor, adems de ofrecer problemas en puntos nicos de fallo, situaciones legales y enormes costos en el mantenimiento as como el consumo de ancho de banda. La figura 2.2 muestra una Red P2P Centralizada. Una red de este tipo rene las siguientes caractersticas: Se rige bajo un nico servidor que sirve como punto de enlace entre nodos y como servidor de acceso al contenido, el cual distribuye a peticin de los nodos. Todas las comunicaciones (como las peticiones y encaminamientos entre nodos) dependen exclusivamente de la existencia del servidor.
Redes P2P "puras" o totalmente descentralizadas Las redes P2P de este tipo son las ms comunes, siendo las ms verstiles al no requerir de un gestionamiento central de ningn tipo, lo que permite una reduccin de la necesidad de usar un servidor central, por lo que se opta por los mismos usuarios como nodos de esas conexiones y tambin como almacenistas de esa informacin. En otras palabras, todas las comunicaciones son directamente de usuario a usuario con ayuda de un nodo (que es otro usuario) quien permite enlazar esas comunicaciones. Las redes de este tipo tienen las siguientes caractersticas: La figura 2.3 muestra un ejemplo de una P2P Descentralizada. Los nodos actan como cliente y servidor. No existe un servidor central que maneje las conexiones de red. No hay un enrutador central que sirva como nodo y administre direcciones.
Algunos ejemplos de una red P2P "pura" son: Kademlia, Ares Galaxy, Gnutella, Freenet y Gnutella2 [21].
Figura 2.3. Red Descentralizada
Tecnologas Web
27
Captulo II
Computacin Distribuida
Redes P2P hbridas, semi-centralizadas o mixtas En este tipo de red, se puede observar la interaccin entre un servidor central que sirve como switch y administra los recursos de banda ancha, enrutamientos y comunicacin entre nodos pero sin saber la identidad de cada nodo y sin almacenar informacin alguna, por lo que el servidor no comparte archivos de ningn tipo a ningn nodo. Tiene la peculiaridad de funcionar (en algunos casos como en Torrent) de ambas maneras, es decir, puede incorporar ms de un servidor que gestione los recursos compartidos, pero tambin en caso de que el o los servidores que gestionan todo caigan, el grupo de nodos sigue en contacto a travs de una conexin directa entre ellos mismos con lo que es posible seguir compartiendo y descargando ms informacin en ausencia de los servidores. Este tipo de P2P sigue las siguientes caractersticas: Tiene un servidor central que guarda informacin en espera y responde a peticiones para esa informacin. Los nodos son responsables de hospedar la informacin (pues el servidor central no almacena la informacin), que permite al servidor central reconocer los recursos que se desean compartir, y para poder descargar esos recursos compartidos a los peers que lo solicitan. Las terminales de enrutamiento son direcciones usadas por el servidor, que son administradas por un sistema de ndices para obtener una direccin absoluta. La figura 2.4 muestra un ejemplo de una P2P Distribuida.
Algunos ejemplos de una red P2P hbrida son BitTorrent, eDonkey2000 y Direct Connect [21]. Generaciones de P2P: Primera Generacin de P2P: Son literalmente las primeras redes P2P las cuales eran centralizadas. Segunda Generacin de P2P: En esta generacin se implementa por primera vez la caracterstica de la descentralizacin, siendo esta caracterstica la ms comn en los actuales P2P. Tercera Generacin de P2P: Son aquellos P2P de generacin ms reciente, que implementan una comunicacin no directa, cifrada y annima [21].
2.1.2 Objetivos
Su objetivo primordial es beneficiarse de los recursos distribuidos compartidos (como el porcentaje de CPU, ancho de banda o espacio de almacenamiento) entre los diferentes nodos que conforman la red. Otro objetivo importante en las redes peer-to-peer es que todos los clientes que se conecten a ella, le proveen recursos (incluyendo banda ancha, espacio de almacenamiento y procesamiento de cmputo. As, cuando los nodos llegan y exigen en aumentos de recursos, los recursos totales del sistema tambin aumentan. Esto es diferente en una arquitectura del servidor-cliente con un sistema fijo de servidores, en los cuales la adicin de ms clientes podra significar una transferencia de datos ms lenta para todos los usuarios. La naturaleza distribuida de las redes peer-to-peer tambin incrementan la robustez en caso de haber fallos en la rplica excesiva de los datos hacia mltiples destinos, y en sistemas P2P puros permitiendo a los peers encontrar la informacin sin hacer peticiones a ningn servidor centralizado de indexado. En el ltimo caso, no hay ningn punto singular de falla en el sistema [22].
Tecnologas Web 28
Captulo II
Computacin Distribuida
Caractersticas Seis caractersticas deseables de las redes P2P: Escalabilidad: Las redes P2P tienen un alcance mundial con cientos de millones de usuarios potenciales. En general, lo deseable es que cuantos ms nodos estn conectados a una red P2P mejor ser su funcionamiento. As, cuando los nodos llegan y comparten sus propios recursos, los recursos totales del sistema aumentan. Esto es diferente en una arquitectura del modo servidorcliente con un sistema fijo de servidores, en los cuales la adicin de ms clientes podra significar una transferencia de datos ms lenta para todos los usuarios. Robustez: La naturaleza distribuida de las redes peer-to-peer tambin incrementa la robustez en caso de haber fallos en la rplica excesiva de los datos hacia mltiples destinos, y en sistemas P2P puros permitiendo a los peers encontrar la informacin sin hacer peticiones a ningn servidor centralizado de indexado. En el ltimo caso, no hay ningn punto singular de falla en el sistema. Descentralizacin: Estas redes por definicin son descentralizadas y todos los nodos son iguales. No existen nodos con funciones especiales, y por tanto ningn nodo es imprescindible para el funcionamiento de la red. En realidad, algunas redes comnmente llamadas P2P no cumplen esta caracterstica, como Napster, eDonkey2000 o BitTorrent. Los costos estn repartidos entre los usuarios. Se comparten o donan recursos a cambio de recursos. Segn la aplicacin de la red, los recursos pueden ser archivos, ancho de banda, ciclos de proceso o almacenamiento de disco. Anonimato: Es deseable que en estas redes quede annimo el autor de un contenido, el editor, el lector, el servidor que lo alberga y la peticin para encontrarlo siempre que as lo necesiten los usuarios. Muchas veces el derecho al anonimato y los derechos de autor son incompatibles entre s, y la industria propone mecanismos como el DRM (Digital Rights Management, Gestin de derechos digitales) gestin de derechos digitales para limitar ambos. Seguridad: Es una de las caractersticas deseables de las redes P2P menos implementada. Los objetivos de un P2P seguro seran identificar y evitar los nodos maliciosos, evitar el contenido infectado, evitar el espionaje de las comunicaciones entre nodos, creacin de grupos seguros de nodos dentro de la red, proteccin de los recursos de la red. En su mayora an estn bajo investigacin, pero los mecanismos ms prometedores son: cifrado multiclave, cajas de arena, gestin de derechos de autor (la industria define qu puede hacer el usuario, por ejemplo la segunda vez que se oye la cancin se apaga), reputacin (slo permitir acceso a los conocidos), comunicaciones seguras, comentarios sobre los ficheros [21].
Captulo II
Computacin Distribuida
Otro paso importante lo marc el protocolo BitTorrent, que pese a tener muchas similitudes con eDonkey 2000 proporciona, una mayor velocidad de descarga, pero a costa de una menor variedad y longevidad de archivos en la red [23]. A continuacin se presentan algunos ejemplos de aplicacin de las redes P2P: Intercambio y bsqueda de ficheros. Quizs sea la aplicacin ms extendida de este tipo de redes. Algunos ejemplos son BitTorrent, Ares, LimeWire, Emule o la red eDonkey2000. Sistemas de ficheros distribuidos, como CFS o Freenet. Sistemas de telefona por Internet, como Skype. A partir del ao 2006 cada vez ms compaas europeas y americanas, como Warner Bros o la BBC, empezaron a ver el P2P como una alternativa a la distribucin convencional de pelculas y programas de televisin, ofreciendo parte de sus contenidos a travs de tecnologas como la de BitTorrent.
Las redes P2P pueden ser tambin usadas para hacer funcionar grandes sistemas de software diseados para realizar pruebas que identifiquen la presencia de posibles drogas. El primer sistema diseado con tal propsito fue desarrollado en 2001, en el Centro Computacional para el Descubrimiento de Drogas en la Universidad de Oxford con la cooperacin de la Fundacin Nacional para la Investigacin del Cncer (National Foundation for Cancer Research, Fundacin Nacional para la Investigacin del Cncer) de Estados Unidos. Actualmente, existen varios sistemas de software similares que se desarrollan bajo el auspicio de proyectos como el proyecto de Dispositivos Unidos en la Investigacin del cncer (United Devices Cancer Research Project, Proyecto de Investigacin para Dispositivos de Cncer). En una escala ms pequea, existen sistemas de administracin autnoma para los bilogos computacionales, como el Chinook, que se unen para ejecutar y hacer comparaciones de datos bioinformticos con los ms de 25 diferentes servicios de anlisis que ofrece. Uno de sus propsitos consiste en facilitar el intercambio de tcnicas de anlisis dentro de una comunidad local. Las instituciones acadmicas tambin han comenzado la experimentacin con comparticin de archivos, como es el caso de LionShare (es un esfuerzo para facilitar la comparticin legtima de archivos digitales entre individuos e instituciones educativas alrededor del mundo) [21].
Captulo II
Computacin Distribuida
que ofrece una perfecta integracin de sistemas y dispositivos heterogneos, por lo que las conexiones entre diferentes mquinas no generarn ningn problema. Se trata de una solucin altamente escalable, potente y flexible, ya que evitarn problemas de falta de recursos (cuellos de botella) y nunca queda obsoleta, debido a la posibilidad de modificar el nmero y caractersticas de sus componentes [24].
La arquitectura del grid se describe en trminos de capas, ejecutando cada una de ellas una determinada funcin. Las capas ms altas son las ms cercanas al usuario y las inferiores las ms prximas a las redes de computacin, distinguiendo entre: Capa de aplicacin: Formada por todas las aplicaciones de los usuarios, portales y herramientas de desarrollo que soportan esas aplicaciones. Es la capa que ve el usuario y que proporciona el llamado serviceware, que recoge las funciones generales de gestin tales como la contabilidad del uso del (grid, red) que hace cada usuario. Capa de middleware: Responsable de proporcionar herramientas que permiten que los distintos recursos participen de forma coordinada y segura en un entorno grid unificado. Capa de recursos: Constituida por los recursos que son parte del grid: ordenadores, supercomputadoras, sistemas de almacenamiento, catlogos electrnicos de datos, bases de datos, sensores, etc. Capa de red: Encargada de asegurar la conexin entre los recursos que forman el grid.
Middleware: Es un software de conectividad que ofrece un conjunto de servicios que hacen posible el funcionamiento de aplicaciones distribuidas sobre plataformas heterogneas, sus funciones son las siguientes: Encontrar el lugar conveniente para ejecutar la tarea solicitada por el usuario. Optimizar el uso de recursos que pueden estar muy dispersos. Organizar el acceso eficiente a los datos. Autenticar los diferentes elementos. Ejecutar las tareas. Monitorizar el progreso de los trabajos en ejecucin. Gestionar automticamente la recuperacin frente a fallos. Avisar cuando se haya terminado la tarea y devolver los resultados.
El middleware est formado por muchos programas software; algunos de estos programas actan como (agents, agentes) y otros como (brokers, intermediarios), negociando entre s, de forma automtica, en representacin de los usuarios del grid y de los proveedores de recursos. Un elemento fundamental del middleware son los metadatos (datos sobre los datos), que contienen, entre otras cosas, toda la informacin sobre el formato de los datos y dnde se almacenan (a veces en varios sitios distintos). Los agentes individuales presentan los metadatos referidos a los usuarios, datos y recursos. Por otro lado, los intermediarios se encargan de las negociaciones entre mquinas para la autenticacin y autorizacin de los usuarios, de definir los acuerdos de acceso a los datos y recursos y, en caso de que corresponda, el pago por los mismos. Cuando queda establecido el acuerdo, un intermediario planifica y las tareas de cmputo y supervisa las transferencias de datos necesarias para acometer cada trabajo concreto. Al mismo tiempo, una serie de agentes supervisores especiales optimizan las rutas a travs de la red y monitorizan la calidad del servicio. La figura 2.5 muestra los elementos que componen un middleware.
Tecnologas Web 31
Captulo II
Computacin Distribuida
Desventajas de Grid Computing: No obstante, la computacin grid presenta algunos inconvenientes que deben solucionarse. olucionarse. Estos problemas son: Recursos heterogneos: la computacin grid debe ser capaz de poder manejar cualquier tipo de recurso que maneje el sistema, sino resultar totalmente intil. Descubrimiento, seleccin, reserva, asignacin, gestin y monitorizacin de recursos son proceproc sos que deben controlarse externamente y que influyen en el funcionamiento del grid. Necesidad de desarrollo de aplicaciones para manejar el grid, as como desarrollo de modelos efief cientes de uso. Comunicacin lenta y no uniforme. Organizativos: dominios de administracin, modelo de explotacin y costos, poltica de seguridad. Econmicos: precio de los recursos, oferta/demanda [25,26].
Captulo II
Computacin Distribuida
ido creciendo hasta llegar a ser el equivalente a ms de 160,000 computadoras PII 266MHz trabajando 24 horas al da, 7 das a la semana, y 365 das al ao. SETI@home: Ha sido el proyecto de computacin distribuida ms popular de la historia, cuyo objetivo era la bsqueda de vida extraterrestre mediante la deteccin de su tecnologa de comunicaciones, buscando patrones que demuestren inteligencia en las ondas de radio procedentes del espacio. Para ello, cualquier persona que quisiera colaborar poda descargarse un salvapantallas gratuito (de este modo aprovechaba los ciclos del ordenador slo cuando ste no estaba en uso), que instalado en su ordenador analiza seales del espacio captadas con el radiotelescopio de Arecibo en Puerto Rico. El software se hizo pblico el 17 de mayo del 1999 y, desde entonces hasta su finalizacin el 15 de diciembre de 2005, ms de 5 millones de voluntarios han instalado el programa en su ordenador, se han conseguido un total acumulado de dos millones de aos de tiempo de CPU y se han analizado alrededor de 50 TB de datos, convirtiendo al proyecto en el mayor computador virtual de la historia de la humanidad por anlisis realizados. En la actualidad, SETI@Home sigue en funcionamiento pero integrado en BOINC (Berkeley Open Infrastructure for Network Computing, Infraestructura Abierta para la Red Informtica), un proyecto basado en recursos de redes abiertas con los mismos principios que el proyecto original. La nueva infraestructura continuar con la bsqueda de seales de radio extraterrestres, pero ahora adems la potencia de CPU de los participantes se dedicar tambin a investigar sobre otras tareas, como el cambio climtico, la astronoma y la cura de enfermedades [28].
Inconvenientes de los servicios web: Para realizar transacciones no pueden compararse en su grado de desarrollo con los estndares abiertos de computacin distribuida como CORBA (Common Object Request Broker Architecture, La Demanda del Objeto comn Corredor Architecture). Su rendimiento es bajo si se compara con otros modelos de computacin distribuida, tales como RMI (Remote Method Invocation, Innovacin Remoto del Mtodo), CORBA, o DCOM (Distributed Component Object Model, Modelo de Objeto de Componente Distribuido). Es uno de los inconvenientes derivados de adoptar un formato basado en texto. Y es que entre los objetivos de XML no se encuentra la concisin ni la eficacia de procesamiento. Al apoyarse en HTTP, pueden esquivar medidas de seguridad basadas en firewall cuyas reglas tratan de bloquear o auditar la comunicacin entre programas a ambos lados de la barrera.
33
Tecnologas Web
Captulo II
Computacin Distribuida
2.3.1 Objetivo
Permitir la comunicacin entre aplicaciones o componentes de aplicaciones de forma estndar a travs de protocolos comunes y de manera independiente al lenguaje de programacin, plataforma de implantacin, formato de presentacin o sistema operativo.
Tecnologas utilizadas para su aplicacin XML: Describe la informacin a ser usada. SOAP: Empaqueta la informacin y la transporta entre cliente y el proveedor del servicio. WSDL: Describe un servicio. UDDI: Proporciona una lista de servicios disponibles [29].
A continuacin se describen las tecnologas: XML (Extensible Markup Language) Lenguaje de marcas extensible, es un metalenguaje extensible de etiquetas desarrollado por el W3C (World Wide Web Consortium, Consorcio del Web). Permite definir la gramtica de lenguajes especficos (de la misma manera que HTML es a su vez un lenguaje definido por SGML). Por lo tanto XML no es realmente un lenguaje en particular, sino una manera de definir lenguajes para diferentes necesidades. XML no ha nacido slo para su aplicacin en Internet, sino que se propone como un estndar para el intercambio de informacin estructurada entre diferentes plataformas. Se puede usar en bases de datos, editores de texto, hojas de clculo y casi cualquier cosa imaginable. XML es una tecnologa sencilla que tiene a su alrededor otras que la complementan y la hacen mucho ms grande y con unas posibilidades mucho mayores. Tiene un papel muy importante en la actualidad ya que permite la compatibilidad entre sistemas para compartir la informacin de una manera segura, fiable y fcil. Caractersticas XML Describe estructuras de datos. Puede describir tanto datos como documentos: o Cul es la diferencia. o Podemos manejar Ambos. Se usa para datos y para metadatos. Forma sencilla de describir estructuras de datos complejas y jerrquicas. Flexibilidad, facilidad de procesado e independencia de plataformas arquitecturas.
SOAP (Simple Object Access Protocol, Objeto Simple Protocolo de Acceso) La figura 2.6 muestra los elementos del protocolo estndar que define cmo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML. Este protocolo deriva de un protocolo creado por David Winer en 1998, llamado XML-RPC. SOAP fue creado por Microsoft, IBM y otros y est actualmente bajo el auspicio de la W3C. Es uno de los protocolos utilizados en los servicios Web. Es un protocolo basado en XML para el intercambio de informacin de forma descentralizada sobre entornos distribuidos.
34
Tecnologas Web
Captulo II
Computacin Distribuida
Define un mecanismo para el paso de instrucciones (comandos) y parmetros entre clientes y servidores. Es totalmente independiente de la plataforma, el modelo de datos y el lenguaje de programacin usado [29].
WSDL (Web Services Description Language, Lenguaje de Descripcin de Servicios Web) WSDL describe la interfaz pblica a los servicios Web. Est basado en XML y describe la forma de comunicacin, es decir, los requisitos del protocolo y los formatos de los mensajes necesarios para interactuar con los servicios listados en su catlogo. Las operaciones y mensajes que soporta se describen en abstracto y se ligan despus al protocolo concreto de red y al formato del mensaje. As, WSDL se usa a menudo en combinacin con SOAP y XML. Un programa cliente que se conecta a un servicio web puede leer el WSDL para determinar qu funciones estn disponibles en el servidor. Los tipos de datos especiales se incluyen en el archivo WSDL en forma de XML Schema. El cliente puede usar SOAP para hacer la llamada a una de las funciones listadas en el WSDL. En la figura 2.7 se presenta un ejemplo de un servicio Web, donde un cliente invoca mensajes de 2 maneras diferentes: Uno de ellos es utilizando el protocolo SOAP y HTTP cada mensaje que es invocado por el cliente recibe un mensaje con su respuesta [29].
SOAP/HTTP Peticin Mensaje
CLIENTE
HTTP Recibe Peticin Mensaje HTTP Respuesta Mensaje
SERVICIO
Tecnologas Web
35
Captulo II
Computacin Distribuida
Es el mismo ejemplo nicamente que se describe detalladamente los puntos y la terminologa que es utilizada por WSDL (Web Services Description Language, Lenguaje de Descripcin de Servicios Web). En la figura 2.8 se pueden observar elementos que forma y contiene el WSDL.
Parte 1 Parte 2
Mensaje
Los mensajes de entrada y salida realizan una operacin por el tipo de puerto.
Puerto 1
SOAP/HTTP Respuesta Mensaje
CLIENTE
HTTP Recibe Peticin Mensaje
SERVICIO
Puerto 2
UDDI (Universal Description Discovery and Integration, Descubrimiento universal de la Descripcin e Integracin) El registro en el catlogo se hace en XML. UDDI es una iniciativa industrial abierta (sufragada por la OASIS (Organization for the Advancement of Structured Information Standards, Organizacin para el Avance de Normas de Informacin Estructuradas); es un consorcio internacional sin fines de lucro que orienta el desarrollo, la convergencia y la adopcin de los estndares de comercio electrnico y servicios web. Entroncada en el contexto de los servicios Web. El registro de un negocio en UDDI tiene tres partes: Pginas blancas: Direccin, contacto y otros identificadores conocidos. Pginas amarillas: Categorizacin industrial basada en ordenamientos. Pginas verdes: Informacin tcnica sobre los servicios que aportan las propias empresas.
UDDI es uno de los estndares bsicos de los servicios Web cuyo objetivo es ser accedido por los mensajes SOAP y dar paso a documentos WSDL, en los que se describen los requisitos del protocolo y los formatos del mensaje solicitado para interactuar con los servicios Web del catlogo de registros [30]. Ejemplo UDDI En la figura 2.9 representa como UDDI hace el registro de una poblacin con sus datos y como los clientes descubren y utilizan esta informacin. El registro de UDDI es construido por los clientes. Existen una serie de pasos para hacer que los datos sean utilizados de manera til: 1. Se publica la informacin til de los registros, esto comienza cuando las compaas de software definen las especificaciones de los estndares y la estructura de dichas compaas.
Tecnologas Web 36
Captulo II
Computacin Distribuida
2. Las compaas tambin debern tener un registro sobre la descripcin de los servicios y negocios que esta ofrecer a los clientes. 3. UDDI tendr una clave que ser garantizada y nica, con el objetivo de que nunca ser reemplazada. 4. Se utiliza el registro de UDDI con el fin de descubrir los servicios de inters personal, as como otros negocios pueden invocar o navegar para descubrir los servicios que se ofrecen; as como se ilustra en la figura 2.21 del paso 5.
4. Buscadores de Servicios
Tecnologas Web
37
Captulo II
Computacin Distribuida
En la figura 2.10 se muestra el ejemplo del grfico, un usuario (que juega el papel de cliente dentro de los Servicios Web), a travs de una aplicacin, solicita informacin sobre un viaje que desea realizar haciendo una peticin a una agencia de viajes que ofrece sus servicios a travs de Internet. La agencia de viajes ofrecer a su cliente (usuario) la informacin requerida. Para proporcionar al cliente la informacin que necesita, esta agencia de viajes solicita a su vez informacin a otros recursos (otros Servicios Web) en relacin con el hotel y la compaa area. La agencia de viajes obtendr informacin de estos recursos, lo que la convierte a su vez en cliente de esos otros Servicios Web que le van a proporcionar la informacin solicitada sobre el hotel y la lnea area. Por ltimo, el usuario realizar el pago del viaje a travs de la agencia de viajes que servir de intermediario entre el usuario y el servicio Web que gestionar el pago [29].
2.3.4 Aplicaciones
Permite acceder directamente a sus servicios, manejando directamente el carrito de compra. Puedes actualizar tus pginas con su informacin.
Tecnologas Web
38
Captulo III
Bsqueda de Informacin
Tecnologas Web
39
Captulo III
Bsqueda de Informacin
Captulo III
Bsqueda de Informacin
Jerrquico de hoy da, donde la informacin se estructura en temas y al ir seleccionando alguno de ellos se muestra una seleccin de subtemas y as sucesivamente. El servicio de Archie era muy similar al de cualquier buscador Web, ya sea un ndice como Yahoo o un Motor de Bsqueda como Lycos. Wais: Era un sistema de bsqueda de texto distribuido que usa el protocolo standard cliente servidor ANSI Z39.50 para buscar bases de datos indexadas en ordenadores remotos. WAIS permite a los usuarios descubrir la informacin y resuelve el acceso a la informacin en la red sin tener en cuenta su ubicacin fsica. Wais fue desarrollado por (Thinking Machines Corporation, Corporacin de Maquinas Pensantes) fue establecida por un egresado del [[MIT]], Danny Hills, con el objetivo de desarrollar una nueva idea de supercomputadora. El concepto era usar muchos procesadores individuales en lugar de un enorme y poderoso procesador. Z39.50 Z39.50 es el nombre de un estndar definido por ANSI que permite comunicar sistemas que funcionan en distinto hardware y usan distinto software. Fue diseado para solucionar los problemas asociados a la bsqueda en mltiples bases de datos con diferentes lenguajes y procedimientos. El servidor WAIS corra bajo sus supercomputadoras CM-1 (Connection Machine, Conexin de Maquinas) y CM-5. Los clientes WAIS eran para varios sistemas operativos incluyendo Windows, Macintosh y Unix. Con el anuncio del World Wide Web a principios de 1990 y la bancarrota de Thinking Machines en el 95, la primitiva interface del sistema WAIS rpidamente cedi su lugar a los motores de bsqueda basados en Web. En el Internet actual ya no hay servidores WAIS activos. En la figura 3.1 se muestra el buscador de Wais.
Archie: Era un sistema de localizacin de ficheros a travs de bases de datos que contenan la informacin almacenada en los servidores de FTP annimo. Para utilizarlo era necesario un cliente que permita conectarnos a los servidores Archie donde podamos localizar un determinado archivo. En dicho cliente se introduca una cadena de bsqueda y en funcin de la misma se mostraban los servidores de FTP que contenan archivos relacionados con la misma. Si configurbamos un cliente FTP podamos bajarnos directamente cualquiera de los archivos mostrados. Hoy en da ha sido sustituido por otras herramientas ms funcionales. Fue el primer motor de bsqueda que se ha inventado, diseado para indexar archivos FTP, permitiendo a la gente encontrar archivos especficos.
Tecnologas Web
La implementacin original se escribi en 1990. En la figura 3.2 se muestra el motor de bsqueda Archie.
Captulo III
Bsqueda de Informacin
Las primeras versiones de archie simplemente contactaban una lista de archivos FTP en bases regulares (contactando cada una apenas una vez cada mes, para no gastar muchos recursos en los servidores remotos) y requiriendo un listado. Estos listados eran almacenados en ficheros locales para ser buscados usando el comando grep de UNIX. Ms tarde, se desarrollaron front- y back-ends ms eficaces, y este sistema pas de ser una herramienta local a un recurso para toda la red, a un servicio popular accesible desde mltiples sitios de Internet. A tales servidores se poda acceder de muchas formas: usando un cliente local (como archie o xarchie); haciendo telnet al servidor directamente, enviando (queries, consultas) por correo electrnico y ms tarde con interfaces World Wide Web. El nombre archie viene de la palabra inglesa "archive". Gopher: Era un sistema diferente, es otro servicio en el que sus servidores organizaban la informacin en rboles jerrquicos sobre cuyas ramas bamos descendiendo en funcin del tema elegido. De esta manera, al conectarnos a un servidor de este tipo, ste mostraba el rbol principal y al seleccionar una rama se conectaba a otro (o al mismo) servidor donde se encontraba el subrbol correspondiente. Cada vez que bajbamos una rama podamos permanecer en el mismo servidor o pasar, de forma totalmente transparente para nosotros, a otro servidor. Al final se acceda al recurso deseado, que podamos bajarnos directamente a travs de FTP, o mediante una conexin mediante Telnet al servidor que lo contena. El funcionamiento del protocolo Gopher ofrece servicios no soportados por el Web y ofrece una jerarqua mucho ms potente sobre la informacin almacenada en l. Su interface es a travs de mens es muy adecuada a entornos de computacin que dependen fuertemente de terminales remotos. Algunos consideran que es el mejor sistema para almacenar y hacer bsquedas en grandes bancos de informacin. Hay miles de servidores Gopher distribuidos por la red, es muy comn ver que en universidades, hospitales, agencias gubernamentales, editoriales, disponen de su propio servidor de informacin tanto para uso interno como externo. Los items reseados son: guas de internet, directorios de correo electrnico, una lista de servidores de FTP annimo, mquinas que soportan grandes bases de datos, servidores de WAIS, directorio de (listservers, servidores de listas) y de revistas electrnicas. En la figura 3.3 se muestra el motor de bsqueda Gopher [33, 34].
Algunos de los algoritmos ms empleados son: Bsqueda en lista (list search): Hace una bsqueda muy lineal y el resultado suele ser un solo elemento y poco ms, perdiendo mucho tiempo para tan pocos resultados. Bsqueda en rbol (tree search): Busca entre grupos y subgrupos (ramificaciones) de datos, en una estructura que, en cierta manera, imita el modelo de la Red en s. El problema est en que es
42
Tecnologas Web
Captulo III
Bsqueda de Informacin
una bsqueda muy jerrquica, por lo que la informacin se busca segn cmo est clasificada en un ranking. Bsqueda SQL (SQL search): Este tipo de bsqueda elimina el problema de las jerarquas de la bsqueda en rbol, por lo que se puede buscar entre cualquier grupo de datos sin seguir un orden especfico. Bsqueda informada (informed search): Este algoritmo busca respuestas especficas a problemas especficos en un rbol de datos. Sin embargo, las respuestas suelen ser muy generales. Bsqueda adversa (adversarial search): Este algoritmo mira en todas las posibles soluciones a un problema. Este algoritmo es difcil de usar en bsquedas web ya que da un nmero exagerado de respuestas. Bsqueda concreta (constraint satisfaction search): En este tipo de algoritmo, la solucin se descubre al satisfacer una serie de condiciones, y se puede buscar entre los datos sin seguir un procedimiento lineal, lo que hace este algoritmo muy til.
Tecnologas Web
43
Captulo III
Bsqueda de Informacin
Si el modelo final no superara esta evaluacin el proceso se podra repetir desde el principio o, si el experto lo considera oportuno, a partir de cualquiera de los pasos anteriores. Esta retroalimentacin se podr repetir cuantas veces se considere necesario hasta obtener un modelo vlido. Una vez validado el modelo, si resulta ser aceptable (proporciona salidas adecuadas y/o con mrgenes de error admisibles) ste ya est listo para su explotacin. Los modelos obtenidos por tcnicas de minera de datos se aplican incorporndolos en los sistemas de anlisis de informacin de las organizaciones, e incluso, en los sistemas transaccionales. Tareas de minera de datos Clustering: Agrupamiento-segmentacin. Particionar un conjunto heterogneo en subconjuntos ms homogneos. Internamente el sistema define estas caractersticas. Clasificacin: Asignar un registro a una o varias posibles clases predefinidas. Agrupamiento por afinidad: Anlisis de correlaciones. Identifica eventos o transacciones que ocurran simultneamente. Ejemplo de compra los das jueves en la noche de paales y cervezas en mercado. Estimacin/prediccin. Asignar un valor a una variable dependiente que toma valores numricos continuos. Esto lo diferencia de la clasificacin.
Ejemplos de uso en la minera de datos Negocios: La minera de datos puede contribuir significativamente en las aplicaciones de administracin empresarial basada en la relacin con el cliente. Hbitos de compra en supermercado: Un estudio muy citado detect que ciertos das de la semana, haba una cantidad inusualmente elevada de clientes que adquiran a la vez paales y cerveza. Se detect que se deba a que dicho da solan acudir al supermercado padres jvenes cuya perspectiva para el fin de semana consista en quedarse en casa cuidando de su hijo y viendo la televisin con una cerveza en la mano. Patrones de fuga: En muchas industrias como la banca, las telecomunicaciones, existe un comprensible inters en detectar cuanto antes aquellos clientes que puedan estar pensando en rescindir sus contratos para, posiblemente, pasarse a la competencia. Fraudes: Generalmente, estas operaciones fraudulentas o ilegales suelen seguir patrones caractersticos que permiten, con cierto grado de probabilidad, distinguirlas de las legtimas y desarrollar as mecanismos para tomar medidas rpidas frente a ellas. Recursos humanos: La minera de datos tambin puede ser til para los departamentos de recursos humanos en la identificacin de las caractersticas de sus empleados de mayor xito. Comportamiento en Internet: La utilizacin de la informacin obtenida por medios ms o menos legtimos sobre ellos para ofrecerles propaganda adaptada especficamente a su perfil. Ciencia e Ingeniera: En los ltimos aos la minera de datos se est utilizando ampliamente en diversas reas relacionadas con la ciencia y la ingeniera. Algunos ejemplos de aplicacin en estos campos son: o Gentica: En el estudio de la gentica humana, el objetivo principal es entender la relacin cartografa entre las partes y la variacin individual en las secuencias del ADN humano y la variabilidad en la susceptibilidad a las enfermedades. En trminos ms llanos, se trata de saber cmo los cambios en la secuencia de ADN de un individuo afectan al riesgo de desarrollar enfermedades comunes (como por ejemplo el cncer). Esto es muy importante para ayudar a mejorar el diagnstico, prevencin y tratamiento de las enfermedades. La tcnica de minera de datos que se utiliza para realizar esta tarea se conoce como "reduccin de dimensionalidad multifactorial". o Ingeniera elctrica: En el mbito de la ingeniera elctrica, las tcnicas minera de datos han sido ampliamente utilizadas para monitorizar las condiciones de las instalaciones de alta tensin. La finalidad de esta monitorizacin es obtener informacin valiosa sobre el estado del aislamiento de los equipos. Para la vigilancia de las vibraciones o el anlisis de los cambios de carga en transformadores se utilizan ciertas tcnicas para agrupacin de datos (clustering, agrupacin) tales como los Mapas Auto-Organizativos (SOM, Selforganizing map, La auto organizacin del mapa). Estos mapas sirven para detectar condi. ciones anormales y para estimar la naturaleza de dichas anomalas
44
Tecnologas Web
Captulo III
Bsqueda de Informacin
Anlisis de gases: Tambin se han aplicado tcnicas de minera de datos para el anlisis de gases disueltos (DGA, Dissolved gas analysis, Anlisis de gases disueltos) en transformadores elctricos. El anlisis de gases disueltos se conoce desde hace mucho tiempo como herramienta para diagnosticar transformadores [37].
Tendencias La Minera de Datos ha sufrido transformaciones en los ltimos aos de acuerdo con cambios tecnolgicos, de estrategias de marketing, la extensin de los modelos de compra en lnea, etc. Los ms importantes de ellos son: La importancia que han cobrado los datos no estructurados (texto, pginas de Internet, etc.) La necesidad de integrar los algoritmos y resultados obtenidos en sistemas operacionales, portales de Internet, etc. La exigencia de que los procesos funcionen prcticamente en lnea (por ejemplo, que frente a un fraude con una tarjeta de crdito). Los tiempos de respuesta. El gran volumen de datos que hay que procesar en muchos casos para obtener un modelo vlido es un inconveniente; esto implica grandes cantidades de tiempo de proceso y hay problemas que requieren una respuesta en tiempo real [36].
Hoy en da el Internet se ha convertido en una herramienta, para la bsqueda de informacin, rpida, para ello han surgido los buscadores que son un motor de bsqueda que nos facilita encontrar informacin rpida de cualquier tema de inters, en cualquier rea de las ciencias, y de cualquier parte del mundo. En la tabla 3.1 se muestra un listado de Buscadores [38]. Buscadores Google Altavista Ubbi Brjula Lycos Tabla 3.1 Myway Technorati A9 Scirus: buscador cientfico
Tecnologas Web
45
Captulo III
Bsqueda de Informacin
a).- Buscadores jerrquicos (Araas o Spiders) La mayora de grandes buscadores internacionales de uso habitual y conocidos son de este tipo. Requieren muchos recursos para su funcionamiento. No estn al alcance de cualquiera. Recorren las pginas recopilando informacin sobre los contenidos de las pginas. Cuando se busca una informacin en los motores, ellos consultan su base de datos y presentan resultados clasificados por su relevancia. Los buscadores pueden almacenar desde la pgina de entrada, a todas las pginas que residan en el servidor. Si se busca una palabra, por ejemplo, ordenadores. En los resultados que ofrecer el motor de bsqueda, aparecern pginas que contengan esta palabra en alguna parte de su texto. Si consideran que un sitio web es importante para el usuario, tienden a registrarlas todas. Si no la consideran importante, slo almacenan una o ms pginas. Cada cierto tiempo, los motores revisan los sitios, para actualizar los contenidos de su base de datos, por lo que no es infrecuente que los resultados de la bsqueda estn desactualizados.
b).- Robot de Bsqueda Un robot es un programa que atraviesa una estructura de hipertexto recuperando ese enlace y todos los enlaces que estn referenciados all. De ello se alimentan los grandes motores de bsqueda de la Web. La diferencia con los Directorios, es que stos no poseen robots, estn operados por humanos y no recuperan automticamente los enlaces incluidos en las pginas Web, sino que slo se limitan a hallar lo que las personas manualmente incluyen en ellos, pudiendo como ventaja clasificar por secciones la temtica de las Web al hacer el proceso manual. Los robots son usualmente llamados "Web Wanderers", "Web Crawlers", o "Spiders" (araas de bsqueda) y se suele imaginar que se mueven entre los sitios como si fuesen virus, este no es el caso, un robot simplemente visita los sitios y extrae los enlaces que estn incluidos dentro de estos. Tipos de Robots de Bsqueda: Araas (Spiders): Es un programa usado para rastrear la red. Lee la estructura de hipertexto y accede a todos los enlaces referidos en el sitio web. Se utiliza como sinnimo de robot y crawler. Gusanos (Worms): Es lo mismo que un robot, aunque tcnicamente un gusano es una rplica de un programa, a diferencia de un robot que es un programa original. Se usan, por ejemplo, para duplicar los directorios de FTP para que puedan acceder ms usuarios. Orugas (Web crawlers): es un tipo especfico de robot que ha dado lugar al nombre de algunos buscadores como Webcrawler y MetaCrawler. Hormigas (WebAnts): Se trata de un cooperativa de robots. Trabajan de forma distribuida, explorando simultneamente diferentes porciones de la Web. Son robots que cooperan en un mismo objetivo, por ejemplo, para llevar a cabo una indizacin distribuida. Vagabundos (Wanderes): Son una clase de robots que realizan estadsticas sobre la Web, como por ejemplo, nmero de servidores, servidores conectados, nmero de webs, etc.. Robots del Conocimiento: Localizan referencias hipertextuales dirigidas hacia un documento o servidor concreto. Permiten evaluar el impacto de las distintas aportaciones que engrosan las distintas reas de conocimiento de la Web. Qu es un Agente: En la actualidad al hablar de un "agente" se han de tener en cuenta las siguientes acepciones: Agente autnomo: se trata de un programa que "viaja" entre los sitios web (ubicados en servidores especiales), decidiendo de forma independiente qu debe hacer y cundo debe moverse a otros lugares. Agente inteligente: o softbot, es programa que ayuda a rellenar formularios, elegir productos, etc. Agente de usuario: programa que ejecuta determinadas tareas para un usuario en la red [39].
46
Tecnologas Web
Captulo III
Bsqueda de Informacin
Funcionamiento La mayora de grandes buscadores internacionales son del tipo "spider". Recorren las pginas recopilando informacin sobre los contenidos de las pginas. Cuando se busca una informacin en los motores, ellos consultan su base de datos y presentan resultados clasificados por su relevancia. De las webs, los buscadores pueden almacenar desde la pgina de entrada, a todas las pginas que residan en el servidor. Si se busca por palabra clave, por ejemplo, robot, como resultados ofrecer pginas que contengan esta palabra en alguna parte de su texto. Si consideran que un sitio web es importante para el usuario, tienden a registrarlas todas. Si no la consideran importante, slo almacenan una o ms pginas. Un aspecto a tener en cuenta es que cada cierto tiempo, los motores revisan los sitios, para actualizar los contenidos de su base de datos, por lo que no es infrecuente que los resultados de la bsqueda estn desactualizados. Por otro lado existen los buscadores jerrquicos cuya principal caracterstica es que tienen una coleccin de programas simples y potentes con diferentes cometidos. Se suelen dividir en tres partes. Los programas que exploran la red araas (spiders), los que construyen la base de datos y los que utiliza el usuario, el programa que explota la base de datos. Ventajas de la existencia de estos robots de bsqueda La principal ventaja es su capacidad de indexar documentos, ya no slo por el ttulo o las palabras clave que queramos asignarles, si no por la capacidad de buscar en TODO el documento cmo tienen algunos.
Desventajas de los robots de bsqueda
Evidentemente nadie es perfecto, algunas desventajas tena que tener el invento. Los robots de bsqueda, con su afn de indexar, colapsaron ciertas redes en el pasado ya que cuando un robot investiga un servidor adopta la apariencia de usuarios que visitan las web alojadas en l y cuanta ms informacin exista en el servidor, ms usuarios crear el robot para analizarla. Hoy en da existen mecanismos para que no se produzcan y la informacin suficiente para disear robots sea ms eficiente.
Cmo decide un robot las webs qu va a visitar?
Por lo general empiezan con una lista histrica de URLs, especialmente de aquellos documentos con muchos enlaces a otras webs y con aquellos sitios populares en el Web, es decir, a los que apuntan muchos enlaces de otras webs. Usan tambin otros recursos como listas de correo, grupos de discusin, etc. Todo esto les da un punto de partida para comenzar a seleccionar URLs para visitar, analizarlas y usarlas como recurso para incluirlas dentro de su base de datos.
3.4 Aplicaciones
En la actualidad se aprecia una tendencia por parte de los principales buscadores de Internet a dar el salto hacia entornos mviles creando una nueva generacin de buscadores: los buscadores mviles. La figura 3.4 muestra algunas aplicaciones, que a posteriormente se mencionan [40].
Tecnologas Web
47
Captulo III
Bsqueda de Informacin
Google En el 2001, el buscador Google adquiri prominencia. Su xito est basado en parte en el concepto de popularidad basado en PageRank (familia de algoritmos utilizados para asignar de forma numrica la relevancia de los documentos o pginas web indexados por un motor de bsqueda.), bajo la premisa de que las pginas ms deseadas eran ms enlazadas por otras pginas que el resto. Esta idea permiti a Google disponer las pginas de una determinada bsqueda en funcin de su importancia, basada en este algoritmo, esto es, las pginas ms enlazadas por otras pginas se mostraban en primer lugar. La interfaz minimalista de Google se hizo muy popular entre los usuarios y desde entonces ha tenido un gran nmero de imitadores Google y muchos otros buscadores no slo usaban PageRank, sino ms de 150 criterios para determinar la pertinencia de una pgina. Visual Finder El buscador Visual Finder, patentado y de origen espaol, es un buscador de portal que ofrece una serie de beneficios diferenciales frente a los buscadores de portal tradicionales, como los combos o desplegables y los buscadores de texto. Con un diseo caracterstico, Visual Finder ofrece entre otras ventajas: Disminuye los clicks necesarios, hasta 8 veces menos que con desplegables. Las bsquedas AND y OR se hacen sencillas e intuitivas, sin traducciones Booleanas. Se evita la navegacin ciega, selecciones errneas, demasiado amplias o estrechas. Permite descubrir informacin antes oculta, maximizando la explotacin de la base de datos facilita la comparacin. Refina las bsquedas dinmicamente, sin esfuerzo. Incrementa la relevancia natural en los buscadores, comportndose como un proyecto SEO (Search Engine Optimization, Optimizacin de Motores de Bsqueda).
Exalead El motor de bsqueda corporativo de Exalead, tambin cuenta con una versin de bsqueda para Internet. Cuenta con un potente buscador desktop para usuarios que permite indexar un nmero ilimitado de documentos, permitiendo buscar en ms de 100 tipos de archivos, incluyendo emails, adjuntos a emails, documentos de oficina, PDFs, imgenes, archivos de audio, vdeo clips y ms. Caractersticas de Exalead incluyen: Bsqueda de la proximidad que apoya al operador NEAR Expresiones jerarquizadas de la bsqueda. Consejos. Bsqueda especfica: por localizacin geogrfica. Por lengua. Por el tipo del archivo. Sugerencias de palabras adicionales. La bsqueda fontica est tambin disponible, pudiendo ser utilizada cuando se desconoce la ortografa Bsqueda dentro de los resultados. Audio, vdeo y bsqueda de RSS (en de la inspeccin previa tambin imgenes). Exalead permite bsqueda con expresiones regulares y se pueden utilizar para solucionar crucigramas y utilizar en algoritmos IR. Yahoo Search! En 2004, Yahoo! lanz su propio buscador basado en una combinacin de tecnologas de sus adquisiciones y proporcionando un servicio en el que ya prevaleca la bsqueda en Webs sobre el directorio.
Tecnologas Web
48
Captulo III
Bsqueda de Informacin
Microsoft Otros de los grandes buscadores es BING (antes MSN Search), de Microsoft, que previamente dependa de otros para listar sus bsquedas. En 2004 debut una versin beta con sus propios resultados, impulsada por su propio robot llamado (msnbot). Al principio de 2005 comenz la versin definitiva. Microsoft lanza su nuevo buscador "LIVE", el usuario puede disear y personalizar su espacio para que sus bsquedas sean rpidas, eficaces y sencillas y puede convertirse en pgina de inicio personalizada. Introduce cuatro botones que permiten realizar la peticin en la web, en imgenes, en noticias relacionadas y en una cuarta posibilidad que incluye la facilidad para crear un motor propio de bsqueda sobre un tema concreto, una bsqueda de libros o dentro de blogs y pginas en formato web, la figura 3.5 muestra la interfaz del buscador LIVE [87].
El mercado est ahora dominado por Google, Yahoo y Microsoft. El resto de grandes buscadores tienden a ser portales que muestran los resultados de otros buscadores y ofrecen, adems, otro tipo de contenidos que tienen mayor o menor importancia en la pgina como hace el propio Yahoo! Rollyo Es un buscador no muy completo pero sirve para diversas bsquedas, sus pginas la mayora son en ingls, a menos que la bsqueda se especifique en espaol, es un buscador donde se pueden encontrar varias pginas donde est la informacin buscada, cuenta con enlaces directos a las pginas de inters donde localizar lo que se busca; es efectivo para bsquedas precisas. Ask Ask es un buscador donde se puede preguntar (como dice su nombre en ingls "ask" es preguntar) por lo que se busque, ya sea la respuesta a una duda o simplemente encontrar algn archivo en concreto [40].
Tecnologas Web
49
Captulo IV
Cmputo Mvil
Tecnologas Web
50
Captulo IV
Cmputo Mvil
4.1.1 Introduccin
Anteriormente las computadoras de escritorio marcaron la pauta en cuanto a la computacin empresarial y hogarea. Los procesos se agilizaron, se automatizaron y se logr un gran avance en tiempo de procesamiento. Pero como la evolucin es constante y para los trabajos de campo se vio que era muy complicado trabajar con computadoras de escritorio. Es por eso que nace el Paradigma de la Ubicuidad. La ubicuidad es el concepto de "estoy aqu y necesito procesarlo ya", adems el concepto tambin se refiere a la movilidad. Si se coloca atencin a lo que ocurre a nuestro alrededor la computacin es de gran importancia en muchos negocios, por ejemplo: En un restaurante, donde los meseros toman los pedidos donde estn los clientes, en el deporte, los entrenadores y quinesilogos toman datos de los deportistas, en los colegios, etc. Hay una cantidad de situaciones donde el concepto de ubicuidad se podra utilizar para mejorar los procesos.
4.1.2 Historia
La primera mencin formal del trmino y concepto de PDA (Personal Digital Assistant, Asistente Personal Digital) es en enero de 1992 por John Sculley al presentar el Apple Newton, en el (Consumer Electronics Show, Muestra de electrnica de consumo) de Las Vegas (EE.UU.). Sin embargo fue un sonoro fracaso financiero para la compaa Apple, dejando de venderse en 1998. La tecnologa estaba an poco desarrollada y el reconocimiento de escritura en la versin original era bastante impreciso, entre otros problemas. Aun as, este aparato ya contaba con todas las caractersticas de la PDA moderna: pantalla sensible al tacto, conexin a una computadora para sincronizacin, interfaz de usuario especialmente diseada para el tipo de mquina, conectividad a redes va mdem y reconocimiento de escritura. En 1995 con la aparicin de la empresa Palm comenz una nueva etapa de crecimiento y desarrollo tecnolgico para el mercado de estos dispositivos. Tal fue el xito que las PDAS son a veces llamadas Palm o Palm Pilot, lo cual constituye un caso de una marca registrada que se transforma en el nombre genrico del producto. La irrupcin de Microsoft Windows CE (2000) y Windows Mobile (2003) en el sector los dot de mayores capacidades multimedia y conectividad, y sobre todo incorpor a un pblico ya acostumbrado al uso de sus programas y que se los encontraban en versin reducida. La irrupcin de los Smartphones o Comunicadores hbridos entre PDA y telfono mvil trajeron por un lado nuevos competidores al mercado y por otro incorporaron al usuario avanzado de mviles al mercado. Las
Tecnologas Web 51
Captulo IV
Cmputo Mvil
PDAS de hoy en da traen multitud ud de comunicaciones inalmbricas ( (Bluetooth, Wi-Fi, IrDA, GPS) que los hace tremendamente atractivos hasta para cosas tan inverosmiles como su uso para domtica o como navegadores GPS [6].
Los PDAS diseados para el uso en negocios, como el BlackBerry o el Treo tienen teclados completos y scrolls para facilitar el ingreso de informacin, en vez de usar una pantalla tctil. Los PDAS ms nuevos como el iPhone o el iPod Touch incluyen una nueva interfaz de usuario con otros medios de entrada. EsE tos PDAS usan una tecnologa llamada Multi Multi-touch, en la figura 4.1 se ve en qu consisten en una matriz de sensores tctiles que permiten obtener la posicin de varios puntos de contacto sobre ella de manera simultnea [41].
Una de las funciones ms importantes de los PDAS es la sincroni sincronizacin zacin con los Ordenadores Personales. Esto permite la actualizacin del directorio, haciendo que la informacin del computador y del PDA sea la misma. La sincronizacin tambin evita la prdida de la informacin almacenada en caso de que el acceacc sorio se pierda, ierda, sea robado o destruido. Otra ventaja es que se puede ingresar informacin mucho ms rpido desde el computador y transmitirla luego al dispositivo. La sincronizacin se realiza mediante un programa que entregan los fabricantes, los ms conocidos son el HotSync Manager (Palm OS) y el WinWi dows Mobile [41].
Tecnologas Web 52
Captulo IV
Cmputo Mvil
Usos de los Pdas Los PDAS son usados para almacenar informacin que puede ser consultada a cualquier hora y en cualquier lugar. Por lo general, estos dispositivos son utilizados de manera domstica, sin embargo tambin se pueden encontrar en otros campos. Usos en automviles. Son usados en vehculos para poder usar GPS (Global Positioning System, Sistema de Posicionamiento Global), y es por esto que cada vez es ms comn encontrarlos por defecto en muchos vehculos nuevos. Algunos sistemas pueden tambin mostrar las condiciones del trfico. Los programas ms comunes en Europa y en Estados Unidos para realizar esto son TomTom, Garmin e iGO mostrando ambientes en 2 y 3 dimensiones los anteriores son sistemas de navegacin para automviles, motocicletas, PDA'S y telfonos mviles. Usos mdicos. En la medicina los PDAS han sido utilizados para realizar diagnsticos o para escoger los medicamentos ms adecuados. Usos en educacin. En estos ltimos aos los PDAS se han vuelto muy comunes, es por esto que se ha empezado a utilizar en ciertas instituciones educativas. Esto ha permitido el aumento de la productividad de los estudiantes, ya que permite la rpida correccin o modificacin de la informacin. Adems, gracias a estos dispositivos, los profesores estn en capacidad de transmitir material a travs del Internet aprovechando la conectividad inalmbrica de los PDAS [41]. Modelos de Pdas Debido a la gran utilidad que hoy en da los PDAs a proporcionado a la sociedad el desarrollo y la competencia de varios modelos de los mismos. Estos son algunos de los fabricantes de PDAs ms reconocidos [42].
HP IPAQ HW6945 PROCESADOR INTEL PXA270 DE 416 MHZ MEMORIA DE 45MB WINDOWS MOBILE 5 POCKET PUERTO INFRAROJO CAMARA FOTOGRAFICA DE 1.3 MEGAPIXELES GRABADORA DE VOZ Y ALTAVOZ PANTALLA A COLOR DE 3" TFT PUERTO INALAMBRICO WI-FI 802.11B Y BLUETOOTH. INCLUYE MICROSOFT WINDOWS MOBILE PHONE EDITION AUTONOMIA DE LA BATERIA: 5 HORAS.
Captulo IV
Cmputo Mvil
PROCESADOR MARVELL PXA270 A 520 MHZ MICROSOFT WINDOWS MOBILE 6 PROF. PANTALLA TCTIL 2.8" TFT COLOR MEMORIA SDRAM DE 128 MB WIFI INTEGRADA 802.11,BLUETOOTH V2.0,NAVEGACIN GPS INTEGRADA CAMARA DE 3 MEGA PIXELES 4X BATERIA REEMPLAZABLE/RECARGABLE DE LITIO.
PROCESADOR MARVELL PXA310 A 624 MHZ MICROSOFT WINDOWS MOBILE CLASSIC. PANTALLA TACTIL DE 3.5" TFT COLOR. MEMORIA SDRAM DE 64MB. WI-FI INTEGRADO 802.11B/G. BLUETOOTH V2.0. BATERIA DE IONLITIO RECARGABLE. MICROFONO, ALTAVOZ, GRABADOR DE VOZ OFFICE, OUTLOOK E INTERNET MOBILE.
Tecnologas Web
54
Captulo IV
Cmputo Mvil
PROCESADOR MARVELL PXA310 DE 624MHZ MICROSOFT WINDOWS MOBILE 6 CLASSIC PANTALLA TCTIL DE 4" A COLOR TFT MEMORIA SDRAM DE 128 MB WI-FI INTEGRADA 802.11,BLUETOOTH V2 GRABADOR DE VOZ,2 ALTAVOCES OFFICE,OUTLOOK EINTERNET EXPLORER (MOBILE).
PROCESADOR MARVELL PXA270, 416 MHZ SIST. OPERATIVO WINDOWS MOBILE 6.1. PANTALLA TOUCH 2.46" TFT COLOR RESOLUCION 240X320 PXELES MEMORIA TOTAL DE 384MB (256MB ROM Y 128MB EN RAM). BLUETOOTH INTEGRADO PARA CONEXIN WIRELESS. PANTALLA ROTATIV.
4.1.4 Emuladores
Los Emuladores son Programas que permiten Trabajar en el mismo "ambiente" de los Celulares o PDAS por medio de nuestra PC. En otras palabras, hasta cierto punto no se necesita un celular o una PDA para desarrollar o utilizar software que funcione en este tipo de dispositivos. Si no se tiene un dispositivo mvil o un kit de desarrollo para probar las pginas, juegos y/o aplicaciones, se pueden ver mediante un emulador. Los hay mejores y peores, lo mejor son los kits de desarrollo de Ericsson y Nokia con los que se tiene la autntica sensacin de estar utilizando un dispositivo mvil, adems de que se tiene la seguridad de que el cdigo se ver bien en esos dispositivos.
Tecnologas Web
55
Captulo IV
Cmputo Mvil
El desarrollo de aplicaciones mviles requiere de nuevos enfoques en el campo de la ingeniera del software. El anlisis, diseo y programacin para dispositivos mviles puede diferir en forma considerable de las aplicaciones para ambiente servidor. Los emuladores son programas que permiten trabajar en el mismo ambiente, por medio de nuestra PC. En otras palabras, hasta cierto punto no se necesita del dispositivo para desarrollar o utilizar el software que funciona en los dispositivos mviles. A continuacin se muestran algunos ejemplos con emuladores: Esta aplicacin muestra en la figura 4.7 una primer pantalla de Inicio (Presentacin) del un sitio web, donde se presentan los servicios y productos que ofrece una tienda de Discos Compactos. La figura 4.8 muestra un formulario con la finalidad de crear una cuenta de usuario. La aplicacin se desarrollo en WML; este lenguaje permite visualizar pginas en dispositivos mviles.
Figura 4.8. Emulador Nokia WapToolkit, pantalla para agregar una cuenta de usuario
Microsoft presento la versin del software para su plataforma mvil Windows Mobile 6.0, este fue lanzado en febrero de 2007. Est versin est disponible espaol, con el se pueden realizar pruebas para aplicaciones as como comprobar el funcionamiento para dichas aplicaciones.
Con esta nueva versin Microsoft intenta resolver tanto las necesidades personales como profesionales, integrando mejoras en las utilidades y especialmente con las aplicaciones de Microsoft Office, que hasta ahora slo estaban disponibles a travs de una PC, incorporando caractersticas tales como la recepcin de e-mail en su formato original HTML.
Tecnologas Web
56
Captulo IV
Cmputo Mvil
Tambin est disponible el acceso corporativo al Exchange Server 2007, basado en las cuentas de Windows Live y Hotmail, que permitir, adems, considerables mejoras en la utilizacin de los servicios de mensajera instantnea, MSN y Windows Live Messenger y se muestra en la figura 4.9.
La figura 4.10 muestra una nueva versin, ofrece la experiencia ms genuina de Microsoft Office, incorporando las caractersticas de comando de voz, mediante la cual se pueden crear y corregir documentos Word o Excel sin afectar a las tablas, imgenes o texto. Igualmente se accede a una presentacin corporativa a travs de PowerPoint, as como a un control remoto total sobre los archivos disponibles en nuestro dispositivo mvil, evitando de este modo su prdida o robo.
Tecnologas Web
57
Captulo IV
Cmputo Mvil
Este la figura 4.11 se muestra un ejemplo desarrollado con la Suite de .Net 2002, esta Suite tiene incorporado todo lo necesario para trabajar con aplicaciones mviles. En este caso la aplicacin guarda los datos de los clientes en archivos, para posteriormente sincronizarlos con la base de datos del servidor. Existen infinidades de herramientas que se utilizan para el mismo fin.
J2ME Java Micro Edition es la versin del lenguaje Java que est orientada al desarrollo de aplicaciones para dispositivos pequeos con capacidades restringidas tanto en pantalla grfica, como de procesamiento y memoria (telfonos mviles, PDA`S, Handhelds, Pagers, etc). Mquina Virtual: Las diferentes tecnologas Java comparten un conjunto ms o menos amplio de APIs bsicas del lenguaje, agrupadas principalmente en los paquetes java.lang y java.io. J2ME contiene una mnima parte de las APIs de Java. J2ME a diferencia de J2SE utiliza una mquina virtual distinta de la clsica JVM denominada KVM. Esta KVM tiene unas restricciones que hacen que no posea todas las capacidades incluidas en la JVM. J2ME es un subconjunto de J2SE (excepto por el paquete javax.microedition). KVM es la Mquina Virtual ms pequea desarrollada por Sun. Su nombre KVM proviene de Kilobyte (haciendo referencia a la baja ocupacin de memoria, entre 40Kb y 80Kb). Se trata de una implementacin de Mquina Virtual reducida y especialmente orientada a dispositivos con bajas capacidades computacionales y de memoria. En la figura 4.39 se muestra una imagen de la ejecucin de java desde el proceso de desarrollo y la descarga en el dispositivo mvil para el uso de alguna aplicacin en especfico.
Tecnologas Web
58
Captulo IV
Cmputo Mvil
A continuacin se muestra el cdigo fuente del ejemplo Hola Mundo utilizando J2ME. La figura 4.13 muestra el resultado de la aplicacin por medio de J2ME. import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class hola extends MIDlet { private Display pantalla; private Form formulario = null; public hola() { pantalla = Display.getDisplay(this); formulario = new Form("Hola Mundo"); } public void startApp(){ pantalla.setCurrent(formulario); } public void pauseApp(){ } public void destroyApp(boolean unconditional){ pantalla = null; formulario = null; notifyDestroyed(); } }
Figura 4.13. Ejemplo de un Hola Mundo mediante J2ME
Symbian
Es un sistema operativo diseado especficamente para dispositivos mviles y diseados para funcionar en un espacio pequeo, con escasos recursos de memoria y preparado para administrar de manera eficiente la energa (por aquella poca el problema del consumo energtico en los mviles era un problema importante con el surgimiento de pantallas a color y la necesidad de proceso). A continuacin se muestra el emulador de Symbian. Una vez instalado dicho emulador, se podr desarrollar alguna aplicacin que el desarrollador requiera y hacer uso del mismo. En la figura 4.14 se muestra la pantalla de un Smartphone con ambiente amigable y listo para utilizarse. Tambin se muestran los lugares de descarga as como sus especificaciones tcnicas.
Plataforma S60 es un smartphone que representa un ambiente amigable para los desarrolladores con la finalidad de crear los contenidos y emocionantes aplicaciones innovadoras. La plataforma se basa en Symbian OS, complementado con una configurable interfaz grfica para el usuario y un conjunto completo de aplicaciones de referencia. Un conjunto de slidas, muchos componentes y variados para desarrolladores. Figura 4.14. Pantalla de Emulador Symbian
Tecnologas Web 59
Captulo IV
Cmputo Mvil
Infraestructura de Datos En la figura 4.15 se pueden mostrar vas de comunicacin, Poblaciones, Hidrografa y todas las capas que contenga que pueda contener la aplicacin.
Ejemplo para acceder a un historial Clnico por medio de Dispositivos Mviles En la figura 4.16 se observa un ejemplo de una aplicacin que se puede manejar en un hospital, donde por medio de un dispositivo mvil puede tener acceso a Internet y conectarse directamente a un servidor donde se pueda almacenar la base de datos con los archivos clnicos correspondientes a pacientes
Tecnologas Web
60
Captulo IV
Cmputo Mvil
La figura 4.17 muestra la aplicacin con la informacin del hospital por medio de un dispositivo mvil, presentando los resultados de un examen solicitado por algn pacient
4.2 Celulares
4.2.1 Introduccin
El telfono mvil o celular es un dispositivo inalmbrico electrnico que permite tener acceso a la red de telefona celular o mvil. Se denomina celular debido a las antenas repetidoras que conforman la red, cada una de las cuales es una clula, si bien existen redes telefnicas mviles satelitales. Su principal caracterstica es su portabilidad, que permite comunicarse desde casi cualquier lugar. Aunque su principal funcin es la comunicacin de voz, como el telfono convencional, su rpido desarrollo ha incorporado otras funciones como son cmara fotogrfica, agenda, acceso a Internet, reproduccin de video e incluso GPS y reproductor mp3.
Tecnologas Web
61
Captulo IV
Cmputo Mvil
Los celulares son dispositivos electrnicos, con partes encargadas de procesar millones de clculos por segundo para comprimir y descomprimir el flujo de voz [43]. Si se desarma un telfono celular, encontraremos las siguientes partes: Un circuito integrado que contiene el cerebro del telfono. Una antena Una pantalla de cristal lquido (LCD) Un teclado pequeo Un micrfono Una bocina Una batera
4.2.2 Historia
El primer antecedente respecto al telfono mvil es de la compaa Motorola, con su modelo DynaTAC 8000X. El modelo fue diseado por el ingeniero de Motorola Rudy Krolopp en 1983. El modelo pesaba poco menos que un kilo y un valor de casi 4.000 dlares. Krolopp se incorporara posteriormente al equipo de investigacin y desarrollo de Motorola liderado por Martin Cooper. Tanto Cooper como Krolopp aparecen como propietarios de la patente original. A partir del DynaTAC 8000X, Motorola desarrollara nuevos modelos como el Motorola MicroTAC, lanzado en 1989, y el Motorola StarTAC, lanzado en 1996 al mercado. Las tecnologas inalmbricas han tenido mucho auge y desarrollo en estos ltimos aos. Una de las que ha tenido un gran desarrollo ha sido la telefona celular. A pesar de que la telefona celular fue concebida estrictamente para la voz, la tecnologa celular de hoy es capaz de brindar otro tipo de servicios, como datos, audio y video con algunas limitaciones. Sin embargo, la telefona inalmbrica del maana har posible aplicaciones que requieran un mayor consumo de ancho de banda. Martin Cooper fue el pionero en esta tecnologa, a l se le considera como el padre de la telefona celular al introducir el primer radiotelfono, en 1973, en Estados Unidos, mientras trabajaba para Motorola; pero no fue hasta 1979 cuando aparecieron los primeros sistemas comerciales en Tokio, Japn por la compaa NTT. En 1981, los pases nrdicos introdujeron un sistema celular similar a AMPS (Advanced Mobile Phone System). Por otro lado, en Estados Unidos, gracias a que la entidad reguladora de ese pas adopt reglas para la creacin de un servicio comercial de telefona celular, en 1983 se puso en operacin el primer sistema comercial en la ciudad de Chicago. Con ese punto de partida, en varios pases se disemin la telefona celular como una alternativa a la telefona convencional inalmbrica. La tecnologa tuvo gran aceptacin, por lo que a los pocos aos de implantarse se empez a saturar el servicio. En ese sentido, hubo la necesidad de desarrollar e implantar otras formas de acceso mltiple al canal y transformar los sistemas analgicos a digitales, con el objeto de darles cabida a ms usuarios. Para separar una etapa de la otra, la telefona celular se ha caracterizado por contar con diferentes generaciones. A continuacin, se describe cada una de ella [43].
Captulo IV
Cmputo Mvil
Fue analgica y limitada en capacidad de roaming, permita solamente llamadas de voz con baja calidad y los telfonos se disearon para uso en vehculos. AMPS fue el principal estndar de primera generacin y se desarroll entre 1982 y 1992. El sistema analgico empleado todava en Europa, el TACS (Total Access Communications System, Sistema de Comunicaciones de Acceso total), se basa en AMPS. Los primeros sistemas de primera generacin son TACS, AMPS, NMT, TMA, NAMT. La tecnologa predominante de esta generacin es AMPS (Advanced Mobile Phone System, Sistema de telefona mvil avanzado). Las terminales eran bastante voluminosas, la cobertura se limitaba a grandes ciudades y carreteras principales, y slo transmitan voz
SISTEMA AMPS C-450 ETACS JTACS NMT-900 NMT-450 NTT Radiocom-2000 RTMS TACS PAIS EE.UU. Alemania Reino Unido Japn Escandinavia Escandinavia Japn Francia Italia Reino Unido No. DE CANALES 832 573 1240 800 1999 180 2400 560 200 1000 ESPACIADO(KHZ) 30 10 2.5 12.5 12.5 2.5 6.25 12.5 2.5 12.5
Tabla 4.1 Sistemas de telefona celular utilizados durante la primera generacin. AMPS: Desarrollado por los Laboratorios Bell AT&T. Funciona en la banda de los 800 Mhz. C-450: Sistema sudafricano ahora conocido por Motorphone System 512. TACS: (Total Access Comunications System, Sistema de comunicacin de acceso total). Se desarrollo en Inglaterra en 1985 por Motorola, operando en la banda de 900Mhz. ETACS: Extended TACS. Sustituto de TACS. NMT-900: El sistema NMT Nordic Mobile Telephony surgi en los pases escandinavos en 1981, es ideal para cubrir la mayor extensin de terrenos con la menor inversin. NMT-450: Nordic Mobile Telephones, Sistema Nrdico de Telefona Mvil, desarrollado por Nokia y Ericsson para entornos nrdicos, funcionaba a 450Mhz. NTT: Nippon Telegraph & Telephone. Desarrollado por la empresa telefnica japonesa, ha sido el estndar analgico en esta zona.
Mviles de segunda generacin (2G) Son los sistemas actualmente en uso como GSM. Permite la transmisin de voz y datos. Son sistemas digitales basados en conmutacin de circuitos que aplican tcnicas avanzadas de uso del espectro radioelctrico y con capacidades de roaming mejoradas. Se basan en un ancho de banda de 9,6 kbps para datos. Significa un incremento en la capacidad de la red, una mejora en la calidad de voz, incorporacin de la transmisin de datos, reduccin de tarifas y los primeros servicios de valor aadido, como son los mensajes cortos SMS (Short Message Service, Servicio del Mensaje corto). Esta se inicio hasta 1990 y se caracteriz por ser digital. El sistema 2G utiliza protocolos de codificacin ms sofisticados y se emplea en los sistemas de telefona celular actuales. Las tecnologas predominantes son: GSM (Global System Mobile Communications, Sistema Global para Comunicaciones Mviles). IS-95 basado en CDMA (Code Divisin Mltiple Access, Cdigo de Divisin Mltiple de Acceso) PDC (Personal Digital Communications, Comunicaciones Digitales Personales), ltimo utilizado en Japn.
El tamao de las terminales en esta generacin se hace cada vez ms pequeo, las coberturas se extienden, y se empiezan a transmitir datos, aunque a velocidades muy pequeas. Introduce el envo de mensajes SMS.
Tecnologas Web
63
Captulo IV
Cmputo Mvil
Mviles de segunda generacin y media (2.5G) Son los sistemas GPRS (General Packet Radio Service, El Servicio de Radio con Paquete general) y EDGE (Enhanced Data Rates for GSM Evolution, Tarifas de datos mejorada para Evolucin de GSM), estos sistemas ofrecen mejoras tecnolgicas en las redes 2G actuales con tendencias a entregar capacidades 3G; es decir, suponen una mejora en la transmisin de los datos, con una velocidad que puede llegar hasta los 384 kbps, esta tecnologa basada en paquetes, ya es adecuada para muchas aplicaciones y adems integra WAP, MMS (Multimedia Messaging System, Sistema de la Mensajera Multimedia) y juegos mviles SMS. Mviles de tercera generacin (3G) UMTS (Universal Mobile Telecommunications System, Sistema Universal de Telecomunicaciones mviles), es una de las tecnologas usadas por los mviles de tercera generacin. Es un salto enorme sobre los actuales. Pensada para roaming global, transmisin de datos de alta velocidad a travs de tcnicas avanzadas de conmutacin de circuitos y de paquetes, soporta tecnologa IP (Internet Protocol, Protocolo de Internet) y ATM (Asynchronous Transfer Mode, Modo de Transferencia Asncrona), lo que posibilita el acceso a Internet, y en general aplicaciones multimedia mviles, con servicios personalizados y basados en la localizacin de los usuarios. El nuevo modelo de negocio es radicalmente distinto del actual y entran en juego nuevos agentes, como son los proveedores de contenidos y los proveedores de aplicaciones. La 3G se caracteriza por contener a la convergencia de voz y datos con acceso inalmbrico a Internet; en otras palabras, es apta para aplicaciones multimedia y altas transmisiones de datos. Los protocolos empleados en los sistemas 3G soportan altas velocidades de informacin y estn enfocados para aplicaciones ms all de la voz como audio (mp3), video en movimiento, videoconferencia y acceso rpido a Internet, slo por nombrar algunos. Se espera que las redes 3G empiecen a operar en el 2001 en Japn, por NTT DoCoMo; en Europa y parte de Asia en el 2002, posteriormente en Estados Unidos y otros pases. Asimismo, en un futuro prximo los sistemas 3G alcanzarn velocidades de hasta 384 Kbps, permitiendo una movilidad total a usuarios, viajando a 120 kilmetros por hora en ambientes exteriores. Tambin alcanzar una velocidad mxima de 2 Mbps, permitiendo una movilidad limitada a usuarios, caminando a menos de 10 kilmetros por hora en ambientes estacionarios de corto alcance o en interiores. En relacin a las predicciones sobre la cantidad de usuarios que podra albergar 3G, The Yanlee Gropu anticipa que en el 2004 habr ms de 1,150 millones en el mundo, comparados con los 700 millones que hubo en el 2000. Dichas cifras nos anticipan un gran nmero de capital involucrado en la telefona inalmbrica, lo que con mayor razn las compaas fabricantes de tecnologa, as como los proveedores de servicios de telecomunicaciones estarn dispuestos a invertir su capital en esta nueva aventura llamada 3G. Los principales requerimientos para esta tecnologa incluyen: Velocidades de transmisin de datos de 144kb/s para usuarios en vehculos en movimiento viajando a una velocidad de 120Km/h en ambientes exteriores. Soporte para operaciones de 2.048 Mb/s en oficinas, es decir en ambientes estacionarios de corto alcance o en interiores. Una interfaz adaptada para las comunicaciones mviles de Internet, que permita un ancho de banda ms grande para enviar informacin que para recibir. Soporte para una gran variedad de equipo mvil. Introduccin flexible a los nuevos servicios y tecnologas.
Lo ideal es que los sistemas de tercera generacin provean servicios en cualquier lugar y a cualquier hora. Mientras que los servicios analgicos y los primeros servicios digitales fueron diseados solo para resolver problemas de sistemas analgicos, como seguridad, bloqueo e incompatibilidad regional; inicindose as, una nueva visin a la migracin a 3G y por lo tanto hacia nuevos servicios.
Tecnologas Web
64
Captulo IV
Cmputo Mvil
Mviles de tercera generacin y media (3.5G) El operador japons NTT DoCoMo est pensado en la 3.5G y se pretende lanzar en el 2005 servicios basados en HSDPA (High Speed Downlink Packet Acccess, Acceso de Paquetes con Alta Velocidad) que ofrecer velocidades tericas de hasta 14 Mbps. y se piensa que en 2010 aparezca la 4G con velocidades mximas de 100 Mbps [44]. Mviles de cuarta generacin (4G) 4G (tambin conocida como 4-G) son las siglas de la cuarta generacin de tecnologas de telefona mvil. Al da de hoy no hay ninguna definicin de la 4G, pero podemos resumir en qu consistir en base a lo ya establecido. La 4G estar basada totalmente en IP siendo un sistema de sistemas y una red de redes, alcanzndose despus de la convergencia entre las redes de cables e inalmbricas as como en ordenadores, dispositivos elctricos y en tecnologas de la informacin as como con otras convergencias para proveer velocidades de acceso entre 100 Mbps en movimiento y 1 Gbps en reposo, manteniendo una calidad de servicio, de alta seguridad para permitir y ofrecer servicios de cualquier clase, en cualquier momento, en cualquier lugar, con el mnimo coste posible. El WWRF (Wireless World Research Forum, Foro de Investigacin del Mundo inalmbrico) define 4G como una red que funcione en la tecnologa de Internet, combinndola con otros usos y tecnologas tales como Wi-Fi y WiMAX. En Japn ya se est experimentando con las tecnologas de cuarta generacin, estando NTT DoCoMo a la vanguardia. Esta empresa realiz las primeras pruebas con un xito rotundo (alcanz 100 Mbps a 200 km/h) y espera poder lanzar comercialmente los primeros servicios de 4G en el ao 2010. En el resto del mundo se espera una implantacin sobre el ao 2020. El concepto de 4G englobado dentro de Beyond 3-G incluye tcnicas de avanzado rendimiento radio como MIMO y OFDM. Dos de los trminos que definen la evolucin de 3G, siguiendo la estandarizacin del 3GPP, sern LTE (Long Term Evolution, Trmino Evolucin larga) para el acceso radio, y SAE (Service Architecture Evolution, Evolucin de Arquitectura para el servicio) para la parte ncleo de la red. Como caractersticas principales tenemos: Para el acceso radio abandona el acceso tipo CDMA caracterstico de UMTS. Uso de SDR (Software Defined Radios, Software Definido para Radios) para optimizar el acceso radio. La red completa prevista es todo IP. Las tasas de pico mximas previstas son de 100 Mbps en enlace descendente y 50 Mbps en enlace ascendente (con un ancho de banda en ambos sentidos de 20Mhz).
La empresa japonesa de telefona DoCoMo ha presentado los mviles de cuarta generacin que estn desarrollando. Aunque de momento se trata de prototipos, se hizo una prueba real con ellos: se vieron 32 vdeos de alta definicin mientras se viajaba en un coche a 20 km/h, con resultados ms que satisfactorios. Y es que, segn la empresa, mientras el vehculo est en movimiento la velocidad de descarga es de 100 Mbps, mientras que en esttico, esta velocidad se puede llegar a incrementar hasta el Gigabit por segundo. Recordemos que la tercera generacin, tecnologa que se est implantando ahora en Espaa, tiene como velocidad media de descarga 384 kbps por segundo, as que la diferencia es abismal.
Tecnologas Web 65
Captulo IV
Cmputo Mvil
Y lo que queda, porque la cuarta generacin no empezar a difundirse en Japn hasta el 2010. Otro truco que utilizarn las nuevas redes 4G ser la tecnologa MIMO (multiple input multiple output,entrada multiple salida multiple) que permite el envo de datos a travs de varias rutas distintas para incrementar el ancho de banda. Por ejemplo, MIMO podra permitir a un mvil la recepcin de datos desde ms de una base transmisora [45].
Aunque estas tecnologas suenan complicadas, se puede tener una idea de cmo funcionan examinando cada palabra de los nombres. La diferencia primordial yace en el mtodo de acceso, el cual vara entre: Frecuencia, utilizada en la tecnologa FDMA Tiempo, utilizado en la tecnologa TDMA Cdigos nicos, que se proveen a cada llamada en la tecnologa CDMA. La primera parte de los nombres de las tres tecnologas (Acceso mltiple), significa que ms de un usuario (mltiple) puede usar (accesar) cada celda.
Tecnologas Web
66
Captulo IV
Cmputo Mvil
A continuacin detallaremos, cmo funciona cada una de las tres tecnologas comunes. Tecnologa FDMA: Separa el espectro en distintos canales de voz, al separar el ancho de banda en pedazos (frecuencias) uniformes. La tecnologa FDMA es ms utilizada para la transmisin analgica. Esta tecnologa no es recomendada para transmisiones digitales. En la figura 4.19 se muestra el esquema de la tecnologa FDMA, en este caso cada usuario tiene un canal de frecuencias asignado para la comunicacin mientras est dure. Este canal puede estar permanentemente asignado o puede ser usado transitoriamente por el usuario. Esta tecnologa es fcil de desarrollar y sencilla de administrar cuando hay pocos usuarios. Las desventajas de esta tecnologa son que con cuenta con un sistema rgido y cada equipo debe estar provisto de los componentes necesarios para usar la frecuencia disponible. No es muy eficiente cuando el nmero de usuarios es elevando, por lo cual no se usa exclusivamente en los sistemas celulares de 2 generacin.
Tecnologa TDMA: Comprime las conversaciones (digitales), y las enva cada una utilizando la seal de radio por un tercio de tiempo solamente. La compresin de la seal de voz es posible debido a que la informacin digital puede ser reducida de tamao por ser informacin binaria (unos y ceros). Debido a esta compresin, la tecnologa TDMA tiene tres veces la capacidad de un sistema analgico que utilice el mismo nmero de canales. En la Figura 4.20 se muestra el esquema de la tecnologa TDMA, En esta tecnologa cada usuario tiene asignado un canal durante una ranura de tiempo sobre un rango determinado de una banda de frecuencias para su comunicacin. Puede ser que se utilice la banda de frecuencias completa para la transmisin, o simplemente, uno de los canales de frecuencias disponibles dentro de la banda. Este canal puede estar permanentemente asignado o ser usado transitoriamente por el usuario. El esquema est ntimamente ligado a las tecnologas de telefona celular de segunda generacin. Ancho de Banda
Captulo IV
Cmputo Mvil
Tecnologa CDMA: Es muy diferente a la tecnologa TDMA. La tecnologa CDMA, despus de digitalizar la informacin, la transmite a travs de todo el ancho de banda disponible. Varias llamadas son sobrepuestas en el canal, y cada una tiene un cdigo de secuencia nico. Usando la tecnologa CDMA, es posible comprimir entre 8 y 10 llamadas digitales para que estas ocupen el mismo espacio que ocupara una llamada en el sistema analgico. En la figura 4.21 se muestra el esquema de la tecnologa CDMA, en esta tecnologa todos los usuarios utilizan la misma frecuencia al mismo tiempo y las conversaciones se separan mediante cdigos [46,47,48].
Sistemas de Comunicacin Mviles El trmino comunicaciones mviles describe cualquier enlace de radiocomunicacin entre dos terminales, de los cuales al menos uno est en movimiento, pero en localizaciones indeterminadas, pudiendo el otro ser una terminal inmvil, tal como una estacin base. Esta definicin es de aplicacin a todo tipo de enlace de comunicacin, ya sea mvil a mvil o fijo a mvil. El trmino mvil puede referirse a vehculos de todo tipo - automviles, aviones, trenes, etc. El Reglamento de Radiocomunicaciones que es el tratado internacional por medio del cual se rige la utilizacin del espectro de frecuencias radioelctricas y de las rbitas de los satlites geoestacionarios y no geoestacionarios; incluye las decisiones de las conferencias mundiales de Radiocomunicaciones (las cuales se celebran cada dos o tres aos y su labor consiste en examinar y modificar el Reglamento de Radiocomunicaciones), junto con todos los apndices, las resoluciones, las recomendaciones incorporadas por referencia [UIT]. Este reglamento define el servicio mvil como un servicio de radiocomunicaciones entre estaciones mviles y estaciones terrestres fijas o entre estaciones mviles nicamente. Adems, en funcin de dnde se sita habitualmente el terminal mvil, el Reglamento diferencia tres tipos de servicio: Servicio mvil terrestre. 1. Servicio mvil martimo. 2. Servicio mvil aeronutico. Servicios de Comunicaciones Mviles Los servicios ms extendidos son la telefona mvil terrestre, la comunicacin mvil por satlite, las redes mviles privadas, la radiomensajera, la radiolocalizacin GPS, las comunicaciones inalmbricas y el acceso mvil a Internet.
Tecnologas Web
68
Captulo IV
Cmputo Mvil
La telefona mvil terrestre Esta telefona utiliza estaciones terrestres. stas se encargan de monitorizar la posicin de cada terminal encendido, pasar el control de una llamada en curso a otra estacin, enviar una llamada a una terminal suya. Cada estacin tiene un rea de cobertura, zona dentro de la cul la comunicacin entre una terminal y sta se puede hacer en buenas condiciones. Telefona Mvil Va Satlite En este caso las estaciones estn en los satlites. Estos suelen ser de rbita baja. Su cobertura prcticamente cubre todo el planeta. Esta es la principal ventaja que presentan frente a la telefona mvil terrestre.
Redes Mviles Privadas Estas redes son tambin conocidas como radiocomunicaciones en grupo cerrado de usuarios, el cual es un servicio de telefona mvil que slo se presta a un colectivo de personas, en una determinada zona geogrfica (una ciudad, una comarca, etc.). Hay dos modalidades del servicio. En la primera cada grupo de usuarios, y slo ellos, utiliza una determinada frecuencia En la segunda el sistema se encarga de asignar las frecuencias libres entre los diferentes grupos, por lo que no hay una correspondencia grupofrecuencia. Entre los primeros sistemas podemos destacar EDACS el cual es un sistema muy seguro, capaz de establecer la comunicacin en condiciones muy adversas. Los segundos se denominan sistemas Trunking, y su funcionamiento es muy parecido al de la telefona mvil automtica (TMA). Dos de los sistemas Trunking populares son Taunet, que es analgico, y Tetra, que es digital.
Radiomensajera Este servicio, tambin es denominado Radiobsqueda, buscapersonas, permite la localizacin y el envo de mensajes a un determinado usuario que disponga del terminal adecuado, conocido popularmente como "beeper". Al igual que en la telefona mvil, cada zona est cubierta por una estacin terrestre, que da servicio a los usuarios ubicados dentro de su zona de cobertura. Radiolocalizacin GPS La radiolocalizacin sirve para conocer la posicin de un receptor mvil. El sistema ms conocido es el GPS (Global Position System, Sistema de Posicionamiento Global). Se trata de un conjunto de 24 satlites, divididos en seis planos orbitales de cuatro satlites cada uno. Cada satlite emite una seal con su posicin y su hora, codificada con su propio cdigo, lo que permite saber de que satlite es cada transmisin que recibimos. Su velocidad es de dos vueltas a la Tierra en un da, es decir, pasan por un punto determinado dos veces al da. Las aplicaciones ms habituales para el GPS son el control de flotas de camiones y autobuses, la navegacin martima y la area.
Comunicaciones inalmbricas Estos sistemas se encargan de comunicaciones de corta distancia, al menos algunos metros. Inicialmente dos seran las aplicaciones bsicas: ofrecer movilidad a los usuarios de la telefona fija para poder efectuar llamadas; y conectar dispositivos entre s.
Tecnologas Web
69
Captulo IV
Cmputo Mvil
Internet Mvil El servicio que une la telefona mvil con el acceso a Internet, ser el que haga crecer ambos mercados de manera muy importante en los prximos aos. La aparicin de WAP permiti acceder a diversos contenidos de Internet desde el dispositivo mvil, pero la nueva generacin de telefona mvil mejorar la velocidad de conexin, y sus terminales estarn ms orientados a comunicaciones de diversas caractersticas (voz, datos, imgenes, etc.) Esto convertir a los mviles, agendas personales, laptops, etc., en los verdaderos dominadores del acceso a Internet, relegando a la computadora a un papel secundario.
4.2.5 Modelos.
Motorokr e2 Caractersticas Memoria interna: hasta de 20 Mb y tarjeta de expansin SD hasta de 1 Gb. WAP: Navega en la Internet mediante tu aparato. Sincronizacin de la agenda de compromisos y contactos mediante el Mobile Phone Tools. GPRS: Alta velocidad en la transmisin de datos al entrar a Internet. Bluetooth Estreo: Transmisin estreo bluetooth y en alta velocidad. Posibilita la comunicacin entre dispositivos de esta tecnologa sin utilizar cables. Conectividad por cable USB / EMU / Bluetooth Click, arrastre y suelte: Permite la transferencia de archivos un computador y un celular, de forma intuitiva. E-Mail: POP3, SMTP, IMAP4 iTap: Discado rpido e inteligente de texto MMS - Envi y recepcin de mensajes multimedios SMS - Envi y recepcin de mensajes de texto Juegos y aplicativos: en JAVA precargados y por descarga.
Motorola
Caractersticas Conectividad: mini USB, Bluetooth WAP: 2.0 Memoria: hasta 32 MB de memoria integrada ms ranura para tarjeta de memoria SD/TransFlash GPRS: clase 10 (2U/4D) Tri-banda: GSM 900/1800/1900 Tecnologa 3G / UMTS Tecnologa Bluetooth integrada (conexiones para voz, impresin y msica) Juegos J2ME: integrados y descargables Mensajera: correo electrnico, mensajera instantnea (en funcin del operador)
Tecnologas Web
70
Captulo IV
Cmputo Mvil
Motorola i9
Caractersticas Cuenta con tecnologa inalmbrica Bluetooth estreo, Tecnologa GPS. El i9 cuenta con la ventaja de ser un equipo iDEN, es decir, es una radio digital de dos vas que permite la comunicacin a travs de Conexin Directa con cualquier cliente Nextel que se encuentre dentro del rea de cobertura del operador, con slo presionar un botn. Mensajes: SMS, MMS Conexiones de alta velocidad: iDEN Soporta Java, Tecnologa: Bluetooth Caractersticas
Funciona en la red inalmbrica GSM a 850/900/1800/1900 MHz. Blackberry Pearl Flip 8220 dispone de un slot MicroSD de la memoria expandible. Email WiFi Mensajes: SMS, EMS, MMS, Chat Conexiones de alta velocidad: GPRS, EDGE Sincronizacin con PC Bluetooth
Figura 4.13. BlackBerry Pearl 8110
Blackberry
Figura 4.26. Blackberry
Caractersticas Capacidad GPS*, BlackBerry Maps. Enve, reciba, re-enve y responda sus mensajes, y vea archivos adjuntos en los ms conocidos. Puede conctarse con sus contactos IM usando aplicaciones tan conocidas como Yahoo! Messenger y Google Talk. Navegue y explore sitios Web. Obtenga direcciones y vea mapas mientras se desplaza. Capacidad Bluetooth para comunicaciones de manos libres. Capacidad de mdem anclado: Use su smartphone como un mdem inalmbrico para su laptop o PC*. Clasificacin de ayuda de escucha (PDF): M4, T4
Tecnologas Web
71
Captulo IV
Cmputo Mvil
Funciona en la red inalmbrica GSM a 850/900/1800/1900 MHz. Este PDA posee una pantalla LCD TFT con resolucin de 320 x 240 pixeles x 65k colores. Mensajes: SMS, EMS, MMS, IM Conexiones de alta velocidad: GPRS, EDGE Modem Java Sincronizacin con PC Bluetooth USB
Motorola A780
Caractersticas Conectividad: Conectividad a traves de Bluetooth y mini puerto USB GPRS: 2U/4D, Bluetooth: Navegadores: Compatibilidad de correo electrnico POP3, SMTP, IMAP4 Linux Banda: cuatribanda GSM 850/900/1800/1900 Correo electrnico: Pop3, SMTP, IMAP4 Texto predictivo (iTap) Visor de documentos: Visor de documentos (Office Document viewer/PDF) Sincronizacin de e-mails profesionales y servidores PIM
Tecnologas Web
72
Captulo IV
Cmputo Mvil
Captulo IV
Cmputo Mvil
casa implantacin, Windows Mobile 5 ha logrado atraer a fabricantes como Qtek, Samsung, Nec o la propia Palm, que lo incorpora en sus telfonos Treo. Una de las ventajas de Windows Mobile sobre sus competidores es que los programadores pueden desarrollar aplicaciones para mviles utilizando los mismos lenguajes y entornos que emplean con Windows para PC. En comparacin, las aplicaciones para Symbian necesitan ms esfuerzo de desarrollo, aunque tambin estn ms optimizadas para cada modelo de telfono [8]. Caractersticas Comunes de Windows Mobile Tanto Windows Mobile para Pocket PC, como Windows Mobile para Smartphone, poseen bastantes aspectos parecidos, pero en cuanto a aplicaciones desarrolladas. En la pantalla "Hoy" muestra la fecha actual, la informacin del dueo, las citas prximas, los mensajes E-mail, y las tareas. En la parte inferior aparecer, generalmente, una barra con dos botones. Tambin incluye una barra que incluye iconos para notificar el estado del Bluetooth, batera, cobertura, etc. En la barra de tareas muestra: la hora actual, el volumen y el estado de la conectividad. Cuando un programa o un mensaje estn abiertos el espacio en blanco, en el que estaba el reloj se convierte en una "ok" o un icono de cerrar (x). La caracterstica principal de la barra de tareas es el botn de Inicio, que est diseado para que sea parecido al botn de Inicio de las versiones de escritorio de Windows. El men de Inicio ofrece programas abiertos recientemente, nueve entradas del men personalizadas, y accesos directos a programas, ajustes, bsquedas, y ayuda. Las versiones Pocket PC incluyen en Windows Mobile aplicaciones de Microsoft Office. stos incluyen Pocket Word y Pocket Excel. En Windows Mobile 5.0 se incluye Pocket PowerPoint. Estas versiones incluyen muchas de las caractersticas que se utilizan en versiones de escritorio, pero algunas otras caractersticas como la insercin de las tablas e imgenes no se han incluido versiones anteriores a Windows 5.0. ActiveSync tiene la capacidad de convertir archivos de versiones de escritorio a archivos compatibles con Pocket PC. Windows Media Player for Windows Mobile se aade con el software. Actualmente, todas las Pocket PC incluyen la versin 9 del reproductor, pero la versin 10 se ha incluido con un hardware ms nuevo y con las nuevas versiones de Windows Mobile. Para algunos dispositivos, la versin 10 est disponible para su descarga solo para determinados dispositivos. Windows Media Player reproduce: WMA, WMV , MP3, y AVI. Los archivos MPEG actualmente no estn soportados, y se debe descargar un programa de terceros para reproducirlos, y los archivos de WAV se reproducen en un reproductor por separado [88]. La figura 4.30 muestra un Pda modelo hp ipaq con un Windows mobile y se puede observar la similitud con su hermano Windows.
Captulo IV
Cmputo Mvil
4.3.3 Java.
Con las siglas J2ME se conoce a Java Micro Edition, la versin del lenguaje de programacin Java para dispositivos mviles. Aunque es un lenguaje, y no un sistema operativo, la mayora de los nuevos mviles pueden ejecutar aplicaciones escritas en Java, y muchos videojuegos se crean de este modo. Tambin hay sistemas operativos escritos en Java, como el sistema de RIM, que funciona en los telfonos inteligentes Blackberry. La ventaja de Java es que la programacin es similar al famoso lenguaje C, pero ms sencilla, con lo que los programadores se pueden familiarizar rpidamente. Las aplicaciones desarrolladas en Java se pueden ejecutar en cualquier tipo de dispositivo y sistema operativo siempre que disponga de una mquina virtual, el programa encargado de interpretar las instrucciones. Existen chips que pueden ejecutar Java directamente, sin necesidad de un sistema operativo entre medias, y no se descarta su uso en telfonos mviles [89].
4.3.4 Symbian
Symbian es el sistema operativo para mviles ms extendido. La empresa es propiedad de Ericsson, Panasonic, Siemens AG, Nokia y Sony-Ericsson. Symbian fue diseado pensando en dispositivos mviles, lo que hace que sea muy robusto (es raro que se 'cuelgue') y muy espartano con sus necesidades: ahorra de espacio en memoria y apaga el procesador cuando no se utiliza, aumentando la vida de la batera. Con base en Symbian se han desarrollado interfaces de mucho xito, como la serie 60 de Nokia, que es un estndar abierto. En 2005 se vendieron ms de 25 millones de telfonos basados en la serie 60 en todo el mundo. Symbian tambin ha dado lugar a plataformas propietarias (programas de pago) muy avanzadas, como las de los telfonos FOMA que ofrece NTT DoCoMo en Japn [90].
4.3.5 Linux
En los crculos del software libre se acaricia la idea de implantar Linux en el telfono mvil desde hace aos, pero ha tardado en llegar. An as, en los ltimos tiempos se ha avanzado mucho y ya hay varios modelos de mvil en el mercado que utilizan una versin de Linux como su sistema operativo. Con Linux no hay que pagar licencias, y esto ha atrado a fabricantes de China, Taiwn o Singapur, aunque no son los nicos. Motorola present su primer telfono basado en Linux en 2003, y desde entonces no ha dejado de ofrecer nuevos modelos con este sistema operativo incorporado. Otros fabricantes conocidos, como Nec, Panasonic o Samsung, disponen de numerosos telfonos Linux. Adems, el fabricante de PDA Palm se ha separado de la divisin encargada del sistema operativo Palm OS. La nueva versin est a cargo de la empresa japonesa Access y estar basada en Linux. Esperan producir los primeros telfonos en 2007.
4.3.6 Android
Es un sistema operativo orientado a dispositivos mviles basado en una versin modificada del ncleo Linux. Inicialmente fue desarrollado por Android Inc., compaa que fue comprada despus por Google, y en la actualidad lo desarrollan los miembros de la Open Handset Alliance (liderada por Google). La presentacin de la plataforma Android se realiz el 5 de noviembre de 2007 junto con la fundacin Open Handset Alliance, un consorcio de 48 compaas de hardware, software y telecomunicaciones comprometidas con la promocin de estndares abiertos para dispositivos mviles. Esta plataforma permite el desarrollo de aplicaciones por terceros a travs del SDK, proporcionada por el mismo Google, y mediante el lenguaje de programacin Java. Una alternativa es el uso del NDK (Native Development Kit, Kit de Desarrollo Nativo) de Google para emplear el lenguaje de programacin C, la figura 4.31 muestra un dispositivo mvil con sistema operativo Android.
Tecnologas Web
75
Captulo IV
Cmputo Mvil
Caractersticas Framework de aplicaciones: Permite reutilizacin y reemplazo de componentes. Mquina virtual Dalvik: Optimizada para dispositivos mviles. Navegador integrado: Basado en el motor de cdigo abierto WebKit. Grficos optimizados, con una biblioteca de grficos 2D; grficos 3D basado en la especificacin OpenGL ES 1.0 (aceleracin por hardware opcional). Sistema de gestin de bases de datos (SQLite) para almacenamiento de datos estructurados. Soporte para medios con formatos comunes de audio, vdeo e imgenes planas (MPEG4, H.264, MP3, OGG, AAC, AMR, JPG, PNG, GIF). Telefona GSM (dependiente del hardware). Bluetooth, EDGE, 3G, y WiFi (dependiente del hardware). Cmara, GPS, brjula, y acelermetro (dependiente del hardware). Ambiente rico de desarrollo incluyendo un emulador de dispositivo, herramientas para depurar, perfiles de memoria y rendimiento, y un complemento para el IDE Eclipse. Pantalla tctil. Android Market permite que los desarrolladores pongan sus aplicaciones, gratuitas o de pago, en el mercado a travs de esta aplicacin accesible desde la mayora de los telfonos con Android.
4.3.7 Apple
El iPhone OS es el sistema operativo que utiliza el iPod touch, iPhone e iPad, diseado por ingenieros de Apple. La figura 4.32 muestra un dispositivo Apple, que est basado en una variante del Mach kernel que se encuentra en Mac OS X. El iPhone OS incluye el componente de software Animacin Core de Mac OS X v10.5 que, junto con el PowerVR MBX el hardware de 3D, es responsable de las animaciones usadas en el interfaz de usuario. El sistema operativo, localizado en la particin "/root" del dispositivo, ocupa menos de 500 MB. Esto se realiz para poder soportar futuras aplicaciones de Apple. Este sistema operativo no tena un nombre oficial hasta que sali la primera versin beta del iPhone SDK, el 6 de marzo de 2008. Antes de esto, Apple declar, que el iPhone controla un sistema operativo OS X, una referencia al padre de los sistemas operativos de los iPhone, el Mac OS X. Como un iPod, el iPhone se maneja con la versin 7.3 de iTunes, el cual es compatible con Mac OS X versin 10.4.10, y con el Windows XP o el Vista de 32 bits [91].
Tecnologas Web
76
Captulo IV
Cmputo Mvil
Tecnologas Web
77
Captulo IV
Cmputo Mvil
Redes inalmbricas fijas Tienen la ventaja de crear instalaciones ms flexibles que una red cableada tradicional, en lugares donde es difcil tender el cableado, pero se encuentran ubicadas dentro de un rea delimitada, a pesar de no tener cables no tienen la capacidad de trasladar sus nodos, son confinadas localmente. Una red inalmbrica fija utiliza un punto de acceso (access point), fijo tambin, que usa partes especficas del espectro de radio para transmitir y recibir datos. Esta tecnologa requiere de una lnea de vista, que se obtiene a travs de un correcto posicionamiento del equipo. La distancia que alcanza a cubrir puede verse afectada por las caractersticas funcionales del dispositivo de conectividad (access point) y las caractersticas de su entorno. El equipo puede ser configurado para trabajar como punto-a-punto o puntomultipunto.
Tecnologas Web
78
Captulo IV
Cmputo Mvil
Redes inalmbricas mviles Las redes inalmbricas tienen dos formas diferentes de configurarse (topologas): Ad-Hoc. Infraestructura.
La red Ad-Hoc , no tiene una estructura definida, en ella cada uno de los dispositivos se puede comunicar con todos los dems y las computadoras estn acomodadas de tal modo que formen una red en el espacio. En la figura 4.34 se muestra que no hay estructura en la red, y los puntos se establecen hasta el momento de comunicarse.
La figura 4.35 muestra un esquema general de la segunda topologa: infraestructura. Esta arquitectura utiliza puntos de acceso, que se interconectan por medio de cable y que conforman la columna vertebral de la red o backbone, y que a su vez intercomunican a los nodos mviles. Estos puntos de acceso de red en ocasiones estn conectados a lneas terrestres para construir redes WAN inalmbricas o hbridas. Esta estructura es la que se utiliza en las redes celulares telefnicas y las redes de datos inalmbricas. La principal caracterstica de este tipo de redes es que cuentan con un puente entre la red cableada y los nodos mviles. Hay redes para transmisin de voz, como son las redes celulares, y redes para transmisin de voz, datos y video.
Captulo IV
Cmputo Mvil
La habilidad de comunicarse con las redes de rea local permite que los dispositivos WPAN de la figura 4.36, tengan acceso a los servicios de impresin, Internet y compartir archivos. WPAN describe una aplicacin de tecnologa inalmbrica que maneja escenarios de naturaleza personal, eliminando el uso de cables para que el usuario pueda as reubicarse libremente dentro de su espacio personal intercambiando datos al mismo tiempo. Uno de los mayores problemas con WPAN es la interoperabilidad entre los dispositivos, ya que en la mayora de los casos son compatibles entre las diferentes marcas y plataformas, solo si utilizan 1 o 2 de los 4 mtodos expuestos anteriormente, como son bluetooth o wi-fi.
Tecnologas Web
80
Captulo IV
Cmputo Mvil
Punto de Acceso
Punto de Acceso
Tecnologas Web
81
Captulo IV
Cmputo Mvil
Los AP (Access Point, es el medio de conectividad que opera en capa fsica para redes WLAN) pueden extender el alcance de una WLAN Independiente actuando como repetidores como se muestra en la figura 4.38, formando una WLAN Independiente Extendida.
WLAN de Infraestructura En este tipo, varios AP enlazan a la WLAN con la red cableada y permite que los usuarios compartan eficientemente los recursos, como se muestra en la figura 4.39. Los AP no slo proveen comunicacin con la red cableada, sino que tambin regulan el trfico de la red inalmbrica. Si se conectan varios AP se puede cubrir completamente el rea de un campus o edificio.
Captulo IV
Cmputo Mvil
comunicaciones mviles, aadiendo capacidades adicionales de transmisin de datos utilizando la misma infraestructura de red. GPRS permite rendimientos muy superiores a los conseguidos con GSM. La figura 4.40 muestra un grafico donde se observa el funcionamiento de una red inalmbrica. En GPRS el trfico de datos se transmite en paquetes, lo que significa que la informacin se fracciona en origen y es transmitida en pequeos bloques, siendo reagrupada posteriormente en su destino, esta capacidad brinda la posibilidad de que una misma terminal pueda recibir en paralelo varios bloques de datos, lo que equivale a una mayor velocidad de transmisin. El tipo de terminal GPRS que se utilice definir la capacidad de comunicacin simultnea de datos, en la transmisin de datos bajo GPRS, la conexin se establece en el momento de encender el telfono celular y permanece activa hasta que se apague, por otra parte, en lugar de conectarse con un nmero de telfono, la conexin GPRS de datos se establece con una direccin de Internet (Direccin IP).
Captulo IV
Cmputo Mvil
intenta estar relativamente prximo al lenguaje humano o natural, tal como sucede con el lenguaje Lxico. Una caracterstica relevante de los lenguajes de programacin es precisamente que ms de un programador puedan tener un conjunto comn de instrucciones que puedan ser comprendidas entre ellos para realizar la construccin del programa de forma colaborativa [23]. Lo cierto es que, un dispositivo mvil no es solo un celular, y que adems, el software a desarrollar, puede ser, tanto un sitio Web, como una aplicacin para el dispositivo. Los celulares no son los nicos dispositivos mviles para los cuales podemos desarrollar. Podramos desarrollar para otros dispositivos como PDAS, Palm, Pocket PC. Dispositivos de mano, pequeos con, una gran potencia. En que desarrollar? Para poder tomar la decisin correcta, tanto para elegir el dispositivo correcto, como la tecnologa a usar, es necesario conocer cules son nuestras necesidades, tanto presentes como futuras, las capacidades del dispositivo que elijamos, el conocimiento actual o la facilidad de adquirir este conocimiento. En el de requerir utilizar tecnologas de vanguardia, se puede desarrollar con .Net, el cual acepta, no solo los lenguajes tradicionales de Microsoft, si no, lenguajes alternativos como Java, Borland C, entre otros, y por supuesto, podemos acceder a toda la potencia de .Net. .Net cuenta con ciertas ventajas que integran el desarrollo para dos tipos de dispositivos mviles, con tres alternativas (Aplicaciones Web para mviles, aplicaciones para celulares, y aplicaciones para dispositivos Pocket), prcticamente con el mismo cdigo, y con lenguajes de programacin que se adaptan a lo que nosotros podamos saber u obtener informacin en corto plazo.
Una parte importante de esta plataforma es el software de los dispositivos clientes y servidores, que ha sido el mercado habitual de Microsoft. Para los dispositivos clientes, Microsoft planea integrar .NET en cualquier dispositivo imaginable, como PCs con Windows, agendas electrnicas con Pocket PC, telfonos mviles, su consola de videojuegos X-Box, en WebTV, etc. Esto supone para las empresas aumentar el nmero de potenciales clientes que puedan utilizar su servicios (ya no estn limitados al PC). Para poder ejecutar estos servicios, Microsoft introduce una serie de software englobado dentro de los .NET Enterprise Servers, en la figura 4.41 se muestran los elementos que compone la plataforma .NET
Tecnologas Web
84
Captulo IV
Cmputo Mvil
Microsoft .NET Framework estn orientados a los desarrolladores para construir, implementar y ejecutar servicios Web XML. El software de aplicaciones para clientes "inteligentes" (mviles) y sistemas operativos permiten a las PCs y otros dispositivos inteligentes interactuar con los servicios Web XML, accesando a la informacin en cualquier lugar y en cualquier momento. Microsoft y otros estn desarrollando un conjunto principal de servicios Web XMLdesde autenticacin hasta calendarizacin que puede ser combinado con otros servicios Web XML o usado directamente con aplicaciones de cliente inteligente. Microsoft MapPoint .NET, un servicio Web XML que le permite integrar mapas de alta calidad, indicaciones viales, y otras locaciones inteligentes en sus aplicaciones, procesos de negocio, y sitios Web, es un ejemplo de uno de estos servicios. Microsoft provee una interesante infraestructura en servidores incluyendo la familia de servidores Microsoft Windows 2000 y los Servidores .NET Enterprisepara implementar, manejar e instrumentar los servicios Web XML. Tabla 4.2 Elementos que conforman la arquitectura .NET. Ventajas de .NET Puede manejar mltiples lenguajes en una aplicacin. Modelo ms simple de programacin, lo que permite que programadores promedio puedan desarrollar ms rpidamente pero con menos control. Alta integracin con el sistema operativo. Es una apuesta muy fuerte del fabricante de software lder en ventas. Es ms eficiente que las anteriores plataformas de Microsoft, y las aplicaciones creadas sobre .Net son ms fciles de instalar. C# es un buen lenguaje, y la migracin desde Visual Basic a Visual Basic .Net, aunque no es inmediata, es factible. La curva de aprendizaje es relativamente suave. Microsoft ha desarrollado buenas herramientas 'visuales' de desarrollo (Visual C# y Visual Studio .Net
85
Tecnologas Web
Captulo IV
Cmputo Mvil
Desventajas de .NET Dependencia de un solo proveedor. Por ser un cambio muy fuerte en arquitectura, puede contener los problemas de primeras versiones. Al poder combinar mltiples lenguajes, puede dar lugar a cdigo mantenible slo por ciertas personas. Poco reaprovechamiento de la experiencia de recursos humanos especializados en Microsoft, ya que cambia drsticamente la plataforma.
MICROSOFT .NET para dispositivos mviles Microsoft dispone de entornos especficos para la programacin de dispositivos mviles (sistemas empotrados, PDAS, smartphones, etc.). Se trataba de entornos particulares, exclusivamente para este tipo de programacin y que requeran de perfiles de desarrolladores muy concretos y especializados. .NET tiene un entorno de desarrollo nico, independientemente del tipo de aplicacin (Web, mvil, etc.) y que permite poder ejecutar el mismo cdigo en diferentes dispositivos. Para ello se dise el .NET Framework, una capa de abstraccin entre el hardware del dispositivo y el cdigo fuente, que permita aislar al programador del tipo de hardware y sistema para el que se codificaba en la mayor medida de lo posible. Toda aplicacin .NET requiere por lo tanto este framework instalado en la mquina. Un framework que en muchos casos ya viene con el sistema operativo o, que en caso contrario, puede descargarse de forma rpida y sencilla en apenas 20 Mb. En la figura 4.42 se pueden ver los emuladores de los dos tipos para apreciar las diferencias entre los dispositivos como se comento que existe un entorno nico.
El entorno de desarrollo Para poder empezar a trabajar con Windows Mobile, lo primero que se necesita es una copia de Visual Studio 2005 edicin Professional o superior e instalar los SDKs de Windows Mobile 6.0. Dependiendo del dispositivo para el que se quiera realizar el desarrollo necesitaremos un SDK u otro. Para desarrollar para
Tecnologas Web 86
Captulo IV
Cmputo Mvil
Windows Mobile 6.0 Classic y Windows Mobile 6 Professional se necesitar el Windows Mobile 6 Professional SDK. Para desarrollar con Windows Mobile 6 Standard se requiere Windows Mobile 6 Standard SDK. Los dos SDKs se instalan por separado y son independientes el uno del otro. Tambin se pueden instalar junto a los SDKs de las versiones anteriores, funcionando en paralelo. Contenido del SDK Por primera vez se incluye en el SDK una seccin de Comunidad con links a los blogs de los equipos de desarrollo de Windows Mobile y SQL Server CE entre otros. Para aquellos que no conozcan estos sitios es una muy buena manera de adentrarse en este entorno ya que incluyen mucha informacin de primera mano muy interesante. Asimismo se incluyen por primera vez links al Mobile Client Software Factory y a Mobile Line of Business Solution Accelerator. El primero es un compendio de documentacin y ejemplos sobre buenas prcticas acerca del desarrollo de aplicaciones mviles, con especial nfasis en el caso de aplicaciones con conexiones intermitentes. El segundo se compone bsicamente de una aplicacin de ejemplo en C# junto con su documentacin que implementa una aplicacin completa que incorpora muchas de las tcnicas que se utilizan en el desarrollo de aplicaciones mviles comunes, incluyendo ejemplos de sincronizacin de bases de datos SQL Server CE [28].
Ejemplo .NET Pues obviamente no debera ser otro ms que el ya clsico Hola, Mundo!
Abrimos Visual Studio y en Fichero/Nuevo/Proyecto escogemos por ejemplo la opcin Windows Mobile 6.0 Smartphone/Device Application, es indiferente que lo hagamos en el lenguaje Visual Basic o C#. Tras elegir un nombre se muestra como se crea el proyecto y en la figura 4.43 se muestra el entorno de desarrollo. Cul es la diferencia para un programador que ya haya usado Visual Studio para otro tipo de aplicaciones? Pues prcticamente ninguna. Mejor todava, ahora su superficie de dibujo es un smartphone, pero su paleta de herramientas sigue estando ah, las propiedades, depuracin, etc. Es el mismo modelo de programacin. Arrastramos un control Label al que ponemos Hola, Mundo! en su propiedad Text y pulsamos sobre la barra de men azul de abajo en la pantalla del dispositivo para configurar un men bsico. Incluimos una
Tecnologas Web 87
Captulo IV
Cmputo Mvil
opcin Hola en el men izquierdo y otra Salir en el men derecho. La figura 4.44 muestra el resultado que se genero para el ejemplo anterior.
Plataforma J2ME J2ME Java 2 Micro Edition es la versin de Java orientada a los dispositivos mviles. Debido a que los dispositivos mviles, PDAS, Set-Top Boxes, maquinas expendedoras etc. Tienen una potencia de clculo baja e interfaces de usuario pobres, es necesaria una versin especfica de Java destinada a estos dispositivos, ya que el resto de versiones de Java, J2SE o J2EE, no encajan dentro de este esquema. J2ME es por tanto, una versin reducida de J2SE [28]. La arquitectura J2ME est formada por un conjunto de APIs estndares que permiten que las aplicaciones desarrolladas se beneficien de las caractersticas multiplataforma de Java y que abren la puerta a la distribucin de aplicaciones a millones de dispositivos. sssssssssssssssssssssssssssssssssssssssssssss En la figura 4.45 muestra el diagrama, con la arquitectura J2ME se puede dividir en dos grandes bloques de arquitecturas que dependen del tipo de dispositivo y las caractersticas de los mismos.
Java Runtime Environment Un programa destinado a la Plataforma Java necesita dos componentes en el sistema donde se va a ejecutar: una mquina virtual de Java (JVM), y un conjunto de libreras para proporcionar los servicios que pueda necesitar la aplicacin. La JVM que proporciona Sun Microsystems, junto con su implementacin de las libreras estndar, se conocen como Java Runtime Environment (JRE) o Entorno en tiempo de ejecucin para Java. El JRE es lo mnimo que debe contener un sistema para poder ejecutar una aplicacin Java sobre el mismo.
Tecnologas Web 88
Captulo IV
Cmputo Mvil
Mquina Virtual de Java El corazn de la Plataforma Java es el concepto comn de un procesador virtual que ejecuta programas escritos en el lenguaje de programacin Java de pilsener. En concreto, ejecuta el cdigo resultante de la compilacin del cdigo fuente, conocido como bytecode: es un cdigo intermedio ms abstracto que el cdigo mquina. Este procesador es la mquina virtual de Java o JVM (Java Virtual Machine), que se encarga de traducir (interpretar o compilar al vuelo) el bytecode en instrucciones nativas de la plataforma destino. Esto permite que una misma aplicacin Java pueda ser ejecutada en una gran variedad de sistemas con arquitecturas distintas, siempre que con una implementacin adecuada de la JVM. Este hecho es lo que ha dado lugar a la famosa frase: write once, run anywhere (escribir una vez, ejecutar en cualquier parte). La condicin es que no se utilicen llamadas nativas o funciones especificas de una plataforma y an as no se asegura completamente que se cumpla una verdadera independencia de plataforma. Desde la versin 1.2 de JRE, la implementacin de la mquina virtual de Sun incluye un compilador JIT (Just In Time). De esta forma, en vez de la tradicional interpretacin del cdigo bytecode, que da lugar a una ejecucin lenta de las aplicaciones, el JIT convierte el bytecode a cdigo nativo de la plataforma destino. Esta segunda compilacin del cdigo penaliza en cuanto a tiempo, pero el cdigo nativo resultante se ejecuta de forma ms eficaz y rpida que si fuera interpretado. Otras tcnicas de compilacin dinmica del cdigo durante el tiempo de ejecucin permiten optimizar ms an el cdigo, dejando atrs la losa que sobre Java caa en cuanto a su lentitud y en sus ltimas versiones la JVM se ha optimizado a tal punto que ya no se considera una plataforma lenta en cuanto a ejecucin de aplicaciones. Sin embargo, no puede decirse que el resultado de la compilacin de Java pueda compilar el cdigo con un mximo de eficiencia, y aprovechar los beneficios en cuanto a velocidad de cdigo mquina nativo. Aunque los compiladores cada vez son ms avanzados, no todas las libreras de Java tienen asociado un cdigo mquina equivalente que aprovechar. Por ejemplo, la librera reflect, que permite a los programadores de Java explorar instrucciones que slo estn disponibles en tiempo de ejecucin, est pobremente representado por cdigo mquina. Caracterstica Debido a las limitaciones del hardware en el que correr la mquina virtual, algunas de las caractersticas del lenguaje Java han sido recortadas. En concreto, se ha omitido el soporte de operaciones matemticas en punto flotante, y por lo tanto, los tipos de datos que manejan esta de informacin. La otra gran diferencia es que la mquina virtual tampoco dar soporte al mtodo finalize ( ) encargado de eliminar los objetos de la memoria. Tambin se limita el nmero de excepciones disponibles para el control de errores. J2ME est formado por la configuracin CLDC y por el perfil MID (conocido por MIDP o MID Profile). CLDC es una especificacin general para un amplio abanico de dispositivos, que van desde PDAS a telfonos mviles y otros. Un perfil define las caractersticas del dispositivo de forma ms especfica. MIDP (Mobile Information Device Profile, Perfil del Dispositivo de Informacin mvil) define las APIs y caractersticas hardware y software necesarias para el caso concreto de los telfono mviles. Las caractersticas concretas de la versin 1.0 y 2.0 de MIDP pueden ser consultadas en la pgina web de Sun: http://java.sun.com/j2me [29]. Emulador para J2ME A continuacin se muestra el estado en relacin a las aplicaciones, toolkits y herramientas asociadas al desarrollo de aplicaciones para J2ME y sus tecnologas asociadas (CDC, CLDC, MIDP, etc). La figura 4.46 muestra los bloques para el desarrollo de aplicaciones J2ME mediante emuladores para dispositivos mviles.
Tecnologas Web
89
Captulo IV
Cmputo Mvil
Ejemplos de algunos de tantos emuladores J2ME Wireless Toolkit En esta parte veremos cmo funciona el J2ME Wireless Toolkit, a travs de uno de los ejemplos proporcionados en su instalacin. KToolBar Para arrancar el J2ME Wireless Toolkit se localiza la herramienta de desarrollo del WTK22 se denomina ktoolbar y se puede ejecutar desde: Inicio -> Programas -> J2ME Wireless Toolkit 2.2 -> KToolbar En la figura 4.47 se muestra la pantalla de inicio.
Abrir un proyecto Un proyecto est asociado a un MIDlet suite. El proyecto contiene los ficheros fuentes, los binarios y otros recursos asociados al MIDlet suite, as como el fichero JAD (descriptor) y el manifiesto. Cuando se crea un nuevo proyecto, nombre_proyecto, los ficheros asociados se crean en el directorio apps/nombre_proyecto, con la siguiente estructura de directorios:
Tecnologas Web 90
Captulo IV
Cmputo Mvil
src Contiene los ficheros fuente res Contiene recursos asociados con el MIDlet bin Contiene el JAR, JAD y el manifiesto lib Contiene libreras externas en formato JAR o ZIP Para abrir un proyecto ya existente debemos seleccionar en el men File -> Open Project o hacer click sobre Open Project, como se muestra en la figura 4.48.
En ella vemos los proyectos que se incluyen con la instalacin del J2ME Wireless Toolkit, seleccionamos, por ejemplo, el de games y hacemos click sobre el botn Open Project. En la consola de ktoolbar nos aparecer el mensaje de Project "games" loaded. A partir de este momento ser el proyecto con el que estaremos trabajando. Propiedades del MIDlet suite Tanto el fichero JAD, como el manifiesto se construyen a partir de las propiedades o atributos del MIDlet suite. Desde el J2ME Wireless Toolkit, podemos ver, modificar y aadir nuevas propiedades. Para ello desde el men Project -> Settings... o haciendo click en Settings.... En las diferentes pestaas aparecen los atributos obligatorios, Required, los opcionales, Optional y tambin los definidos por el usario, User Defined, (recordad que estos atributos se incluyen en el JAD y su nombre no empieza por "MIDlet-"). En la ltima pestaa MIDlets se indican los MIDlets incluidos en el MIDlet suite, en este caso son tres que se corresponden con tres juegos: TilePuzzle, WormGame y el PushPuzzle. Compilar un proyecto Desde el J2ME Wireless Toolkit se puede compilar y preverificar todos los MIDlets incluidos en el MIDlet suite que estamos desarrollando, as como crear los ficheros JAD y JAR correspondientes. Para ello ir al men Project -> Build o hacer click en el botn Build. Ejecutar en un dispositivo Por ltimo, ejecutaremos este MIDlet suite en un emulador de un dispositivo, el J2ME Wireless Toolkit proporciona cinco emuladores: DefaultColorPhone, DefaultGrayPhone, MediaControlSkin y QwertyDevice, que podemos seleccionar desde la pantalla principal en la lista de seleccin de Device: y se puede elegir el DefaultColorPhone, y ejecutamos la aplicacin, para ello seleccionar en el men Project -> Run o hacer click en Run para ejecutarlo y posteriormente se observara corriendo.
4.4.11 WML
Es un lenguaje de etiquetas, WML (Wireless Markup Language, Lenguaje de Etiquetas) es utilizado para escribir las pginas que se visualizan en los telfonos mviles es una aplicacin XML y los asistentes personales digitales (PDA) dotados de tecnologa WAP.
Tecnologas Web 91
Captulo IV
Cmputo Mvil
Es un lenguaje de marcas comprendido dentro del estndar XML 1.0, esto conlleva que WML debe cumplir con la sintaxis de XML 1.0. Existen entornos de desarrollo especializados para la creacin de pginas con formato WML, pero, como en la mayora de lenguajes, es posible editarlas directamente para tener un control total sobre el cdigo WML que se est ofreciendo. Lo primero que debemos hacer para crear un fichero con extensin .wml es establecer una serie de etiquetas comunes a toda pgina WML. La informacin en WML se distribuye en forma de decks (barajas) compuestas por cards (cartas), tomndose cada fichero WML como una deck. Las cards tienen un nombre para poder referirse a ellas, y permitir la navegacin entre ellas dentro de una misma deck. Manejo de variables y formularios para el intercambio de informacin entre el telfono celular y el servidor. En una pgina se pueden encontrar diversos elementos como son imgenes, tablas, formularios o tareas. A continuacin se muestra un ejemplo con cdigo wml y en la figura 4.49 se muestra el resultante del cdigo expuesto.
<!-- Este cdigo es el INDEX y se muestra en la figura anterior <?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <!-- Generated using WBuilder Professional from 3tl --> <wml> <card ordered="true" newcontext="false"> <p align="left"> </p> <p align="center"> <strong> <img alt="Virtual Store" hspace="2" src="logo_Moskotienda202.wbmp" align="bottom" vspace="2" localsrc="mOsKoSHoP" height="5" width="2" /> <br/><big>Shoping CD's</big>  </strong> </p> <p align="left"> </p> <p align="left"> <a href="file:///D:/webCelular/CD'S%20VIRTUAL/menus.htm"> </a> </p> <p align="left"> </p> <p align="center"> <b> <a href="file:///D:/webCelular/CD'S%20VIRTUAL/menus.htm"> Haz Click aqui para Iniciar</a> </b> <b> <a href="file:///D:/webCelular/CD'S%20VIRTUAL/menus.htm"> r</a> </b> </p> <p align="center"> <b> <a href="file:///D:/webCelular/CD'S%20VIRTUAL/info_cuenta.htm"> Sing Up</a> </b> </p>
Tecnologas Web
92
Captulo V
Tecnologas Web
93
Captulo V
Intervenir en una red social empieza por hallar all otros con quienes compartir nuestros intereses, preocupaciones o necesidades y aunque no sucediera ms que eso, eso mismo ya es mucho porque rompe el aislamiento que suele aquejar a la gran mayora de las personas, lo cual suele manifestarse en algunas ocasiones excesiva vida social sin afectos comprometidos. Blogs Un (blog, bitcora) es un sitio web peridicamente actualizado que recopila cronolgicamente textos o artculos de uno o varios autores, apareciendo primero el ms reciente, donde el autor conserva siempre la libertad de dejar publicado lo que crea pertinente. El nombre bitcora est basado en los cuadernos de bitcora, cuadernos de viaje que se utilizaban en los barcos para relatar el desarrollo del viaje y que se guardaban en la bitcora. Aunque el nombre se ha popularizado en los ltimos aos a raz de su utilizacin en diferentes mbitos, el cuaderno de trabajo o bitcora ha sido utilizado desde siempre.
Tecnologas Web
94
Captulo V
Facebook Es un sitio web gratuito de redes sociales creado por Mark Zuckerberg. Originalmente era un sitio para estudiantes de la Universidad Harvard, pero actualmente est abierto a cualquier persona que tenga una cuenta de correo electrnico. Los usuarios pueden participar en una o ms redes sociales, en relacin con su situacin acadmica, su lugar de trabajo o regin geogrfica. Ha recibido mucha atencin en la blogosfera (agrupacin de la totalidad de weblogs) y en los medios de comunicacin al convertirse en una plataforma sobre la que terceros pueden desarrollar aplicaciones y hacer negocio a partir de la red social.
Myspace Es un sitio web, de interaccin social constituido por perfiles personales de usuarios que incluye redes de amigos, grupos, blogs, fotos, vdeos y msica, adems de una red interna de mensajera que permite comunicarse a unos usuarios con otros y un buscador interno. Fue creado por Tom Anderson, Chris Dewolfe y un grupo de programadores. En julio del 2005 fue adquirido por la "News corporation", cuenta con 300 empleados, con 200.623.371 usuarios (en septiembre de 2007) y su velocidad de crecimiento es de unos 230.000 usuarios al da. Su sede central se encuentra en Las Maras Puerto Rico California, Estados Unidos y adems tiene otra sede y servidor en la ciudad de Nueva York, Estados Unidos. Segn el sitio web Alexa dedicado a medir el trfico de Internet, MySpace es el doceavo sitio ms visitado de toda la red y el cuarto sitio ms visitado de la red de lengua inglesa; aunque por otro lado.
Microblogging Tambin conocido como nanoblogging, es un servicio que permite a sus usuarios enviar y publicar mensajes breves (alrededor de 140 caracteres), generalmente de slo texto. Las opciones para el envo de los mensajes varan desde sitios web, a travs de SMS, mensajera instantnea.
Tecnologas Web
95
Captulo V
Estas actualizaciones se muestran en la pgina de perfil del usuario, y son tambin enviadas de forma inmediata a otros usuarios que han elegido la opcin de recibirlas. El usuario origen puede restringir el envo de estos mensajes slo a miembros de su crculo de amigos, o permitir su acceso a todos los usuarios, que es la opcin por defecto. Twitter Es un servicio gratuito de microblogging que permite a sus usuarios enviar micro-entradas basadas en texto, denominadas "tweets", de una longitud mxima de 140 caracteres. El envo de estos mensajes se puede realizar tanto por el sitio web de Twitter, como va SMS (short message service, servicio de mensajes cortos) desde un telfono mvil, desde programas de mensajera instantnea, o incluso desde cualquier aplicacin de terceros, como puede ser Twitterrific, Tweetie, Facebook. Estas actualizaciones se muestran en la pgina de perfil del usuario, y son tambin enviadas de forma inmediata a otros usuarios que han elegido la opcin de recibirlas. A estos usuarios se les puede restringir el envo de estos mensajes slo a miembros de su crculo de amigos o permitir su acceso a todos los usuarios, que es la opcin por defecto.
Google Maps Google Maps es el nombre de un servicio gratuito de Google. Es un servidor de aplicaciones de mapas en Web. Ofrece imgenes de mapas desplazables, as como fotos satelitales del mundo entero e incluso la ruta entre diferentes ubicaciones. Desde el 6 de octubre del 2005, Google Maps es parte de Google Local. Es similar a Google Earth, una aplicacin Windows/Mac/Linux que ofrece vistas del Globo terrqueo impactantes, pero que no es fcil de integrar a pginas Web. Ofrece, asimismo, la posibilidad de que cualquier propietario de una pgina Web integre muchas de sus caractersticas a su sitio Web. Caractersticas: Google Map ofrece la capacidad de hacer acercamientos o alejamientos para mostrar el mapa. El usuario puede controlar el mapa con el mouse o las teclas de direccin para moverse a la ubicacin que se desee. Para permitir un movimiento ms rpido, las teclas "+" y "-" pueden ser usadas para controlar el nivel de zoom. Los usuarios pueden ingresar una direccin, una interseccin o un rea en general para buscar en el mapa. Los resultados de la bsqueda pueden ser restringidos a una zona, gracias a Google Local. Por ejemplo, si alguien quiere consultar por "Waffles in Ottawa" (en espaol, Waffles en Ottawa), para encontrar restaurantes que sirven waffles cerca de la ciudad. Las bsquedas pueden encontrar una amplia gama de restaurantes, hoteles, teatros y negocios generales. Como otros servicios de mapa, Google Maps permite la creacin de pasos para llegar a alguna direccin. Esto permite al usuario crear una lista paso a paso para saber el cmo llegar a su destino, calculando el tiempo necesario y la distancia recorrida entre las ubicaciones. Imgenes satelitales En abril del 2005, se crea una vista alternativa a la que se mostraba por el satlite. El mayor responsable de que Google Maps sea una realidad es el QuickBird En junio del 2005, las imgenes de alta resolucin (o a la mxima ampliacin), ya estaban disponible para la mayora de Canad y Estados Unidos (incluyendo los estados de Hawaii y Alaska. Adems se tienen de otros pases en forma parcial como Francia, Irlanda, Italia, Iraq, Japn, Bahamas, Kuwait, Mxico, Holanda, etc. Sin embargo, algunas reas fueron oscurecidas por motivos de seguridad nacional, como el Capitolio y la Casa Blanca.
Tecnologas Web
96
Captulo V
Para el resto del planeta las imgenes se encuentran disponible en baja resolucin, excepto para los polos. No todas las fotos mostradas son de satlites, algunas son de ciudades tomadas por aviones que vuelan a bastante altura (sobre los 10.000 metros) [19].
Google Street View Google Street View muestra fotos tomadas desde las cmaras montadas sobre una flota de automviles y se muestran sobre las imgenes de fondo previamente tomadas desde satlite que componen los mapas de Google. Adems, desde el segundo trimestre de 2009, Google utiliza triciclos para recoger imgenes de zonas inaccesibles para vehculos, tales como grandes parques, campus universitarios y centros histricos de las ciudades, cuyas calles son, en su mayor parte, peatonales. Estos triciclos se encuentran fotografiando gran parte de Europa y Amrica del Norte (y ciertos puntos de Asia) desde el ao actual. Se puede navegar a travs de estas vistas utilizando los cursores del teclado o usando el ratn. Adems, en mayo de 2009 se introdujo una novedad de navegacin en la aplicacin, basada en los datos proporcionados por la tecnologa lser, que permite una navegacin ms rpida a lo largo del recorrido. Se introdujo, en primer lugar, en los Estados Unidos, el da 25 de mayo de 2007, hasta la ltima actualizacin, que data del 11 de marzo de 2010. En Google Maps, Street View aparece representado con uno o varios iconos con una cmara fotogrfica. Cada una de ellos representa la ciudad ms importante de la zona (o el rea ms importante) y, generalmente, las ciudades colindantes (barrios, suburbios y parques). Sin embargo, hay numerosas reas que, si bien estn incluidas, no estarn representadas por iconos hasta que no se haga un zoom intenso. Dos caractersticas se aadieron el 2 de junio de 2008. Fundamentalmente, se inicia la aplicacin de difuminacin de rostros y matrculas, necesaria en las fotografas de alta resolucin utilizadas en algunas ciudades estadounidenses y en Europa. Google, en un principio, us imgenes de la compaa Immersive Media en sus propios vehculos. Desde diciembre de 2007 se utilizan imgenes que corresponden exclusivamente a Google [62].
Figura 5.5. Coche de Google Street View fotografiando la ciudad de Oviedo ciudad asturiana (Espaa).
Figura 5.6. Coches de Google Street View estacionados en Tlalpan, en la ciudad de Mxico, D.F.
Google Video Google Video es un servicio de Google que permite subir clips de vdeo a sus servidores para que cualquier persona los pueda buscar y ver directamente desde su navegador. Inicialmente naci como competencia de YouTube, a la que termin comprando el 10 de octubre de 2006.
Tecnologas Web
97
Captulo V
Google Checkout Google Checkout es un servicio de pago online seguro que provee Google gratuitamente simplificando proceso de pago de las compras online. Los usuarios almacenan su tarjeta de crdito o dbito y informacin de envo en su cuenta de Google, as que ellos pueden comprar en las tiendas que tienen servicio. Google Checkout tambin ofrece proteccin contra fraudes, as como una pgina para seguimiento de las compras y su condicin [21]. el la el el
Youtube YouTube es un sitio web que permite a los usuarios compartir vdeos digitales a travs de Internet e incluso, permite a los msicos noveles y experimentados dar a conocer sus vdeos al mundo. Pertenece a la Web 2.0. Fue fundado en febrero de 2005 por tres antiguos empleados de PayPal: Chad Hurley, Steve Chen y Jawed Karim. YouTube es propiedad de Google, desde su compra, el 10 de octubre de 2006 por 1.650 millones de dlares [3]. YouTube usa un reproductor en lnea basado en Adobe Flash para servir su contenido. Es muy popular gracias a la posibilidad de alojar vdeos personales de manera sencilla. YouTube aloja una variedad de clips de pelculas, programas de televisin, vdeos musicales y vdeos caseros (a pesar de las reglas de YouTube contra subir vdeos con copyright, este material existe en abundancia). Los enlaces a vdeos de YouTube pueden ser tambin puestos en blogs y sitios web personales usando APIs o incrustando cierto cdigo HTML [22]. Flickr Flickr es un sitio web para compartir imgenes sobre todo fotogrficas. Puede usarse como soporte a diferentes comunidades on-line con diferente soporte en plataformas, generalmente es considerado un ejemplo nuevo de la navegacin Web 2.0. Este popular sitio web sirve como servidor personal para compartir fotografas personales, el servicio es mundialmente usado por blogueros como un repositorio fotogrfico. La popularidad en parte se debe a la gran comunidad on-line que accede al servicio, as como a las herramientas que permiten al autor etiquetar sus fotos y a un explorador de las mejores fotos de la semana. Actualmente, Flickr alberga ms de dos mil millones de imgenes.
Google Analytics Google Analytics es un servicio gratuito de estadsticas de sitios web. Ofrece informacin agrupada segn los intereses de tres tipos distintos de personas involucradas en el funcionamiento de una pgina: ejecutivos, tcnicos de marketing y webmasters. Se pueden obtener informes como el seguimiento de usuarios exclusivos, el rendimiento del segmento de usuarios, los resultados de la campaa de marketing, el marketing de motores de bsqueda, las pruebas de versin de anuncios, el rendimiento del contenido, el anlisis de navegacin, los objetivos y proceso de re direccionamiento o los parmetros de diseo web.
Tecnologas Web 98
Captulo V
Este producto se desarroll en base a la compra de Urchin (hasta entonces la mayor compaa de anlisis estadstico de pginas web) por parte de Google [25]. Digg Digg es un sitio web principalmente sobre noticias de ciencia y tecnologa. Combina marcadores sociales, blogging y sindicacin con una organizacin sin jerarquas, con control editorial democrtico, lo cual permite que se publiquen artculos sobre una gran variedad de gneros. Los relatos de noticias y pginas Los usuarios envan relatos de noticias y recomendaciones de pginas web y los ponen a disposicin de la comunidad, quien las juzgan y cuyo caracterstico sistema valorativo se mide segn la clasificacin de los usuarios [26].
Colocacin segn ve el ojo humano (de arriba abajo y de izquierda a derecha) Justificacin del texto y etiquetas a la izquierda. Agrupar campos por funcin. Dividir las tablas en grupos separados por lneas en blanco. Evitar Scroll horizontal en la entrada de datos. No poner texto en maysculas. Escoger la secuencia correcta (alfabtica, frecuencia de uso, mas importante, flujo lgico o de tareas)
Captulo V
Uso de plantillas o Usar plantillas para la distribucin de contenidos (cabecera, cuerpo y pie)
Nuevos desafos de la interfaz de usuarios En medios impresos y en internet se habla cada vez ms de weblogs (los ya conocidos diarios personales online, con comentarios y citas cruzadas a otros weblogs), se comparten juegos, vdeos o fotografas con familiares o amigos en sitios como Flickr o MySpace, se difunden noticias mediante podcasting (archivos de sonido que se descargan y se pueden escuchar y reproducir en cualquier momento), se coeditan de forma participativa enciclopedias online, como Wikipedia, se consultan o cuelgan anuncios clasificados en Craigslist o Loquo, se aaden textos o tags (la llamada folksonomia) a las fotografas, msica, etc., que se agregan en la red. Esta enorme actividad, esta marea de nuevos anglicismos, est cambiando el mundo de las telecomunicaciones, de los medios de comunicacin, del marketing, del software, del entretenimiento, etc. Hay dos aspectos que son fundamentales en el diseo de las interfaces, que deberan tenerse en cuenta especialmente: Disear sistemas intuitivos de interaccin Informar a los usuarios la respuesta que tienen sus acciones en la pantalla
Hacer interfaces intuitivos y sistemas claros de interaccin Hasta ahora, al llegar a una pgina la mayora de los usuarios saben cmo interactuar: si ven un enlace saben que es para ir a otra pgina, conocen que deben pulsar un botn para realizar una accin o, en un formulario, saben cmo seleccionar elementos mediante botones de opcin, casillas de verificacin, etc. En las nuevas aplicaciones, la interaccin es mucho mayor, pero los usuarios no tienen un modelo mental claro de su funcionamiento. Se introducen novedades que les pueden generar problemas. No son intuitivas y no siguen las convenciones actuales, por lo que no est claro qu deben hacer los usuarios para interactuar, lo que les exige un proceso de aprendizaje, que puede ser difcil para algunos. Los mapas interactivos de Google el usuario puede no saber cmo interactuar, no darse cuenta que pulsando el ratn y mantenindolo pulsado sobre un punto del mapa y arrastrndolo puede desplazarse por el mapa, en la figura 5.8 muestra los mapas que se encuentran en Google.
Localizador de oficinas y cajeros. Las aplicaciones Ajax o Ria permiten combinar la informacin textual y grfica de una manera atractiva y prctica, como se hace en los mapas de Google, uno de los xitos ms populares de esta nueva perspectiva de internet. En el mapa inferior se muestran la situacin de los bancos en un callejero, con su direccin en el lateral.
Tecnologas Web
100
Captulo V
En la figura 5.10 se muestra el uso de capas en una aplicacin SIG. En este ejemplo la capa de la cubierta forestal (en verde) se encuentra en la parte inferior, seguida de la capa topogrfica con las curvas de nivel. A continuacin la capa con la red hidrogrfica y a continuacin la capa de lmites administrativos. En los SIG el orden de superposicin de la informacin es muy importante para obtener visualizacin correcta del
Tecnologas Web 101
Captulo V
mapa final. Ntese que la capa que recoge las lminas de aguas se encuentra justo por debajo de la capa de ros, de modo que una lnea de flujo puede verse que cubre uno de los estanques. La tecnologa de los Sistemas de Informacin Geogrfica puede ser utilizada para investigaciones cientficas, la gestin de los recursos, gestin de activos, la arqueologa, la evaluacin del impacto ambiental, la planificacin urbana, la cartografa, la sociologa, la geografa histrica, el marketing, la logstica por nombrar unos pocos. Por ejemplo, un SIG podra permitir a los grupos de emergencia calcular fcilmente los tiempos de respuesta en caso de un desastre natural, el SIG puede ser usado para encontrar los humedales que necesitan proteccin contra la contaminacin, o pueden ser utilizados por una empresa para ubicar un nuevo negocio y aprovechar las ventajas de una zona de mercado con escasa competencia.
Cartografa y SIG Este sistema ofrece informacin sobre el Sistema de Informacin Geogrfica de parcelas agrcolas (SIGPAC), que permite identificar geogrficamente las parcelas declaradas por los agricultores y ganaderos, en cualquier rgimen de ayudas relacionado con la superficie cultivada o aprovechada por el ganado. Concebido inicialmente con el propsito de facilitar a los agricultores la presentacin de solicitudes, con soporte grfico, as como para facilitar los controles administrativos y sobre el terreno, el SIGPAC se ha convertido en una herramienta de enorme utilidad en campos diferentes del agrario (geologa, infraestructuras, urbanismo...), lo que obedece a su concepcin y desarrollo , en el que se hace uso continuo y permanente de las tecnologas ms avanzadas en informacin geogrfica automatizada. La figura 5.11 muestra un ejemplo de un sistema que utiliza SIG para un sistema agrcola.
Ventajas del sistema de informacin Entre los objetivos ms importantes del Proyecto SIGPAC figuran los siguientes:
Facilitar a los agricultores la presentacin de solicitudes, mediante la produccin de los soportes grficos necesarios para las declaraciones de superficie. Facilitar los controles administrativos ya que, la informacin digital ayudar a la Administracin a identificar mejor el origen de los errores derivados de las declaraciones de los agricultores o de la grabacin de los datos, y servir de soporte documental para la resolucin de casos dudosos detectados como resultado de estos controles. Facilitar los controles sobre el terreno, agilizando la localizacin de parcelas y permitiendo la realizacin de "visitas rpidas " tanto en los controles clsicos como de teledeteccin.
Tecnologas Web
102
Captulo V
5.4 Seguridad
La Seguridad en Aplicaciones Web, se encuentra relacionada pura y exclusivamente con: la lgica, la escritura de cdigo y el contenido de una aplicacin web. Si bien esta claro, que toda aplicacin web, requiere de un entorno conformado por elementos externos, tales como sistemas operativos, servidor web, servicios, etc. para poder cumplir su funcin, los inconvenientes o controles relativos a estos ltimos, no deben ser considerados problemas propios de la aplicacin web. A Es importante tener en cuenta que las vulnerabilidades que suelen ser encontradas en aplicaciones web, por lo general pueden ser explotadas en mltiples plataformas, a diferencia de lo que suele ocurrir con otro tipo de vulnerabilidades que son altamente dependientes no solo de la plataforma, sino tambin del nivel de parcheado de la misma. Otro aspecto importante detrs de los defectos y vulnerabilidades encontrados en aplicaciones web, es que las mismas a menudo suelen ser fciles de explotar. De hecho, probablemente baste en la mayora de los casos, con el conocimiento necesario y un pequeo set de herramientas tan sencillas e inocuas como el mismsimo browser que acostumbras a utilizar durante tus paseos por la WWW. Por otra parte, puesto que por lo general los ataques a aplicaciones web, suceden precisamente en la capa de aplicacin, por puertos que necesariamente deben encontrarse habilitados (80/443) para que de hecho las cosas funcionen (permitir HTTP desde cualquier origen), a menudo puede no ser nada fcil la tarea de monitorear ataques mediante un sistemas de deteccin de intrusos tradicional. WebGoat es una completa aplicacin web, desarrollada en J2EE, y diseada especficamente con el objeto de que la misma sirva de plataforma de pruebas y enseanza respecto de las vulnerabilidades que suelen ser encontradas en el mundo real. A travs de diferentes lecciones, el usuario tiene la oportunidad de entender y explotar una vulnerabilidad real. A su vez, el sistema provee al usuario de una serie de pistas, permitiendo el autoaprendizaje. La figura 5.12 muestra la interfaz del sitio web de la aplicacin WebGoat. WebGoat ha sido desarrollado en JAVA, no hay mayor problema por su portabilidad (Existen instaladores para Linux y Windows, adems de la posibilidad de descargar el .war e instalarlo en el Servidor de Aplicaciones).
5.5 Multimedia
Los dispositivos para navegar en la Web han evolucionado en los ltimos aos de forma exponencial (telfonos mviles de ltima generacin, PDAs, navegadores en electrodomsticos, pantallas tctiles en automviles, etc.). Junto a esta evolucin, ha quedado atrs la introduccin simple de texto e imgenes, siendo sustituida por la posibilidad de incorporar una gran variedad de objetos, como pueden ser archivos de sonido, vdeo y animacin, con el objetivo de enriquecer la experiencia del usuario y ofrecer al mismo tiempo la posibilidad de utilizar diferentes medios conjuntamente.
Tecnologas Web 103
Captulo V
Pero la introduccin de todos estos elementos de forma compatible se convierte en una labor complicada para desarrolladores. Por este motivo, las especificaciones desarrolladas por el W3C trabajan en la creacin de lenguajes en los que esta multimedia enriquecida sea compatible con los diversos dispositivos y navegadores existentes en el mercado. Por lo tanto, las Tecnologas Multimedia son el producto de una demanda creciente en lo que a incorporacin conjunta y compatibilidad de dispositivos y objetos se refiere. Esas nuevas tecnologas multimedia crean sitios web ms atractivos gracias a la introduccin de imgenes escalables, sonido de alta calidad, vdeo, efectos 3D y animacin, que aportan al usuario una experiencia ms rica en la navegacin por la Web. Entre las tecnologas a destacar estn: SVG (Scalable Vector Graphics, Grficos Vectoriales Escalables), se utiliza en diferentes reas incluyendo grficos Web, animacin, interfaz de usuario, intercambio de grficos, aplicaciones mviles y diseo de alta calidad. La amplia adopcin de clientes SVG, particularmente aquellos integrados nativamente en los navegadores, como Firefox, Opera, Konqueror o Safari, puede traer un significativo cambio de imagen en la Web. Una tendencia actual es construir sitios web dinmicos que se comportan como aplicaciones de escritorio, usando AJAX. SVG ampla las posibilidades de AJAX, proveyendo de un juego grfico ms rico a los elementos de la pgina. SMIL (Synchronized Multimedia Integration Language, Lenguaje de Integracin Multimedia Sincronizada) permite la creacin de presentaciones audiovisuales interactivas que integran audio y vdeo con imgenes, texto u otro tipo de medios, todo esto sin olvidar la posibilidad de interaccin con el usuario. Un uso simple de SMIL puede encontrarse en los mensajes multimedia (MMS) de la telefona mvil. Hipermedia este trmino toma su nombre de la suma de hipertexto y multimedia, una red hipertextual en la que se incluye no slo texto, sino tambin otros medios: imgenes, audio, vdeo, etc. (multimedia). As pues, la hipermedia conjuga tanto la tecnologa hipertextual, como la multimedia. Si la multimedia proporciona una gran riqueza en los tipos de datos, el hipertexto aporta una estructura que permite que los datos puedan presentarse y explorarse siguiendo distintas secuencias, de acuerdo a las necesidades y preferencias del usuario. La estructura de un hipermedia es la misma que la de un hipertexto, formado por nodos que se conectan mediante enlaces. La nica diferencia es que los nodos contienen elementos de diferentes medios o morfologas. Las anclas ya no slo son palabras sino que pueden, por ejemplo, ser una imagen o un fragmento de ella, o pueden ser una secuencia de audio o de vdeo. La estructura de un hipermedia es, pues, ms compleja que la de un hipertexto. La interactuacin de los diferentes medios y la sincronizacin entre ellos suele ser uno de los aspectos ms complejos en el desarrollo de aplicaciones multimedia. En la presentacin multimedia, al usuario se le suele ofrecer un componente mediante el cual ste pueda ejercer un control sobre la presentacin. Lo ms comn es que se trate de un reproductor virtual con controles en forma de botones. La figura 5.13 muestra modelos de reproductores.
Tecnologas Web
104
Captulo V
El tiempo es algo fundamental en los sistemas hipermedia. En un hipermedia no slo existen medios dinmicos que dependen del tiempo, sino que tambin existe un concepto clave que es la sincronizacin entre ellos. La sincronizacin no slo debe estar basada en la informacin estructurada (como en el hipertexto), sino tambin en el contenido de cada componente o contenedor multimedia. Adems, en un hipertexto, al cruzar un enlace pueden suceder 2 cosas: bien que se abra una nueva ventana, bien que la informacin que se est visualizando se sustituya por otra; mientras que en un entorno hipermedia es importante lo que se denomina contexto del enlace, esto es, el mecanismo que define unas opciones de visualizacin diferentes para cada enlace y que permite que parte de la informacin permanezca visible, mientras que otra deja de estarlo. As, podremos escuchar una meloda o ver un vdeo y pasar a una nueva imagen o texto, mientras que seguimos oyendo la meloda de fondo, dependiendo del lugar en que se encuentre la aplicacin. [18].
Tecnologas Web
105
Captulo V
Referencias Electrnicas
[1] Interface de Entrada Comun - Wikipedia, la enciclopedia libre. Octubre 2010 http://es.wikipedia.org/wiki/Common_Gateway_Interface
[2] Multipurpose Internet Mail Extensions - Wikipedia, la enciclopedia libre. Octubre 2010 http://es.wikipedia.org/wiki/MIME
[3] Active Server Pages- Wikipedia, la enciclopedia libre. Octubre 2010 http://es.wikipedia.org/wiki/Active_Server_Pages
[5] Introduccin a ASP NET Manuales Tutoriales - Ejemplos. Octubre 2010 http://www.zonagratuita.com/microsoft/asp/introduccion.htm
[11] Introduccin al .NET Framework, Manual de ASP.NET - WebEstilo. Octubre 2010 http://www.webestilo.com/aspnet/aspnet00.html
Tecnologas Web
106
Captulo V
[18] Just Sherekan Blog de Programacin - Introduccin a Ajax. Octubre 2010 http://sherekan.com.ar/2008/04/19/introduccion-a-ajax/
[20] Sintaxis bsica de Ruby Curso Dicampus 2008. Octubre 2010 http://cursodicampus2008.wordpress.com/2008/05/21/sintaxis-basica-de-ruby/
[22] Fundamentos y Aplicaciones del paradigma peer-to-peer Informatica.pdf. Octubre 2010 http://www.unlp.edu.ar/uploads/docs/fundamentos_y_aplicaciones_del_paradigma_peer_to_peer___inform atica.pdf
[23] Historia de las aplicaciones P2P - Wikipedia, la enciclopedia libre. Octubre 2010 http://es.wikipedia.org/wiki/Historia_de_las_aplicaciones_P2P
Tecnologas Web
107
Captulo V
[26] Computacin grid - Ramn Jess Milln Tejedor - Tecnologas de la Informacin y Comunicaciones, Octubre 2010. http://www.ramonmillan.com/tutorialeshtml/gridcomputing.htm
[27] Google presenta su nuevo Sistema Operativo Chrome OS PC World Mxico http://www.pcworld.com.mx/Articulos/6693.htm
[28] Berkeley Open Infrastructure for Network Computing - Wikipedia, la enciclopedia libre. Octubre 2010 http://es.wikipedia.org/wiki/Berkeley_Open_Infrastructure_for_Network_Computing
[32] Algoritmo de bsqueda - Wikipedia, la enciclopedia libre. Octubre 2010 http://es.wikipedia.org/wiki/Algoritmo_de_b%C3%BAsqueda [33] WAIS - Wikipedia, la enciclopedia libre. Octubre 2010 http://es.wikipedia.org/wiki/Wais
[36] Manizales - Universidad de Colombia, Octubre 2010 http://www.virtual.unal.edu.co/cursos/sedes/manizales/4060029/lecciones/cap8-5.html Sede [37] Minera de datos - Wikipedia, la enciclopedia libre. Octubre 2010 http://es.wikipedia.org/wiki/Data_Mining [38] Motor de bsqueda - Wikipedia, la enciclopedi libre. Octubre 2010 http://es.wikipedia.org/wiki/Buscador
Tecnologas Web 108
Captulo V
[39] Robots de Bsqueda - Sistemas Avanzados de Recuperacin de Informacin. Octubre 2010 http://es.oocities.com/robotsdebusqueda/
[42] Modelos de PDA. Octubre 2010 http://www.pdaexpertos.com/modelos_pda [43] Telefona mvil - Wikipedia, la enciclopedia libre. Octubre 2010 http://es.wikipedia.org/wiki/Telefon%C3%ADa_m%C3%B3vil
[46] Acceso mltiple por divisin de frecuencia - Wikipedia, la enciclopedia libre. Octubre 2010 http://es.wikipedia.org/wiki/Acceso_m%C3%BAltiple_por_divisi%C3%B3n_de_frecuencia
[47] Acceso mltiple por divisin de tiempo - Wikipedia, la enciclopedia libre. Octubre 2010 http://es.wikipedia.org/wiki/Acceso_m%C3%BAltiple_por_divisi%C3%B3n_de_tiempo
[48] Acceso mltiple por divisin de cdigo - Wikipedia, la enciclopedia libre. Octubre 2010 http://es.wikipedia.org/wiki/Acceso_m%C3%BAltiple_por_divisi%C3%B3n_de_c%C3%B3digo
[49] Software development kit - Wikipedia, la enciclopedia libre. Octubre 2010 http://es.wikipedia.org/wiki/Software_development_kit
Tecnologas Web
109
Captulo V
[53] Desarrollo de Aplicaciones J2ME - Universidad Carlos III de Madrid, Octubre 2010 http://www.it.uc3m.es/celeste/docencia/j2me/tutoriales/midp1_0//PracticaIntroJ2ME/
[55] Sistema operativo mvil - Wikipedia, la enciclopedia libre. Octubre 2010 http://es.wikipedia.org/wiki/Sistema_operativo_m%C3%B3vil
[62] Google Street View Wikipedia, la enciclopedia libre. Octubre 2010 http://es.wikipedia.org/wiki/Google_Street_View
Tecnologas Web
110
Captulo V
[76] Gua para el desarrollo de aplicaciones web seguras - Wikipedia, la enciclopedia libre. Octubre2010 http://www.desarrolloweb.com/articulos/996.php
Tecnologas Web
111
Captulo V
[77] Academia de Software Libre Portal Informativo de Tecnologa. Octubre 2010 http://tecnologia.fundacite-aragua.gob.ve/?q=Academia%20de%20Software%20Libre
[85] Sistema de Informacin Geogrfica - Wikipedia, la enciclopedia libre. Octubre 2010 http://es.wikipedia.org/wiki/Sistema_de_Informaci%C3%B3n_Geogr%C3%A1fica
[86] Sistemas de informacin geogrfica Diseo y desarrollo de sistemas de informacin Web. Octubre 2010 http://www.monografias.com/trabajos/gis/gis.shtml [87] Microsoft lanza su nuevo buscador "Live". Octubre 2010 http://www.laflecha.net/canales/blackhats/microsoft-lanza-su-nuevo-buscador-live
Tecnologas Web
112
Captulo V
Tecnologas Web
113
INDICE
Tecnologas Web
INDICE
INDICE
Tecnologas Web
1.8.2 Estructura .........................................................................................................................................19 1.8.3 Caractersticas ..................................................................................................................................20 1.8.4 Servidores web .................................................................................................................................21 1.9. Ruby on rails .........................................................................................................................................21 1.9.1 Definicin ..........................................................................................................................................21 1.9.2 Estructura .........................................................................................................................................21 1.9.3 Caractersticas ..................................................................................................................................22 1.9.4 Servidores Web ................................................................................................................................22 1.10. Comparativa entre lenguajes .............................................................................................................22
Tecnologas Web
INDICE
Tecnologas Web
Tecnologas Web
INDICE
Tecnologas Web
Tecnologas Web
INDICE DE FIGURAS
Tecnologas Web
INDICE DE FIGURAS
Figura 1.1. Estructura bsica Html..................................................................................... ..22 Figura 1.2. Ejemplo de Cgis. ...........................................................................................................................6 Figura 1.3. Ejemplo de aplicacin web con ASP. ............................................................................................7 Figura 1.4. Ejemplo pgina ASP. .....................................................................................................................8 Figura 1.5. Ejemplo de objeto Response. ........................................................................................................9 Figura 1.6. Ejemplo de PHP. .........................................................................................................................10 Figura 1.7. Ejemplo de aplicacin web con PHP. ..........................................................................................10 Figura 1.8. Ejemplo de PHP ..........................................................................................................................11 Figura 1.9. Ejemplo de JSP ...........................................................................................................................11 Figura 1.10. Ejemplo de AJAX .......................................................................................................................20 Figura 1.11. Mostrando datos con AJAX .......................................................................................................20 Figura 1.12. Resultado de datos con AJAX ...................................................................................................20 Figura 2.1. Red basada en peer-to-peer .......................................................................................................26 Figura 2.2. Red Centralizada .........................................................................................................................27 Figura 2.3. Red Descentralizada ...................................................................................................................27 Figura 2.4. Red Distribuida ............................................................................................................................28 Figura 2.5. Middleware ..................................................................................................................................32 Figura 2.6. Protocolo Soap ..........................................................................................................................35 Figura 2.7. Ejemplo de Servicio Web.............................................................................................................35 Figura 2.8. Ejemplo de Servicio Web.............................................................................................................36 Figura 2.9. Ejemplo UDDI ..............................................................................................................................37 Figura 2.10. Interaccin de Servicios Web ....................................................................................................37 Figura 3.1. Buscador Wais .............................................................................................................................41 Figura 3.2. Motor de bsqueda Archie .........................................................................................................41 Figura 3.3. Motor de Bsqueda Gopher ........................................................................................................42 Figura 3.4. Aplicaciones Web ........................................................................................................................47 Figura 3.5. Buscador LIVE .............................................................................................................................49 Figura 4.1. Ejemplo de pantalla multi-touch ..................................................................................................52 Figura 4.2. HP IPAQ HW6945 .......................................................................................................................53 Figura 4.3. HP IPAQ PXA270 ........................................................................................................................54 Figura 4.4. HP IPAQ PXA310 ........................................................................................................................54 Figura 4.5. HP IPAQ PXA310 ........................................................................................................................55 Figura 4.6 HP IPAQ PXA270 .........................................................................................................................55 Figura 4.7. Emulador Nokia WapToolkit, pantalla de inicio ...........................................................................56 Figura 4.8. Emulador Nokia WapToolkit, pantalla para agregar una cuenta de usuario ...............................56 Figura 4.9. Emulador Mobile acceso a Exchange. ........................................................................................57 Figura 4.10. Emulador aplicaciones de inicio ................................................................................................57 Figura 4.11. Programa de Ejemplo en el software para Pocket Pc. ..............................................................58 Figura 4.12. Imagen de la ejecucin en Java ................................................................................................58 Figura 4.13. Ejemplo de un Hola Mundo mediante J2ME .............................................................................59 Figura 4.14. Pantalla de Emulador Symbian .................................................................................................59 Figura 4.15. Ejemplo para la visualizar datos geogrficos. ...........................................................................60 Figura 4.16. Imagen que muestra la conexin entre los dispositivos ............................................................60 Figura 4.17. Dispositivo Mvil con la informacin del Hospital ......................................................................61 Figura 4.18. Estacin base de telefona mvil (celular). ................................................................................61 Figura 4.19. Esquema de la tecnologa FDMA ..............................................................................................67 Figura 4.20. Esquema de la tecnologa TDMA. .............................................................................................67 Figura 4.21. Esquema de la tecnologa CDMA .............................................................................................68 Figura 4.22. Motorokr e2 ................................................................................................................................70 Figura 4.23. Motorola .....................................................................................................................................70 Figura 4.24 Motorola i9 ..................................................................................................................................71 Figura 4.25. BlackBerry Pearl 8110 ..............................................................................................................71 Figura 4.26. Blackberry ..................................................................................................................................71 Figura 4.27. Blackberry 8320 .........................................................................................................................72
Tecnologas Web
INDICE DE FIGURAS
Tecnologas Web
Figura 4.28. Motorola A780 ...........................................................................................................................72 Figura 4.29 Palm TX ......................................................................................................................................73 Figura 4.30. Pda Hp iPAQ 210 ......................................................................................................................74 Figura 4.31. Mvil Modelo LG LU2300 con Android 2.1. ...............................................................................76 Figura 4.32. iPhone 3G ..................................................................................................................................77 Figura 4.33. Interfaz de Chrome OS ..............................................................................................................78 Figura 4.34. Esquema de una Red Ad-Hoc. ..................................................................................................79 Figura 4.35. Esquema de una Red de Infraestructura...................................................................................79 Figura 4.36. Estructura de una WPAN...........................................................................................................80 Figura 4.37. WLAN Independiente.................................................................................................................81 Figura 4.38. WLAN Independiente extendida utilizando AP ..........................................................................82 Figura 4.39. WLAN de Infraestructura. ..........................................................................................................82 Figura 4.40. Estructura de una WWAN con conexin mediante GPRS. .......................................................83 Figura 4.41. Elementos en plataforma .NET .................................................................................................85 Figura 4.42. Entorno .NET Emuladores de los dos tipos ............................................................................86 Figura 4.43. Entorno de desarrollo ................................................................................................................87 Figura 4.44. Resultado ...................................................................................................................................87 Figura 4.45. Arquitectura J2ME .....................................................................................................................88 Figura 4.46. Mdulos para desarrollo de J2ME .............................................................................................90 Figura 4.47. Pantalla de inicio del J2ME........................................................................................................91 Figura 4.48. Pantalla de inicio del J2ME........................................................................................................91 Figura 4.49. Emulador con contenido en lenguaje wml. ................................................................................92 Figura 5.1. Interaccin con varias personas ..................................................................................................94 Figura 5.2. Blogs ............................................................................................................................................94 Figura 5.3. Sitio Web de Facebook ................................................................................................................95 Figura 5.4. Sitio Web de Myspace .................................................................................................................95 Figura 5.5. Coche de Google Street View fotografiando (Espaa). ..............................................................97 Figura 5.6. Coches de Google Street View estacionados en Tlalpan, en la ciudad de Mxico, D.F. ...........97 Figura 5.7. Sitio web de Flickr........................................................................................................................98 Figura 5.8. Mapas de Yahoo ........................................................................................................................100 Figura 5.9. Mapas de Google ......................................................................................................................101 Figura 5.10. Interfaz grafica de un SIG ........................................................................................................101 Figura 5.11.Visor del SIGPAC .....................................................................................................................102 Figura 5.12. Sitio WebGoat ..........................................................................................................................103 Figura 5.13. Diferentes modelos de reproductores virtuales .......................................................................104
Tecnologas Web