unidad iii aplicaciones y servicios -...

39
UNIDAD III APLICACIONES Y SERVICIOS 3.1 TECNOLOGÍAS DEL CLIENTE Las tecnologías del lado del cliente, es decir, las que se ejecutan en el navegador del usuario son las páginas dinámicas que se procesan en el cliente. En estas páginas toda la carga de procesamiento de los efectos y funcionalidades la soporta el navegador. Usos típicos de las páginas de cliente son efectos especiales para webs como rollovers o control de ventanas, presentaciones en las que se pueden mover objetos por la página, control y validación de formularios, cálculos, etc. El código necesario para crear los efectos y funcionalidades se incluye dentro del mismo archivo HTML y generalmente son scripts, activex o plugins. Cuando una página HTML contiene alguna de las tecnologías de cliente, el navegador se encarga de interpretarlas y ejecutarlas para realizar los efectos y funcionalidades. Las páginas del cliente son muy dependientes del sistema donde se están ejecutando y esa es su principal desventaja, ya que cada navegador tiene sus propias características, incluso cada versión, y lo que puede funcionar en un navegador puede no funcionar en otro. Como ventaja se puede decir que estas páginas descargan al servidor algunos trabajos, ofrecen respuestas inmediatas a las acciones del usuario y permiten la utilización de algunos recursos de la máquina local. Las páginas dinámicas de cliente principalmente se escriben en dos lenguajes de programación: Javascript y Visual Basic Script (VBScript). También se puede hacer uso de las CSS o XML para tecnologías como DHTML o AJAX. Existen tecnologías de cliente que se ejecutan a través plugins instalados en el navegador. Algunas de las más conocidas son Flash y los Applet de Java. 3.2 TECNOLOGÍAS DEL SERVIDOR Los primeros servidores web permitían visualizar exclusivamente información estática. Esto presentó pronto una limitación; sobre todo desde el momento en el que la actividad publicitaria y comercial comenzó a concentrarse también en Internet. La primera solución técnica realizada fue la posibilidad de que el servidor web ejecutase programas residentes en la máquina de servicio. Esta tecnología, conocida como Common Gateway Interface (CGI) permitía lanzar programas escritos principalmente en C o Perl.

Upload: dangcong

Post on 19-Oct-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

UNIDAD III

APLICACIONES Y SERVICIOS

3.1 TECNOLOGÍAS DEL CLIENTE

Las tecnologías del lado del cliente, es decir, las que se ejecutan en el navegador del usuario son las páginas

dinámicas que se procesan en el cliente. En estas páginas toda la carga de procesamiento de los efectos y

funcionalidades la soporta el navegador. Usos típicos de las páginas de cliente son efectos especiales para webs

como rollovers o control de ventanas, presentaciones en las que se pueden mover objetos por la página, control y

validación de formularios, cálculos, etc. El código necesario para crear los efectos y funcionalidades se incluye

dentro del mismo archivo HTML y generalmente son scripts, activex o plugins. Cuando una página HTML contiene

alguna de las tecnologías de cliente, el navegador se encarga de interpretarlas y ejecutarlas para realizar los

efectos y funcionalidades. Las páginas del cliente son muy dependientes del sistema donde se están ejecutando y

esa es su principal desventaja, ya que cada navegador tiene sus propias características, incluso cada versión, y lo

que puede funcionar en un navegador puede no funcionar en otro. Como ventaja se puede decir que estas páginas

descargan al servidor algunos trabajos, ofrecen respuestas inmediatas a las acciones del usuario y permiten la

utilización de algunos recursos de la máquina local. Las páginas dinámicas de cliente principalmente se escriben en

dos lenguajes de programación: Javascript y Visual Basic Script (VBScript). También se puede hacer uso de las CSS o

XML para tecnologías como DHTML o AJAX. Existen tecnologías de cliente que se ejecutan a través plugins

instalados en el navegador. Algunas de las más conocidas son Flash y los Applet de Java.

3.2 TECNOLOGÍAS DEL SERVIDOR

Los primeros servidores web permitían visualizar exclusivamente información estática. Esto presentó pronto una

limitación; sobre todo desde el momento en el que la actividad publicitaria y comercial comenzó a concentrarse

también en Internet. La primera solución técnica realizada fue la posibilidad de que el servidor web ejecutase

programas residentes en la máquina de servicio. Esta tecnología, conocida como Common Gateway Interface (CGI)

permitía lanzar programas escritos principalmente en C o Perl.

Page 2: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

1

Si bien la tecnología CGI resolvía el problema de la presentación exclusiva de información estática, al mismo

tiempo presentaba dos limitaciones importantes: el problema de seguridad que podía representar el hecho de que

mediante una petición se pudiesen ejecutar programas indeseados en el servidor y la carga del servidor (si una

página que lanzaba un programa era llamada desde 100 clientes simultáneamente, el servidor ejecutaba 100

procesos, uno por cada cliente que solicitaba dicha página).

Para resolver estos problemas, se buscó desarrollar una tecnología que permitiera ejecutar, en un único proceso

del servidor, todos los pedidos de ejecución de código sin importar la cantidad de clientes que se conectaban

concurrentemente. Así surgieron los denominados servlets, basados en la tecnología Java de Sun Microsystems, y

los filtros ISAPI de Microsoft. Éstos permitían ejecutar código en un único proceso externo que gestionaba todas

las llamadas realizadas por el servidor web, impidiendo al mismo tiempo que el servidor web pueda ejecutar

programas del sistema operativo.

No obstante, de este modo se limitaron los problemas de prestación y seguridad de la tecnología CGI, y no se

resolvió el problema representado por un desarrollo demasiado costoso en términos de tiempo. Asimismo, se hizo

necesario que dos figuras profesionales distintas trabajen en un único proyecto: el programador (que conoce el

lenguaje de programación utilizado del lado del servidor) y el diseñador web (que conoce la parte gráfica y el

lenguaje HTML). Para resolver estas limitaciones, fueron desarrollados lenguajes que pueden ser incluidos al

interno de archivos HTML. Estos comandos pueden ser interpretados (como por ejemplo las páginas ASP o PHP) o

precompilados (como en las páginas JSP o ASP.NET).

Lenguajes de scrip de servidor son los lenguajes que se ejecutan en el lado del servidor, como PHP, ASP, etc. Estos

lenguajes se utilizan para generar páginas dinamicas, facilitando el acceso a las bases de datos.

Con la utilización de esta tecnología se buscaba, también, desarrollar aptitudes de diseñador web en los

programadores y de programador en los diseñadores (se esperaba con ello el hacer más fácil y veloz el desarrollo

de scripts del lado del servidor).

EJEMPLOS DE TECNOLOGÍAS Y CARACTERÍSTICAS

TECNOLOGÍAS WEB DE CLIENTE Y SERVIDOR

Necesidad de complementar HTML

Contenido dinámico:

Personalizar el contenido.

Acceder a bases de datos.

Interaccionar con aplicaciones.

Page 3: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

2

Mejorar la presentación.

Mejorar la interactividad.

Multimedia.

Soporte para nuevos tipos de datos.

Soporte para nuevos protocolos.

Alternativa cliente / servidor

Ejecución en el cliente:

El navegador descarga el código del servidor.

El navegador ejecuta en código en la máquina cliente.

Ejecución en el servidor:

El código se ejecuta en el entorno del servidor.

Genera dinámicamente los datos que se envían al cliente.

Soluciones híbridas:

Parte del código se ejecuta en el servidor, y parte del código en el cliente.

Comparativa cliente / servidor (I)

Escalabilidad:

La ejecución en cliente es más escalable, porque distribuye en uso de recursos (CPU, memoria) entre todos los

clientes.

Seguridad:

La ejecución en el cliente proporciona menor seguridad para el cliente, porque debe ejecutar código

potencialmente malicioso o defectuoso.

Comparativa cliente / servidor (II)

Compatibilidad / accesibilidad:

La ejecución en el cliente impide el uso de navegadores no compatibles con el código, especialmente desde

dispositivos de capacidad limitada.

Comportamiento distinto, ocasionalmente, del mismo programa en distintos navegadores.

Page 4: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

3

TECNOLOGÍAS DE EJECUCIÓN EN EL CLIENTE

ECMAScript / JavaScript.

Applets Java.

Plug--ins.

Controles ActiveX.

Adobe Flash.

AJAX.

JavaScript

Características:

Sintaxis semejante a C y Java, tipado débil sin clases ni herencia.

Ejecución interpretada por el navegador.

Sometido a restricciones de seguridad.

Facilidad para modificar dinámicamente el documento HTML mediante DOM.

Algunos usos habituales:

Responder a eventos.

Comprobar datos de un formulario antes de enviarlos.

ECMAScript / JavaScript

Limitaciones:

Lenguaje de programación no estructurado, no apto para aplicaciones demasiado grandes.

Comportamiento dependiente del navegador.

Algunos navegadores no lo ejecutan.

Código fuente disponible para el cliente.

Applets Java

Programas Java que se ejecutan en el navegador:

El cliente descarga las clases (bytecodes).

El cliente ejecuta el código en una JVM.

Se ejecuta con restricciones de seguridad.

Incrustado en navegador o en ventana propia.

Page 5: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

4

Algunos usos habituales:

Aplicaciones gráficas interactivas.

Animaciones.

Gestión de formularios complejos.

Applets Java

Algunos usos habituales (más):

Implementación de protocolos desconocidos por el navegador.

Comunicación con aplicaciones y bases de datos: HTTP,sockets, RMI, CORBA, etc.

Limitaciones:

Navegadores sin JVM o con distintas versiones.

Menor interacción con el documento HTML que JavaScript.

Plug--ins

Programas en código nativo que extienden la funcionalidad del navegador.

Usos habituales:

Visualizar o interaccionar con nuevos tipos de datos.

Acceder a funcionalidades básicas del navegador (carga de URLs, etc.)

Implementar nuevos protocolos de comunicación (por ejemplo, streaming multimedia).

Audio, vídeo, juegos, animaciones, 3D, etc.

Ejemplos:

Java, Flash, RealPlayer.

Limitaciones:

Dependencia con navegador, sistema operativo y arquitectura de la plataforma.

Seguridad: acceso libre a los

recursos de la máquina.

Necesidad de instalar el plug-in previamente.

Programación compleja.

AJAX

Page 6: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

5

Acrónimo de Asynchronous JavaScript and XML.

Aplicaciones Web ejecutadas en el cliente con comunicación asíncrona con el servidor en segundo plano,

basadas en XML.

Aumenta significativamente la interactividad y velocidad de la aplicación.

Puede reducir la usabilidad y accesibilidad.

Combinación de tecnologías existentes previamente:

XHTML y CSS para presentación.

JavaScript para ejecución en cliente. Modifica el documento

XHTML mediante DOM.

