lunes, 23 de marzo de 2015

Arquitectura

1.1. Evolución de las aplicaciones web. 


La Web 1.0, comenzó en los años 60`s, y en la Informática, es una frase que se refiere al estado de World Wide Web, este es un sistema de documentos de hipertextos los que van enlazados y que son accesibles gracias a la Internet. Con un navegador Web, los usuarios pueden visualizar sitios Web, los que están compuestos por paginas Web y estos contienen textos, imágenes, videos, etc., y en la cual, los usuarios pueden navegar a través de ellas usando hiperenlaces.

Esta fue creada para describir la Web antes del impacto que tiene el punto com. (2001), que es visto por muchas personas como el momento en que la Internet dio un giro. 

Algunas de las características del sitio Web incluyen: 
  • Libros de visita online o guestbooks.
  • Esta pagina ha sido construida dinámicamente a partir de una o varias bases de datos.
  • Son páginas estáticas y no dinámicas, por el usuario que las visita.
  • Posee formularios HTML, los que son enviados por vía email, en el cual, el usuario llena dicho formulario y luego de hacer clic es enviado mediante un cliente de correo electrónico, con el problema que en el código se pueden observar los detalles del envío del correo electrónico.
  • Contienen contenidos que no se pueden actualizar y solo permite su lectura.


La Web 2.0, es una evolución de las aplicaciones tradicionales hacia las aplicaciones aplicadas en la Web. Esta también, es una forma de entender Internet, con la ayuda de nuevas herramientas y de tecnologías de corte informático. Además, se refiere a una nueva generación de webs basadas en la creación de contenidos los que son producidos por sus propios usuarios del portal. En la Web 2.0, además, los consumidores de dicha página son productores de la misma información que consumen. 

La Web 2.0, es una herramienta, la que facilita el acceso a las publicaciones de los diferentes contenidos. Y esta a su vez va evolucionando, logrando así una mayor integración social y técnica, la que apunta hacia una mejora en los contenidos mediante una mayor participación comunitaria.

La Web 2.0, consta con las siguientes características: 

  • La Web esta catalogada como una plataforma; esto se refiere específicamente que todas las herramientas de la Web 2.0 están basadas en que tanto el software como los documentos están alojados al Internet y no al disco duro (PC).
  • Aprovechar la inteligencia colectiva.
  • Se dirige hacia una Web social de lectura-escritura (Nuevo Entorno Tecnosocial: NET).
  • Fin del ciclo de actualizaciones de software.
  • Son herramientas de poderosa simplicidad.
  • Experiencias enriquecedoras del usuario




La mayoría de las tecnologías que hay detrás de la Web tradicional se siguen usando en la Web 2.0: así los estándares XHTML, las hojas de estilo (CSS), las páginas dinámicas, la sindicación de contenidos, la programación en AJAX o flash, entre otras muchas (Van Der Henst, 2005).

Funcionalidades tecnológicas de la Web 2.0 Según Roy Fielding, ”la World Wide Web es la aplicación que más se ha distribuido a nivel mundial”. Para entender cómo evolucionó esta aplicación y se convirtió en la Web 2.0 es necesario entender el principio que lleva a crear arquitecturas. El principio de arquitectura clave de la Web, según su creador, Tim Berners-Lee (1991) es que “la Web es, por su diseño y filosofía, un sistema descentralizado”. Este principio permite, por una parte, dar más libertad en el diseño de aplicaciones Web pero también añade un componente de “caos” a todo el sistema. Hay ocho funcionalidades tecnológicas que aparecen típicamente en un sitio Web 2.0


La web 2.0 significó la aparición de redes sociales ahora las redes semánticas se dan paso gracias a la Web 3.0, que centra su objetivo en la inteligencia artificial y al innovación tecnológica. Mencionaremos algunas de las características que la identifican su presencia:



Inteligencia. El proyecto de la red semántica conocida como la Web 3.0, pretende crear un método para clasificar las páginas de internet, un sistema de etiquetado que no solo permita a los buscadores encontrar la información en la red sino entenderla. Al conseguir este objetivo, el usuario podrá acudir a la Web para preguntar en su lengua y sin necesidad de claves por un determinado asunto. La web aprenderá del resultado de las búsquedas para próximas operaciones. 
Abierta. El software libre, los estándares y las licencias Cretive Commons, se han convertido en habituales en internet. La información se distribuye libremente por la web, impidiendo que un solo dueño se apropie de ella. La plusvalía de la propiedad sobre la información se pierde a favor de un uso más democrático. 

Facilidad. Los internautas que visitan un sitio web deben emplear cierto tiempo en conocerlo aprender a usarlo. Las nuevas tendencias de diseño buscan estándares hacia una Web más homogénea en sus funciones y más fácil de reconocer, además de crear espacios que el usuario pueda configurar a su gusto. 

Rapidez. La transmisión de video en la red y el nacimiento de portales dedicados a esta tarea, como Youtube, son posibles con gracias a las rápidas conexiones de los usuarios. Las principales operadores de telecomunicaciones han empezado a implementar la fibra óptica hacia los usuarios con anchos de banda de hasta 3Mbps de ADSL que se convertirán en velocidades que irán de 30Mbps a 1000 Mbps.



La Web 4.0 es un nuevo modelo de Web que nace con el objetivo de resolver las limitaciones de la Web actual.

Es necesario un cambio de Paradigma, un nuevo modelo de Web. La Web 4.0 propone un nuevo modelo de interacción con el usuario más completo y personalizado, no limitándose simplemente a mostrar información, sino comportandose como un espejo mágico que de soluciones concretas a las necesidades el usuario.

Web 4.0 es una capa de integración necesaria para la explotación de la Web semántica y sus enormes posibilidades.


Se fundamenta en 4 pilares fundamentales:

Comprensión del lenguaje natural (NLU) y técnicas de Speech-to-text

Nuevos modelos de comunicación máquina-máquina (M2M). La red estará formada por agentes inteligentes en la nube, que serán capaces de comunicarse entre si y delegar la respuesta al agente adecuado.

Uso de información de contexto del usuario. Sentiment análisis, geolocalización, sensores…




1.2. Arquitectura de las aplicaciones web. 


La arquitectura tradicional de cliente/servidor también es conocida como arquitectura de dos capas. Requiere una interfaz de usuario que se instala y se ejecuta en una PC o estación de trabajo y envía solicitudes a un servidor para ejecutar operaciones complejas.




Las páginas Web son el componente principal de una aplicación o sitio Web. Los browsers piden páginas (almacenadas o creadas dinámicamente) con información a los servidores Web. En algunos ambientes de desarrollo de aplicaciones Web, las páginas contienen código HTML y scripts dinámicos, que son ejecutados por el servidor antes de entregar la página.

Una vez que se entrega una página, la conexión entre el browser y el servidor Web se rompe, es decir que la lógica del negocio en el servidor solamente se activa por la ejecución de los scripts de las páginas solicitadas por el browser (en el servidor, no en el cliente). Cuando el browser ejecuta un script en el cliente, éste no tiene acceso directo a los recursos del servidor. Hay otros componentes que no son scripts, como los applets (una aplicación especial que se ejecuta dentro de un navegador) o los componentes ActiveX. Los scripts del cliente son por lo general código JavaScript o VBSscript, mezclados con código HTML


Arquitectura de tres capas

La arquitectura de tres capas es un diseño reciente que introduce una capa intermedia en el proceso. Cada capa es un proceso separado y bien definido corriendo en plataformas separadas. En la arquitectura tradicional de tres capas se instala una interfaz de usuario en la computadora del usuario final (el cliente). La arquitectura asada en Web transforma la interfaz de búsqueda existente (el explorador de Web), en la interfaz del usuario final.


La arquitectura de las aplicaciones Web suelen presentar un esquema de tres niveles
El primer nivel consiste en la capa de presentación que incluye no sólo el navegador, sino tamién el servidor web que es el responsale de presentar los datos un formato adecuado.Elsegundo nivel está referido habitualmente a algún tipo de programa o script.
Finalmente, el tercer nivel proporciona al segundo los datos necesarios para su ejecución. Una aplicación Web típica recogerá datos del usuario (primer nivel), los enviará al servidor, que ejecutará un programa (segundo y tercer nivel) y cuyo resultado será formateado y presentado al usuario en el navegador (primer nivel otra vez).


1.3. Tecnologías para el desarrollo de aplicaciones web.


Para el desarrollo de aplicaciones web se han generado múltiples tecnologías entre

las que se encuentran: 


CGI. Common Gateway Interface fue la primera técnica utilizada para que el

contenido de las páginas web se generará de manera dinámica, es común

encontrar en los diferentes servidores web el modulo que soporta la ejecución de
CGIs. De manera resumida se puede decir que el CGI es un mecanismo de comunicación entre el servidor web y una aplicación externa, esta aplicación
puede estar desarrollada en casi cualquier lenguaje, este solo debe cumplir la
condición de ser soportado por el servidor http, es común encontrar que la
mayoría de las aplicaciones CGIs se encuentren desarrolladas con el lenguaje
PERL.

Paginas dinámicas en servidor. Con la aparición de esta tecnología se entra a
una nueva forma de trabajo, la cual esta orientada al trabajo del diseñador web,
quien no necesariamente conoce de lenguajes de programación. Este nuevo
enfoque consiste en insertar pequeños fragmentos de lógica de programación en
la estructura HTML de la página, al contrario de lo que se hacia en los CGIs, que
era en el lenguaje de programación utilizar sentencias de impresión para generar
salidas HTML. En este sentido se conocen diferentes alternativas, entre ellas
mencionar PHP, ASP, JSP, entre otros.

Java. Java es un lenguaje de programación orientado a objetos desarrollado por
la compañía Sun Microsystems. Está construido a partir de lenguajes orientados
a objetos anteriores, como C++, pero no pretende ser compatible con ellos sino
ir mucho más lejos, añadiendo nuevas características como recolección de
basura, programación multihilos y manejo de memoria a cargo del lenguaje.

Java DataBase Connectivity. JDBC es una interfaz que provee comunicación
con bases de datos. Consiste en un conjunto de clases e interfaces escritas en
Java, que proveen una API (Interfaz de Programación de Aplicación) estándar
para desarrolladores de herramientas de base de datos, permitiendo independizar
la aplicación de la base de datos que utiliza.
La API JDBC es la interfaz natural a las abstracciones y conceptos básicos
de SQL (Lenguaje de Consultas Simple): permite crear conexiones, ejecutar
sentencias SQL y manipular los resultados obtenidos.

Servlets. El servlet se puede considerar como una evolución de los CGIs
desarrollada por SUN Microsystems como parte de la tecnología Java. Son
programas Java que proveen la funcionalidad de generar dinámicamente
contenidos web. 

Java Server Pages. JSP provee a los desarrolladores de web de un entorno de
desarrollo para crear contenidos dinámicos en el servidor usando plantillas
HTML y XML (eXtensible Markup Language) en código Java, encapsulando la
lógica que genera el contenido de las páginas.
Cuando se ejecuta una página JSP es traducida a una clase de Java, la cual es
compilada para obtener un servlet. Esta fase de traducción y compilación ocurre
solamente cuando el archivo JSP es llamado la primera vez, o después de que
ocurran cambios. 

eXtensible Markup Language La familia XML es un conjunto de
especificaciones que conforman el estándar que define las características de un
mecanismo independiente de plataformas desarrollado para compartir datos. Se
puede considerar a XML como un formato de transferencia de datos multiplataforma.

XML ha sido diseñado de tal manera que sea fácil de implementar. No ha
nacido sólo para su aplicación en Internet, sino que se propone como lenguaje de
bajo nivel (a nivel de aplicación, no de programación) para intercambio de
información estructurada entre diferentes plataformas.
XML hace uso de etiquetas (únicamente para delimitar datos) y atributos, y
deja la interpretación de los datos a la aplicación que los utiliza. Por esta razón
se van formando lenguajes a partir del XML, y desde este punto de vista XML
es un metalenguaje.
El conjunto de reglas o convenciones que impone la especificación XML
permite diseñar formatos de texto para los datos estructurados, haciendo que se
almacenen de manera no ambigua, independiente de la plataforma y que en el
momento de la recuperación se pueda verificar si la estructura es la correcta.

Applets de Java. Un applet es un componente de software que corre en el
contexto de otro programa, por ejemplo un navegador web. El applet debe correr
en un contenedor, que es proporcionado por un programa anfitrión, mediante un
plugin o en aplicaciones como teléfonos celulares que soportan el modelo de
programación por applets. 

1.4. Planificación de aplicaciones web. 



La planificación no es una actividad muy común en

proyectos tecnológicos… menos en proyectos web
• Se confunde gestión con ejecución

• La planificación es clave para
saber a dónde queremos llegar,
cómo y con qué recursos cómo
y con qué recursos.

• Es el primer paso del ciclo de
proyectos


¿A quién te imaginas navegando por tu web?
• Utiliza el buscador Google o Utiliza el buscador Google o Yahoo y mira lo que y mira lo que hacen
otras organizaciones o sitios similares: analiza sus
mensajes recoge lo que más te gusta y ¡mejóralo! mensajes, recoge lo que más te gusta y ¡mejóralo!
• Si crees que tienes un proyecto que no existe en
Internet mucho mejor Internet, mucho mejor.
• Es importante centrarse en un objetivo principal.
• A continuación reúne el material que quieras utilizar y
describe en detalle una guía de qué harás, qué
cont id d á á t ti di d á tenidos pondrás, cuánto tiempo dispondrás para
crear tu web, y qué resultados esperas obtener.


Preguntas Iniciales


1. ¿Para qué necesita el sitio web la institución?
2. ¿Para qué necesita el sitio web la ¿Para qué necesita el sitio web la comunidad? comunidad?
3. ¿Qué es lo que buscan las personas en mi institución?
4. ¿Q é i d l i tit ió i t i Qué imagen de la institución quiero proyectar en mis
usuarios?
5. ¿Qué servicios interactivos entregaré a través del Sitio
Web?
6. ¿Quiénes pueden ayudarme a realizar el proyecto?

======
Fuente===>
======

==>Fuente

[Videos de Muestra(Los videos son tomados de YouTube, no son de mi autoria)]

Video

video

No hay comentarios:

Publicar un comentario