SlideShare una empresa de Scribd logo
1 de 108
Internet, la red de redes.
Nace a mediados de la década de los setenta,
bajo los auspicios de DARPA, la Agencia de
Proyectos Avanzados para la Defensa de Estados
Unidos. DARPA inició un programa de
investigación de técnicas y tecnologías para unir
diversas redes de conmutación de paquetes,
permitiendo así a los ordenadores conectados a
estas redes comunicarse entre sí de forma fácil y
transparente.
De estos proyectos nació un protocolo de
comunicaciones de datos, IP o Internet Protocol,
que permitía a ordenadores diversos comunicarse
a través de una red, Internet, formada por la
interconexión de diversas redes.
A mediados de los ochenta la Fundación Nacional
para la Ciencia norteamericana, la NSF, creó una
red, la NSFNET, que se convirtió en el backbone
(el troncal) de Internet junto con otras redes
similares creadas por la NASA (NSINet) y el U.S.
DoE (Department of Energy) con la ESNET. En
Europa, la mayoría de países disponían de back
bones nacionales (NORDUNET, RedIRIS,
SWITCH, etc.) y una serie de iniciativas
paneuropeas (EARN y RARE).
En esta época aparecen los primeros
proveedores de acceso a Internet privados que
ofrecen acceso pagado a Internet.
A partir de esta época, gracias entre otras cosas a
la amplia disponibilidad de implementaciones de
la suite de protocolos TCP/IP (formada por todos
los protocolos de Internet y no sólo por TCP e IP),
algunas de las cuales eran ya de código libre,
Internet empezó lo que posteriormente se
convertiría en una de sus características
fundamentales, un ritmo de crecimiento
exponencial, hasta que a mediados del 2002
empieza a descender ligeramente.
A mediados de los noventa se inició el boom de
Internet. En esa época el número de proveedores
de acceso privado se disparó, permitiendo a
millones de personas acceder a Internet, que a
partir de ese momento ya se empezó a conocer
como la Red, desbancado a las demás redes de
comunicación existentes (Compuserve,
FidoNet/BBS, etc.)
El punto de inflexión vino marcado por la
aparición de implementaciones de TCP/IP
gratuitas (incluso de implementaciones que
formaban parte del sistema operativo) así como
por la popularización y abaratamiento de medios
de acceso cada vez más rápidos (módems de
mayor velocidad, RDSI, ADSL, cable, satélite.)
El efecto de todos estos cambios fue de “bola de
nieve”: a medida que se conectaban más
usuarios, los costes se reducían, aparecían más
proveedores e Internet se hacía más atractivo y
económico, con lo que se conectaban más
usuarios, etc.
A pesar del ligero descenso en su ritmo de
crecimiento, Internet está destinado a convertirse
en “un servicio universal de comunicación”
La WWW como servicio de Internet.
En 1989, mientras trabajaba en el CERN (Centro
Europeo de Investigación Nuclear), Tim Berners-
Lee empezó a diseñar un sistema para hacer
accesible fácilmente la información del CERN.
Dicho sistema empleaba el hipertexto para
estructurar una red de enlaces entre los
documentos. Una vez obtenida la aprobación para
continuar el proyecto, nació el primer navegador
web, llamado WorldWideWeb.
En 1992 el sistema ya se había extendido fuera
del CERN. El número de servidores “estables”
había aumentado, alcanzando la sorprendente
cifra de veintiséis.
A partir de este punto, el crecimiento es
espectacular. En 1993 la web ya era merecedora
de un espacio en el New York Times.
Éste es el año del lanzamiento de Mosaic, un
navegador para X-Window/Unís que con el tiempo
se convertiría en Netscape y que fue un
factor clave de popularización de la web. En 1994
se fundó el WWWConsortium, que se convertiría
en el motor de desarrollo de los estándares
predominantes en la web (http://www.w3c.org).
A partir de ese momento, el crecimiento ya fue
constante, convirtiéndose hacia finales de los
noventa en el servicio insignia de Internet y dando
lugar al crecimiento imparable de los servicios en
línea que estamos experimentado actualmente.
Fundamentos de la web.
El protocolo HTTP.
El lenguaje HTML.
El protocolo HTTP (hypertext tranfer protocol) es
el protocolo base de la WWW. Se trata de un
protocolo simple, orientado a conexión y sin
estado.
Está orientado a conexión por que emplea para
su funcionamiento el TCP de modo conectado,
que establece un canal de comunicaciones de
extremo a extremo (entre el cliente y el servidor)
por el que pasa el flujo de bytes (los datos que
hay que transferir), en contraposición a los
protocolos de datagrama (no orientados a
conexión) que dividen los datos en pequeños
paquetes (datagramas) y los envían, pudiendo
llegar por vías diferentes del servidor al cliente.
El protocolo no mantiene estado, es decir, cada
transferencia de datos es una conexión
independiente de la anterior, sin relación alguna
entre ellas, hasta el punto de que para transferir
una página web tenemos que enviar el código
HTML del texto, así como las imágenes que la
componen.
En la especificación HTTP 1.0, se abrían y
usaban tantas conexiones como componentes
tenía la página, trasfiriéndose por cada conexión
un componente (el texto de la página o cada una
de las imágenes)
HTTPS (S por secure) que utiliza el protocolo de
seguridad SSL (secure socket layer) para cifrar y
autenticar el tráfico entre cliente y servidor, siendo
ésta muy usada por los servidores web de
comercio electrónico, así como por aquellos que
contienen información personal o confidencial.
El funcionamiento de HTTP es el siguiente: el
cliente establece una conexión TCP hacia el
servidor, hacia el puerto HTTP (o el indicado en la
dirección de conexión), envía un comando HTTP
de petición de un recurso (junto con algunas cabe
ceras informativas) y por la misma conexión el
servidor responde con los datos solicitados y con
algunas cabeceras informativas.
El protocolo define además cómo codificar el paso
de parámetros entre páginas, el tunelizar las
conexiones (para sistemas de firewall), define la
existencia de servidores intermedios de cache,
etc.
Las directivas de petición de información que
define HTTP 1.1 (la versión considerada estable y
al uso) son:
GET Petición de recurso.
POST Petición de recurso pasando parámetros.
HEAD Petición de datos sobre recurso.
PUT Creación o envío de recurso.
DELETE Eliminación de recurso.
TRACE Devuelve al origen la petición tal como se ha
recibido en el receptor, para depurar errores.
OPTIONS Sirve para comprobar las capacidades del
servidor.
CONNECT Reservado para uso en servidores
intermedios capaces de funcionar como túneles.
Las peticiones en HTTP pueden realizarse usando dos
métodos. El método GET, en caso de enviar parámetros
junto a la petición, las enviaría codificadas en la URL.
Por su parte, el método POST, en caso de enviarlos, lo
haría como parte del cuerpo de la petición.
Una petición GET sigue el siguiente formato:
GET /index.html HTTP/1.1
Host: www.ejemplo.com
User-Agent: Mozilla/4.5 [en]
Accept: image/gif, image/jpeg, text/html
Accept-language: en
Accept-Charset: iso-8859-1
Podemos ver que está formada por:
1. Línea de petición: contiene el recurso solicitado.
2. Cabecera de petición: contiene información adicional
sobre el cliente.
3. Cuerpo de petición: en las peticiones de tipo POST, y
otras, contiene información adicional.
• Línea de petición
La línea de petición está formada por los siguientes
elementos:
1. Método: nombre del método de HTTP llamado (GET,
POST, etc.).
2. Identificador de recurso: URL (uniform resource
locator) del recurso solicitado.
3. Versión de protocolo: versión del protocolo solicitada
para la respuesta.
• Cabecera de petición
Contiene información adicional que puede ayudar al
servidor (o a los servidores intermedios, los proxies y
caches) a procesar adecuadamente la petición.
La información se proporciona en forma de:
Identificador: valor
De estos identificadores, los más conocidos e
importantes son:
Host: nombre del servidor solicitado.
User-Agent: nombre del navegador o programa usado
para acceder al recurso.
Accept: algunos formatos de texto e imagen aceptados
por el cliente.
Accept-Language: idiomas soportados (preferidos) por el
cliente, útil para personalizar la respuesta
automáticamente.
• Parámetros de petición
Una petición HTTP puede también contener parámetros,
como respuesta, por ejemplo, a un formulario de registro,
a una selección de producto en una tienda electrónica,
etc. Estos parámetros pueden pasarse de dos formas:
– Como parte de la cadena de petición, codificados
como parte de la URL.
– Como datos extra a la petición.
Para codificar los parámetros como parte de la URL,
éstos se añaden a la URL detrás del nombre del recurso,
separados de éste por un carácter ?.
Los diferentes parámetros se separan entre sí por el
carácter &. Los espacios se sustituyen por +. Por último,
los caracteres especiales (los mencionados antes de &,
+ y ?, así como los caracteres no impprimibles, etc.) se
representan con %xx, donde xx representa al código
ASCII en hexadecimal del carácter.
Por ejemplo:
http://www.ejemplo.com/indice.jsp?nombre=John+Doe&OK=1 que
en la petición HTTP quedaría:
GET /indice.jsp?nombre=John+Doe&OK=1 HTTP/1.0
Host: www.ejemplo.com
User-Agent: Mozilla/4.5 [en]
Accept: image/gif, image/jpeg, text/html
Accept-language: en
Accept-Charset: iso-8859-1
Para pasar los parámetros como datos extra de la
petición, éstos se envían al servidor como cuerpo de
mensaje en la petición.
Por ejemplo, la petición anterior quedaría:
POST /indice.jsp HTTP/1.0
Host: www.ejemplo.com
User-Agent: Mozilla/4.5 [en]
Accept: image/gif, image/jpeg, text/html
Accept-language: en
Accept-Charset: iso-8859-1
nombre=John+Doe&OK=1
Para pasar los parámetros como cuerpo de la petición,
ésta debe realizarse como POST y no como GET,
aunque una petición POST también puede llevar
parámetros en la línea de petición.
Los parámetros pasados como cuerpo de la petición
están codificados, al igual que en el ejemplo anterior,
como URL, o pueden usar una codificación derivada del
formato MIME (multipurpose internet mail extensions),
en lo que se conoce como codificación multiparte.
POST /indice.jsp HTTP/1.0
Host: www.ejemplo.com
User-Agent: Mozilla/4.5 [en]
Accept: image/gif, image/jpeg, text/html
Accept-language: en
Accept-Charset: iso-8859-1
Content-Type: multipart/form-data,
delimiter=“----ALEATORIO----”
----ALEATORIO----
Content-Disposition: form-data; name=“nombre”
Perico Palotes
----ALEATORIO----
Content-Disposition: form-data; name=“OK”
1
----ALEATORIO------
Esta codificación es exclusiva del método POST. Se
emplea para enviar ficheros al servidor.
• Respuestas en HTTP
Las respuestas en HTTP son muy similares a las
peticiones. Una respuesta estándar a una petición de
una página sería similar a lo siguiente:
HTTP/1.1 200 OK
Date: Mon, 06 Oct 2031 15:19:10 GMT
Server: Apache/2.0.40 (Red Hat Linux)
Last-Modified: Tue, 09 Sept 2031 08:52:53 GMT
Accept-Ranges: bytes
Content-Length: 428
Connection: close
<HTML>
...
La primera línea nos responde con la versión del
protocolo empleada para enviarnos la página, seguida
de un código de retorno y una frase de retorno. El código
de retorno puede adoptar uno de los siguientes valores:
– 1xx Petición recibida, continúa en proceso.
– 2xx Correcta. Petición procesada correctamente.
– 3xx Redirección. La petición debe repetirse o
redirigirse.
– 4xx Error de cliente. No se puede procesar la petición
porque ésta
es incorrecta, no existe, etc.
– 5xx Error de servidor. El servidor ha fallado intentando
procesar
la petición, que a priori es correcta.
La frase de retorno dependerá de la implementación,
pero sólo sirve como aclaratorio del código de retorno.
Después del estatus aparece una serie de campos de
control, con el mismo formato que en las cabeceras de la
petición que nos informan del contenido (fecha de
creación, longitud, versión del servidor, etc.) A
continuación viene el contenido solicitado.
El lenguaje HTML.
Se trata de un lenguaje de marcas que permite
representar de forma rica el contenido y también
referenciar otros recursos (imágenes, etc.), enlaces a
otros documentos (la característica más destacada del
WWW), mostrar formularios para posteriormente
procesarlos, etc.
Empieza a proporcionar funcionalidades más avanzadas
para crear páginas más ricas en contenido.
Historia de las aplicaciones web.
Inicialmente la web era simplemente una colección de
páginas estáticas, documentos, etc, que podían consultarse
o descargarse.
Su siguiente paso evolutivo fue la inclusión de un método
para confeccionar páginas dinámicas que permitiesen que
lo mostrado fuese dinámico (generado o calculado a partir
de los datos de la petición). Dicho método fue conocido
como CGI (Common Gateway Interface) y definía un
mecanismo mediante el cual podía pasarse información
entre el servidor HTTP y programas externos.
Los CGI siguen siendo muy utilizados, puesto que la
mayoría de los servidores web los soportan debido a su
sencillez. Además, nos proporcionan total libertad a la
hora de escoger el lenguaje de programación para
desarrollarlos.
El esquema de funcionamiento de los CGI tenía un punto
débil: cada vez que recibíamos una petición, el servidor
web lanzaba un proceso que ejecutaba el programa CGI.
Por otro lado, la mayoría de CGI estaban escritos en
algún lenguaje interpretado (Perl, Python, etc.) o en
algún lenguaje que requería run-time environment
(VisualBasic, Java, etc.), esto implicaba una gran carga
para la máquina del servidor. Además, si la web tenía
muchos accesos al CGI, esto suponía problemas graves.
Por ello se empiezan a desarrollar alternativas a los CGI.
Las soluciones vienen principalmente por dos vías. Por
un lado se diseñan sistemas de ejecución de módulos
más integrados con el servidor, que evitan que éste
tenga que instanciar y ejecutar multitud de programas.
La otra vía consiste en dotar al servidor de un intérprete
de algún lenguaje de programación (RXML, PHP,
VBScript, etc.) que permita incluir las páginas en el
código de manera que el servidor sea quien lo ejecute,
reduciendo así el tiempo de respuesta.
A partir de este momento, se vive una explosión del
número de arquitecturas y lenguajes de programación
que nos permiten desarrollar aplicaciones web. Todas
ellas siguen alguna de las dos vías ya mencionadas.
De ellas, las más útiles y las que más se utilizan son
aquellas que permiten mezclar los dos sistemas, es
decir, un lenguaje de programación integrado que
permita al servidor interpretar comandos que “incruste”
en las páginas HTML y un sistema de ejecución de
programas más enlazado con el servidor que no
presente los problemas de rendimiento de los CGI.
Sun Microsystems con su sistema Java, que está
integrada por dos componentes; a saber, un lenguaje
que permite incrustar código interpretable en las páginas
HTML y que el servidor traduce a programas ejecutables,
JSP (Java server pages) y un mecanismo de
programación estrechamente ligado al servidor, con un
rendimiento muy superior a los CGI convencionales,
llamado Java Servlet.
Una de las que más se utiliza en Internet es el lenguaje
de programación interpretado por el servidor PHP. Se
trata de un lenguaje que permite incrustar HTML en los
programas, con una sintaxis que proviene de C y Perl.
Además, habida cuenta de su facilidad de aprendizaje,
su sencillez y potencia.
Servidor web.
Es un programa que atiende y responde a las diversas
peticiones de los navegadores, proporcionándoles los
recursos que solicitan mediante el protocolo HTTP o el
protocolo HTTPS (la versión segura, cifrada y
autenticada de HTTP). Un servidor web básico tiene un
esquema de funcionamiento muy sencillo, ejecutando de
forma infinita el bucle siguiente:
1. Espera peticiones en el puerto TCP asignado (el estándar
para
HTTP es el 80).
2. Recibe una petición.
3. Busca el recurso en la cadena de petición.
4. Envía el recurso por la misma conexión por donde ha
recibido la
petición.
5. Vuelve al punto 2.
Un servidor web que siguiese el esquema anterior
cumpliría los requisitos básicos de los servidores HTTP,
aunque, eso sí, sólo podría servir ficheros estáticos.
A partir del esquema anterior se han diseñado y
construido todos los programas servidores de HTTP que
existen, variando sólo el tipo de peticiones (páginas
estáticas, CGI, Servlets, etc.) que pueden atender, en
función de que sean o no multi-proceso, multi-hilados,
etc. Algunas de las características principales de los
servidores web, que extienden, el esquema anterior son:
Servicio de ficheros estáticos
Todos los servidores web deben incluir, al menos, la
capacidad para servir ficheros estáticos que se
encuentren en alguna parte concreta del disco.
Imprescindible es la capacidad de especificar qué parte
del disco se servirá. Absolutamente no es recomendable
que el servidor obligue a usar un directorio concreto, si
bien puede tener uno por defecto. La mayoría permiten,
además, añadir otros directorios para servir,
especificando en qué punto del “sistema de ficheros”
virtual del servidor se ubicarán.
Puede existir la siguiente situación:
En este caso, el servidor debería traducir las siguientes
direcciones web de la siguiente manera:
Algunos servidores web permiten, además, especificar
directivas de seguridad (para qué direcciones, usuarios,
etc., está visible un directorio, etc.), mientras que otros
hacen posible especificar qué ficheros se considerarán
como índice del directorio.
Seguridad y autenticación.
La mayoría de los servidores web modernos permiten
controlar desde el programa servidor aquellos aspectos
relacionados con la seguridad y la autenticación de los
usuarios. El modo más simple de control es por el uso de
ficheros .htaccess. Proviene de uno de los primeros
servidores web (del NCSA httpd), que consiste en poner
un fichero .htaccess en cualquier directorio del contenido
web que se vaya a servir, indicando en este fichero qué
usuarios, máquinas, etc., tienen acceso a los ficheros y
subdirectorios del directorio donde está el fichero.
Como el servidor de NCSA fue el servidor más usado
durante mucho tiempo, la mayoría de servidores
modernos permiten utilizar el fichero .htaccess
respetando la sintaxis del servidor de NCSA.
Otros servidores permiten especificar reglas de servicio
de directorios y ficheros en la configuración del servidor
web, indicando allí qué usuarios, máquinas, etc., pueden
acceder al recurso indicado.
“Introducción a los Sistemas basados en
la Web (WIS)”
 La World Wide Web
 Modelo Cliente/Servidor
 Paginas Estáticas vs. paginas Dinámicas
 Lenguajes del lado del servidor
 Lenguajes del lado del Cliente
Diseño de Sistemas en Internet
Un sistema de información es un conjunto de elementos
orientados al tratamiento y administración de datos e
información, organizados y listos para su uso posterior,
generados para cubrir una necesidad o un objetivo.
Diseño de Sistemas en Internet
Dichos elementos formarán parte de alguna de las
siguientes categorías:
 Personas.
 Datos.
 Actividades o técnicas de trabajo.
 Recursos materiales en general (generalmente
recursos informáticos y de comunicación, aunque no
necesariamente.)
Diseño de Sistemas en Internet
lEl web como sistema de información
lLa evolución de Internet como red de comunicación
global y el surgimiento y desarrollo del Web como
servicio imprescindible para compartir información, creó
un excelente espacio para la interacción del hombre con
la información hipertextual, a la vez que sentó las bases
para el desarrollo de una herramienta integradora de los
servicios existentes en Internet.
Diseño de Sistemas en Internet
lLos sitios Web, como expresión de sistemas de
información, deben poseer los siguientes componentes:
 Usuarios.
 Mecanismos de entrada y salida de la información.
 Almacenes de datos, información y conocimiento.
 Mecanismos de recuperación de información.
Diseño de Sistemas en Internet
lExisten siete paradigmas que caracterizan el nuevo
paisaje mediático que emerge en la red:
 Interactividad: La red genera un modelo bilateral,
debido a su arquitectura cliente-servidor. Así, los
proveedores de contenidos y los usuarios pueden
establecer un vínculo bilateral, porque sus funciones
resultan intercambiables.
Diseño de Sistemas en Internet
lExisten siete paradigmas que caracterizan el nuevo
paisaje mediático que emerge en la red:
 Multimedialidad: La tecnología digital permite la
integración de todos los formatos de información
(texto, audio, video, gráficos, animaciones) en un
mismo soporte.
Diseño de Sistemas en Internet
lExisten siete paradigmas que caracterizan el nuevo
paisaje mediático que emerge en la red:
 Personalización: Los servicios de información en
línea no sólo se orientan a objetivos con perfiles
demográficos, profesionales o económicos similares,
sino a individuos, porque la red permite responder a
las demandas de información específicas de cada
usuario en particular.
Diseño de Sistemas en Internet
lExisten siete paradigmas que caracterizan el nuevo
paisaje mediático que emerge en la red:
 Multimedialidad: La tecnología digital permite la
integración de todos los formatos de información
(texto, audio, video, gráficos, animaciones) en un
mismo soporte.
Diseño de Sistemas en Internet
lExisten siete paradigmas que caracterizan el nuevo
paisaje mediático que emerge en la red:
 Hipertextualidad: Los soportes digitales permiten un
modelo de construcción narrativa caracterizado por la
distribución de la información en unidades discretas
(nodos) y su articulación mediante órdenes de
programación (enlaces.)
Diseño de Sistemas en Internet
lExisten siete paradigmas que caracterizan el nuevo
paisaje mediático que emerge en la red:
 Mediación: La red cuestiona el paradigma de la
mediación profesional de los comunicadores en los
procesos de acceso del público a las fuentes y a los
propios medios.
Diseño de Sistemas en Internet
lExisten siete paradigmas que caracterizan el nuevo
paisaje mediático que emerge en la red:
 Actualización: La red posibilita el seguimiento al
minuto de la actualidad informativa, y se utiliza en
paralelo con la televisión para retransmitir
acontecimientos a escala mundial en tiempo real.
Diseño de Sistemas en Internet
lExisten siete paradigmas que caracterizan el nuevo
paisaje mediático que emerge en la red:
 Abundancia: Los medios digitales trastocan el
argumento del recurso escaso, porque multiplican los
canales disponibles y trasmiten mayor cantidad de
información en menor tiempo y a escala universal.
Diseño de Sistemas en Internet
lDesde el punto de vista tecnológico, uno de los problemas
que afronta la visión de intercambio en el web, radica en la
calidad de la recuperación de información una vez más.
lBuscar información en Internet, con los buscadores
tradicionales puede compararse con arrastrar una red en
la superficie de un océano: “ no se podrá obtener muchos
peces de aguas profundas”.
Diseño de Sistemas en Internet
lWeb superficial versus web profundo
lEn 1994, la Dra. Jill Ellsworth, especializada en el estudio
de Internet, utilizó el término web invisible, por primera vez,
para denominar a la información que resultaba “invisible”
para los motores de búsqueda convencionales en la web.
lTambién, se denomina “web profunda” (Deep Web), por
oposición a la “web superficial” (Surface Web) cuya
información puede recuperarse con los buscadores de
Internet.
Diseño de Sistemas en Internet
lWeb superficial versus web profundo
lLa existencia de esta denomina red profunda es un
producto de la metodología que utilizan los buscadores
para indexar las páginas. El mecanismo se basa en
programas llamados robots o arañas, que recorren las
páginas de la red siguiendo los enlaces que presentan o se
dirigen hacia ellas. Cuando se utiliza alguno de los
buscadores conocidos, no se busca en toda la red, sino en
su base de datos, construida gracias a la acción de los
robots.
Diseño de Sistemas en Internet
lWeb superficial versus web profundo
lA pesar de su pretendida exhaustividad, se calcula que los
mayores motores de búsqueda indizan sólo entre un tercio y
la mitad de los documentos disponibles.
lEl Web profundo almacena páginas dinámicas que se
obtienen como respuesta a interrogantes directas a bases
de datos, así como documentos en diversos formatos (mp3.
doc, pdf, wma, avi, entre otros), la mayor parte de esta
información no se recupera por medio de los directorios y
buscadores tradicionales.
Diseño de Sistemas en Internet
lWeb superficial versus web profundo
lActualmente, existen herramientas orientadas
específicamente a la labor de recuperar información en el
Web profundo como: buscadores, agentes de búsquedas,
índices generales y portales verticales. Estas herramientas
facilitan el acceso a una mayor parte del Web, porque,
además de buscar en el Web superficial, buscan en el Web
profundo también, inaccesible para la mayor parte de los
buscadores tradicionales. Entre los principales, se
encuentran:
Diseño de Sistemas en Internet
lWeb superficial versus web profundo: Complete Planet.
lPerteneciente a la compañía BrightPlanet, dispone de la
lista más completa de todas las máquinas de la Web
superficial y de las bases de datos del Web profundo.
Creado como un servicio público y como banco de pruebas
para el Gestor de Consultas del Web Profundo (Deep Query
Manager o DQM), que es un servicio para abonados y una
poderosa herramienta para gestionar y descubrir contenido
en Internet.
Diseño de Sistemas en Internet
lWeb superficial versus web profundo: Profusión.
lCreado en 1995 en la Universidad de Kansas como un
metabuscador inteligente para el Web, adquirido por
Intelliseek, en abril de año 2000. Busca en algunas de las
mayores máquinas de búsqueda del web superficial y en un
gran número de fuentes del Web profundo. Permite orientar
las búsquedas al definir tópicos generales donde deben
realizarse. También puede personalizar un grupo de
buscadores correspondientes a determinadas materias y
obtener resultados de los principales buscadores.
Diseño de Sistemas en Internet.
lWeb superficial versus web profundo: Copernic Agent.
lEs un agente inteligente disponible comercialmente que
consulta simultáneamente las más importantes máquinas de
búsquedas en Internet. Posee la versión Copernic Agent
Basic, que es gratuita, además de una versión Profesional.
Copernic Agent Pro, por suscripción y con mayores
capacidades de recuperación de la información; reúne sus
búsquedas en más de 120 categorías especializadas.
Diseño de Sistemas en Internet.
lProcesamiento y recuperación de información: nuevas
aplicaciones.
lResulta de gran importancia traducir esos grandes
volúmenes de datos en información. Los resúmenes
estadísticos no son la única cosa oculta en el mar de datos.
La identificación de patrones comunes, asociaciones, reglas
generales y nuevo conocimiento tiene actualmente un gran
interés para disciplinas como la minería de texto y el
descubrimiento del conocimiento en bases de datos.
Diseño de Sistemas en Internet.
La minería de texto es una de las aplicaciones que, desde
su formulación a principios de la década de los años 90' del
pasado siglo, ha tenido mayor impacto en las actividades de
la inteligencia militar.
Emplea distintas técnicas de la recuperación de información
y la lingüística computacional para facilitar la identificación y
extracción de nuevo conocimiento a partir de colecciones
documentales.
Diseño de Sistemas en Internet.
Tiene como objetivo descubrir información y conocimiento
previamente desconocido y que no existe en ningún
documento previo.
La minería de datos, pretende extraer conocimiento a partir
de patrones observables en grandes colecciones de datos
estructurados que se almacenan en bases de datos
relacionales mientras que la minería de texto realiza la
extracción del nuevo conocimiento a partir de grandes
volúmenes de información no estructurada.
Diseño de Sistemas en Internet.
El alcance de la minería textual no está determinado por el
desarrollo de la Inteligencia Artificial propiamente dicha, sino
que propone un equilibrio entre el análisis humano y
automático a la vez, es decir, un enfoque semiautomático
cuyo objetivo intermedio - previo al descubrimiento del
conocimiento - es procesar y presentar información
disponible en grandes colecciones documentales en un
formato que facilite su comprensión y análisis.
Diseño de Sistemas en Internet.
Funciones de la Minería de Texto:
 dentificar hechos y datos puntuales a partir del texto de
los documentos.
 Agrupar documentos similares (análisis de clusters).
 Determinar tema o temas tratados en un documento
mediante categorización automática de textos.
 Identificar conceptos tratados en documentos y crear
redes de conceptos.
 Visualizar y navegar a través de colecciones de texto.
Diseño de Sistemas en Internet.
Aunque los diferentes campos de aplicación de la minería
de datos demandan el desarrollo de poderosas y costosas
herramientas para crear métodos de búsqueda de patrones,
no es el único camino existente.
Diseño de Sistemas en Internet.
La web, como se conoce hoy, requiere una visión más
integral de los problemas de organización y recuperación de
información, sobre todo, si se considera que se encuentra
estructurado mediante lenguajes de etiquetado que
prácticamente describen sólo la forma en que la información
debe presentarse al usuario (colores, maquetación,
tipografía, etcétera) y dicen muy poco sobre su significado:
semántica.
Diseño de Sistemas en Internet.
El proyecto denominado web semántica (Semantic Web)
busca que la información pueda reunirse de forma que un
buscador pueda comprenderla en lugar de ponerla
simplemente en una lista, donde el trabajo que hasta hoy se
realizaba en función del usuario (el humano), se centrará en
otro tipo de usuario que se valdrá de grandes cúmulos de
información, clasificada, descrita y estructurada para una
eficiente recuperación: el agente inteligente.
Diseño de Sistemas en Internet.
La web actual requiere nuevas formas de organización de la
información y el conocimiento para mejorar la capacidad de
acceso, uso y recuperación de información.
La Web semántica persigue una Web más inteligente, cuyo
objetivo es convertir la información en conocimiento sobre la
base del marcado semántico y descriptivo de la información,
y de los datos, por medio de metadatos, información
estructurada y legible automáticamente.
Diseño de Sistemas en Internet.
La web actual requiere nuevas formas de organización de la
información y el conocimiento para mejorar la capacidad de
acceso, uso y recuperación de información.
La Web semántica persigue una Web más inteligente, cuyo
objetivo es convertir la información en conocimiento sobre la
base del marcado semántico y descriptivo de la información,
y de los datos, por medio de metadatos, información
estructurada y legible automáticamente.
Diseño de Sistemas en Internet.
La Ingeniería Web.
En años recientes, se ha visto un incremento considerable en el
desarrollo de software basado en la web, así como la necesidad de
migrar sistemas de software ya existentes a estos ambientes.
Lo anterior, debido al crecimiento e impacto de Internet y
particularmente de la World Wide Web en las áreas de negocios,
comercio, industria, finanzas, educación, gobierno, entretenimiento y
personales, entre otras; lo cual ha provocado que los requerimientos
de los usuarios de software se vean influenciados y cambien hacia
estos ambientes.
Ingeniería Web (IW), definida como “el establecimiento y uso de
principios científicos, de ingeniería y de administración, así como un
enfoque sistemático y disciplinado para el desarrollo, implantación y
mantenimiento exitoso de sistemas y aplicaciones basados en Web
de alta calidad”
Diseño de Sistemas en Internet.
La Ingeniería Web.
Cabe destacar que la ingeniería web hace una diferencia entre un
webSite y una aplicación, ya que la ingeniería web no se dedica a la
construcción de sitios web sino a la construcción de aplicaciones
web.
La principal característica que los distingue (aplicaciones de sitios
web) es que los sitios web son sitios en la web en donde se publica
contenido generalmente estático o un muy bajo nivel de
interactividad con el usuario, mientras que las aplicaciones son
lugares con alto contenido de interactividad y funcionalidades
que bien podrían ser de un software convencional.
La aplicación web más sencillo seria una que contenga formularios y
subiendo de nivel encontramos los que realizas conexión con bases
de datos remotas
Diseño de Sistemas en Internet.
La Ingeniería Web.
La ingeniería web es la aplicación de metodologías sistemáticas,
disciplinadas y cuantificables al desarrollo eficiente, operación y
evolución de aplicaciones de alta calidad en la World Wide Web.
Los expertos en la web necesitan utilizar herramientas y técnicas
basadas en la ingeniería del software, para poder garantizar el buen
funcionamiento y administración de los sitios web.
Éstos debe contar con ciertos atributos y características que en
conjunto formen un concepto muy importante, para alcanzar el éxito
en cualquier organización: calidad. que con atributos como,
usabilidad, navegabilidad, seguridad, mantenibilidad, entre otros,
hace posible por un lado la eficiencia del artefacto web y por ende la
satisfacción del usuario final.
Diseño de Sistemas en Internet.
La Ingeniería Web.
La ingeniería de la Web no es un clon o subconjunto de la ingeniería
de software aunque ambas incluyen desarrollo de software y
programación, pues a pesar de que la ingeniería de la Web utiliza
principios de ingeniería de software, incluye nuevos enfoques,
metodologías, herramientas, técnicas, guías y patrones para cubrir
los requisitos únicos de las aplicaciones web.
Diseño de Sistemas en Internet.
La Ingeniería Web.
El desarrollo de aplicaciones Web posee determinadas
características que lo hacen diferente del desarrollo de aplicaciones
o software tradicional y sistemas de información.
La ingeniería Web es multidisciplinar y aglutina contribuciones de
diferentes áreas: arquitectura de la información, ingeniería de
hipermedia/hipertexto, ingeniería de requisitos, diseño de interfaz de
usuario, usabilidad, diseño gráfico y de presentación, diseño y
análisis de sistemas, ingeniería de software, ingeniería de datos,
indexado y recuperación de información, testeo, modelado y
simulación, despliegue de aplicaciones, operación de sistemas y
gestión de proyectos.
Diseño de Sistemas en Internet.
La Ingeniería Web.
Cuando un software se desarrolla adecuadamente, satisface las
necesidades de los usuarios, funciona impecablemente durante
mucho tiempo, es fácil de usar y modificar, y también es entregado
en el tiempo y costos planeados.
Para tener artefactos de calidad, a esa misma se le debe planificar,
programar y controlar, es decir la calidad no podrá ser agregada a un
artefacto web o a cualquier otro producto, al final del proceso de
desarrollo, si no que se deberá implementar durante todo el ciclo de
vida del desarrollo.
Se requiere del conocimiento de las metodologías y herramientas
que permitan analizar, planear, modelar e implementar un sistema de
calidad que responda a los requerimientos del usuario en forma,
tiempo y costos y que además permita en forma sencilla su
mantenimiento, crecimiento y evolución
Diseño de Sistemas en Internet.
La Ingeniería Web.
Paso a seguir.
La formulación comienza al establecer comunicación con el
consumidor (accionista) que plantea las razones para la WebApp.
¿Cuál es la necesidad del negocio, cuales usuarios finales son el
objetivo , que características y funciones se desean, que sistemas y
bases de datos existentes tendrán acceso, el concepto es realizable,
como se medirá el éxito?.
La planeación establece un plan de trabajo, desarrolla estimaciones
para valorar la factibilidad de las fechas de entrega deseadas,
considera riesgos define un programa y establece mecanismos
para rastreo y control.
Diseño de Sistemas en Internet.
La Ingeniería Web.
Producto obtenido.
Puesto que el trabajo de la ingeniería Web con frecuencia adopta
una filosofía ágil, los productos obtenidos para la formulación y la
planeación usualmente son parcos, pero existen y deben registrarse
en forma escrita.
La recopilación de información durante la formulación se registra en
un documento escrito en el cual se basan la planeación y el
modelado de análisis.
El plan del proyecto extiende el programa de este y presenta
cualquier otra información que sea necesario comunicar a los
miembros del equipo de ingeniería Web y al personal externo.
Diseño de Sistemas en Internet.
La Ingeniería Web.
Formulación de sistemas basados en web.
Representa una secuencia de acciones de ingeniería Web que
comienza con la identificación de las necesidades del negocio, se
mueve hacia una descripción de los objetivos de la WebApp,
define grandes características y funciones y realiza la
recopilación de requisitos que conducen al desarrollo de un
modelo de análisis.
La formulación permite que los clientes y el equipo de ingeniería
Web establezcan un conjunto común de metas objetivos para la
construcción de la WebApp.
Diseño de Sistemas en Internet.
La Ingeniería Web.
Recopilación de requisitos para WebApps.
Los objetivos globales de la recopilación de requisitos propuestos
para la ingeniería de software permanecen inalterados, adaptados
para las WebApp, dichos objetivos se convierten en:
 Identificar requisitos de contenido.
 Identificar requisitos funcionales.
 Definir escenarios de interacción para diferentes clases de
usuarios.
Diseño de Sistemas en Internet.
La Ingeniería Web.
Recopilación de requisitos para WebApps...
Los siguientes pasos de la recopilación de requisitos se dirigen para
lograr estos objetivos:
1.Pedir a los clientes que definan las categorías de usuario y
describan cada categoría.
2.Comunicarse con los clientes para definir los requisitos básicos de
la WebApp
3.Analizar la información recopilada y utilizar la información para
realizar un seguimiento con los clientes.
4.Definir casos de uso que describan escenarios de interacción para
cada clase de usuario.
Diseño de Sistemas en Internet.
La Ingeniería Web.
Recopilación de requisitos para WebApps...
Se puede argumentar que la complejidad de la WebApp es
directamente proporcional al número de categorías de usuario para
el sistema. La definición de una categoría de usuario requiere
formular un conjunto de preguntas fundamentales:
 ¿Cual es el objetivo global del usuario cuando usa la WebApps?
 ¿Cuáles son los antecedentes y la pericia del usuario en relación
con el contenido y la funcionalidad de la WebApp? .
 ¿Cómo llegará el usuario a la WebApp?.
 ¿Qué características genéricas de la webApps le gustan o
disgustan al usuario?
Diseño de Sistemas en Internet.
La Ingeniería Web.
Los principales aspectos de la ingeniería de la Web incluyen,
entre otros, los siguientes temas:
 Diseño de procesos de negocio para aplicaciones web.
 Herramientas CASE para aplicaciones web.
 Generación de código para aplicaciones web.
 Desarrollo web colaborativo.
 Modelado conceptual de aplicaciones web.
 Diseño de Modelos de datos para sistemas de información web.
 Entornos de desarrollo de aplicaciones web integrados.
 Herramientas de autor para contenido multimedia.
 Pruebas de rendimiento de aplicaciones basadas en web.
 Personalización y adaptación de aplicaciones web.
 Herramientas y métodos de prototipado.
 Control de calidad y pruebas de sistemas.
Diseño de Sistemas en Internet.
La Ingeniería Web.
… Los principales aspectos de la ingeniería de la Web incluyen,
entre otros, los siguientes temas:
 Ingeniería de requisitos para aplicaciones web.
 Aplicaciones para la Web Semántica.
 Factorías de software para la web.
 Métodos, herramientas y automatización de pruebas.
 Aplicaciones web móviles.
 Usabilidad de aplicaciones web.
 Accesibilidad para la web.
 Metodologías de diseño web.
 Formación en ingeniería de la web.
 Diseño de interfaces de usuario.
 Métricas para la web, estimación de costes y medición.
 Gestión de proyectos web y gestión de riesgos.
 Desarrollo y despliegue de servicios web.
Diseño de Sistemas en Internet.
La Ingeniería Web.
Pressman sugiere un proceso de ingeniería web compuesto por las
siguientes fases:
lPlanteamiento y formulación. Identificamos los objetivos de nuestra
aplicación, y delimitamos el alcance de la primera iteración.
lPlanificación. Una vez planteado el problema, podremos estimar
costos, riesgos y esfuerzo durante el desarrollo. Recordemos que en
la planeación iterativa solamente se detalla la iteración actual, y las
iteraciones subsecuentes sólo se plantean de forma general.
lAnálisis. Durante esta etapa establecemos los requerimientos
técnicos, gráficos, y de contenido, que incorporaremos en la
iteración.
Diseño de Sistemas en Internet.
La Ingeniería Web.
Pressman sugiere un proceso de ingeniería web compuesto por las
siguientes fases:
 Ingeniería. La actividad de ingeniería incorpora dos grupos de
tareas que se realizan en paralelo: el diseño del contenido y la
producción, se enfocan en el diseño, producción y adquisición del
contenido de texto, gráfico y video que se vayan a integrar en la
aplicación. Estas tareas son realizadas por personal no técnico.
Por otro lado, están el diseño arquitectónico, de navegación e
interfaz, el cual lidia con los aspectos técnicos.
 Generación de páginas y pruebas. Se prueba que el contenido
dinámico se genere correctamente, utilizando las plantillas,
interfaces y contenidos diseñados en la fase de ingeniería.
Posteriormente se realizan las pruebas pertinentes, que
dependerán del tipo de aplicación y requerimientos no funcionales
(por ejemplo, pruebas de desempeño, etcétera).
Diseño de Sistemas en Internet.
La Ingeniería Web.
Pressman sugiere un proceso de ingeniería web compuesto por las
siguientes fases:
 Evaluación del cliente. Al final de cada iteración se debe realizar
una evaluación con el cliente, para validar el avance y determinar
los cambios o mejoras –en caso de ser necesarios–, que se
aplicarán en las siguientes iteraciones.
Diseño de Sistemas en Internet.
La Ingeniería Web.
Las fases que se deben llevar acabo son:
 Análisis de Requisitos: Fija los requisitos funcionales de la
aplicación Web para reflejarlos en un modelo de casos de uso.
 Diseño Conceptual: Materializado en un modelo de dominio,
considerando los requisitos reflejados en los casos de uso.
 Diseño Navegacional: Lo podemos subdividir en :
 Modelo del Espacio de Navegacional.
 Modelo de la Estructura de navegación: Muestra la forma
de navegar ante el espacio de navegación.
 Diseño de Presentación: Representa las vistas del interfaz del
usuario mediante modelos estándares de interacción UML.
Diseño de Sistemas en Internet.
La Ingeniería Web.
Se han propuesto diferentes métodos con diferentes enfoques para
el desarrollo de aplicaciones. Algunas de las principales
metodologías son:
 UWE que se basa en el uso de diagramas UML, la notación de
UML y los mecanismos de extensión de UML.
 Hipermedia Orientado a Objetos (Object-orientedHypermedia,
OOH) proporciona un conjunto de nuevas vistas que extienden el
UML para modelar únicamente la interfase de aplicaciones Web
 OOHDM con un enfoque basado en modelos para construir
aplicaciones hipermedia.
 WebML es una notación visual para el diseño de aplicaciones Web
complejas. Provee especificaciones gráficas formales para un
proceso de diseño completo que puede ser asistido por
herramientas de diseño visuales.
Diseño de Sistemas en Internet.
La Ingeniería Web.
 ADM que combina el proceso de diseño centrado en el usuario y
modelado [5].
Al mismo tiempo, ha aumentado la construcción de herramientas que
faciliten el desarrollo de webapps, tales como: AriadneTool [6]
herramienta para el método ADM y MagicUWE plugin para
MagicDraw herramienta para la metodología UWE
Diseño de Sistemas en Internet.
Seguridad en las aplicaciones
web
1. Cross Site Scripting (XSS.)
2. Injection Flaws.
3. Malicious File Execution.
4. Insecure Direct Object Reference.
5. Cross Site Request Forgery (CSRF.)
6. Information Leakage and Improper Error Handling.
7. Broken Authentication and Session Management.
8. Insecure Cryptographic Storage.
9. Insecure Communications.
10. Failure to Restrict URL Access.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (17)

Act 1 aguilera
Act 1 aguileraAct 1 aguilera
Act 1 aguilera
 
Internet
InternetInternet
Internet
 
Presentación laboratorio
Presentación laboratorioPresentación laboratorio
Presentación laboratorio
 
Historia De La Internet
Historia De La InternetHistoria De La Internet
Historia De La Internet
 
computacion
computacioncomputacion
computacion
 
Html
HtmlHtml
Html
 
Trabaj D Internet D Coffe
Trabaj D Internet D CoffeTrabaj D Internet D Coffe
Trabaj D Internet D Coffe
 
informatica
informaticainformatica
informatica
 
Henrry lascano lara
Henrry lascano laraHenrry lascano lara
Henrry lascano lara
 
Trabajo de computación acerca de W3C
Trabajo de computación acerca de W3CTrabajo de computación acerca de W3C
Trabajo de computación acerca de W3C
 
Wendy Vianey Godoy
Wendy Vianey GodoyWendy Vianey Godoy
Wendy Vianey Godoy
 
Jerson stiven zapata padilla
Jerson stiven zapata padillaJerson stiven zapata padilla
Jerson stiven zapata padilla
 
Internet
InternetInternet
Internet
 
Consectos basicos
Consectos basicosConsectos basicos
Consectos basicos
 
Conceptos BASICOS DEL INTERNET
Conceptos BASICOS DEL INTERNETConceptos BASICOS DEL INTERNET
Conceptos BASICOS DEL INTERNET
 
Seminario De Informatica
Seminario De InformaticaSeminario De Informatica
Seminario De Informatica
 
Servidores
ServidoresServidores
Servidores
 

Similar a 01-Diseño de Sistemas en Internet (20)

Introduccion
IntroduccionIntroduccion
Introduccion
 
Toplogia de internet trabajo
Toplogia de internet  trabajoToplogia de internet  trabajo
Toplogia de internet trabajo
 
Clase 5
Clase 5Clase 5
Clase 5
 
Fundamentos de la web
Fundamentos de la webFundamentos de la web
Fundamentos de la web
 
Unidad1 Introduccion a las Tecnologias Web
Unidad1  Introduccion a las Tecnologias WebUnidad1  Introduccion a las Tecnologias Web
Unidad1 Introduccion a las Tecnologias Web
 
Trabajo 3
Trabajo 3Trabajo 3
Trabajo 3
 
Deniss
DenissDeniss
Deniss
 
Internetbasico
InternetbasicoInternetbasico
Internetbasico
 
Informática II
Informática IIInformática II
Informática II
 
Internetpres
InternetpresInternetpres
Internetpres
 
Cómo nace internet
Cómo nace internetCómo nace internet
Cómo nace internet
 
Internetbasico
InternetbasicoInternetbasico
Internetbasico
 
Presentacion Internet
Presentacion InternetPresentacion Internet
Presentacion Internet
 
Internet
InternetInternet
Internet
 
Internet
InternetInternet
Internet
 
Introduccion a la tecnologia web
Introduccion a la tecnologia webIntroduccion a la tecnologia web
Introduccion a la tecnologia web
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Reporte sobre Introducción a la Tecnología Web
Reporte sobre Introducción a la Tecnología WebReporte sobre Introducción a la Tecnología Web
Reporte sobre Introducción a la Tecnología Web
 
Conceptos basicos
Conceptos basicosConceptos basicos
Conceptos basicos
 
guia sobre Internet
guia sobre Internetguia sobre Internet
guia sobre Internet
 

Más de Facultad de Ciencias y Sistemas

Introducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaIntroducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaFacultad de Ciencias y Sistemas
 

Más de Facultad de Ciencias y Sistemas (20)

Ejercicios HTML 5
Ejercicios HTML 5Ejercicios HTML 5
Ejercicios HTML 5
 
CSS3
CSS3CSS3
CSS3
 
09 ordenamiento-en-vectores-en-c
09 ordenamiento-en-vectores-en-c09 ordenamiento-en-vectores-en-c
09 ordenamiento-en-vectores-en-c
 
08 mas-de-vectores-en-c
08 mas-de-vectores-en-c08 mas-de-vectores-en-c
08 mas-de-vectores-en-c
 
07 vectores-en-c final
07 vectores-en-c final07 vectores-en-c final
07 vectores-en-c final
 
06 clases-en-c
06 clases-en-c06 clases-en-c
06 clases-en-c
 
05 cadenas-de-caracteres-en-c
05 cadenas-de-caracteres-en-c05 cadenas-de-caracteres-en-c
05 cadenas-de-caracteres-en-c
 
04 mas-estructuras-iterativas-en-c
04 mas-estructuras-iterativas-en-c04 mas-estructuras-iterativas-en-c
04 mas-estructuras-iterativas-en-c
 
03 estructuras-iterativas-en-c
03 estructuras-iterativas-en-c03 estructuras-iterativas-en-c
03 estructuras-iterativas-en-c
 
02 mas-de-las-estructuras-de-programacion-en-c
02 mas-de-las-estructuras-de-programacion-en-c02 mas-de-las-estructuras-de-programacion-en-c
02 mas-de-las-estructuras-de-programacion-en-c
 
01 estructuras-de-programacion-en-c
01 estructuras-de-programacion-en-c01 estructuras-de-programacion-en-c
01 estructuras-de-programacion-en-c
 
Procesamiento del lenguaje natural con python
Procesamiento del lenguaje natural con pythonProcesamiento del lenguaje natural con python
Procesamiento del lenguaje natural con python
 
Actividades de aprendizaje en Moodle
Actividades de aprendizaje en MoodleActividades de aprendizaje en Moodle
Actividades de aprendizaje en Moodle
 
Creación de grupos en Moodle
Creación de grupos en MoodleCreación de grupos en Moodle
Creación de grupos en Moodle
 
Introducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaIntroducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con Java
 
Como crear un diagrama de clases
Como crear un diagrama de clasesComo crear un diagrama de clases
Como crear un diagrama de clases
 
Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02
 
Diagrama de clases - Ejemplo monográfico 01
Diagrama de clases - Ejemplo monográfico 01Diagrama de clases - Ejemplo monográfico 01
Diagrama de clases - Ejemplo monográfico 01
 
Otro ejemplo de diagrama de clases UML
Otro ejemplo de diagrama de clases UMLOtro ejemplo de diagrama de clases UML
Otro ejemplo de diagrama de clases UML
 
Un ejemplo de diagrama de clases
Un ejemplo de diagrama de clasesUn ejemplo de diagrama de clases
Un ejemplo de diagrama de clases
 

Último

Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIAAbelardoVelaAlbrecht1
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 

Último (20)

Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 

01-Diseño de Sistemas en Internet

  • 1. Internet, la red de redes.
  • 2. Nace a mediados de la década de los setenta, bajo los auspicios de DARPA, la Agencia de Proyectos Avanzados para la Defensa de Estados Unidos. DARPA inició un programa de investigación de técnicas y tecnologías para unir diversas redes de conmutación de paquetes, permitiendo así a los ordenadores conectados a estas redes comunicarse entre sí de forma fácil y transparente.
  • 3. De estos proyectos nació un protocolo de comunicaciones de datos, IP o Internet Protocol, que permitía a ordenadores diversos comunicarse a través de una red, Internet, formada por la interconexión de diversas redes.
  • 4. A mediados de los ochenta la Fundación Nacional para la Ciencia norteamericana, la NSF, creó una red, la NSFNET, que se convirtió en el backbone (el troncal) de Internet junto con otras redes similares creadas por la NASA (NSINet) y el U.S.
  • 5. DoE (Department of Energy) con la ESNET. En Europa, la mayoría de países disponían de back bones nacionales (NORDUNET, RedIRIS, SWITCH, etc.) y una serie de iniciativas paneuropeas (EARN y RARE). En esta época aparecen los primeros proveedores de acceso a Internet privados que ofrecen acceso pagado a Internet.
  • 6. A partir de esta época, gracias entre otras cosas a la amplia disponibilidad de implementaciones de la suite de protocolos TCP/IP (formada por todos los protocolos de Internet y no sólo por TCP e IP), algunas de las cuales eran ya de código libre, Internet empezó lo que posteriormente se convertiría en una de sus características fundamentales, un ritmo de crecimiento exponencial, hasta que a mediados del 2002 empieza a descender ligeramente.
  • 7. A mediados de los noventa se inició el boom de Internet. En esa época el número de proveedores de acceso privado se disparó, permitiendo a millones de personas acceder a Internet, que a partir de ese momento ya se empezó a conocer como la Red, desbancado a las demás redes de comunicación existentes (Compuserve, FidoNet/BBS, etc.)
  • 8. El punto de inflexión vino marcado por la aparición de implementaciones de TCP/IP gratuitas (incluso de implementaciones que formaban parte del sistema operativo) así como por la popularización y abaratamiento de medios de acceso cada vez más rápidos (módems de mayor velocidad, RDSI, ADSL, cable, satélite.)
  • 9. El efecto de todos estos cambios fue de “bola de nieve”: a medida que se conectaban más usuarios, los costes se reducían, aparecían más proveedores e Internet se hacía más atractivo y económico, con lo que se conectaban más usuarios, etc. A pesar del ligero descenso en su ritmo de crecimiento, Internet está destinado a convertirse en “un servicio universal de comunicación”
  • 10. La WWW como servicio de Internet.
  • 11. En 1989, mientras trabajaba en el CERN (Centro Europeo de Investigación Nuclear), Tim Berners- Lee empezó a diseñar un sistema para hacer accesible fácilmente la información del CERN. Dicho sistema empleaba el hipertexto para estructurar una red de enlaces entre los documentos. Una vez obtenida la aprobación para continuar el proyecto, nació el primer navegador web, llamado WorldWideWeb.
  • 12. En 1992 el sistema ya se había extendido fuera del CERN. El número de servidores “estables” había aumentado, alcanzando la sorprendente cifra de veintiséis. A partir de este punto, el crecimiento es espectacular. En 1993 la web ya era merecedora de un espacio en el New York Times.
  • 13. Éste es el año del lanzamiento de Mosaic, un navegador para X-Window/Unís que con el tiempo se convertiría en Netscape y que fue un factor clave de popularización de la web. En 1994 se fundó el WWWConsortium, que se convertiría en el motor de desarrollo de los estándares predominantes en la web (http://www.w3c.org).
  • 14. A partir de ese momento, el crecimiento ya fue constante, convirtiéndose hacia finales de los noventa en el servicio insignia de Internet y dando lugar al crecimiento imparable de los servicios en línea que estamos experimentado actualmente.
  • 15. Fundamentos de la web. El protocolo HTTP. El lenguaje HTML.
  • 16. El protocolo HTTP (hypertext tranfer protocol) es el protocolo base de la WWW. Se trata de un protocolo simple, orientado a conexión y sin estado.
  • 17. Está orientado a conexión por que emplea para su funcionamiento el TCP de modo conectado, que establece un canal de comunicaciones de extremo a extremo (entre el cliente y el servidor) por el que pasa el flujo de bytes (los datos que hay que transferir), en contraposición a los protocolos de datagrama (no orientados a conexión) que dividen los datos en pequeños paquetes (datagramas) y los envían, pudiendo llegar por vías diferentes del servidor al cliente.
  • 18. El protocolo no mantiene estado, es decir, cada transferencia de datos es una conexión independiente de la anterior, sin relación alguna entre ellas, hasta el punto de que para transferir una página web tenemos que enviar el código HTML del texto, así como las imágenes que la componen.
  • 19. En la especificación HTTP 1.0, se abrían y usaban tantas conexiones como componentes tenía la página, trasfiriéndose por cada conexión un componente (el texto de la página o cada una de las imágenes)
  • 20. HTTPS (S por secure) que utiliza el protocolo de seguridad SSL (secure socket layer) para cifrar y autenticar el tráfico entre cliente y servidor, siendo ésta muy usada por los servidores web de comercio electrónico, así como por aquellos que contienen información personal o confidencial.
  • 21. El funcionamiento de HTTP es el siguiente: el cliente establece una conexión TCP hacia el servidor, hacia el puerto HTTP (o el indicado en la dirección de conexión), envía un comando HTTP de petición de un recurso (junto con algunas cabe ceras informativas) y por la misma conexión el servidor responde con los datos solicitados y con algunas cabeceras informativas.
  • 22.
  • 23. El protocolo define además cómo codificar el paso de parámetros entre páginas, el tunelizar las conexiones (para sistemas de firewall), define la existencia de servidores intermedios de cache, etc. Las directivas de petición de información que define HTTP 1.1 (la versión considerada estable y al uso) son:
  • 24. GET Petición de recurso. POST Petición de recurso pasando parámetros. HEAD Petición de datos sobre recurso. PUT Creación o envío de recurso. DELETE Eliminación de recurso. TRACE Devuelve al origen la petición tal como se ha recibido en el receptor, para depurar errores. OPTIONS Sirve para comprobar las capacidades del servidor. CONNECT Reservado para uso en servidores intermedios capaces de funcionar como túneles.
  • 25. Las peticiones en HTTP pueden realizarse usando dos métodos. El método GET, en caso de enviar parámetros junto a la petición, las enviaría codificadas en la URL. Por su parte, el método POST, en caso de enviarlos, lo haría como parte del cuerpo de la petición. Una petición GET sigue el siguiente formato:
  • 26. GET /index.html HTTP/1.1 Host: www.ejemplo.com User-Agent: Mozilla/4.5 [en] Accept: image/gif, image/jpeg, text/html Accept-language: en Accept-Charset: iso-8859-1
  • 27. Podemos ver que está formada por: 1. Línea de petición: contiene el recurso solicitado. 2. Cabecera de petición: contiene información adicional sobre el cliente. 3. Cuerpo de petición: en las peticiones de tipo POST, y otras, contiene información adicional.
  • 28. • Línea de petición La línea de petición está formada por los siguientes elementos: 1. Método: nombre del método de HTTP llamado (GET, POST, etc.). 2. Identificador de recurso: URL (uniform resource locator) del recurso solicitado. 3. Versión de protocolo: versión del protocolo solicitada para la respuesta.
  • 29. • Cabecera de petición Contiene información adicional que puede ayudar al servidor (o a los servidores intermedios, los proxies y caches) a procesar adecuadamente la petición. La información se proporciona en forma de: Identificador: valor
  • 30. De estos identificadores, los más conocidos e importantes son: Host: nombre del servidor solicitado. User-Agent: nombre del navegador o programa usado para acceder al recurso. Accept: algunos formatos de texto e imagen aceptados por el cliente. Accept-Language: idiomas soportados (preferidos) por el cliente, útil para personalizar la respuesta automáticamente.
  • 31. • Parámetros de petición Una petición HTTP puede también contener parámetros, como respuesta, por ejemplo, a un formulario de registro, a una selección de producto en una tienda electrónica, etc. Estos parámetros pueden pasarse de dos formas: – Como parte de la cadena de petición, codificados como parte de la URL. – Como datos extra a la petición.
  • 32. Para codificar los parámetros como parte de la URL, éstos se añaden a la URL detrás del nombre del recurso, separados de éste por un carácter ?. Los diferentes parámetros se separan entre sí por el carácter &. Los espacios se sustituyen por +. Por último, los caracteres especiales (los mencionados antes de &, + y ?, así como los caracteres no impprimibles, etc.) se representan con %xx, donde xx representa al código ASCII en hexadecimal del carácter.
  • 33. Por ejemplo: http://www.ejemplo.com/indice.jsp?nombre=John+Doe&OK=1 que en la petición HTTP quedaría: GET /indice.jsp?nombre=John+Doe&OK=1 HTTP/1.0 Host: www.ejemplo.com User-Agent: Mozilla/4.5 [en] Accept: image/gif, image/jpeg, text/html Accept-language: en Accept-Charset: iso-8859-1 Para pasar los parámetros como datos extra de la petición, éstos se envían al servidor como cuerpo de mensaje en la petición.
  • 34. Por ejemplo, la petición anterior quedaría: POST /indice.jsp HTTP/1.0 Host: www.ejemplo.com User-Agent: Mozilla/4.5 [en] Accept: image/gif, image/jpeg, text/html Accept-language: en Accept-Charset: iso-8859-1 nombre=John+Doe&OK=1
  • 35. Para pasar los parámetros como cuerpo de la petición, ésta debe realizarse como POST y no como GET, aunque una petición POST también puede llevar parámetros en la línea de petición. Los parámetros pasados como cuerpo de la petición están codificados, al igual que en el ejemplo anterior, como URL, o pueden usar una codificación derivada del formato MIME (multipurpose internet mail extensions), en lo que se conoce como codificación multiparte.
  • 36. POST /indice.jsp HTTP/1.0 Host: www.ejemplo.com User-Agent: Mozilla/4.5 [en] Accept: image/gif, image/jpeg, text/html Accept-language: en Accept-Charset: iso-8859-1 Content-Type: multipart/form-data, delimiter=“----ALEATORIO----” ----ALEATORIO---- Content-Disposition: form-data; name=“nombre” Perico Palotes ----ALEATORIO---- Content-Disposition: form-data; name=“OK” 1 ----ALEATORIO------ Esta codificación es exclusiva del método POST. Se emplea para enviar ficheros al servidor.
  • 37. • Respuestas en HTTP Las respuestas en HTTP son muy similares a las peticiones. Una respuesta estándar a una petición de una página sería similar a lo siguiente: HTTP/1.1 200 OK Date: Mon, 06 Oct 2031 15:19:10 GMT Server: Apache/2.0.40 (Red Hat Linux) Last-Modified: Tue, 09 Sept 2031 08:52:53 GMT Accept-Ranges: bytes Content-Length: 428 Connection: close <HTML> ...
  • 38. La primera línea nos responde con la versión del protocolo empleada para enviarnos la página, seguida de un código de retorno y una frase de retorno. El código de retorno puede adoptar uno de los siguientes valores: – 1xx Petición recibida, continúa en proceso. – 2xx Correcta. Petición procesada correctamente. – 3xx Redirección. La petición debe repetirse o redirigirse. – 4xx Error de cliente. No se puede procesar la petición porque ésta es incorrecta, no existe, etc. – 5xx Error de servidor. El servidor ha fallado intentando procesar la petición, que a priori es correcta.
  • 39. La frase de retorno dependerá de la implementación, pero sólo sirve como aclaratorio del código de retorno. Después del estatus aparece una serie de campos de control, con el mismo formato que en las cabeceras de la petición que nos informan del contenido (fecha de creación, longitud, versión del servidor, etc.) A continuación viene el contenido solicitado.
  • 41. Se trata de un lenguaje de marcas que permite representar de forma rica el contenido y también referenciar otros recursos (imágenes, etc.), enlaces a otros documentos (la característica más destacada del WWW), mostrar formularios para posteriormente procesarlos, etc. Empieza a proporcionar funcionalidades más avanzadas para crear páginas más ricas en contenido.
  • 42. Historia de las aplicaciones web. Inicialmente la web era simplemente una colección de páginas estáticas, documentos, etc, que podían consultarse o descargarse. Su siguiente paso evolutivo fue la inclusión de un método para confeccionar páginas dinámicas que permitiesen que lo mostrado fuese dinámico (generado o calculado a partir de los datos de la petición). Dicho método fue conocido como CGI (Common Gateway Interface) y definía un mecanismo mediante el cual podía pasarse información entre el servidor HTTP y programas externos.
  • 43. Los CGI siguen siendo muy utilizados, puesto que la mayoría de los servidores web los soportan debido a su sencillez. Además, nos proporcionan total libertad a la hora de escoger el lenguaje de programación para desarrollarlos. El esquema de funcionamiento de los CGI tenía un punto débil: cada vez que recibíamos una petición, el servidor web lanzaba un proceso que ejecutaba el programa CGI.
  • 44. Por otro lado, la mayoría de CGI estaban escritos en algún lenguaje interpretado (Perl, Python, etc.) o en algún lenguaje que requería run-time environment (VisualBasic, Java, etc.), esto implicaba una gran carga para la máquina del servidor. Además, si la web tenía muchos accesos al CGI, esto suponía problemas graves. Por ello se empiezan a desarrollar alternativas a los CGI. Las soluciones vienen principalmente por dos vías. Por un lado se diseñan sistemas de ejecución de módulos más integrados con el servidor, que evitan que éste tenga que instanciar y ejecutar multitud de programas.
  • 45. La otra vía consiste en dotar al servidor de un intérprete de algún lenguaje de programación (RXML, PHP, VBScript, etc.) que permita incluir las páginas en el código de manera que el servidor sea quien lo ejecute, reduciendo así el tiempo de respuesta. A partir de este momento, se vive una explosión del número de arquitecturas y lenguajes de programación que nos permiten desarrollar aplicaciones web. Todas ellas siguen alguna de las dos vías ya mencionadas.
  • 46. De ellas, las más útiles y las que más se utilizan son aquellas que permiten mezclar los dos sistemas, es decir, un lenguaje de programación integrado que permita al servidor interpretar comandos que “incruste” en las páginas HTML y un sistema de ejecución de programas más enlazado con el servidor que no presente los problemas de rendimiento de los CGI.
  • 47. Sun Microsystems con su sistema Java, que está integrada por dos componentes; a saber, un lenguaje que permite incrustar código interpretable en las páginas HTML y que el servidor traduce a programas ejecutables, JSP (Java server pages) y un mecanismo de programación estrechamente ligado al servidor, con un rendimiento muy superior a los CGI convencionales, llamado Java Servlet.
  • 48. Una de las que más se utiliza en Internet es el lenguaje de programación interpretado por el servidor PHP. Se trata de un lenguaje que permite incrustar HTML en los programas, con una sintaxis que proviene de C y Perl. Además, habida cuenta de su facilidad de aprendizaje, su sencillez y potencia.
  • 49. Servidor web. Es un programa que atiende y responde a las diversas peticiones de los navegadores, proporcionándoles los recursos que solicitan mediante el protocolo HTTP o el protocolo HTTPS (la versión segura, cifrada y autenticada de HTTP). Un servidor web básico tiene un esquema de funcionamiento muy sencillo, ejecutando de forma infinita el bucle siguiente:
  • 50. 1. Espera peticiones en el puerto TCP asignado (el estándar para HTTP es el 80). 2. Recibe una petición. 3. Busca el recurso en la cadena de petición. 4. Envía el recurso por la misma conexión por donde ha recibido la petición. 5. Vuelve al punto 2.
  • 51. Un servidor web que siguiese el esquema anterior cumpliría los requisitos básicos de los servidores HTTP, aunque, eso sí, sólo podría servir ficheros estáticos. A partir del esquema anterior se han diseñado y construido todos los programas servidores de HTTP que existen, variando sólo el tipo de peticiones (páginas estáticas, CGI, Servlets, etc.) que pueden atender, en función de que sean o no multi-proceso, multi-hilados, etc. Algunas de las características principales de los servidores web, que extienden, el esquema anterior son:
  • 52. Servicio de ficheros estáticos Todos los servidores web deben incluir, al menos, la capacidad para servir ficheros estáticos que se encuentren en alguna parte concreta del disco. Imprescindible es la capacidad de especificar qué parte del disco se servirá. Absolutamente no es recomendable que el servidor obligue a usar un directorio concreto, si bien puede tener uno por defecto. La mayoría permiten, además, añadir otros directorios para servir, especificando en qué punto del “sistema de ficheros” virtual del servidor se ubicarán.
  • 53. Puede existir la siguiente situación: En este caso, el servidor debería traducir las siguientes direcciones web de la siguiente manera:
  • 54. Algunos servidores web permiten, además, especificar directivas de seguridad (para qué direcciones, usuarios, etc., está visible un directorio, etc.), mientras que otros hacen posible especificar qué ficheros se considerarán como índice del directorio.
  • 55. Seguridad y autenticación. La mayoría de los servidores web modernos permiten controlar desde el programa servidor aquellos aspectos relacionados con la seguridad y la autenticación de los usuarios. El modo más simple de control es por el uso de ficheros .htaccess. Proviene de uno de los primeros servidores web (del NCSA httpd), que consiste en poner un fichero .htaccess en cualquier directorio del contenido web que se vaya a servir, indicando en este fichero qué usuarios, máquinas, etc., tienen acceso a los ficheros y subdirectorios del directorio donde está el fichero.
  • 56. Como el servidor de NCSA fue el servidor más usado durante mucho tiempo, la mayoría de servidores modernos permiten utilizar el fichero .htaccess respetando la sintaxis del servidor de NCSA. Otros servidores permiten especificar reglas de servicio de directorios y ficheros en la configuración del servidor web, indicando allí qué usuarios, máquinas, etc., pueden acceder al recurso indicado.
  • 57. “Introducción a los Sistemas basados en la Web (WIS)”  La World Wide Web  Modelo Cliente/Servidor  Paginas Estáticas vs. paginas Dinámicas  Lenguajes del lado del servidor  Lenguajes del lado del Cliente
  • 58. Diseño de Sistemas en Internet Un sistema de información es un conjunto de elementos orientados al tratamiento y administración de datos e información, organizados y listos para su uso posterior, generados para cubrir una necesidad o un objetivo.
  • 59. Diseño de Sistemas en Internet Dichos elementos formarán parte de alguna de las siguientes categorías:  Personas.  Datos.  Actividades o técnicas de trabajo.  Recursos materiales en general (generalmente recursos informáticos y de comunicación, aunque no necesariamente.)
  • 60. Diseño de Sistemas en Internet lEl web como sistema de información lLa evolución de Internet como red de comunicación global y el surgimiento y desarrollo del Web como servicio imprescindible para compartir información, creó un excelente espacio para la interacción del hombre con la información hipertextual, a la vez que sentó las bases para el desarrollo de una herramienta integradora de los servicios existentes en Internet.
  • 61. Diseño de Sistemas en Internet lLos sitios Web, como expresión de sistemas de información, deben poseer los siguientes componentes:  Usuarios.  Mecanismos de entrada y salida de la información.  Almacenes de datos, información y conocimiento.  Mecanismos de recuperación de información.
  • 62. Diseño de Sistemas en Internet lExisten siete paradigmas que caracterizan el nuevo paisaje mediático que emerge en la red:  Interactividad: La red genera un modelo bilateral, debido a su arquitectura cliente-servidor. Así, los proveedores de contenidos y los usuarios pueden establecer un vínculo bilateral, porque sus funciones resultan intercambiables.
  • 63. Diseño de Sistemas en Internet lExisten siete paradigmas que caracterizan el nuevo paisaje mediático que emerge en la red:  Multimedialidad: La tecnología digital permite la integración de todos los formatos de información (texto, audio, video, gráficos, animaciones) en un mismo soporte.
  • 64. Diseño de Sistemas en Internet lExisten siete paradigmas que caracterizan el nuevo paisaje mediático que emerge en la red:  Personalización: Los servicios de información en línea no sólo se orientan a objetivos con perfiles demográficos, profesionales o económicos similares, sino a individuos, porque la red permite responder a las demandas de información específicas de cada usuario en particular.
  • 65. Diseño de Sistemas en Internet lExisten siete paradigmas que caracterizan el nuevo paisaje mediático que emerge en la red:  Multimedialidad: La tecnología digital permite la integración de todos los formatos de información (texto, audio, video, gráficos, animaciones) en un mismo soporte.
  • 66. Diseño de Sistemas en Internet lExisten siete paradigmas que caracterizan el nuevo paisaje mediático que emerge en la red:  Hipertextualidad: Los soportes digitales permiten un modelo de construcción narrativa caracterizado por la distribución de la información en unidades discretas (nodos) y su articulación mediante órdenes de programación (enlaces.)
  • 67. Diseño de Sistemas en Internet lExisten siete paradigmas que caracterizan el nuevo paisaje mediático que emerge en la red:  Mediación: La red cuestiona el paradigma de la mediación profesional de los comunicadores en los procesos de acceso del público a las fuentes y a los propios medios.
  • 68. Diseño de Sistemas en Internet lExisten siete paradigmas que caracterizan el nuevo paisaje mediático que emerge en la red:  Actualización: La red posibilita el seguimiento al minuto de la actualidad informativa, y se utiliza en paralelo con la televisión para retransmitir acontecimientos a escala mundial en tiempo real.
  • 69. Diseño de Sistemas en Internet lExisten siete paradigmas que caracterizan el nuevo paisaje mediático que emerge en la red:  Abundancia: Los medios digitales trastocan el argumento del recurso escaso, porque multiplican los canales disponibles y trasmiten mayor cantidad de información en menor tiempo y a escala universal.
  • 70. Diseño de Sistemas en Internet lDesde el punto de vista tecnológico, uno de los problemas que afronta la visión de intercambio en el web, radica en la calidad de la recuperación de información una vez más. lBuscar información en Internet, con los buscadores tradicionales puede compararse con arrastrar una red en la superficie de un océano: “ no se podrá obtener muchos peces de aguas profundas”.
  • 71. Diseño de Sistemas en Internet lWeb superficial versus web profundo lEn 1994, la Dra. Jill Ellsworth, especializada en el estudio de Internet, utilizó el término web invisible, por primera vez, para denominar a la información que resultaba “invisible” para los motores de búsqueda convencionales en la web. lTambién, se denomina “web profunda” (Deep Web), por oposición a la “web superficial” (Surface Web) cuya información puede recuperarse con los buscadores de Internet.
  • 72. Diseño de Sistemas en Internet lWeb superficial versus web profundo lLa existencia de esta denomina red profunda es un producto de la metodología que utilizan los buscadores para indexar las páginas. El mecanismo se basa en programas llamados robots o arañas, que recorren las páginas de la red siguiendo los enlaces que presentan o se dirigen hacia ellas. Cuando se utiliza alguno de los buscadores conocidos, no se busca en toda la red, sino en su base de datos, construida gracias a la acción de los robots.
  • 73. Diseño de Sistemas en Internet lWeb superficial versus web profundo lA pesar de su pretendida exhaustividad, se calcula que los mayores motores de búsqueda indizan sólo entre un tercio y la mitad de los documentos disponibles. lEl Web profundo almacena páginas dinámicas que se obtienen como respuesta a interrogantes directas a bases de datos, así como documentos en diversos formatos (mp3. doc, pdf, wma, avi, entre otros), la mayor parte de esta información no se recupera por medio de los directorios y buscadores tradicionales.
  • 74. Diseño de Sistemas en Internet lWeb superficial versus web profundo lActualmente, existen herramientas orientadas específicamente a la labor de recuperar información en el Web profundo como: buscadores, agentes de búsquedas, índices generales y portales verticales. Estas herramientas facilitan el acceso a una mayor parte del Web, porque, además de buscar en el Web superficial, buscan en el Web profundo también, inaccesible para la mayor parte de los buscadores tradicionales. Entre los principales, se encuentran:
  • 75. Diseño de Sistemas en Internet lWeb superficial versus web profundo: Complete Planet. lPerteneciente a la compañía BrightPlanet, dispone de la lista más completa de todas las máquinas de la Web superficial y de las bases de datos del Web profundo. Creado como un servicio público y como banco de pruebas para el Gestor de Consultas del Web Profundo (Deep Query Manager o DQM), que es un servicio para abonados y una poderosa herramienta para gestionar y descubrir contenido en Internet.
  • 76. Diseño de Sistemas en Internet lWeb superficial versus web profundo: Profusión. lCreado en 1995 en la Universidad de Kansas como un metabuscador inteligente para el Web, adquirido por Intelliseek, en abril de año 2000. Busca en algunas de las mayores máquinas de búsqueda del web superficial y en un gran número de fuentes del Web profundo. Permite orientar las búsquedas al definir tópicos generales donde deben realizarse. También puede personalizar un grupo de buscadores correspondientes a determinadas materias y obtener resultados de los principales buscadores.
  • 77. Diseño de Sistemas en Internet. lWeb superficial versus web profundo: Copernic Agent. lEs un agente inteligente disponible comercialmente que consulta simultáneamente las más importantes máquinas de búsquedas en Internet. Posee la versión Copernic Agent Basic, que es gratuita, además de una versión Profesional. Copernic Agent Pro, por suscripción y con mayores capacidades de recuperación de la información; reúne sus búsquedas en más de 120 categorías especializadas.
  • 78. Diseño de Sistemas en Internet. lProcesamiento y recuperación de información: nuevas aplicaciones. lResulta de gran importancia traducir esos grandes volúmenes de datos en información. Los resúmenes estadísticos no son la única cosa oculta en el mar de datos. La identificación de patrones comunes, asociaciones, reglas generales y nuevo conocimiento tiene actualmente un gran interés para disciplinas como la minería de texto y el descubrimiento del conocimiento en bases de datos.
  • 79. Diseño de Sistemas en Internet. La minería de texto es una de las aplicaciones que, desde su formulación a principios de la década de los años 90' del pasado siglo, ha tenido mayor impacto en las actividades de la inteligencia militar. Emplea distintas técnicas de la recuperación de información y la lingüística computacional para facilitar la identificación y extracción de nuevo conocimiento a partir de colecciones documentales.
  • 80. Diseño de Sistemas en Internet. Tiene como objetivo descubrir información y conocimiento previamente desconocido y que no existe en ningún documento previo. La minería de datos, pretende extraer conocimiento a partir de patrones observables en grandes colecciones de datos estructurados que se almacenan en bases de datos relacionales mientras que la minería de texto realiza la extracción del nuevo conocimiento a partir de grandes volúmenes de información no estructurada.
  • 81. Diseño de Sistemas en Internet. El alcance de la minería textual no está determinado por el desarrollo de la Inteligencia Artificial propiamente dicha, sino que propone un equilibrio entre el análisis humano y automático a la vez, es decir, un enfoque semiautomático cuyo objetivo intermedio - previo al descubrimiento del conocimiento - es procesar y presentar información disponible en grandes colecciones documentales en un formato que facilite su comprensión y análisis.
  • 82. Diseño de Sistemas en Internet. Funciones de la Minería de Texto:  dentificar hechos y datos puntuales a partir del texto de los documentos.  Agrupar documentos similares (análisis de clusters).  Determinar tema o temas tratados en un documento mediante categorización automática de textos.  Identificar conceptos tratados en documentos y crear redes de conceptos.  Visualizar y navegar a través de colecciones de texto.
  • 83. Diseño de Sistemas en Internet. Aunque los diferentes campos de aplicación de la minería de datos demandan el desarrollo de poderosas y costosas herramientas para crear métodos de búsqueda de patrones, no es el único camino existente.
  • 84. Diseño de Sistemas en Internet. La web, como se conoce hoy, requiere una visión más integral de los problemas de organización y recuperación de información, sobre todo, si se considera que se encuentra estructurado mediante lenguajes de etiquetado que prácticamente describen sólo la forma en que la información debe presentarse al usuario (colores, maquetación, tipografía, etcétera) y dicen muy poco sobre su significado: semántica.
  • 85. Diseño de Sistemas en Internet. El proyecto denominado web semántica (Semantic Web) busca que la información pueda reunirse de forma que un buscador pueda comprenderla en lugar de ponerla simplemente en una lista, donde el trabajo que hasta hoy se realizaba en función del usuario (el humano), se centrará en otro tipo de usuario que se valdrá de grandes cúmulos de información, clasificada, descrita y estructurada para una eficiente recuperación: el agente inteligente.
  • 86. Diseño de Sistemas en Internet. La web actual requiere nuevas formas de organización de la información y el conocimiento para mejorar la capacidad de acceso, uso y recuperación de información. La Web semántica persigue una Web más inteligente, cuyo objetivo es convertir la información en conocimiento sobre la base del marcado semántico y descriptivo de la información, y de los datos, por medio de metadatos, información estructurada y legible automáticamente.
  • 87. Diseño de Sistemas en Internet. La web actual requiere nuevas formas de organización de la información y el conocimiento para mejorar la capacidad de acceso, uso y recuperación de información. La Web semántica persigue una Web más inteligente, cuyo objetivo es convertir la información en conocimiento sobre la base del marcado semántico y descriptivo de la información, y de los datos, por medio de metadatos, información estructurada y legible automáticamente.
  • 88. Diseño de Sistemas en Internet. La Ingeniería Web. En años recientes, se ha visto un incremento considerable en el desarrollo de software basado en la web, así como la necesidad de migrar sistemas de software ya existentes a estos ambientes. Lo anterior, debido al crecimiento e impacto de Internet y particularmente de la World Wide Web en las áreas de negocios, comercio, industria, finanzas, educación, gobierno, entretenimiento y personales, entre otras; lo cual ha provocado que los requerimientos de los usuarios de software se vean influenciados y cambien hacia estos ambientes. Ingeniería Web (IW), definida como “el establecimiento y uso de principios científicos, de ingeniería y de administración, así como un enfoque sistemático y disciplinado para el desarrollo, implantación y mantenimiento exitoso de sistemas y aplicaciones basados en Web de alta calidad”
  • 89. Diseño de Sistemas en Internet. La Ingeniería Web. Cabe destacar que la ingeniería web hace una diferencia entre un webSite y una aplicación, ya que la ingeniería web no se dedica a la construcción de sitios web sino a la construcción de aplicaciones web. La principal característica que los distingue (aplicaciones de sitios web) es que los sitios web son sitios en la web en donde se publica contenido generalmente estático o un muy bajo nivel de interactividad con el usuario, mientras que las aplicaciones son lugares con alto contenido de interactividad y funcionalidades que bien podrían ser de un software convencional. La aplicación web más sencillo seria una que contenga formularios y subiendo de nivel encontramos los que realizas conexión con bases de datos remotas
  • 90. Diseño de Sistemas en Internet. La Ingeniería Web. La ingeniería web es la aplicación de metodologías sistemáticas, disciplinadas y cuantificables al desarrollo eficiente, operación y evolución de aplicaciones de alta calidad en la World Wide Web. Los expertos en la web necesitan utilizar herramientas y técnicas basadas en la ingeniería del software, para poder garantizar el buen funcionamiento y administración de los sitios web. Éstos debe contar con ciertos atributos y características que en conjunto formen un concepto muy importante, para alcanzar el éxito en cualquier organización: calidad. que con atributos como, usabilidad, navegabilidad, seguridad, mantenibilidad, entre otros, hace posible por un lado la eficiencia del artefacto web y por ende la satisfacción del usuario final.
  • 91. Diseño de Sistemas en Internet. La Ingeniería Web. La ingeniería de la Web no es un clon o subconjunto de la ingeniería de software aunque ambas incluyen desarrollo de software y programación, pues a pesar de que la ingeniería de la Web utiliza principios de ingeniería de software, incluye nuevos enfoques, metodologías, herramientas, técnicas, guías y patrones para cubrir los requisitos únicos de las aplicaciones web.
  • 92. Diseño de Sistemas en Internet. La Ingeniería Web. El desarrollo de aplicaciones Web posee determinadas características que lo hacen diferente del desarrollo de aplicaciones o software tradicional y sistemas de información. La ingeniería Web es multidisciplinar y aglutina contribuciones de diferentes áreas: arquitectura de la información, ingeniería de hipermedia/hipertexto, ingeniería de requisitos, diseño de interfaz de usuario, usabilidad, diseño gráfico y de presentación, diseño y análisis de sistemas, ingeniería de software, ingeniería de datos, indexado y recuperación de información, testeo, modelado y simulación, despliegue de aplicaciones, operación de sistemas y gestión de proyectos.
  • 93. Diseño de Sistemas en Internet. La Ingeniería Web. Cuando un software se desarrolla adecuadamente, satisface las necesidades de los usuarios, funciona impecablemente durante mucho tiempo, es fácil de usar y modificar, y también es entregado en el tiempo y costos planeados. Para tener artefactos de calidad, a esa misma se le debe planificar, programar y controlar, es decir la calidad no podrá ser agregada a un artefacto web o a cualquier otro producto, al final del proceso de desarrollo, si no que se deberá implementar durante todo el ciclo de vida del desarrollo. Se requiere del conocimiento de las metodologías y herramientas que permitan analizar, planear, modelar e implementar un sistema de calidad que responda a los requerimientos del usuario en forma, tiempo y costos y que además permita en forma sencilla su mantenimiento, crecimiento y evolución
  • 94. Diseño de Sistemas en Internet. La Ingeniería Web. Paso a seguir. La formulación comienza al establecer comunicación con el consumidor (accionista) que plantea las razones para la WebApp. ¿Cuál es la necesidad del negocio, cuales usuarios finales son el objetivo , que características y funciones se desean, que sistemas y bases de datos existentes tendrán acceso, el concepto es realizable, como se medirá el éxito?. La planeación establece un plan de trabajo, desarrolla estimaciones para valorar la factibilidad de las fechas de entrega deseadas, considera riesgos define un programa y establece mecanismos para rastreo y control.
  • 95. Diseño de Sistemas en Internet. La Ingeniería Web. Producto obtenido. Puesto que el trabajo de la ingeniería Web con frecuencia adopta una filosofía ágil, los productos obtenidos para la formulación y la planeación usualmente son parcos, pero existen y deben registrarse en forma escrita. La recopilación de información durante la formulación se registra en un documento escrito en el cual se basan la planeación y el modelado de análisis. El plan del proyecto extiende el programa de este y presenta cualquier otra información que sea necesario comunicar a los miembros del equipo de ingeniería Web y al personal externo.
  • 96. Diseño de Sistemas en Internet. La Ingeniería Web. Formulación de sistemas basados en web. Representa una secuencia de acciones de ingeniería Web que comienza con la identificación de las necesidades del negocio, se mueve hacia una descripción de los objetivos de la WebApp, define grandes características y funciones y realiza la recopilación de requisitos que conducen al desarrollo de un modelo de análisis. La formulación permite que los clientes y el equipo de ingeniería Web establezcan un conjunto común de metas objetivos para la construcción de la WebApp.
  • 97. Diseño de Sistemas en Internet. La Ingeniería Web. Recopilación de requisitos para WebApps. Los objetivos globales de la recopilación de requisitos propuestos para la ingeniería de software permanecen inalterados, adaptados para las WebApp, dichos objetivos se convierten en:  Identificar requisitos de contenido.  Identificar requisitos funcionales.  Definir escenarios de interacción para diferentes clases de usuarios.
  • 98. Diseño de Sistemas en Internet. La Ingeniería Web. Recopilación de requisitos para WebApps... Los siguientes pasos de la recopilación de requisitos se dirigen para lograr estos objetivos: 1.Pedir a los clientes que definan las categorías de usuario y describan cada categoría. 2.Comunicarse con los clientes para definir los requisitos básicos de la WebApp 3.Analizar la información recopilada y utilizar la información para realizar un seguimiento con los clientes. 4.Definir casos de uso que describan escenarios de interacción para cada clase de usuario.
  • 99. Diseño de Sistemas en Internet. La Ingeniería Web. Recopilación de requisitos para WebApps... Se puede argumentar que la complejidad de la WebApp es directamente proporcional al número de categorías de usuario para el sistema. La definición de una categoría de usuario requiere formular un conjunto de preguntas fundamentales:  ¿Cual es el objetivo global del usuario cuando usa la WebApps?  ¿Cuáles son los antecedentes y la pericia del usuario en relación con el contenido y la funcionalidad de la WebApp? .  ¿Cómo llegará el usuario a la WebApp?.  ¿Qué características genéricas de la webApps le gustan o disgustan al usuario?
  • 100. Diseño de Sistemas en Internet. La Ingeniería Web. Los principales aspectos de la ingeniería de la Web incluyen, entre otros, los siguientes temas:  Diseño de procesos de negocio para aplicaciones web.  Herramientas CASE para aplicaciones web.  Generación de código para aplicaciones web.  Desarrollo web colaborativo.  Modelado conceptual de aplicaciones web.  Diseño de Modelos de datos para sistemas de información web.  Entornos de desarrollo de aplicaciones web integrados.  Herramientas de autor para contenido multimedia.  Pruebas de rendimiento de aplicaciones basadas en web.  Personalización y adaptación de aplicaciones web.  Herramientas y métodos de prototipado.  Control de calidad y pruebas de sistemas.
  • 101. Diseño de Sistemas en Internet. La Ingeniería Web. … Los principales aspectos de la ingeniería de la Web incluyen, entre otros, los siguientes temas:  Ingeniería de requisitos para aplicaciones web.  Aplicaciones para la Web Semántica.  Factorías de software para la web.  Métodos, herramientas y automatización de pruebas.  Aplicaciones web móviles.  Usabilidad de aplicaciones web.  Accesibilidad para la web.  Metodologías de diseño web.  Formación en ingeniería de la web.  Diseño de interfaces de usuario.  Métricas para la web, estimación de costes y medición.  Gestión de proyectos web y gestión de riesgos.  Desarrollo y despliegue de servicios web.
  • 102. Diseño de Sistemas en Internet. La Ingeniería Web. Pressman sugiere un proceso de ingeniería web compuesto por las siguientes fases: lPlanteamiento y formulación. Identificamos los objetivos de nuestra aplicación, y delimitamos el alcance de la primera iteración. lPlanificación. Una vez planteado el problema, podremos estimar costos, riesgos y esfuerzo durante el desarrollo. Recordemos que en la planeación iterativa solamente se detalla la iteración actual, y las iteraciones subsecuentes sólo se plantean de forma general. lAnálisis. Durante esta etapa establecemos los requerimientos técnicos, gráficos, y de contenido, que incorporaremos en la iteración.
  • 103. Diseño de Sistemas en Internet. La Ingeniería Web. Pressman sugiere un proceso de ingeniería web compuesto por las siguientes fases:  Ingeniería. La actividad de ingeniería incorpora dos grupos de tareas que se realizan en paralelo: el diseño del contenido y la producción, se enfocan en el diseño, producción y adquisición del contenido de texto, gráfico y video que se vayan a integrar en la aplicación. Estas tareas son realizadas por personal no técnico. Por otro lado, están el diseño arquitectónico, de navegación e interfaz, el cual lidia con los aspectos técnicos.  Generación de páginas y pruebas. Se prueba que el contenido dinámico se genere correctamente, utilizando las plantillas, interfaces y contenidos diseñados en la fase de ingeniería. Posteriormente se realizan las pruebas pertinentes, que dependerán del tipo de aplicación y requerimientos no funcionales (por ejemplo, pruebas de desempeño, etcétera).
  • 104. Diseño de Sistemas en Internet. La Ingeniería Web. Pressman sugiere un proceso de ingeniería web compuesto por las siguientes fases:  Evaluación del cliente. Al final de cada iteración se debe realizar una evaluación con el cliente, para validar el avance y determinar los cambios o mejoras –en caso de ser necesarios–, que se aplicarán en las siguientes iteraciones.
  • 105. Diseño de Sistemas en Internet. La Ingeniería Web. Las fases que se deben llevar acabo son:  Análisis de Requisitos: Fija los requisitos funcionales de la aplicación Web para reflejarlos en un modelo de casos de uso.  Diseño Conceptual: Materializado en un modelo de dominio, considerando los requisitos reflejados en los casos de uso.  Diseño Navegacional: Lo podemos subdividir en :  Modelo del Espacio de Navegacional.  Modelo de la Estructura de navegación: Muestra la forma de navegar ante el espacio de navegación.  Diseño de Presentación: Representa las vistas del interfaz del usuario mediante modelos estándares de interacción UML.
  • 106. Diseño de Sistemas en Internet. La Ingeniería Web. Se han propuesto diferentes métodos con diferentes enfoques para el desarrollo de aplicaciones. Algunas de las principales metodologías son:  UWE que se basa en el uso de diagramas UML, la notación de UML y los mecanismos de extensión de UML.  Hipermedia Orientado a Objetos (Object-orientedHypermedia, OOH) proporciona un conjunto de nuevas vistas que extienden el UML para modelar únicamente la interfase de aplicaciones Web  OOHDM con un enfoque basado en modelos para construir aplicaciones hipermedia.  WebML es una notación visual para el diseño de aplicaciones Web complejas. Provee especificaciones gráficas formales para un proceso de diseño completo que puede ser asistido por herramientas de diseño visuales.
  • 107. Diseño de Sistemas en Internet. La Ingeniería Web.  ADM que combina el proceso de diseño centrado en el usuario y modelado [5]. Al mismo tiempo, ha aumentado la construcción de herramientas que faciliten el desarrollo de webapps, tales como: AriadneTool [6] herramienta para el método ADM y MagicUWE plugin para MagicDraw herramienta para la metodología UWE
  • 108. Diseño de Sistemas en Internet. Seguridad en las aplicaciones web 1. Cross Site Scripting (XSS.) 2. Injection Flaws. 3. Malicious File Execution. 4. Insecure Direct Object Reference. 5. Cross Site Request Forgery (CSRF.) 6. Information Leakage and Improper Error Handling. 7. Broken Authentication and Session Management. 8. Insecure Cryptographic Storage. 9. Insecure Communications. 10. Failure to Restrict URL Access.