Comunicación asíncrona con el servidor mediante

XMLHttpRequest.

La comunicación asíncrona suele basarse en intercambio de documentos XML.

Otras tecnologías de cliente

ActiveX (Microsoft)

Controles incrustables en páginas Web.

Requiere instalación.

Riesgos de seguridad elevados.

Sólo para MS--Windows.

Adobe Flash:

Multimedia, animaciones, juegos, 3D, etc.

Lenguaje de programación ActionScript.

TECNOLOGÍAS DE EJECUCIÓN EN EL SERVIDOR

Common Gateway Interface (CGI).

ColdFusion.

Active Server Pages (ASP / ASP.NET).

Server--Side JavaScript (SSJS).

Page 7: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

6

PHP.

JSP.

Servlets.

Python.

Common Gateway Interface (CGI)

Interfaz común entre servidor Web y programas externos.

Funcionamiento:

El servidor recibe petición y detecta si se corresponde a un programa externo (CGI).

El servidor crea un nuevo proceso para el programa; le pasa los datos de la petición en variables de

entorno y entrada estándar.

El programa procesa la petición y devuelve la respuesta por salida estándar.

El servidor reenvía la respuesta al cliente.

Limitaciones:

Poco escalable / eficiente:

Nuevo proceso y entorno de ejecución para cada petición; datos de sesión en BD o disco.

Cálculo de todas las variables de entorno, aunque no las use el programa.

Para lenguajes interpretados, tiempo de carga del intérprete.

Código de programación entremezclado con código HTML.

Ejemplo (código):

#!/usr/local/bin/perl use CGI; $query = new CGI; $nombre= $query->param('nombre'); if ($nombre eq " ") {$nombre="Mundo";} print "Content-type: text/html\n\n"; print <<"EOF"; <html> <head>

<title>Hola Mundo CGI (Perl)</title> </head> <body>

<h1>Hola, $nombre</h1>

Page 8: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

7

</body> </html>

ASP / ASP.NET (Microsoft)

ASP nace como sistema de plantillas.

ASP.NET evoluciona hacia:

Entornos orientados a eventos.

Programación en cualquier lenguaje integrable en .NET.

Mayor eficiencia (DLLs cargadas en el servidor Web).

Otras características:

Acceso a componentes ActiveX.

Integración fácil con productos Microsoft.

ASP / ASP.NET (Microsoft)

Ejemplo (código):

<script runat="server"> Sub Page_Load(Sender As Object, E As EventArgs) HelloWorld.Text = "Hello World!" End Sub </script> <html> <head> <title>ASP.NET Hello World</title> </head> <body bgcolor="#FFFFFF"> <p><asp:label id="HelloWorld" runat="server" /></p> </body> </html>

PHP

Código libre.

Lenguaje de scripting con sintaxis basada en C.

Portado a las plataformas más extendidas.

Integrable con los servidores más utilizados.

Acceso potente a bases de datos.

Comunicación por red con otros recursos:

correo electrónico, servidores de directorio, etc.

Page 9: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

8

Eficiente.

Ejemplo (código):

<html> <head> <title>Hola Mundo PHP</title> </head> <body> <p> <? // Hello world in PHP print("Hello World"); ?> </body> </html>

Servlets (Java)

Programas Java que añaden funcionalidad en servidores.

Modelo de ejecución:

El servidor carga al inicio una JVM.

Se instancia un objeto por cada Servlet.

Para cada petición se crea / reutiliza un hilo y se invoca un método la instancia cargada del Servlet

asociado.

Cuando se para el servidor se destruyen los objetos.

Servlets (Java)

Principales características:

Funcionalidad semejante a CGI:

Recibe una petición a través del servidor y genera la respuesta adecuada.

Comunicación con el servidor HTTP mediante Servlet API

Respuesta mediante PrintWriter.

Ventajas:

Portabilidad: arquitecturas, sistemas operativos y servidores HTTP.

Potencia: disponibles todos los recursos Java:

Page 10: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

9

APIs, bases de datos, comunicaciones, etc.

Elegancia: código fuente limpio, simple y orientado a objetos.

Integración: el servlet está integrado con el servidor, colaborando con éste más fácilmente que CGI.

Extensibilidad y flexibilidad.

Servlets (Java)

Más ventajas:

Eficiencia:

Máquina virtual permanentemente cargada en el servidor.

El servlet se instancia sólo una vez durante el tiempo de vida del servidor.

Creación de hilos más eficiente que procesos.

Acceso a recursos compartido.

Mantenimiento de sesión en memoria.

Desventajas:

Concurrencia: por ser un único objeto ejecutado desde varios hilos, es necesario gestionar la

concurrencia.

Código del programa mezclado con código HTML del documento.

Cualquier cambio requiere recompilar el servlet.

Bastante limitado a lenguaje Java.

Ejemplo (código):

import java.io.*;

import javax.servlet.*; import javax.servlet.http.*; public class HelloWorld extends HttpServlet public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException res.setContentType("text/html"); PrintWriter out = res.getWriter(); out.println("<html>"); out.println("<head><title>Hola Mundo Servlet</title></head>"); out.println("<body>"); out.println("<p>Hello World</p>"); out.println("</body></html>");

Page 11: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

10

Java Server Pages (JSP)

Código insertado en el documento HTML en marcas especiales:

Directivas.

Elementos de scripting: declaraciones, expresiones, scriplets.

Comentarios.

Acciones.

Objetos implícitos: petición, respuesta, sesiones, etc.

Utilización de JavaBeans.

Normalmente compilado a servlets.

Java Server Pages (JSP)

Misma portabilidad, eficiencia y potencia que Servlets.

Elegancia: separación del código del documento del código de la aplicación (JavaBeans).

Facilidad de programación: gestiona automáticamente sesiones, atributos de peticiones y respuestas,

redirecciones, ciclo de vida de JavaBeans, etc.

Integrable con Servlets.

Java Server Pages (JSP)

Ejemplo (código):

<html> <head> <title>Hola Mundo JSP</title> </head> <body> <p> <% String visitor = request.getParameter(“name”); if (visitor == null) visitor = "World"; %> Hola, <%= visitor %>! </p> </body> </html>

Envío de datos de formularios

Envío de datos de formularios

Métodos y codificaciones de envío:

Método GET con codificación application/x--www--form--urlencoded.

Método POST con codificación application/x--www--form--urlencoded.

Page 12: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

11

Método POST con codificación multipart/form--data.

Método GET

Los parámetros se envían en la línea de petición del mensaje

HTTP, concatenados a la cadena de ruta (path).

Parámetros visibles para el usuario en el navegador.

Permite enviar datos tanto desde formularios como desde hiperenlaces.

No adecuado para operaciones idempotentes.

No adecuado para el envío de ficheros.

Método POST con URL--encoded

Los parámetros se envían en el cuerpo de la petición HTTP.

Parámetros no visibles en la URL.

Únicamente se pueden enviar desde formularios.

No adecuado para el envío de ficheros.

Método POST con multipart

Los parámetros se envían en el cuerpo de la petición HTTP al estilo de MIME.

Parámetros no visibles en la URL.

Cada parámetro es una parte del cuerpo, separado del resto por cadenas de frontera.

Únicamente se pueden enviar desde formularios.

Adecuado para el envío de ficheros.

Gestión de sesiones

Sesiones. HTTP no tiene estado.

Necesidad de relacionar peticiones entre sí.

Concepto de sesión.

Mecanismos de gestión de sesiones

Campos ocultos de formularios.

Reescritura de URL:

Cadena de ruta (path) añadida.

Parámetro añadido.

Page 13: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

12

A medida.

Cookies

3.3 COMUNICACIÓN CLIENTE-SERVIDOR

La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas se reparten entre los

proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes. Un cliente realiza

peticiones a otro programa, el servidor, que le da respuesta. Esta idea también se puede aplicar a programas que

se ejecutan sobre una sola computadora, aunque es más ventajosa en un sistema operativo multiusuario

distribuido a través de una red de computadoras.

En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más

importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la

separación de responsabilidades, lo que facilita y clarifica el diseño del sistema.

La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta

necesariamente sobre una sola máquina ni es necesariamente un sólo programa. Los tipos específicos de

servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. Mientras que sus

propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma.

Una disposición muy común son los sistemas multicapa en los que el servidor se descompone en diferentes

programas que pueden ser ejecutados por diferentes computadoras aumentando así el grado de distribución del

sistema.

La arquitectura cliente-servidor sustituye a la arquitectura monolítica en la que no hay distribución, tanto a nivel

físico como a nivel lógico.

La red cliente-servidor es aquella red de comunicaciones en la que todos los clientes están conectados a un

servidor, en el que se centralizan los diversos recursos y aplicaciones con que se cuenta; y que los pone a

disposición de los clientes cada vez que estos son solicitados. Esto significa que todas las gestiones que se realizan

se concentran en el servidor, de manera que en él se disponen los requerimientos provenientes de los clientes que

tienen prioridad, los archivos que son de uso público y los que son de uso restringido, los archivos que son de sólo

lectura y los que, por el contrario, pueden ser modificados, etc. Este tipo de red puede utilizarse conjuntamente en

caso de que se este utilizando en una red mixta.

Page 14: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

13

CARACTERÍSTICAS

En la arquitectura C/S el remitente de una solicitud es conocido como cliente. Sus características son:

Es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en la comunicación (dispositivo

maestro o amo).

Espera y recibe las respuestas del servidor.

Por lo general, puede conectarse a varios servidores a la vez.

Normalmente interactúa directamente con los usuarios finales mediante una interfaz gráfica de usuario.

Al contratar un servicio de redes , se tiene que tener en la velocidad de conexión que le otorga al cliente y

el tipo de cable que utiliza , por ejemplo : cable de cobre ronda entre 1 ms y 50 ms.

Al receptor de la solicitud enviada por el cliente se conoce como servidor. Sus características son:

Al iniciarse esperan a que lleguen las solicitudes de los clientes, desempeñan entonces un papel pasivo en

la comunicación (dispositivo esclavo).

Tras la recepción de una solicitud, la procesan y luego envían la respuesta al cliente.

Por lo general, aceptan conexiones desde un gran número de clientes (en ciertos casos el número máximo

de peticiones puede estar limitado).

No es frecuente que interactúen directamente con los usuarios finales.

COMPARACIÓN DE LA ARQUITECTURA C/S CON OTRAS ARQUITECTURAS DE RED

COMPARACIÓN CON LAS REDES DE PARES

Las redes de pares, también conocidas como redes par-a-par o peer-to-peer (abreviado con las siglas P2PM) son

otro tipo de arquitectura de red.

COMPARACIÓN CON LA ARQUITECTURA CLIENTE-COLA-CLIENTE

Si bien la clásica arquitectura C/S requiere uno de los puntos terminales de comunicación para actuar como un

