1.1 Evolución de las
aplicaciones web
La
Web de hoy es un universo de aplicaciones y páginas web interconectadas lleno
de vídeos, fotos y contenido interactivo. Lo que no ve el usuario es cómo
interactúan los navegadores y las tecnologías web para hacer que esto sea
posible.
La
Web actual es el resultado de los continuos esfuerzos de una comunidad web
abierta que ayuda a definir estas tecnologías web, tales como HTML5, CSS3 y
WebGL, y garantiza que todos los navegadores web las admitan. Las líneas de
color de esta visualización representan la interacción entre los navegadores y
las tecnologías web, lo que ha permitido el desarrollo del gran número de
aplicaciones web increíbles que utilizamos a diario.
ATRAS
Desde que Internet y la Web fueron creados, una cantidad infinita de
posibilidades se han abierto, quizás, la más importante y usual sea el acceso
de datos e información desde cualquier sitio. Las personas que se dedican al
desarrollo de aplicaciones podrían considerar esto como un desafío, ya que los
avances tecnológicos de estos últimos años exigen aplicaciones más rápidas,
ligeras y robustas que permitan utilizar la Web. Sin lugar a dudas, internet es
una de las últimas tecnologías que más rápidamente se está desarrollando para
su introducción en los hogares. Las previsiones apuntan a su integración como
un electrodoméstico más, con unas capacidades y servicios que evolucionaran
rápidamente. Por ese motivo, cada vez más adquieren importancia en las
respuestas de los usuarios frente a la implantación de estas nuevas tecnologías
1.1.1. Web 1.0
La
web primitiva, la del siglo 20, era aquella que se caracteriza principalmente
por ser unidireccional y realizada sobre contenidos estáticos. Las primeras
páginas que vimos en Internet publicaban contenidos de texto que, una vez
publicados, no se actualizaban salvo que el "webmaster" modificase
dichos contenidos y volviese a subir la web de nuevo a internet.
La
web 1.0 tenía un carácter principalmente divulgativo, y empezaron a colgarse de
internet documentos e información principalmente cultural. Poco a poco las
empresas empezaron a tomar parte y las primeras webs de empresa surgieron, con
diseños muy pobres (no había herramientas, ni tecnología, ni conexión
suficiente como para hacerlo mejor) y contenidos que rápidamente quedaban
anticuados al ser complejo actualizarlos.
Elementos
de diseño Web 1.0
Algunos
elementos de diseño típicos de un sitio Web 1.0 incluyen:
·
Páginas
estáticas en vez de dinámicas por el usuario que la visita
·
El
uso de framesets o marcos.
·
Extensiones
propias del HTML como
<blink> y <marquee>, etiquetas introducidas durante la guerra de
navegadores web.
·
Libros
de visitas en línea o guestbooks
·
Botones GIF, casi siempre a una
resolución típica de 88x31 píxeles en
tamaño promocionando navegadores web u otros productos.
·
Formularios
HTML enviados vía correo electrónico. Un usuario llenaba un
formulario y después de hacer clic se enviaba a través de un cliente de correo
electrónico, con el problema que en el código se podía observar los detalles
del envío del correo electrónico.
·
No
se podían añadir comentarios ni nada parecido
·
Todas
sus páginas se creaban de forma fija y muy pocas veces se actualizaban.
·
No
se trata de una nueva versión, sino de una nueva forma de ver las cosas.
1.1.2. Web 2.0
La
web 2.0 se asiento a mediados de la primera década de este siglo. Sustentada
bajo unas conexiones a internet evolucionadas (ya teníamos ADSL), y mejores
herramientas para desarrollar web, mejores servidores, etc., la web 2.0,
también denominada "la red social", llena Internet de blogs, wikis,
foros y finalmente, redes sociales. El objetivo de la web 2.0 es la
compartición del conocimiento, es la web colaborativa y ha sido uno de los
atractivos principales para atraer a usuarios.
La
Web 2.0 se caracteriza principalmente por la participación del usuario como contribuidor
activo y no solo como espectador de los contenidos de la Web (usuario pasivo).
Esto queda reflejado en aspectos como:
·
El
auge de los blogs.
·
El
auge de las redes sociales.
·
Las
webs creadas por los usuarios, usando plataformas de auto-edición.
·
El
contenido agregado por los usuarios como valor clave de la Web.
·
El
etiquetado colectivo (folcsonomía, marcadores sociales...).
·
La
importancia del long tail.
·
El
beta perpetuo: la Web 2.0 se inventa permanentemente.
·
Aplicaciones
web dinámicas.
·
La World Wide
Web como plataforma.
Web 3.0
web
semántica, es ser una expresión que se utiliza para describir la evolución del
uso y la interacción de las personas en internet a
través de diferentes formas entre las que se incluyen la transformación de la
red en una base de datos, un movimiento social con el
objetivo de crear contenidos accesibles por múltiples aplicaciones non-browser (sin
navegador), el empuje de las tecnologías de inteligencia artificial, la web semántica,
la Web Geoespacial o
la Web 3D. La expresión es utilizada por los
mercados para promocionar las mejoras respecto a la Web 2.0.
Esta expresión Web 3.0 apareció por primera vez en 2006 en un artículo
de Jeffrey Zeldman, crítico de la Web 2.0 y
asociado a tecnologías como AJAX. Actualmente existe un debate considerable en torno a lo
que significa Web 3.0, y cuál es la definición más adecuada.
1.2 arquitectura
cliente-servidor
Es
un modelo de diseño de software en el que las tareas se reparten entre los
proveedores de recursos o servicios, llamados servidores,
y los demandantes, llamados clientes. Un cliente realiza peticiones a
otro programa, el servidor, quien le da respuesta. Esta idea también se puede
aplicar a programas que se ejecutan sobre una sola computadora, aunque es más
ventajosa en un sistema operativo multiusuario distribuido
a través de una red de computadoras.
Algunos
ejemplos de aplicaciones computacionales que usen el modelo cliente-servidor
son el Correo electrónico, un Servidor de impresión y la World Wide
Web.
En
esta arquitectura la capacidad de proceso está repartida entre los clientes y
los servidores, aunque son más importantes las ventajas de tipo organizativo
debidas a la centralización de la gestión de la información y la separación de
responsabilidades, lo que facilita y clarifica el diseño del sistema.
La
separación entre cliente y servidor es
una separación de tipo lógico, donde el servidor no se ejecuta necesariamente
sobre una sola máquina ni es necesariamente un sólo programa. Los tipos
específicos de servidores incluyen los servidores web,
los servidores de archivo, los servidores del correo, etc. Mientras que sus
propósitos varían de unos servicios a otros, la arquitectura básica seguirá
siendo la misma.
Una
disposición muy común son los sistemas multicapa en los que el
servidor se descompone en diferentes programas que pueden ser ejecutados por
diferentes computadoras aumentando así el grado de distribución del
sistema.
La
red cliente-servidor es una red de comunicaciones en la cual los clientes están
conectados a un servidor, en el que se centralizan los diversos recursos y
aplicaciones con que se cuenta; y que los pone a disposición de los clientes
cada vez que estos son solicitados. Esto significa que todas las gestiones que
se realizan se concentran en el servidor, de manera que en él se disponen los
requerimientos provenientes de los clientes que tienen prioridad, los archivos
que son de uso público y los que son de uso restringido, los archivos que son
de sólo lectura y los que, por el contrario, pueden ser modificados, etc. Este
tipo de red puede utilizarse conjuntamente en caso de que se esté utilizando en
una red mixta.
1.2.1 Aplicaciones de 2,3
y n capas
Aplicaciones
de una Capa.
Las capas dentro de una arquitectura son nada más que un conjunto de servicios especializados que pueden ser accesibles por múltiples clientes y fácilmente reutilizables.
Este tipo de arquitectura se caracteriza por tener en una sola asociación lógica y en ella a la presentación, la lógica de negocios y los datos; que si los ponemos como servicios se convierten en capas, lo veremos más adelante.
Aplicaciones
de dos capas.
Se caracterizan por
tener 2 asociaciones lógicas, que prestan servicios y que a la final son
capas.
En
la primera capa se incluye a la presentación (Interface grafica) y a la lógica
de negocios, toda la lógica la escribimos en las formas (en el onClick del
botón por ejemplo), y accedemos a un servicio de datos para la gestión de los
mismos, por lo general a un servidor de Base de Datos.
Aplicaciones de
3 Capas.
Una aplicación de tres capas es una aplicación cuya funcionalidad puede ser segmentada en tres niveles lógicos (capas):
Una aplicación de tres capas es una aplicación cuya funcionalidad puede ser segmentada en tres niveles lógicos (capas):
• Los servicios
de presentación.
• Los servicios de negocios (Lógica de Negocios) .
• Los servicios de datos.
• Los servicios de negocios (Lógica de Negocios) .
• Los servicios de datos.
1.3
Lenguajes de programación Web y DBMS
Tradicionalmente
un software departamental o incluso un ambicioso proyecto corporativo de gran
envergadura es desarrollado en formastandalone, es decir, usando lenguajes ya
sea compilados(C, C++, Delphi), semicompilados(.NET, Mono, Java), o
interpretados (Python) para crear tanto la funcionalidad como toda la interfaz
de los usuarios, pero cabe perfectamente un desarrollo orientado a web para
dichos propósitos, siendo más homogéneo y multiplataforma, y dependiendo de las
tecnologías utilizadas, más rápido y robusto tanto para diseñar, implementar y
probar, como para su uso una vez terminado.
Funcionalmente,
el desarrollador web, que es quien realiza esta labor, normalmente sólo se
preocupa por el funcionamiento del software, es tarea del diseñador web
preocuparse del aspecto final(layout) de la página y del webmaster el integrar
ambas partes. En ocasiones el webmaster también se encarga de actualizar los
contenidos de la página.
DBMS
Los
sistemas de gestión de bases de datos (en inglés database management system,
abreviado DBMS) son un tipo de software muy específico, dedicado a servir de
interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan.
El
propósito general de los sistemas de gestión de bases de datos es el de manejar
de manera clara, sencilla y ordenada un conjunto de datos que posteriormente se
convertirán en información relevante para una organización.
1.4.
Instalación y Configuración de la Plataforma Web en Multiplataforma.
Lo
primero, la utilidad, una aplicación en PHP o Java o cualquier otro lenguaje,
como por ejemplo un juego o un TPV, una tienda, un portal…, cualquier tipo de
aplicación puede compartir datos como hemos visto en los cursos y talleres de
servicios web, pero podemos avanzar un poco más: si comprendemos el uso de una
plantilla XSLT que transforme un fichero XML, siendo este la salida de nuestra
aplicación, en un fichero XHTML que el navegador interpreta, sea en un móvil,
un ordenador de escritorio o cualquier otro formato que necesitemos…entonces,
las posibilidades son ilimitadas.
1.4.1.
Sistema Operativo.
Un
sistema operativo debe ser:
1. *Determinista: el mismo programa ejecutado con
los mismos datos debe dar los mismos resultados en cualquier momento y en
cualquier ejecución.
2. *Indeterminista: el S. O. debe responder a
circunstancias que pueden ocurrir en un orden impredecible.
1.4.2.
Servidor Web.
Iniciaremos
por definir lo que es un servidor, como su nombre lo indica, son los
dispositivos de red que brindan un servicio a otros dispositivos, a los cuales
se les conoce como clientes. En general quien realiza esta tarea es un software
especializado, pero comúnmente se conoce como servidor al equipo físico donde
se ejecuta, el cual es el centro de la infraestructura de la red.
Los
servidores web son aquellos cuya tarea es alojar sitios y/o aplicaciones, las
cuales son accedidas por los clientes utilizando un navegador que se comunica
con el servidor utilizando el protocolo HTTP (hypertext markup language).
Básicamente
un servidor WEB consta de un interprete HTTP el cual se mantiene a la espera de
peticiones de clientes y le responde con el contenido según sea solicitado. El
cliente, una vez recibido el código, lo interpreta y lo exhibe en pantalla.
El
objetivo de toda organización radica en la obtención de mas ganancias,
mantenerse en el gusto de sus clientes y por supuesto que el numero de ellos
incremente; es así como pequeñas, medianas y grandes empresas buscan soluciones
de marketing que le den ventajas competitivas sobre los competidores locales,
una de las estrategias que busca la obtención de nuevos clientes es la
exploración de nuevos mercados, actualmente estos no son solo buscados
localmente, sino que la tecnología provee otro camino como buscar en línea
(internet), de ahí radica la importancia del conocimiento de las plataformas
tecnológicas que son utilizadas para dar el soporte a los negocios
electrónicos.
1.4-
INSTALACIÓN Y CONFIGURACIÓN DE LA PLATAFORMA WEB MULTIPLATAFORMA
Una
instalación o configuración puede realizarse en cualquier tipo de lenguaje ya
que existen varios tipos, Java, XHTML, entre otros, el lenguaje XHTML puede
ejecutarse desde un navegador, ya que no ocupa o requiere de un programa en
especial.
1.4.1
SISTEMA OPERATIVO (SO)
Es
un conjunto de órdenes y programas que interactúan entre sí para poder llevar
acabo el control básico de la computadora y así permitir el funcionamiento
correcto de los demás programas que estén integrados.
Funciones
de los Sistemas Operativos
Administración
del procesador: el sistema operativo administra la distribución del procesador
entre los distintos programas por medio de un algoritmo de programación. El
tipo de programador depende completamente del sistema operativo, según el
objetivo deseado.
Características
· Organizar datos para acceso rápido y
seguro.
· Eficiencia. Permite que los recursos
de la computadora se usen de la manera más eficiente posible.
· Permite que se puedan compartir el
hardware y los datos entre los usuarios
1.4.2.
SERVIDOR WEB.
Es
un programa que se ejecuta continuamente en un computador, manteniéndose a la
espera del usuario o cliente, esto quiere decir que cuando nosotros entramos a
navegar en alguna página web, esta estaba en espera en los que nosotros
decidíamos entrar a ella, y cuando uno entra esa página o sitio empiezan a
trabajar mediante el computador.
1.4.3.
LENGUAJE DE PROGRAMACIÓN.
Es
todos los símbolos, caracteres y reglas de uso que se permite para que se lleve
a cabo la codificación del programa y así haya comunicación de personas con la
computadora. La programación tiene como finalidad en desarrollar programas para
procesar información.
Ventajas:
Es
mucho más fácil de comprender que un lenguaje máquina.
Permite
mayor portabilidad, es decir que puede adaptarse fácilmente para ejecutarse en
diferentes tipos de equipos.
1.4.4.
WEB
Es
un conjunto de redes de comunicación interconectadas y ofrecen varios servicios
mediante ellos podemos hacer diferentes tipos de cosas.
1.4.5.
DBMS
Data
Base Management System (Sistema de administración de base de datos) mediante la
base datos se está organizando, administrando los datos que se vayan
almacenando en la base, y así será más fácil de recuperar, es una forma segura
de tener los datos ya sean importantes o no lo sean tanto.
1.5.1
SEGURIDAD
Se
encarga como su nombre lo dice de la seguridad de las aplicaciones web, sitio y
servicios web. Mediante las redes sociales mandamos información importante y es
aquí donde está la seguridad de algún sitio, para evitar el robo de
información.