TECNOLOGIAS WEB
Las tecnologías Web sirven para acceder a los
recursos de conocimiento disponibles en Internet o en las intranets
utilizando un navegador. Están muy extendidas por muchas razones:
facilitan el desarrollo de sistemas de Gestión del Conocimiento (en lo
adelante GC), su flexibilidad en términos de escalabilidad, es decir, a
la hora de expandir el sistema; su sencillez de uso y que imitan la
forma de relacionarse de las personas, al poner a disposición de todos
el conocimiento de los demás, por encima de jerarquías, barreras
formales u otras cuestiones. Estas tecnologías pueden llegar a
proporcionar recursos estratégicos, pero, evidentemente, no por la
tecnología en sí misma, que está disponible ampliamente, sino por lo
fácil que es personalizarla y construir con ella sistemas de GC
propietarios de la empresa.
Internet, Intranet o extranet permiten a los
usuarios el acceso a una gran cantidad de información: leer
publicaciones periódicas, buscar referencias en bibliotecas, realizar
paseos virtuales por museos, compras electrónicas y otras muchas
funciones. Gracias a la forma en que está organizada la World Wide Web
(WWW), los usuarios pueden saltar de un recurso a otro con facilidad.
Dentro de este grupo de tecnologías Web, podemos incluir los
agentes inteligentes.
¿Qué es un agente inteligente?
Podemos definir al agente inteligente como una entidad software que,
basándose en su propio conocimiento, realiza un conjunto de operaciones
destinadas a satisfacer las necesidades de un usuario o de otro
programa, bien por iniciativa propia o porque alguno de éstos se lo
requiere.
Todos
los agentes inteligentes son programas, pero no todos los
programas que realizan búsquedas son agentes inteligentes. Los agentes
en sí mismos pueden ser considerados como entidades individuales (partes
de programa que tienen control sobre sus propias vidas y movimientos).
Continuamente están realizando procesos que les indican qué hacer y
cómo. Se comunican con otros agentes para resolver de forma adecuada su
trabajo.
Últimamente la industria del software, con fines puramente comerciales, nos está mostrando aplicaciones catalogadas como
agentes inteligentes que realmente no lo son. Éste es el caso del Ayudante de Microsoft Office (Clippo, Dr. Genio, Ridondo, etc.). Si aplicamos cada una de las propiedades de los agentes inteligentes a este Ayudante
veremos que, como mucho, cumple la característica de la sociabilidad.
Por tanto realmente no es lo que se enuncia, sino un simple programa que
en determinados casos emula el comportamiento de los agentes
inteligentes. Esta comparación es una buena forma de distinguir entre un
agente inteligente y un programa convencional.
IMPORTANCIA DEL DESARROLLO DE WEB
La naturaleza abierta de la web ofrece increíbles oportunidades para los desarrolladores que desean crear sitios web o aplicaciones online. para sacar el máximo provecho de las capacidades de la web, necesita saber como usarlo.
El
desarrollo web en las últimas décadas ha ido transformando e impulsado
la evolución de Internet, cada día son más grandes los avances que en
este tema se trata, involucrando directamente el ingenio propio del
desarrollador en el tema.
En la actualidad el desarrollo y la creación de sitios web se impone en el mundo como herramienta tecnológica par unir las regiones, crear negocios, soportar empresas, mostrarse en el mercado e infinidad de aplicaciones de acuerdo a las perspectivas de las personas y sus alcances, encontrando en la internet fuente vital de generación de empleos, negocios eficaces e inteligentes y gra ayuda en la consecución de objetivos y planteamientos.
LENGUAJES UTILIZADOS PARA SU DESARROLLO
entre los lenguajes para el desarrollo de paginas web encontramos los siguientes:
HTML
CSS
HTTP
HTML
Es
el lenguaje utilizado para crear páginas web. Una página web no es más
que un documento de texto al que se le han añadido una serie de marcas
(también llamadas etiquetas), conceptualmente similares a los estilos
que se pueden aplicar al texto desde un programa como Microsoft Word.
Algunos ejemplos de marcas son:
<p> </p>
, <img />
, <form> </form>
.Sin embargo, a diferencia de los estilos en un texto, las marcas sirven para dar estructura a la página web, asignando un significado muy concreto al texto comprendido entre ellas. Por ejemplo la marca <p> sirve para delimitar un párrafo de texto, y hay otras marcas para incrustar imágenes y otros elementos en la página web. Este mecanismo de estructuración de documentos mediante marcas permite procesar (de manera simple) las páginas web utilizando aplicaciones software, como por ejemplo un navegador web.
Un
navegador no es más que una aplicación software que entiende una serie
de protocolos y estándares, entre ellos el HTML, de modo que cuando
recibe una página web va interpretando las distintas marcas HTML que
contiene. El resultado de este procesamiento será desde modificar la
barra de título del navegador para mostrar el título de la página a
resaltar el texto con una fuente de letra más grande, o mostrarlo en
negrita, etc.
El
lenguaje XHTML es una reformulación del lenguaje HTML utilizando el
metalenguaje llamado XML. Este metalenguaje está pensado para definir
otros lenguajes, especificando el conjunto de marcas que se van a
utilizar para dar estructura a un documento cualquiera. Como
desarrolladores, al usar XML elegimos que marcas definen nuestro
lenguaje de marcado, en vez de utilizar un conjunto preestablecido de
ellas, como el que tiene HTML.
Dado
que existen numerosas librerías para el procesamiento de documentos
XML, el desarrollo de aplicaciones software (como los navegadores web)
se ha visto simplificado. Asimismo, las reglas que definen la estructura
de un documento son más simples de modo que los procesadores de
documentos necesitan menos muchos menos recursos (ventaja aprovechada
por los navegadores web de los dispositivos móviles, por ejemplo).
Una
de las mejoras establecidas con XHTML es la división estricta entre
contenido y presentación, cosa que no ocurría en HTML. El dialecto de
XHTML llamado XHTML Strict obliga a que la asignación del formato de
presentación se haga de manera separada mediante hojas de estilo CSS.
Esta separación tiene las siguientes ventajas:
- La gestión del estilo de todo el sitio web está localizada en un punto concreto: las hojas de estilo. De este modo, es posible modificar todo el estilo del sitio (y mantenerlo coherente siempre) sin tener que editar una a una todas sus páginas.
- Se pueden tener varios estilos definidos para el mismo sitio web. Podemos ofrecer a los usuarios de nuestro sitio web la posibilidad de seleccionar el conjunto de colores y estilos (tema) del sitio web. Esto también permite dar soporte a la navegación desde múltiples dispositivos, de manera que según donde se tenga que mostrar la página (tamaño de pantalla, tipo de dispositivo...) las páginas se rendericen de una manera u otra (no es lo mismo, por ejemplo, mostrar la web en un navegador que sacarla por impresora).
COMANDOS BÁSICOS DE HTML
- < HTML > ... < /HTML > : Indica el comienzo y fin de un archivo HTML
- < HEAD > ... < /HEAD > : Indica el comienzo y fin de un encabezado (aquí se coloca generalmente el título).
- < TITLE > ... < /TITLE > : Indica el título.
- < BODY > ... < /BODY > : Indica el comienzo y fin del cuerpo de la página.
- < P > ... < /P > : Indica comienzo y fin de un párrafo.
- < BR > : Permite saltarse una línea (se llama quiebre de línea).
- < Hn > ... < Hn > : Para n entre 1 y 6, hacen que el texto encerrado aparezca como encabezado (un subtítulo). Se recomienda usar sólo 1,2 y 3.
- Tipos de letras:
- < B > ... < /B > : Negrita.
- < L > ... < /L > : Cursiva.
- < BLINK > ... < /BLINK > : Parpadeante.
- < STRONG > ... < /STRONG > : Enfatizada.
- < UL > ... < /UL > : Indica comienzo y fin de una lista no ordenada (puntos). Dentro de ellos, cada item empieza por < LI > y termina al terminar la línea.
- < OL > ... < /OL > : Indica comienzo y fin de una lista ordenada (números). Dentro de ellos, cada item empieza por < LI > y termina al terminar la línea.
HISTORIA DE
CSS
CSS fue propuesto por primera vez por Håkon
Wium Lie el 10 de octubre de 1994.9 Al mismo tiempo, Lie trabajaba con
Tim Berners-Lee en el CERN.10 Muchos otros lenguajes de hojas
de estilos fueron propuestos al mismo tiempo, y las discusiones en las listas
de correo públicas dentro del W3C
dieron lugar a la primera Recomendación CSS por el W3C (CSS1)11 en 1996. En particular, la
propuesta de Bert Bos fue influyente; él fue el coautor
de CSS1 y es reconocido como el cocreador de CSS.12
Las hojas de estilo han existido de una forma u otra
desde los comienzos del Standard Generalized Markup Language (SGML)
en la década de los 80s, y CSS fue desarrollado para proveer hojas de estilos
para la web.13 Un requerimiento para un lenguaje
de hoja de estilos web era que las hojas de estilo vinieran en diferentes
estilos en la web. Por lo tanto, los lenguajes de hojas de estilos existentes
como DSSSL y FOSI no fueron adecuados. CSS, por otro
lado, permite al documento ser influido por múltiples hojas de estilo por medio
de los estilos en «cascada.
DEFINICION
CSS son las siglas de Cascading Style Sheets
- Hojas de Estilo en Cascada - que es un lenguaje que describe la presentación
de los documentos estructurados en hojas de estilo para diferentes métodos de
interpretación, es decir, describe como se va a mostrar un documento en
pantalla, por impresora, por voz (cuando la información es pronunciada a través
de un dispositivo de lectura) o en dispositivos táctiles basados en Braille.
El lenguaje CSS permite
presentar, de manera estructurada, un documento que fue escrito en un lenguaje de marcado.
Se usa especialmente en el diseño visual de un sitio web cuando las páginas se hallan escritas en XML o HTML.
El CSS se desarrolló en
distintos niveles. El CCS1 ya no se emplea, mientras que el CSS2
funciona como recomendación. El CSS3, que se divide en varios
módulos, es el lenguaje
que se está tomando como estándar.
Lo que hace el CSS es encargarse de la descripción de las formas y de la sintaxis del
lenguaje de marcado. De esta manera describe cómo se tienen que
renderizar (generar las imágenes) los elementos que aparecen en pantalla.
El diseño del CSS posibilita
establecer una separación entre el contenido y la forma de presentación del documento
(dada por las fuentes, los colores y las capas empleadas). Así se puede lograr
que muchos documentos HTML
compartan la apariencia, utilizando una única hoja de estilo para todos (que se
especifica en un archivo .css). Gracias a esta particularidad, se evita tener que
repetir el código en la estructura.
VENTAJAS DE CSS
- Con una Hoja de Estilo podemos modificar la presentación de cada elemento sin modificar el código HTML, ahorrando esfuerzo y tiempo de edición. Así, el mantenimiento del sitio web se hace más sencillo.
- El lenguaje CSS ofrece una amplia gama de herramientas de composición más potentes que HTML.
- Con CSS se evita tener que recurrir a “trucos” para conseguir algunos efectos.
- Las Hojas de Estilo pueden usarse con otros lenguajes de programación (por ejemplo JavaScript) para conseguir efectos dinámicos en las páginas.
- Se pueden especificar Hojas de Estilo para distintos navegadores.
- Los usuarios con alguna discapacidad pueden definir su propia Hoja de Estilo y la regla !important obligará al navegador a suplantar la Hoja de Estilo del autor de la página.
DESVENTAJAS DE CSS
En cuanto a las desventajas del
uso de Hojas de Estilo, la única importante es el soporte irregular que
tienen las CSS por parte de los navegadores. Pueden existir
incompatibilidades con determinadas propiedades según el navegador que se
utilice, según si es para Windows o Mac o, incluso, entre distintas versiones
de un mismo navegador.
- Si hay problemas o limitaciones de compatibilidades, el navegador aplicará el formato predeterminado y nuestro trabajo de composición habrá sido inútil.
- Algunas propiedades de las CSS pueden provocar que una parte del contenido de nuestra página resulte inaccesible desde algunos navegadores.
CARACTERISTICAS
El modo de funcionamiento de las CSS consiste en
definir, mediante una sintaxis especial, la forma de presentación que aplicamos
a:
- Una página web entera, de modo que se puede definir la forma de todo el web de una sola vez.
- Un documento HTML o página, se puede definir la forma, en un pequeño trozo de código en la cabecera, a toda la página.
- Una porción del documento, aplicando estilos visibles en un trozo de la página.
- Una etiqueta en concreto, llegando incluso a poder definir varios estilos diferentes para una sola etiqueta. Esto es muy importante ya que ofrece potencia en nuestra programación. Podemos definir, por ejemplo, varios tipos de párrafos: en rojo, en azul, con márgenes, sin ellos, etc
La potencia de la tecnología salta a la vista. Pero no
solo se queda aquí, ya que además esta sintaxis CSS permite aplicar al
documento formato de modo mucho más exacto. Si antes el HTML se nos quedaba
corto para maquetar las páginas y teníamos que utilizar trucos para conseguir
nuestros efectos, ahora tenemos muchas más herramientas que nos permiten
definir esta forma:
- Podemos definir la distancia entre líneas del documento.
- Se puede aplicar identado a las primeras líneas del párrafo.
- Podemos colocar elementos en la página con mayor precisión, y sin lugar a errores.
- Y mucho más, como definir la visibilidad de los elementos, margenes, subrayados,tachados, etc.
VERSIONES DE CSS
Existen varias versiones: CSS1 y CSS2, la CSS3 está
todavía en desarrollo por el CSS WG (Cascading Style Sheets Working Group).
Los navegadores actuales
implementan bastante bien CSS1 desde 1999 (tres años después de su lanzamiento)
aunque dependiendo de la marca y versión del navegador hay algunas pequeñas
diferencias de implementación. El primer navegador en dar soporte completo al CSS1 ha sido
Internet Explorer 5.0 for the Macintosh en 2000, anteriormente el que mejor
soportaba CSS1 haba sido Opera, después otros navegadores también lo han ido
implementando.
Sin embargo, CSS2 (lanzado
en 1998) sólo está parcialmente implementado en los navegadores más recientes,
variando en estos los niveles de implementación.
HTTP DEFINICION
HTTP es un protocolo para transferir archivos o
documentos hipertexto a través de la red, este permite transferir archivos de
texto, gráficos, de video, de audio y otros recursos multimedia.
HTTP es el mecanismo de intercambio de información que
constituye la base funcional de la World Wide Web. Su arquitectura es tipo
cliente/servidor.
Existen tres tipos principales de mensajes HTTP, estos
son GET, POST y HEAD. Todos los datos enviados a través de HTTPS son
encriptados antes de ser enviados, esto impide que alguien pueda entender la
información enviada.
CARACTERÍSTICAS
Y FUNCIONAMIENTO
Desde el punto de vista de las comunicaciones, HTTP se
establece sobre la capa de conexión TCP/IP, y funciona de la misma forma que el
resto de los servicios comunes de entornos
UNIX: un proceso servidor escucha en un puerto de comunicaciones
TCP (por defecto, el 80), y espera las solicitudes de conexión de los clientes
web. Una vez que se establece la conexión, el protocolo TCP se encarga de mantener
la comunicación y garantizar un intercambio de datos libre de errores.
HTTP se basa en sencillas operaciones de
solicitud/respuesta. Un cliente establece una conexión con un servidor y envía
un mensaje con los datos de la solicitud. El servidor responde con un mensaje
similar, que contiene el estado de la operación y
Su posible resultado. Todas las operaciones pueden
adjuntar un objeto o recurso sobre el que actúan; cada objeto web es
identificado por su URL.
Las
principales características del protocolo HTTP son:
·
Transmisión de Imágenes de Vídeo mediante Servicios
Web XML sobre Toda la comunicación entre los clientes y servidores se realiza a
partir de caracteres US-ASCII de 7 bits.
·
Permite la transferencia de objetos multimedia,
codificando los archivos binarios en cadenas de caracteres. El contenido de cada
objeto intercambiado está identificado por su clasificación MIME.
·
Existen ocho verbos que permiten que un cliente pueda
dialogar con el servidor.
Los tres más utilizados son: GET,
para recoger un objeto, POST, para enviar información al servidor y HEAD, para
solicitar las características de un objeto (por ejemplo, la fecha de modificación
de un documento HTML).
·
Cada operación HTTP implica una conexión con el
servidor, que es liberada al
término de la misma. Es decir, en
una operación se puede recoger un único objeto. Con la versión HTTP 1.1 se ha
mejorado este procedimiento, permitiendo que una misma conexión se mantenga
activa durante un cierto periodo de tiempo, de forma que sea utilizada en sucesivas
transacciones. Este mecanismo, denominado HTTP Keep Alive, es empleado por la mayoría
de los clientes y servidores modernos.
·
No mantiene estado. Cada petición de un cliente a un
servidor no es influida por
las
transacciones anteriores. El servidor trata cada petición como una operación
totalmente independiente del resto.
·
Cada objeto al que se aplican los verbos del protocolo
está identificado a través
de un localizador uniforme de
recurso (URL) único.
ARQUITECTURA DE LOS SISTEMAS BASADOS EN HTTP
HTTP es un protocolo basado en el principio de cliente-servidor: las peticiones son enviadas por una entidad: el agente del usuario (o un proxy a petición de uno). La mayoría de las veces el agente del usuario (cliente) es un navegador Web, pero podría ser cualquier otro programa, como por ejemplo un programa-robot, que explore la Web, para adquirir datos de su estructura y contenido para uso de un buscador de Internet.Cliente: el agente del usuario
El agente del usuario, es cualquier herramienta que actué en representación del usuario. Esta función es realizada en la mayor parte de los casos por un navegador Web. Hay excepciones, como el caso de programas específicamente usados por desarrolladores para desarrollar y depurar sus aplicaciones.
El navegador es siempre el que inicia una comunicación (petición), y el servidor nunca la comienza (hay algunos mecanismos que permiten esto, pero no son muy habituales).
Para poder mostrar una página Web, el navegador envía una petición de documento HTML al servidor. Entonces procesa este documento, y envía más peticiones para solicitar scripts, hojas de estilo (CSS), y otros datos que necesite (normalmente vídeos y/o imágenes). En navegador, une todos estos documentos y datos, y compone el resultado final: la página Web. Los scripts, los ejecuta también el navegador, y también pueden generar más peticiones de datos en el tiempo, y el navegador, gestionará y actualizará la página Web en consecuencia.
Una página Web, es un documento de hipertexto (HTTP),
luego habrá partes del texto en la página que puedan ser enlaces (links)
que pueden ser activados (normalmente al hacer click sobre ellos) para hacer
una petición de una nueva página Web, permitiendo así dirigir su agente de
usuario y navegar por la Web. El navegador, traduce esas direcciones en peticiones
de HTTP, e interpretará y procesará las respuestas HTTP, para presentar al
usuario la página Web que desea.
El servidor Web
Al otro lado del canal de comunicación, está el servidor, el cual "sirve" los datos que ha pedido el cliente. Un servidor conceptualmente es una unica entidad, aunque puede estar formado por varios elementos, que se reparten la carga de peticiones, (load balancing), u otros programas, que gestionan otros computadores (como cache, bases de datos, servidores de correo electrónico, ...), y que generan parte o todo el documento que ha sido pedido.
Un servidor no tiene que ser necesariamente un
único equipo físico, aunque si que varios servidores pueden estar funcionando
en un único computador. En el estándar HTTP/1.1 y
Host
, pueden incluso compartir la misma dirección de IP.
Entre el cliente y el servidor, además existen
distintos dispositivos que gestionan los mensajes HTTP. Dada la arquitectura en
capas de la Web, la mayoria de estos dispositivos solamente gestionan estos
mensajes en los niveles de protocolo inferiores: capa de transporte, capa de
red o capa física, siendo así transparentes para la capa de comunicaciones de
aplicación del HTTP, además esto aumenta el rendimiento de la comunicación.
Aquellos dispositivos, que sí operan procesando la capa de aplicación son
conocidos como proxies. Estos pueden ser transparentes, o no (modificando las
peticiones que pasan por ellos), y realizan varias funciones:
- caching (la caché puede ser pública o privada, como la caché de un navegador)
- filtrado (como un anti-virus, control parental, ...)
- balanceo de carga de peticiones (para permitir a varios servidores responder a la carga total de peticiones que reciben)
- autentificación (para el control al acceso de recursos y datos)
- registro de eventos (para tener un histórico de los eventos que se producen)