servidor, que puede ser algo más difícil de aplicar, la arquitectura Cliente-Cola-Cliente habilita a todos los nodos

para actuar como clientes simples, mientras que el servidor actúa como una cola que va capturando las peticiones

de los clientes (un proceso que debe pasar sus peticiones a otro, lo hace a través de una cola, por ejemplo, una

consulta a una base de datos, entonces, el segundo proceso conecta con la base de datos, elabora la petición, la

pasa a la base de datos, etc.). Esta arquitectura permite simplificar en gran medida la implementación de software.

La arquitectura P2P originalmente se basó en el concepto "Cliente-Cola-Cliente".

Page 15: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

14

ARQUITECTURAS MULTI-CAPAS

La arquitectura cliente/servidor genérica tiene dos tipos de nodos en la red: clientes y servidores.

Consecuentemente, estas arquitecturas genéricas se refieren a veces como arquitecturas de dos niveles o dos

capas.

Algunas redes disponen de tres tipos de nodos:

Clientes que interactúan con los usuarios finales.

Servidores de aplicación que procesan los datos para los clientes.

Servidores de la base de datos que almacenan los datos para los servidores de aplicación.

Esta configuración se llama una arquitectura de tres-capas.

VENTAJAS

Centralización del control: los accesos, recursos y la integridad de los datos son controlados por el servidor de

forma que un programa cliente defectuoso o no autorizado no pueda dañar el sistema. Esta centralización también

facilita la tarea de poner al día datos u otros recursos (mejor que en las redes P2P)..

Escalabilidad: se puede aumentar la capacidad de clientes y servidores por separado. Cualquier elemento puede

ser aumentado (o mejorado) en cualquier momento, o se pueden añadir nuevos nodos a la red (clientes y/o

servidores).

Fácil mantenimiento: al estar distribuidas las funciones y responsabilidades entre varios ordenadores

independientes, es posible reemplazar, reparar, actualizar, o incluso trasladar un servidor, mientras que sus

clientes no se verán afectados por ese cambio (o se afectarán mínimamente). Esta independencia de los cambios

también se conoce como encapsulación.

Existen tecnologías, suficientemente desarrolladas, diseñadas para el paradigma de C/S que aseguran la

seguridad en las transacciones, la amigabilidad de la interfaz, y la facilidad de empleo.

DESVENTAJAS

La congestión del tráfico ha sido siempre un problema en el paradigma de C/S. Cuando una gran cantidad de

clientes envían peticiones simultaneas al mismo servidor, puede ser que cause muchos problemas para éste (a

Page 16: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

15

mayor número de clientes, más problemas para el servidor). Al contrario, en las redes P2P como cada nodo en la

red hace también de servidor, cuanto más nodos hay, mejor es el ancho de banda que se tiene.

El paradigma de C/S clásico no tiene la robustez de una red P2P. Cuando un servidor está caído, las peticiones de

los clientes no pueden ser satisfechas. En la mayor parte de redes P2P, los recursos están generalmente

distribuidos en varios nodos de la red. Aunque algunos salgan o abandonen la descarga; otros pueden todavía

acabar de descargar consiguiendo datos del resto de los nodos en la red.

El software y el hardware de un servidor son generalmente muy determinantes. Un hardware regular de un

ordenador personal puede no poder servir a cierta cantidad de clientes. Normalmente se necesita software y

hardware específico, sobre todo en el lado del servidor, para satisfacer el trabajo. Por supuesto, esto aumentará el

coste.

El cliente no dispone de los recursos que puedan existir en el servidor. Por ejemplo, si la aplicación es una Web,

no podemos escribir en el disco duro del cliente o imprimir directamente sobre las impresoras sin sacar antes la

ventana previa de impresión de los navegadores.

Page 17: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

16

3.4 PORTALES CENTRADOS EN EL USUARIO

1. INTRODUCCIÓN

La consecución de los objetivos perseguidos a través de la puesta a disposición del público de cualquier aplicación

web está condicionada por la satisfacción del usuario final.

Los factores o atributos de calidad de una aplicación o sitio web que influirán en dicha satisfacción podemos

clasificarlos en aquellos relacionados con: la calidad y utilidad de los contenidos; la calidad del servicio y asistencia

del proveedor; y la calidad del diseño de la aplicación, atributo de calidad sobre el que versa el presente trabajo.

La importancia del diseño de la aplicación se basa en que éste será el que modele la interacción entre usuario y

aplicación, y por tanto posibilitará o no la consecución de los objetivos perseguidos por el usuario (encontrar

información, comprar, comunicarse, aprender...).

Tomemos como ejemplo el usuario que intenta completar una tarea de compra en un sitio web de comercio

electrónico. Del correcto diseño del sitio dependerá que el usuario consiga finalmente su objetivo (y

consecuentemente el proveedor también), o que por el contrario, frustrado por la dificultad de uso del sitio web,

decida abandonarlo en busca de otro donde llevar a cabo la compra sea más fácil.

Es fácil inferir que un buen diseño deberá ser comprensible, fácil de usar, amigable, claro, intuitivo y de fácil

aprendizaje para el usuario. Para poder asegurar que un diseño cumple con estos requisitos no basta simplemente

con una actitud empática del diseñador durante el desarrollo de la aplicación; es imprescindible la adopción por

parte de éste de técnicas, procedimientos y métodos que aseguren empíricamente la adecuación del diseño a las

necesidades, habilidades y objetivos del usuario.

En este artículo abordaremos cómo diseñar aplicaciones web usables y accesibles a través de la aplicación del

conjunto de técnicas y procedimientos englobados bajo el marco metodológico conocido como Diseño Centrado

en el Usuario. La estructura seguida en el artículo será: (2) Definición y explicación de los conceptos de usabilidad y

accesibilidad; (3) Introducción a la Arquitectura de la Información; (4) Propuesta de aplicación del Diseño Centrado

en el Usuario en el contexto del desarrollo Web, detallando procedimientos, técnicas, métodos y recomendaciones

de diseño; (5) Conclusiones y (6) Bibliografía.

Page 18: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

17

2. USABILIDAD Y ACCESIBILIDAD

La usabilidad - anglicismo que significa "facilidad de uso" - como indican Bevan, Kirakowski, y Maissel (1991)

parece tener su origen en la expresión "user friendly", que es reemplazada por sus connotaciones vagas y

subjetivas.

Numerosos autores han propuesto diversas definiciones de usabilidad, normalmente a través de la enumeración

de los diferentes atributos o factores mediante los que puede ser evaluada, dependiendo finalmente cada

definición del enfoque con el que pretende ser medida (Folmer, Bosch; 2003).

Tomaremos para este trabajo la definición más extendida, que es la ofrecida por la ISO , y que define usabilidad

como el " grado de eficacia, eficiencia y satisfacción con la que usuarios específicos pueden lograr objetivos

específicos, en contextos de uso específicos ".

En la definición podemos observar que la usabilidad se compone de dos tipos de atributos:

Atributos cuantificables de forma objetiva: como son la eficacia o número de errores cometidos por el usuario

durante la realización de una tarea, y eficiencia o tiempo empleado por el usuario para la consecución de una

tarea.

Atributos cuantificables de forma subjetiva: como es la satisfacción de uso, medible a través de la interrogación al

usuario, y que tiene una estrecha relación con el concepto de Usabilidad Percibida.

Como se indica en la definición, la usabilidad de una aplicación debe ser entendida siempre en relación con la

forma y condiciones de uso por parte de sus usuarios, así como con las características y necesidades propias de

estos usuarios. Un diseño no es en sí mismo usable: " lo es para usuarios específicos en contextos de uso

específicos ".

Pretender que una aplicación web sea usable independientemente de quién y cómo la use se corresponde más con

una visión o enfoque universalista de la usabilidad (en ocasiones necesaria), que con una visión realista y práctica.

Esto es debido a que normalmente toda aplicación se diseña con la intención de satisfacer las necesidades de una

audiencia concreta y determinada, por lo que será más usable cuanto más adaptado esté su diseño a esta

audiencia específica, y por tanto menos lo esté para el resto de personas.

El concepto de usabilidad puede ser definido, además de como atributo de calidad de una aplicación,

consecuentemente, como disciplina o enfoque de diseño y evaluación. Se suele hablar entonces de Ingeniería de la

Usabilidad - conjunto de fundamentos teóricos y metodológicos que aseguren el cumplimiento de los niveles de

usabilidad requeridos para la aplicación-.

Un concepto íntimamente ligado al de usabilidad es el de accesibilidad. Éste ya no se refiere a la facilidad de uso,

sino a la posibilidad de acceso. En concreto a que el diseño, como prerrequisito imprescindible para ser usable,

posibilite el acceso a todos sus potenciales usuarios, sin excluir a aquellos con limitaciones individuales -

discapacidades, dominio del idioma,... - o limitaciones derivadas del contexto de acceso - software y hardware

empleado para acceder, ancho de banda de la conexión empleada, etc.- (Hassan Montero, Martín Fernández;

2003b)

Page 19: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

18

Se da la paradoja de que mientras que un diseño usable requiere delimitar a su audiencia potencial con el fin de

diseñar para lo concreto, un diseño accesible implica la necesidad de diseñar para la diversidad y heterogeneidad

de necesidades de acceso presentadas por esta audiencia específica.

Cuando la audiencia para la que se diseña es muy amplia y presenta necesidades de acceso muy diferentes,

normalmente se hace necesaria la puesta a disposición de varias versiones del diseño o un diseño adaptable, como

son las conocidas "versiones solo texto" o versiones en varios idiomas.

3. ARQUITECTURA DE LA INFORMACIÓN

Aunque para la mayoría de los usuarios "la interfaz es la aplicación" puesto que es la parte que ven y a través de la

cual interactúan (Hartson; 1998) , debemos entender que la usabilidad de la aplicación depende no sólo del diseño

del interfaz, sino también de su arquitectura - estructura y organización -, en otras palabras, del componente no

visible del diseño.

Folmer y Bosch (2003) estudian este hecho en aplicaciones software concluyendo que el diseño a nivel de

arquitectura tiene una gran influencia en la usabilidad del sistema. En el entorno Web, que es el que nos ocupa en

este artículo, la Arquitectura de la Información (AI) es un enfoque de diseño que ha cobrado especial relevancia

estos últimos años por esta misma razón.

La AI es definida como el arte y la ciencia de organizar espacios de información con el fin de ayudar a los usuarios a

satisfacer sus necesidades de información. La actividad de organizar comporta la estructuración, clasificación y

rotulado de los contenidos del sitio web (Toub; 2000).

Hay dos aspectos de la AI que merece la pena resaltar: La Recuperación de la Información : El objetivo principal de

definir una correcta arquitectura de información es facilitar al usuario la recuperación de información. Esto se

