miércoles, 15 de mayo de 2019

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):

• Los servicios de presentación.
• 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.