consigue por un lado posibilitando que el usuario pueda encontrar información - diseño y definición de índices,

clasificaciones, taxonomías y sistemas de recuperación de información o sistemas de búsqueda en el sitio web -, y

por otro lado posibilitando que cada elemento de información pueda ser encontrado - descripción a través de

metadatos y optimización del sitio para buscadores-. Este segundo caso es lo que se denomina "findability",

"encontrabilidad" o visibilidad.

El diseño a nivel conceptual : Las técnicas propias de la AI, dentro del ciclo de vida del desarrollo del sitio, se ubican

en fases de diseño conceptual. Las fases de diseño visual están, en cambio, copadas por técnicas de Ingeniería de

la Usabilidad, Diseño de Interfaces y Diseño de Información.

Page 20: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

19

4. DISEÑO WEB CENTRADO EN EL USUARIO

Para asegurar empíricamente que un sitio cumple con los niveles de usabilidad requeridos, el diseñador necesita

de una metodología, de técnicas y procedimientos ideados para tal fin.

En este trabajo proponemos la aplicación del marco metodológico conocido como Diseño Centrado en el Usuario o

User-Centered Design (Norman, Draper; 1986) adaptándolo a las características propias del desarrollo de

aplicaciones web.

El Diseño Web Centrado en el Usuario se caracteriza por asumir que todo el proceso de diseño y desarrollo del sitio

web debe estar conducido por el usuario, sus necesidades, características y objetivos. Centrar el diseño en sus

usuarios (en oposición a centrarlo en las posibilidades tecnológicas o en nosotros mismos como diseñadores)

implica involucrar desde el comienzo a los usuarios en el proceso de desarrollo del sitio; conocer cómo son, qué

necesitan, para qué usan el sitio; testar el sitio con los propios usuarios; investigar cómo reaccionan ante el diseño,

cómo es su experiencia de uso; e innovar siempre con el objetivo claro de mejorar la experiencia del usuario.

El proceso de Diseño Web Centrado en el Usuario propuesto en este trabajo se divide en varias fases o etapas,

algunas de las cuales tienen carácter iterativo. Sirva como aproximación el siguiente esquema:

Como indica el esquema, las fases de "diseño", "prototipado" y "evaluación" son cíclicas e iterativas. Esto quiere

decir que todo lo que se diseñe debe ser constantemente evaluado a través de su prototipado, para así poder

corregir errores de usabilidad desde los primeros momentos del desarrollo. Evaluar el sitio web únicamente una

vez finalizado su desarrollo haría mucho más costosa la reparación de errores de usabilidad, ya que siempre es más

económico reconducir un diseño que rediseñar completamente el sitio.

Los siguientes apartados de este trabajo se estructuran siguiendo este mismo esquema del proceso de diseño.

5. PLANIFICACIÓN

Todo proyecto debe comenzar por una correcta planificación. En esta etapa se identifican los objetivos del sitio, así

como las necesidades, requerimientos y objetivos de la audiencia potencial.

Confrontando esta información se definen los requerimientos del sitio web, entre los que podemos contar

requerimientos técnicos (back-end y front-end), recursos humanos y perfiles profesionales necesarios, y

adecuación del presupuesto disponible.

Se trata, pues, de establecer un equilibrio entre lo que puede ofertar el proveedor y lo que necesita el usuario. El

sitio web - sus contenidos y diseño - debe cumplir precisamente este cometido: servir de medio para la

consecución de objetivos por parte de proveedor y usuario.

Page 21: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

20

El diseñador debe obtener información precisa tanto de las necesidades y objetivos del proveedor como del

usuario. En el primer caso, mediante entrevistas y reuniones con los responsables del sitio, será relativamente fácil

obtener dicha información. Más dificultoso, pero al mismo tiempo más importante, es obtener esta información

del usuario: Qué necesita, cuáles son sus objetivos, cómo se comporta y actúa, cuál será el contexto de uso y cómo

afectará a la interacción, experiencia y conocimientos previos,...

La respuesta a estas preguntas se resuelve estudiando a la audiencia a través de métodos de indagación. Éstos

engloban métodos de aproximación contextual, estudios de campo o etnográficos, métodos de aproximación por

grupos y métodos de aproximación individual (encuestas, cuestionarios y entrevistas). Cuanto más conozcamos a

la audiencia, más adaptado será el diseño y más satisfactoria la experiencia del usuario final.

Como se puede ver, la etapa de planificación se basa casi completamente en la recogida, análisis y ordenación de

toda la información posible, con el objetivo de tener una base sólida sobre la que poder tomar decisiones de

diseño en las siguientes etapas del proceso.

5.1. DISEÑO

La etapa de Diseño es el momento del proceso de desarrollo para la toma de decisiones acerca de cómo diseñar o

rediseñar, en base siempre al conocimiento obtenido en la etapa de planificación, así como a los problemas de

usabilidad descubiertos en etapas de prototipado y evaluación.

5.1.1. MODELADO DEL USUARIO

Toda la información obtenida de los estudios de usuarios realizados en la anterior fase de planificación debe servir

como base para comenzar el diseño, pero para ello se debe resumir y sintetizar dicha información.

Este paso se denomina modelado del usuario y consiste en la definición de clases o perfiles de usuarios en base a

atributos comunes. Los atributos sobre los que se hará la clasificación dependen de la información que se tenga de

la audiencia, pero normalmente se tratarán de atributos tales como necesidades de información, condiciones de

acceso, experiencia y conocimientos.

Mediante esta técnica, el diseñador tendrá en mente para quién diseña, qué espera encontrar el usuario y en qué

forma. El diseño del sitio web debe estar orientado al usuario, organizando y estructurando la información según

los modelos definidos de usuarios.

El problema de esta técnica de modelado de usuario es que cuando la audiencia es demasiado extensa y

heterogénea, la categorización total de la audiencia puede no ser viable. En estos casos es conveniente hacer uso

del enfoque 'persona', ideado por Cooper (1999).

Esta técnica de modelado del usuario se basa en la definición de arquetipos de usuarios que representan patrones

de conducta, objetivos y necesidades. Estos arquetipos, llamados "personas", son descripciones en forma narrativa

de usuarios, a los que se les da una identidad inventada: fotografía, nombre,... En cambio, todos los atributos,

Page 22: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

21

características y necesidades del arquetipo deben estar basados en información real extraída de la audiencia

objetiva del sitio web, ya que si éstos fueran datos inventados la técnica perdería toda su utilidad.

Además se deben definir "scenarios" - descripciones de situaciones de uso del sitio - sobre los que poder

contextualizar la interacción persona-aplicación web.

Las "personas" definidas, al contrario de lo que se pretendía con la categorización de la audiencia, no pueden

representar al total de los usuarios del sitio web, pero es que ésta no es su misión.

La función de esta técnica es la de servir de soporte para la toma de decisiones en el diseño del sitio, permitiendo

al desarrollador realizar un diseño centrado en el usuario, o más correctamente, en "algún" usuario. Este usuario

podemos considerarlo 'real', ya que aunque no pertenece al mundo real, su descripción está basada sobre, y por

tanto representa a, un nutrido grupo de usuarios reales.

Es demasiado común que el diseñador se imagine a sí mismo usando el sitio y por tanto sea incapaz de

comprender por qué a alguien le puede resultar difícil, incomodo y hasta frustrante su uso. Estos arquetipos de

usuarios conseguirán precisamente que el diseñador tenga en mente a un usuario 'real', con limitaciones,

habilidades y necesidades reales.

5.1.2. DISEÑO CONCEPTUAL

El objetivo de la fase de Diseño Conceptual es definir el esquema de organización, funcionamiento y navegación

del sitio. No se especifica qué apariencia va a tener el sitio, sino que se centra en el concepto mismo del sitio: su

arquitectura de información.

Los sitios web son sistemas hipermedia formados por conjuntos de páginas interrelacionadas por enlaces

unidireccionales, pudiendo cada una de estas páginas contener sub-elementos con entidad propia, contenidos

multimedia y herramientas interactivas.

La "estructura" del sitio web se refiere precisamente a las conexiones y relaciones entre páginas, a la topología de

la red de páginas, así como a la granularidad de los elementos de información contenidos en las páginas; y la

"navegación" a las posibilidades y forma en que cada página presenta las opciones de desplazamiento hacia otras

páginas.

La definición de la estructura del sitio puede hacerse desde dos enfoques diferentes y complementarios:

aproximación descendente y ascendente. En la descendente se trata de estructurar del "todo" a las "partes",

dividir los contenidos en páginas y definir los enlaces entre páginas. En la Ascendente, por el contrario, se definen

los bloques mínimos de información, estructuración que va más allá de la propia segmentación de información en

páginas.

Una vez definida la estructuración del sitio es necesario documentarla, para así tener un modelo de referencia

sobre el que sustentar el desarrollo del sitio. La forma de documentar arquitecturas se suele hacer a través de

grafos y esquemas, con el objetivo de que sean de fácil y rápida comprensión por todos los miembros del equipo

de desarrollo.

Page 23: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

22

Si la arquitectura es ascendente normalmente se documentará a través de diagramas entidad-relación. Por otro

lado, cuando la arquitectura a documentar es la descendente, para sitios web proponemos el uso del vocabulario

gráfico de Garret (2002). A través de unas sencillas convenciones gráficas para la diagramación de la arquitectura,

podemos definir la estructura de la información así como la navegación del sitio.

Otras tareas a llevar a cabo por el Arquitecto de Información o diseñador en la fase de Diseño Conceptual son:

Definir sistemas de clasificación para los contenidos; Elaborar índices y mapas del sitio; Aplicar metadatos a cada

una de las páginas y sub-elementos de información; y Definir el Sistema de Rotulado (Rosenfeld, Morville; 2002).

Entre las técnicas de Diseño Centrado en el Usuario a aplicar en la etapa de Diseño Conceptual destacamos, por su

utilidad y facilidad de ser llevada a cabo, la técnica de "card sorting" u ordenación de tarjetas. Ésta se basa en la

observación de cómo los usuarios agrupan y asocian entre sí un número predeterminado de tarjetas etiquetadas

con las diferentes categorías o secciones temáticas del sitio web. De esta forma, partiendo del comportamiento de

los propios usuarios, es posible organizar y clasificar la información de un sitio web conforme a su modelo mental.

(Hassan Montero et al.; 2004)

5.1.3. DISEÑO VISUAL Y DEFINICIÓN DEL ESTILO

En esta fase se especifica el aspecto visual del sitio web: composición de cada tipo de página, aspecto y

comportamiento de los elementos de interacción y presentación de elementos multimedia.

Con el objetivo de evitar la sobrecara informativa, en el diseño de cada interfaz se debe tener en cuenta el

comportamiento del usuario en el barrido visual de la página, distribuyendo los elementos de información y

navegación según su importancia en zonas de mayor o menor jerarquía visual - por ejemplo, las zonas superiores

del interfaz poseen más jerarquía visual que las inferiores-.

Además de la posición de cada elemento en la interfaz, existen otras técnicas para jerarquizar información como

son: uso del tamaño y espacio ocupado por cada elemento para otorgarle importancia en la jerarquía visual,

utilización del contraste de color para discriminar y distribuir información, uso de efectos tipográficos para

enfatizar contenidos, rotura de la simetría y uso de efectos de relieve / profundidad para resaltar elementos, etc.

Además de evitar la sobrecarga informativa jerarquizando los contenidos mediante las técnicas descritas, para

evitar la sobrecarga memorística se recomienda definir menús de navegación con un número de opciones

reducido, normalmente no más de nueve diferentes.

Otro aspecto importante en el diseño visual del sitio es la accesibilidad. En el uso de colores, por ejemplo, se debe

ofrecer suficiente contraste entre texto y fondo para no dificultar la lectura, e igualmente seleccionar

combinaciones de colores teniendo siempre en cuenta las discapacidades visuales en la percepción del color que

pudieran presentar nuestros usuarios.

Al utilizar imágenes en el diseño, por motivos de accesibilidad y comprensibilidad, se debe cuidar su resolución y

tamaño, así como en fotografías la no pérdida de significación o contexto por recorte o minimización excesiva de la

imagen.

Page 24: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

23

Desde una perspectiva más amplia del diseño visual del sitio es importante mantener una coherencia y estilo

común entre todas las páginas, proporcionando una consistencia visual a todo el sitio. Para asegurar que esta

coherencia se cumple, es útil elaborar un libro o guía de estilo que sirva de documento referencia para todo el

equipo de desarrollo.

5.1.4. DISEÑO DE CONTENIDOS

En el diseño de contenidos hipermedia se debe mantener un equilibrio entre lo que serían contenidos que no

aprovechasen las nuevas posibilidades hipertexto y multimedia, y lo que serían contenidos caóticos o

desorientativos debido a un uso excesivo y no sosegado de las posibilidades hipermedia.

Sin prescindir de las capacidades que ofrece el nuevo medio, de lo que se trata es de diseñar contenidos

interrelacionados y vinculados, manteniendo cierta coherencia informativa, comunicacional y organizativa.

La escritura hipertextual se debe realizar de forma diferente a la tradicional. El nuevo medio y sus características

obligan a ser concisos, precisos, creativos y estructurados a la hora de redactar. Debemos conocer a quién nos

dirigimos y adaptar el lenguaje, tono y vocabulario utilizado al usuario objetivo.

Algunos consejos a seguir en el diseño y redacción de contenidos son:

Seguir una estructura piramidal : La parte más importante del mensaje, el núcleo, debe ir al principio.

Permitir una fácil exploración del contenido : El lector en entornos Web, antes de empezar a leer, suele

explorar visualmente el contenido para comprobar si le interesa.

Un párrafo = una idea : Cada párrafo es un objeto informativo. Se deben trasmitir ideas, mensajes...

evitando párrafos vacíos o varios mensajes en un mismo párrafo.

Ser conciso y preciso : Al lector no le gusta leer en pantalla.

Vocabulario y lenguaje : Se debe utilizar el mismo lenguaje del usuario, no el de la empresa o institución.

El vocabulario debe ser sencillo y fácilmente comprensible.

Tono : Cuanto más familiar y cercano (sin llegar a ser irrespetuoso) sea el tono empleado, más fácil será

que el lector preste atención.

Confianza : La mejor forma de ganarse la confianza del lector es permitiéndole el diálogo, así como

conocer cuanta más información posible acerca del autor.

5.2. PROTOTIPADO

La evaluación de la usabilidad del sitio web se debe realizar desde las primeras etapas de diseño, pero ¿cómo

evaluar un sitio web que no está implementado? A través de prototipos.

Page 25: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

24

La etapa de prototipado se basa en la elaboración de modelos o prototipos de la interfaz del sitio. Su aspecto no se

corresponde exactamente con el que tendrá el sitio una vez finalizado, pero pueden servir para evaluar la

usabilidad del sitio sin necesidad de esperar a su implementación.

Según Floría Cortés (2000) , podemos clasificar los tipos de prototipado según el nivel de funcionalidad

reproducida:

Prototipado horizontal: Se reproduce gran parte del aspecto visual del sitio, pero sin que esos modelos de

interfaz estén respaldados por la funcionalidad real que tendrá finalmente el sitio.

Prototipado vertical: Se reproduce únicamente el aspecto visual de una parte del sitio, pero la parte

reproducida poseerá la misma funcionalidad que el sitio web una vez implementado.

Según el grado de fidelidad o calidad del prototipo se distingue entre:

Prototipado de alta fidelidad: El prototipo será muy parecido al sitio web una vez terminado.

Prototipado de baja fidelidad: El aspecto del prototipo distará bastante del que tenga el sitio web final.

En las primeras etapas de desarrollo del sitio web se puede hacer uso del prototipado en papel o de bajo coste,

que consiste en reproducir los aspectos básicos de la interfaz del sitio en papel.

Por ejemplo, podemos reproducir a través de bocetos cómo serán las diferentes páginas que conformarán el sitio a

desarrollar, cada una en una página de papel diferente. La reproducción suele ser a mano (lápiz y tijeras), por lo

que resulta una técnica de prototipado muy económica.

Otra forma de realizar prototipos es mediante la reproducción del aspecto del sitio a través de herramientas

software. Mediante el procesador de textos o un simple editor HTML podemos esbozar cómo será la interfaz del

sitio.

Hay que recordar que estos prototipos son reproducciones, no estados tempranos de implementación de la

interfaz. Una vez que el prototipo se ha utilizado se tira, no es parte del sitio web.

La utilidad real del prototipado se fundamenta en que no tendría sentido empezar a implementar una interfaz web

si no nos hemos asegurado antes de que el diseño es usable.

5.3. EVALUACIÓN

La evaluación de la usabilidad - la etapa más importante en el proceso de Diseño Centrado en el Usuario - se puede

realizar a través de varios métodos o técnicas y sobre diferentes representaciones del sitio (prototipos en papel,

prototipos software, sitio web implementado...).

Existe una gran diversidad de métodos para evaluación de usabilidad, aunque en el presente trabajo únicamente

se describirán aquellos que creemos de más utilidad y aplicabilidad real en el contexto del desarrollo de

aplicaciones web.

Page 26: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

25

5.3.1. MÉTODO POR INSPECCIÓN: EVALUACIÓN HEURÍSTICA

Los métodos de inspección de la usabilidad de un sitio web son aquellos realizados por el experto en usabilidad, y

que se basan en el recorrido y análisis del sitio identificando errores y problemas de diseño.

La Evaluación Heurística es un tipo de método de inspección, que tiene como ventaja la facilidad y rapidez con la

que se puede llevar a cabo.

Este tipo de evaluación normalmente la lleva a cabo un grupo reducido de evaluadores que, en base a su propia

experiencia, fundamentándose en reconocidos principios de usabilidad (heurísticos), y apoyándose en guías

elaboradas para tal fin, evalúan de forma independiente el sitio web, contrastando finalmente los resultados con el

resto de evaluadores.

Diversos autores han propuesto diferentes conjuntos de heurísticos o principios de usabilidad a través de los

cuales evaluar la usabilidad. Nielsen (1994a) propone los siguientes:

Visibilidad del estado del sistema : El sistema (o sitio web) siempre debe informar al usuario acerca de lo

que está sucediendo. Por ejemplo, cuando en una interfaz tipo webmail se adjuntan ficheros a un

mensaje, el sistema debe informar del hecho mostrando un mensaje de espera.

Lenguaje común entre sistema y usuario : El sistema debe hablar el lenguaje del usuario, huyendo de

tecnicismos incomprensibles o mensajes crípticos.

Libertad y control por parte del usuario : El usuario debe tener el control del sistema, no se puede limitar

su actuación. Se debe ofrecer siempre al usuario una forma de "salida de emergencia", como por ejemplo

la representada por la opción para "saltar" animaciones de introducción (normalmente Flash).

Consistencia y estándares : La consistencia se refiere a, por ejemplo, no utilizar dos rótulos distintos para

referirse a un mismo contenido, o no usar estilos diferentes dentro de un mismo sitio. Además el sitio

web debe seguir estándares o convenciones de diseño ampliamente aceptados. Cuanto más se parezca un

diseño y su funcionamiento al resto de sitios web, más familiar y fácil de usar resultará para el usuario.

Prevención de errores : Mejor que un buen mensaje de error es un diseño que prevenga que ocurra el

error.

Es mejor reconocer que recordar : Este principio hace mención a la visibilidad de las diferentes opciones,

enlaces y objetos. El usuario no tiene por qué recordar dónde se encontraba cierta información, o cómo

se llegaba a determinada página.

Flexibilidad y eficiencia de uso : El sitio debe ser fácil de usar para usuarios novatos, pero también

proporcionar atajos o aceleradores para usuarios avanzados.

Diseño minimalista : Cualquier tipo de información que no sea relevante para el usuario y que

sobrecargue la interfaz debe ser eliminada.

Permitir al usuario solucionar el error : Por ejemplo, cuando un usuario introduce una consulta en un

buscador y no obtiene ningún resultado, se debe informar al usuario sobre cómo solucionar el problema,

por ejemplo con mensajes del tipo "introduzca algún sinónimo" o "quiso Ud. decir...". Además no se debe

borrar el contenido de la caja de búsqueda para que el usuario pueda rehacer la consulta.

Ayuda y Documentación : Siempre es mejor que un sitio web se pueda utilizar sin necesidad de ayuda o

documentación, aunque en sitios web extensos o en procesos de interacción complejos (como el

rellenado de un formulario), se debe proporcionar información de ayuda al usuario.

Page 27: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

26

Hassan Montero y Martín Fernández (2003a) proponen el siguiente modelo de evaluación heurística:

Aspectos generales : Objetivos, look & feel, coherencia y nivel de actualización de contenidos.

Identidad e Información : Identidad del sitio e información proporcionada sobre el proveedor y la autoría

de los contenidos.

Lenguaje y redacción : Calidad de los contenidos textuales.

Rotulado : Significación y familiaridad del rotulado de los contenidos.

Estructura y Navegación : Idoneidad de la arquitectura de información y navegación del sitio.

Lay-out de la página : Distribución y aspecto de los elementos de navegación e información en la interfaz.

Búsqueda : Buscador interno del sitio.

Elementos multimedia : Grado de adecuación de los contenidos multimedia al medio web.

Ayuda : Documentación y ayuda contextual ofrecida al usuario para la navegación.

Accesibilidad : Cumplimiento de directrices de accesibilidad.

Control y retroalimentación : Libertad del usuario en la navegación.

5.3.2. MÉTODO DE TEST CON USUARIOS

El test con usuarios es una prueba de usabilidad que se basa en la observación y análisis de cómo un grupo de

usuarios reales utiliza el sitio web, anotando los problemas de uso con los que se encuentran para poder

solucionarlos posteriormente.

Como toda evaluación de usabilidad, cuanto más esperamos para su realización, más costoso resultará la

reparación de los errores de diseño descubiertos. Esto quiere decir que no sólo debemos realizar este tipo de

pruebas sobre el sitio web una vez implementado, sino también, sobre los prototipos del sitio.

Es una prueba complementaria a la evaluación heurística, pero un test con usuarios es más costoso, por lo que es

recomendable realizarlo siempre después de una evaluación heurística, ya que sería desperdiciar tiempo y dinero

utilizarlo para descubrir errores de diseño motivados por el no cumplimiento en el desarrollo de principios

generales de usabilidad (heurísticos).

La ventaja que ofrecen los test de usuarios frente a otro tipo de evaluaciones es que por un lado es una

demostración con hechos, por lo que sus resultados son más fiables, y por otro porque posibilitan el

descubrimiento de errores de diseño imposibles o difíciles de descubrir mediante la evaluación heurística.

Llevar a cabo un test de usuarios formal obligaría a alquilar un local (laboratorio) adecuado, contratar a

evaluadores especializados, así como a delegar en alguna empresa la selección y reclutamiento de los participantes

de la prueba. Realmente sería bastante costoso y poco viable para la gran mayoría de casos.

Existe otra forma de llevar a cabo un test con usuarios popularizada por Nielsen (1994b) , mucho más económica y

fácil de realizar, con resultados y utilidad similares, que son las denominadas pruebas informales o test de

'guerrilla'.

En (Hassan Montero, Martín Fernández; 2003c) se detalla cómo llevar a cabo este tipo de pruebas: reclutamiento

de participantes, elección del local y materiales, realización de la prueba y elaboración del informe final.

Page 28: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

27

5.4. IMPLEMENTACIÓN Y LANZAMIENTO

En la implementación del sitio es recomendable utilizar estándares (HTML, XHTML...) para asegurar la futura

compatibilidad y escalabilidad del sitio. Esto se debe a que, aunque puede ser tentador utilizar tecnologías

propietarias, el panorama tecnológico puede hacerlas desaparecer o cambiar en poco tiempo.

Igualmente es recomendable separar en la implementación contenido de estilo, mediante el uso de hojas de estilo

(CSS) del lado del cliente y uso de bases de datos del lado del servidor. De esta forma se facilitará tanto el rediseño

del sitio como la posibilidad de adaptación dinámica del diseño a las necesidades de acceso de cada tipo de

usuario.

En esta etapa del desarrollo se debe llevar, así mismo, un control de calidad de la implementación, supervisando

que todo funcione y responda a cómo había sido planificado, ya que la usabilidad del sitio depende directamente

de la funcionalidad. Si algo no funciona, sencillamente no se puede usar.

Entre las técnicas para controlar la calidad de la implementación se pueden utilizar validadores automáticos de

código como los proporcionados por el W3C ( http://www.w3c.org ), así como validadores para testar de forma

semi-automática el cumplimiento de directrices de accesibilidad en el código, como el Test de Accesibilidad Web (

http://www.tawdis.net ).

Una vez implementado el sitio y testada su funcionalidad se procede al lanzamiento del sitio, que consiste en su

puesta a disposición para los usuarios. Se trata de un evento importante, muchas veces erróneamente apresurado

debido a la necesidad de cumplir plazos de entrega.

El primer encuentro entre usuario y el sitio web modelará en gran medida la percepción que el usuario tendrá del

sitio en posteriores visitas. Por ello es necesario que durante los primeros meses a partir del lanzamiento, el sitio

tenga un diseño y contenidos adaptados a este importante momento de su ciclo de vida. Es el momento de

explicar a los usuarios el sitio, de enseñarles a usarlo, darles la bienvenida, "vendérselo"...

Después de esos primeros meses de vida la audiencia del sitio habrá cambiado. Seguirá habiendo usuarios que

accedan por primera vez al sitio, pero ya no representarán a la mayoría de la audiencia. A los usuarios habituales

no se les puede seguir haciendo perder el tiempo dándoles la bienvenida o explicándoles qué es y en qué consiste

el sitio web.

Para asegurar que el sito llega a su audiencia potencial se hace uso de la promoción. La forma de llevar a cabo una

campaña de publicidad o promoción dependerá de la naturaleza y características del sitio web.

Se debe crear expectación, un conocimiento previo del sitio en los potenciales usuarios. Para ello es recomendable

que antes del lanzamiento, desde la misma URL que tendrá finalmente el sitio, se ofrezca una página web

explicativa de lo que será el sitio, cuándo estará disponible, así como información de contacto.

Una vez realizado el lanzamiento se deben utilizar técnicas de promoción para atraer a los usuarios hacia el sitio:

Banners publicitarios : Ya sea desde sitios web externos pero relacionados temáticamente con el sitio a

promocionar, o desde el mismo sitio web cuando lo que se promociona es un sub-sitio o sección interna.

Inclusión en buscadores y directorios : La inclusión del sitio web en índices y motores de búsqueda es la

técnica más eficiente para atraer usuarios. Si el sitio web es público (de acceso no limitado o controlado)

Page 29: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

28

se debe haber diseñado de tal forma que facilite su indización automática. Si el sitio web no es público

(por ejemplo un master virtual), y los contenidos no son accesibles, se debe crear un mini-sitio público

que explique toda la información posible acerca del sitio, para que este sea indizado por los buscadores.

Campañas de correo electrónico : Si se posee una base de datos con correos electrónicos de usuarios

potenciales (y es legal la posesión y uso de esta información), se puede informar directamente a estos

usuarios del lanzamiento del sitio. Otro mecanismo muy útil es la promoción a través del envío de

mensajes a listas de correo relacionadas temáticamente con el sitio web.

5.5. MANTENIMIENTO Y SEGUIMIENTO

Un sitio web no es una entidad estática, es un objeto vivo cuyos contenidos cambian; cuya audiencia, necesidades

y perfiles cambian, y que por lo tanto requiere de continuos rediseños y mejoras.

Estos rediseños deben ser muy sutiles, no se puede cambiar el aspecto y diseño de forma drástica de un día para

otro, pues aunque estos cambios estén fundamentados en problemas de usabilidad descubiertos post-

lanzamiento, los cambios pueden resultar dramáticos para los actuales usuarios que ya estaban acostumbrados y

familiarizados con el actual diseño.

Los problemas de uso no detectados durante el proceso de desarrollo pueden descubrirse a través de varios

métodos, principalmente a través de los mensajes y opiniones de los usuarios, y su comportamiento y uso del sitio.

5.5.1. OPINIONES DE LOS USUARIOS

Esta información puede ser obtenida de forma pasiva - a través de los mensajes enviados por los usuarios acerca

de problemas que han tenido con el uso del sitio - o de forma activa - por medio de cuestionarios y encuestas

realizadas sobre la audiencia -.

Las opiniones expresadas por los usuarios indican posibles problemas de usabilidad, pero no son en sí mismas la

respuesta a estos problemas. Por ejemplo, si un usuario envía un email preguntando por qué desde la home page

no encuentra un enlace al recurso X, no significa que debamos implementar este enlace, sino que posiblemente el

recurso X sea poco visible o de difícil localización.

Igualmente, en los cuestionarios no se deben hacer preguntas del tipo "¿Preferiría que el diseño fuera de tal

forma?", sino del tipo "¿Ha tenido algún problema para localizar el recurso X?" ó "¿Le ha resultado fácil el uso de la

herramienta X?". Los resultados de los cuestionarios no indican la usabilidad del sitio, sino la satisfacción del

usuario. Si la satisfacción es baja, habrá que mejorar la usabilidad.

Page 30: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

29

5.5.2. COMPORTAMIENTO DEL USUARIO Y USO DEL SITIO

Una vez que el sitio web ha sido lanzado y es usado diariamente, tenemos a nuestra disposición una nueva fuente

de información sobre el comportamiento del usuario: Los ficheros "log".

Estos, son extensos ficheros de texto plano que genera el servidor web, y en los que se registra cada una de las

peticiones de páginas realizadas por los clientes al servidor.

Por cada petición del cliente al servidor se suele registrar la siguiente información:

Dirección IP del cliente

Identidad del usuario (para sitios con identificación)

Password de acceso (para sitios con identificación)

Fecha y hora de la petición

Método

Path o directorio de la página en el servidor

Código que indica si la petición ha sido resuelta correctamente o no

Número de bytes trasferidos entre cliente y servidor

Página desde la que se pide el archivo al servidor (puede ser una URL interna si a la página se llega por un

enlace del mismo sitio web, o externa, en el caso de que sea a través de otro sitio web)

Información sobre el agente software (navegador) del cliente

A través del análisis de los ficheros logs se pueden responder preguntas como: ¿quién usa el sitio? ¿cuándo lo usa?

¿qué páginas suelen ser las más visitadas? ¿desde qué páginas se llega? ¿qué términos utiliza el usuario para

interrogar al buscador interno?...

Se trata realmente de una información muy valiosa que correctamente analizada (normalmente ayudándonos de

software específico), puede servirnos para la toma de decisiones sobre el rediseño en sitios web implementados.

6. CONCLUSIONES

En este trabajo se ha descrito, a grandes rasgos, cómo diseñar sitios web usables a través de la aplicación de

técnicas, recomendaciones de diseño, métodos y procedimientos de Diseño Centrado en el Usuario.

El Diseño Web Centrado en el Usuario es un marco metodológico y una filosofía de diseño claramente

multidisciplinar, por lo que en la práctica debería ser aplicado idealmente por equipos de desarrollo

interdisciplinares. En el contexto de estos equipos de desarrollo, el perfil del profesional de la documentación se

adecua especialmente con las tareas de Arquitectura de Información.

Es de esperar que ante la posibilidad de conquista de nuevos nichos de trabajo, todos estos nuevos conocimientos

se vayan integrando en los actuales planes de estudio de Biblioteconomía y Documentación, así como la

proliferación de cursos de formación especializada impartidos por investigadores de nuestra área.

Page 31: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

30

3.5 DATA MINING

La minería de datos (DM, Data Mining) consiste en la extracción no trivial de información que reside de manera

implícita en los datos. Dicha información era previamente desconocida y podrá resultar útil para algún proceso. En

otras palabras, la minería de datos prepara, sondea y explora los datos para sacar la información oculta en ellos.

Bajo el nombre de minería de datos se engloba todo un conjunto de técnicas encaminadas a la extracción de

conocimiento procesable, implícito en las bases de datos. Está fuertemente ligado con la supervisión de procesos

industriales ya que resulta muy útil para aprovechar los datos almacenados en las bases de datos.

Las bases de la minería de datos se encuentran en la inteligencia artificial y en el análisis estadístico. Mediante los

modelos extraídos utilizando técnicas de minería de datos se aborda la solución a problemas de predicción,

clasificación y segmentación.

PROCESO

Un proceso típico de minería de datos consta de los siguientes pasos generales:

Selección del conjunto de datos, tanto en lo que se refiere a las variables objetivo (aquellas que se quiere

predecir, calcular o inferir), como a las variables independientes (las que sirven para hacer el cálculo o

proceso), como posiblemente al muestreo de los registros disponibles.

Análisis de las propiedades de los datos, en especial los histogramas, diagramas de dispersión, presencia

de valores atípicos y ausencia de datos (valores nulos).

Transformación del conjunto de datos de entrada, se realizará de diversas formas en función del análisis

previo, con el objetivo de prepararlo para aplicar la técnica de minería de datos que mejor se adapte a los

datos y al problema, a este paso también se le conoce como preprocesamiento de los datos.

Seleccionar y aplicar la técnica de minería de datos, se construye el modelo predictivo, de clasificación o

segmentación.

Extracción de conocimiento, mediante una técnica de minería de datos, se obtiene un modelo de

conocimiento, que representa patrones de comportamiento observados en los valores de las variables del

problema o relaciones de asociación entre dichas variables. También pueden usarse varias técnicas a la

vez para generar distintos modelos, aunque generalmente cada técnica obliga a un preprocesado

diferente de los datos.

Interpretación y evaluación de datos, una vez obtenido el modelo, se debe proceder a su validación

comprobando que las conclusiones que arroja son válidas y suficientemente satisfactorias. En el caso de

haber obtenido varios modelos mediante el uso de distintas técnicas, se deben comparar los modelos en

busca de aquel que se ajuste mejor al problema. Si ninguno de los modelos alcanza los resultados

esperados, debe alterarse alguno de los pasos anteriores para generar nuevos modelos.

Page 32: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

31

Si el modelo final no superara esta evaluación el proceso se podría repetir desde el principio o, si el experto lo

considera oportuno, a partir de cualquiera de los pasos anteriores. Esta retroalimentación se podrá repetir cuantas

veces se considere necesario hasta obtener un modelo válido.

Una vez validado el modelo, si resulta ser aceptable (proporciona salidas adecuadas y/o con márgenes de error

admisibles) éste ya está listo para su explotación. Los modelos obtenidos por técnicas de minería de datos se

aplican incorporándolos en los sistemas de análisis de información de las organizaciones, e incluso, en los sistemas

transaccionales. En este sentido cabe destacar los esfuerzos del Data Mining Group, que está estandarizando el

lenguaje PMML (Predictive Model Markup Language), de manera que los modelos de minería de datos sean

interoperables en distintas plataformas, con independencia del sistema con el que han sido construidos. Los

principales fabricantes de sistemas de bases de datos y programas de análisis de la información hacen uso de este

estándar.

Tradicionalmente, las técnicas de minería de datos se aplicaban sobre información contenida en almacenes de

datos. De hecho, muchas grandes empresas e instituciones han creado y alimentan bases de datos especialmente

diseñadas para proyectos de minería de datos en las que centralizan información potencialmente útil de todas sus

áreas de negocio. No obstante, actualmente está cobrando una importancia cada vez mayor la minería de datos

desestructurados como información contenida en ficheros de texto, en Internet, etc.

PROTOCOLO DE UN PROYECTO DE MINERÍA DE DATOS

Un proyecto de minería de datos tiene varias fases necesarias que son, esencialmente:

Comprensión del negocio y del problema que se quiere resolver.

Determinación, obtención y limpieza de los datos necesarios.

Creación de modelos matemáticos.

Validación, comunicación, etc. de los resultados obtenidos.

Integración, si procede, de los resultados en un sistema transaccional o similar.

La relación entre todas estas fases sólo es lineal sobre el papel. En realidad, es mucho más compleja y esconde

toda una jerarquía de subfases. A través de la experiencia acumulada en proyectos de minería de datos se han ido

desarrollando metodologías que permiten gestionar esta complejidad de una manera más o menos uniforme.

TÉCNICAS DE MINERÍA DE DATOS

Como ya se ha comentado, las técnicas de la minería de datos provienen de la Inteligencia artificial y de la

estadística, dichas técnicas, no son más que algoritmos, más o menos sofisticados que se aplican sobre un

conjunto de datos para obtener unos resultados.

LAS TÉCNICAS MÁS REPRESENTATIVAS SON:

Page 33: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

32

Redes neuronales.- Son un paradigma de aprendizaje y procesamiento automático inspirado en la forma en que

funciona el sistema nervioso de los animales. Se trata de un sistema de interconexión de neuronas en una red que

colabora para producir un estímulo de salida. Algunos ejemplos de red neuronal son:

El Perceptrón.

El Perceptrón multicapa.

Los Mapas Autoorganizados, también conocidos como redes de Kohonen.

Regresión lineal.- Es la más utilizada para formar relaciones entre datos. Rápida y eficaz pero insuficiente en

espacios multidimensionales donde puedan relacionarse más de 2 variables.

Árboles de decisión.- Un árbol de decisión es un modelo de predicción utilizado en el ámbito de la inteligencia

artificial, dada una base de datos se construyen estos diagramas de construcciones lógicas, muy similares a los

sistemas de predicción basados en reglas, que sirven para representar y categorizar una serie de condiciones que

suceden de forma sucesiva, para la resolución de un problema. Ejemplos:

Algoritmo ID3.

Algoritmo C4.5.

Modelos estadísticos.- Es una expresión simbólica en forma de igualdad o ecuación que se emplea en todos los

diseños experimentales y en la regresión para indicar los diferentes factores que modifican la variable de

respuesta.

Agrupamiento o Clustering.- Es un procedimiento de agrupación de una serie de vectores según criterios

habitualmente de distancia; se tratará de disponer los vectores de entrada de forma que estén más cercanos

aquellos que tengan características comunes. Ejemplos:

Algoritmo K-means.

Algoritmo K-medoids.

Según el objetivo del análisis de los datos, los algoritmos utilizados se clasifican en supervisados y no supervisados

(Weiss y Indurkhya, 1998):

Algoritmos supervisados (o predictivos): predicen un dato (o un conjunto de ellos) desconocido a priori, a

partir de otros conocidos.

Algoritmos no supervisados (o del descubrimiento del conocimiento): se descubren patrones y tendencias

en los datos.

EJEMPLOS DE USO DE LA MINERÍA DE DATOS

NEGOCIOS

Page 34: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

33

La minería de datos puede contribuir significativamente en las aplicaciones de administración empresarial basada

en la relación con el cliente. En lugar de contactar con el cliente de forma indiscriminada a través de un centro de

llamadas o enviando cartas, sólo se contactará con aquellos que se perciba que tienen una mayor probabilidad de

responder positivamente a una determinada oferta o promoción.

Por lo general, las empresas que emplean minería de datos ven rápidamente el retorno de la inversión, pero

también reconocen que el número de modelos predictivos desarrollados puede crecer muy rápidamente.

En lugar de crear modelos para predecir qué clientes pueden cambiar, la empresa podría construir modelos

separados para cada región y/o para cada tipo de cliente. También puede querer determinar qué clientes van a ser

rentables durante una ventana de tiempo (una quincena, un mes, ...) y sólo enviar las ofertas a las personas que es

probable que sean rentables. Para mantener esta cantidad de modelos, es necesario gestionar las versiones de

cada modelo y pasar a una minería de datos lo más automatizada posible.

HÁBITOS DE COMPRA EN SUPERMERCADOS

El ejemplo clásico de aplicación de la minería de datos tiene que ver con la detección de hábitos de compra en

supermercados. Un estudio muy citado detectó que los viernes había una cantidad inusualmente elevada de

clientes que adquirían a la vez pañales y cerveza. Se detectó que se debía a que dicho día solían acudir al

supermercado padres jóvenes cuya perspectiva para el fin de semana consistía en quedarse en casa cuidando de

su hijo y viendo la televisión con una cerveza en la mano. El supermercado pudo incrementar sus ventas de cerveza

colocándolas próximas a los pañales para fomentar las ventas compulsivas.

PATRONES DE FUGA

Un ejemplo más habitual es el de la detección de patrones de fuga. En muchas industrias —como la banca, las

telecomunicaciones, etc.— existe un comprensible interés en detectar cuanto antes aquellos clientes que puedan

estar pensando en rescindir sus contratos para, posiblemente, pasarse a la competencia. A estos clientes —y en

función de su valor— se les podrían hacer ofertas personalizadas, ofrecer promociones especiales, etc., con el

objetivo último de retenerlos. La minería de datos ayuda a determinar qué clientes son los más proclives a darse

de baja estudiando sus patrones de comportamiento y comparándolos con muestras de clientes que,

efectivamente, se dieron de baja en el pasado.

FRAUDES

Un caso análogo es el de la detección de transacciones de lavado de dinero o de fraude en el uso de tarjetas de

crédito o de servicios de telefonía móvil e, incluso, en la relación de los contribuyentes con el fisco. Generalmente,

estas operaciones fraudulentas o ilegales suelen seguir patrones característicos que permiten, con cierto grado de

probabilidad, distinguirlas de las legítimas y desarrollar así mecanismos para tomar medidas rápidas frente a ellas.

Page 35: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

34

RECURSOS HUMANOS

La minería de datos también puede ser útil para los departamentos de recursos humanos en la identificación de las

características de sus empleados de mayor éxito. La información obtenida puede ayudar a la contratación de

personal, centrándose en los esfuerzos de sus empleados y los resultados obtenidos por éstos. Además, la ayuda

ofrecida por las aplicaciones para Dirección estratégica en una empresa se traducen en la obtención de ventajas a

nivel corporativo, tales como mejorar el margen de beneficios o compartir objetivos; y en la mejora de las

decisiones operativas, tales como desarrollo de planes de producción o gestión de mano de obra.

COMPORTAMIENTO EN INTERNET

También es un área en boga el del análisis del comportamiento de los visitantes —sobre todo, cuando son clientes

potenciales— en una página de Internet. O la utilización de la información —obtenida por medios más o menos

legítimos— sobre ellos para ofrecerles propaganda adaptada específicamente a su perfil. O para, una vez que

adquieren un determinado producto, saber inmediatamente qué otro ofrecerle teniendo en cuenta la información

histórica disponible acerca de los clientes que han comprado el primero.

TERRORISMO

La minería de datos ha sido citada como el método por el cual la unidad Able Danger del Ejército de los EE. UU.

había identificado al líder de los atentados del 11 de septiembre de 2001, Mohammed Atta, y a otros tres

secuestradores del "11-S" como posibles miembros de una célula de Al Qaeda que operan en los EE. UU. más de un

año antes del ataque. Se ha sugerido que tanto la Agencia Central de Inteligencia y sus homóloga canadiense,

Servicio de Inteligencia y Seguridad Canadiense, también han empleado este método.1

JUEGOS

Desde comienzos de la década de 1960, con la disponibilidad de oráculos para determinados juegos

combinacionales, también llamados finales de juego de tablero (por ejemplo, para las tres en raya o en finales de

ajedrez) con cualquier configuración de inicio, se ha abierto una nueva área en la minería de datos que consiste en

la extracción de estrategias utilizadas por personas para estos oráculos. Los planteamientos actuales sobre

reconocimiento de patrones, no parecen poder aplicarse con éxito al funcionamiento de estos oráculos. En su

lugar, la producción de patrones perspicaces se basa en una amplia experimentación con bases de datos sobre

esos finales de juego, combinado con un estudio intensivo de los propios finales de juego en problemas bien

diseñados y con conocimiento de la técnica (datos previos sobre el final del juego). Ejemplos notables de

investigadores que trabajan en este campo son Berlekamp en el juego de puntos-y-cajas (o Timbiriche) y John

Nunn en finales de ajedrez.

CIENCIA E INGENIERÍA

Page 36: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

35

En los últimos años la minería de datos se está utilizando ampliamente en diversas áreas relacionadas con la

ciencia y la ingeniería. Algunos ejemplos de aplicación en estos campos son:

GENÉTICA

En el estudio de la genética humana, el objetivo principal es entender la relación cartográfica entre las partes y la

variación individual en las secuencias del ADN humano y la variabilidad en la susceptibilidad a las enfermedades.

En términos más llanos, se trata de saber cómo los cambios en la secuencia de ADN de un individuo afectan al

riesgo de desarrollar enfermedades comunes (como por ejemplo el cáncer). Esto es muy importante para ayudar a

mejorar el diagnóstico, prevención y tratamiento de las enfermedades. La técnica de minería de datos que se

utiliza para realizar esta tarea se conoce como "reducción de dimensionalidad multifactorial".

INGENIERÍA ELÉCTRICA

En el ámbito de la ingeniería eléctrica, las técnicas minería de datos han sido ampliamente utilizadas para

monitorizar las condiciones de las instalaciones de alta tensión. La finalidad de esta monitorización es obtener

información valiosa sobre el estado del aislamiento de los equipos. Para la vigilancia de las vibraciones o el análisis

de los cambios de carga en transformadores se utilizan ciertas técnicas para agrupación de datos (clustering) tales

como los Mapas Auto-Organizativos (SOM, Self-organizing map). Estos mapas sirven para detectar condiciones

anormales y para estimar la naturaleza de dichas anomalías

ANÁLISIS DE GASES

También se han aplicado técnicas de minería de datos para el análisis de gases disueltos (DGA, Dissolved gas

analysis) en transformadores eléctricos. El análisis de gases disueltos se conoce desde hace mucho tiempo como

herramienta para diagnosticar transformadores. Los Mapas Auto-Organizativos (SOM) se utilizan para analizar

datos y determinar tendencias que podrían pasarse por alto utilizando las técnicas clásicas DGA.

MINERÍA DE DATOS Y OTRAS DISCIPLINAS ANÁLOGAS

Suscita cierta polémica el definir las fronteras existentes entre la minería de datos y disciplinas análogas, como

pueden serlo la estadística, la inteligencia artificial, etc. Hay quienes sostienen que la minería de datos no es sino

Page 37: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

36

estadística envuelta en una jerga de negocios que la conviertan en un producto vendible. Otros, en cambio,

encuentran en ella una serie de problemas y métodos específicos que la hacen distinta de otras disciplinas.

El hecho es, que en la práctica la totalidad de los modelos y algoritmos de uso general en minería de datos —redes

neuronales, árboles de regresión y clasificación, modelos logísticos, análisis de componentes principales, etc.—

gozan de una tradición relativamente larga en otros campos.

Ciertamente, la minería de datos bebe de la estadística, de la que toma las siguientes técnicas:

Análisis de varianza, mediante el cual se evalúa la existencia de diferencias significativas entre las medias

de una o más variables continuas en poblaciones distintos.

Regresión: define la relación entre una o más variables y un conjunto de variables predictoras de las

primeras.

Prueba chi-cuadrado: por medio de la cual se realiza el contraste la hipótesis de dependencia entre

variables.

Análisis de agrupamiento o clustering: permite la clasificación de una población de individuos

caracterizados por múltiples atributos (binarios, cualitativos o cuantitativos) en un número determinado

de grupos, con base en las semejanzas o diferencias de los individuos.

Análisis discriminante: permite la clasificación de individuos en grupos que previamente se han

establecido, permite encontrar la regla de clasificación de los elementos de estos grupos, y por tanto una

mejor identificación de cuáles son las variables que definan la pertenencia al grupo.

Series de tiempo: permite el estudio de la evolución de una variable a través del tiempo para poder

realizar predicciones, a partir de ese conocimiento y bajo el supuesto de que no van a producirse cambios

estructurales.

De la informática toma las siguientes técnicas:

Algoritmos genéticos: Son métodos numéricos de optimización, en los que aquella variable o variables

que se pretenden optimizar junto con las variables de estudio constituyen un segmento de información.

Aquellas configuraciones de las variables de análisis que obtengan mejores valores para la variable de

respuesta, corresponderán a segmentos con mayor capacidad reproductiva. A través de la reproducción,

los mejores segmentos perduran y su proporción crece de generación en generación. Se puede además

introducir elementos aleatorios para la modificación de las variables (mutaciones). Al cabo de cierto

número de iteraciones, la población estará constituida por buenas soluciones al problema de

optimización, pues las malas soluciones han ido descartándose, iteración tras iteración.

Inteligencia Artificial: Mediante un sistema informático que simula un sistema inteligente, se procede al

análisis de los datos disponibles. Entre los sistemas de Inteligencia Artificial se encuadrarían los Sistemas

Expertos y las Redes Neuronales.

Sistemas Expertos: Son sistemas que han sido creados a partir de reglas prácticas extraídas del

conocimiento de expertos. Principalmente a base de inferencias o de causa-efecto.

Sistemas Inteligentes: Son similares a los sistemas expertos, pero con mayor ventaja ante nuevas

situaciones desconocidas para el experto.

Redes neuronales: Genéricamente, son métodos de proceso numérico en paralelo, en el que las variables

interactúan mediante transformaciones lineales o no lineales, hasta obtener unas salidas. Estas salidas se

Page 38: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

37

contrastan con los que tenían que haber salido, basándose en unos datos de prueba, dando lugar a un

proceso de retroalimentación mediante el cual la red se reconfigura, hasta obtener un modelo adecuado.

MINERÍA DE DATOS BASADA EN TEORÍA DE LA INFORMACIÓN

Todas las herramientas tradicionales de minería de datos asumen que los datos que usarán para construir los

modelos contienen la información necesaria para lograr el propósito buscado: obtener suficiente conocimiento

que pueda ser aplicado al negocio (o problema) para obtener un beneficio (o solución).

El inconveniente es que esto no es necesariamente cierto. Además, existe otro problema mayor aún. Una vez

construido el modelo no es posible conocer si el mismo ha capturado toda la información disponible en los datos.

Por esta razón la práctica común es realizar varios modelos con distintos parámetros para ver si alguno logra

mejores resultados.

Un enfoque relativamente nuevo al análisis de datos soluciona estos problemas haciendo que la práctica de la

minería de datos se parezca más a una ciencia que a un arte.

En 1948 Claude Shannon publicó un trabajo llamado “Una Teoría Matemática de la Comunicación”.

Posteriormente esta pasó a llamarse Teoría de la información y sentó las bases de la comunicación y la codificación

de la información. Shannon propuso una manera de medir la cantidad de información a ser expresada en bits.

En 1999 Dorian Pyle publicó un libro llamado “Data Preparation for Data Mining” en el que propone una manera

de usar la Teoría de la Información para analizar datos. En este nuevo enfoque, una base de datos es un canal que

transmite información. Por un lado está el mundo real que captura datos generados por el negocio. Por el otro

están todas las situaciones y problemas importantes del negocio. Y la información fluye desde el mundo real y a

través de los datos, hasta la problemática del negocio.

Con esta perspectiva y usando la Teoría de la información, es posible medir la cantidad de información disponible

en los datos y qué porción de la misma podrá utilizarse para resolver la problemática del negocio. Como un

ejemplo práctico, podría encontrarse que los datos contienen un 65% de la información necesaria para predecir

qué cliente rescindirán sus contratos. De esta manera, si el modelo final es capaz de hacer predicciones con un

60% de acierto, se puede asegurar que la herramienta que generó el modelo hizo un buen trabajo capturando la

información disponible. Ahora, si el modelo hubiese tenido un porcentaje de aciertos de solo el 10%, por ejemplo,

entonces intentar otros modelos o incluso con otras herramientas podría valer la pena.

La capacidad de medir información contenida en los datos tiene otras ventajas importantes.

Al analizar los datos desde esta nueva perspectiva se genera un mapa de información que hace innecesario la

preparación previa de los datos, una tarea absolutamente imprescindible si se desea buenos resultados, pero que

lleva enorme cantidad de tiempo.

Es posible seleccionar un grupo de variables óptimo que contenga la información necesaria para realizar un

modelo de predicción.

Page 39: UNIDAD III APLICACIONES Y SERVICIOS - itesrc.edu.mxitesrc.edu.mx/ericktapia/docs/chapter03_UIII.pdf · 1 Si bien la tecnología CGI resolvía el problema de la presentación exclusiva

38

Una vez que las variables son procesadas con el fin de crear el mapa de información y luego seleccionadas aquellas

que aportan la mayor información, la elección de la herramienta que se usará para crear el modelo deja de tener

importancia, ya que el mayor trabajo fue realizado en los pasos previos.

TENDENCIAS

La Minería de Datos ha sufrido transformaciones en los últimos años de acuerdo con cambios tecnológicos, de

estrategias de marketing, la extensión de los modelos de compra en línea, etc. Los más importantes de ellos son:

La importancia que han cobrado los datos no estructurados (texto, páginas 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 prácticamente en línea (por ejemplo, que frente a un fraude

con una tarjeta de crédito).

Los tiempos de respuesta. El gran volumen de datos que hay que procesar en muchos casos para obtener un

modelo válido es un inconveniente; esto implica grandes cantidades de tiempo de proceso y hay problemas que

requieren una respuesta en tiempo real.