Sie sind auf Seite 1von 13

UNIVERSIDAD ANDINA DEL CUSCO

FACULTAD DE INGENIERA

CARRERA PROFESIONAL DE INGENIERA


DE SISTEMAS
TEMA

Arquitecturas de Aplicaciones de Sistemas Web

CURSO:

Ingeniera de la Informacion 2

DOCENTE:

Ing. Ramiro Mora Jimenez

ALUMNO:

Cesar Jordano Moscoso Yarn

CUSCO 2014
Pgina 1 de 13

Indice
Indice

Introduccin

Desarrollo

Concepto

Funcionamiento

Ventajas y Desventajas

Ventajas

Desventajas

Web-Enabled o Web-Based?

Arquitecturas en el desarrollo Web

Nueva Arquitectura de aplicaciones web

Modelo 1: aplicacin Web clsica

Modelo 2: aplicacin web AJAX

Modelo 3: del lado del cliente MV * aplicacin web

Por qu fueron estas arquitecturas no implementadas antes?

Frameworks para aplicaciones web

10

11

12

Conclusiones

12

Referencias y Bibliografa

13

Pgina 2 de 13

Introduccin
La idea fundamental es que los navegadores, browsers, presentan documentos escritos en
HTML que han obtenido de un servidor Web. Estos documentos HTML habitualmente
presentan informacin de forma esttica, sin ms posibilidad de interaccin con ellos.
El modo de crear los documentos HTML ha variado a lo largo de la corta vida de las
tecnologas Web pasando desde las primeras pginas escritas en HTML almacenadas en un
fichero en el servidor Web hasta aquellas que se generan al vuelo como respuesta a una
accin del cliente y cuyo contenido vara segn las circunstancias.
Adems, el modo de generar pginas dinmicas ha evolucionado, desde la utilizacin del
CGI ,Common Gateway Interface, hasta los servlets pasando por tecnologas tipo JavaServer
Pages. Todas estas tecnologas se encuadran dentro de aquellas conocidas como Server Side,
ya que se ejecutan en el servidor web.
Otro aspecto que completa (complica?) el panorama son las inclusiones del lado del
cliente, Client Side, que se refieren a las posibilidades de que las pginas lleven incrustado
cdigo que se ejecuta en el cliente, como por ejemplo JavaScript y programas Java.

Pgina 3 de 13

Desarrollo
Concepto
Una aplicacin de sistema web es una solucin de desarrollo de software implementado con
tecnologas de internet, de tal manera que todos los usuario puedan acceder a las
funcionalidades del software usando un navegador como Firefox o Safari.
Una aplicacin web suele combinar un sitio Front-end con una funcionalidad back-office.
Esta integracin entre un punto de acceso publico en el sitio web y el centro de proceso
(back-office) permite crear nuevos complejos negocios o mejorar y evolucionar procesos
actuales de una organizacin.
Desde el punto de vista tcnico, la web es un ambiente de programacin que permite un
acceso masivo a travs del internet. Dos importantes componentes de un sitio web moderno
son la flexibilidad de buscadores y aplicaciones web. Por tanto hoy en da los las
organizaciones competitivas tiene que experimentar e invertir en aplicaciones web, y
aplicaciones de sistemas web par unificar procesos, de la mera que se pueda interpretar todos
los procesos de manera directa.
Aplicaciones web por lo tanto son programas de computadora que permiten a los visitantes de
un sitio web enviar y recibir informacion desde una base de datos implementada en el servidor
usando un navegador.

Funcionamiento
En la figura de la parte inferior se explica las 3 capas del modelo de aplicaciones web. L
primera capa es normalmente el navegador o la interfaz de usuario; la segunda capa es utiliza
una herramienta de generacin de contenido dinmica como Java Servlets (JSP) o Active
Server Pages (ASP) y la tercera capa es el contenido de la base de datos.

Pgina 4 de 13

La imagen inferior muestra como la peticin inicial es lanzada por el usuario a traer de un
navegador a travs de internet hacia la el servidor de la aplicacin web. La aplicacin web
accede a la base de datos de los servidores para realizar la peticin que se transmiti desde
el usuario. La aplicacin web entrences presenta la informacion de respuesta al usuario a
travs del navegador.

Ventajas y Desventajas
Ventajas
Con las aplicaciones basadas en la web, los usuarios acceden al sistema a travs de un
entorno sin el navegador web uniforme. Mientras que la interaccin del usuario con la
aplicacin necesita ser probado a fondo en distintos navegadores web, la aplicacin en s
slo necesita ser desarrollado para un solo sistema operativo. No hay necesidad de
desarrollar y probar en todas las posibles versiones de sistemas operativos y
configuraciones. Esto hace que el desarrollo y la solucin de problemas mucho ms fcil,
y para aplicaciones web que utilizan una interfaz de Flash, pruebas y resolucin de
problemas es an ms fcil.

Pgina 5 de 13

A diferencia de las aplicaciones tradicionales, sistemas web son accesibles en cualquier


momento y en cualquier lugar, a travs de un PC con conexin a Internet, poniendo al
usuario a cargo de dnde y cuando tienen acceso a la aplicacin.

La interfaz de usuario de las aplicaciones basadas en la web es ms fcil de personalizar

que en las aplicaciones de escritorio. Esto hace que sea ms fcil para actualizar la
apariencia de la aplicacin, o para personalizar la presentacin de la informacin a los
diferentes grupos de usuarios.

Adems de personalizar el contenido para los grupos de usuarios, el contenido tambin

se puede personalizar para su presentacin en cualquier dispositivo conectado a Internet,


incluyendo PDAs, telfonos mviles, etc., ampliando an ms la capacidad del usuario
para recibir e interactuar con la informacin.

El uso de las tecnologas de Internet basado en los estndares de toda la industria, es

posible lograr un mucho mayor nivel de interoperabilidad entre las aplicaciones que con
los sistemas de escritorio aislados. Por ejemplo, es mucho ms fcil de integrar un
sistema de carrito de la compra basada en la web con un paquete de contabilidad
basado en la web que es conseguir dos sistemas propietarios a hablar unos con otros.
Arquitectura basada en Web permite integrar rpidamente sistemas de la empresa,
mejorando el flujo de trabajo y otros procesos de negocio.

Instalacin y mantenimiento se hace menos complicado. Una vez que una nueva versin
o actualizacin se ha instalado en el servidor host, todos los usuarios pueden acceder a
ella de inmediato. No hay necesidad de actualizar cada PC cliente. El despliegue de un
nuevo software se puede lograr con mayor facilidad, que slo requiere que los usuarios
tienen hasta a la fecha de los navegadores y plugins. Y a medida que las mejoras slo
se llevan a cabo por un profesional con experiencia para un solo servidor, los resultados
son ms predecible y fiable.

El aumento de la capacidad del procesador tambin se convierte en una operacin

mucho ms sencilla. Si una aplicacin requiere ms energa para realizar las tareas, slo
el hardware de servidor necesita ser mejorado. La capacidad de software basado en web
se puede aumentar mediante "agrupacin" o ejecutar el software en varios servidores
simultneamente. A medida que aumenta la carga de trabajo, servidores nuevos se
pueden aadir al sistema fcilmente-Google, por ejemplo, se ejecuta en miles de
servidores Linux de bajo costo. Si falla un servidor, que puede ser reemplazado sin
afectar el rendimiento global de la aplicacin.

Aplicaciones basadas en la Web normalmente se implementan en servidores dedicados,


que son controlados y mantenidos por los administradores de servidores experimentados.

Pgina 6 de 13

Esto es mucho ms efectivo que el seguimiento de cientos o incluso miles de equipos


cliente, como es el caso de las nuevas aplicaciones de escritorio.

Cualquiera de las tres tecnologas bsicas se pueden utilizar para crear aplicaciones

basadas en la web, en funcin de los requerimientos de la aplicacin. Las soluciones


basadas en Java (J2EE) de Sun Microsystems implican tecnologas como JSP y servlets.
La plataforma Microsoft .NET ms reciente que utiliza pginas Active Server, SQL Server y
lenguajes de script .NET. La tercera opcin es la plataforma Open Source
(predominantemente PHP y MySQL), que es el ms adecuado para pequeos sitios web
y aplicaciones de bajo presupuesto.

Desventajas
Los sitios web y aplicaciones web relacionadas deben estar disponibles las 24 horas del
da, los 7 das de la semana, para prestar el servicio requerido a los clientes, empleados,
proveedores y otras partes interesadas.
Los cortafuegos y SSL no proporcionan proteccin contra la piratera de aplicaciones web,
simplemente porque el acceso a la pgina web tiene que ser hecha pblica - Todos los
sistemas de bases de datos modernas (por ejemplo, Microsoft SQL Server, Oracle y
MySQL) se puede acceder a travs de puertos especficos (por ejemplo, el puerto 80 y
443 ) y cualquiera puede intentar conexiones directas a las bases de datos sin pasar
efectivamente los mecanismos de seguridad utilizados por el sistema operativo. Estos
puertos permanecen abiertos para permitir la comunicacin con el trfico legtimo y, por
tanto, constituyen una importante vulnerabilidad.
Aplicaciones web a menudo tienen acceso directo a los datos de back-end, tales como
bases de datos de clientes y, por tanto, controlar los datos valiosos y son mucho ms
difciles de conseguir. Aquellos que no tienen acceso tendr algn tipo de script que
permite la captura y transmisin de datos. Si un hacker se hace consciente de las
debilidades de una secuencia de comandos, puede redirigir fcilmente el trfico
involuntario a otra ubicacin e ilegtimamente desincorporar datos personales.
La mayora de las aplicaciones web son por encargo y, por lo tanto, implican un menor
grado de las pruebas de software off-the-shelf. En consecuencia, las aplicaciones
personalizadas son ms susceptibles al ataque.

Pgina 7 de 13

Web-Enabled o Web-Based?
Cuando nos referimos a las aplicaciones desarrolladas para la web comn mente hacemos
referencia al termino Web-Enabled, pero es este el termino correcto?
Empecemos por mirar unas definiciones:
Web-Enabled: producto o servicio que se puede utilizar a travs de, o en conjuncin
con, la WWW.
Web-Based: aplicaciones que no hacen procesamiento en el computador del usuario, en
su lugar se utilizan a travs de Internet gracias a un navegador web.
Basado en esto podemos concluir que Web-Enabled es un concepto ms global y es por eso
que es usado por muchas personas para describir aplicaciones que usan un navegador web,
sin embargo es claro que cuando nos referimos a aplicaciones que usan el navegador es ms
adecuado referirse a ellas como aplicaciones Web-Based.
De la misma forma podemos entender como muchas aplicaciones dicen ser Web-Enabled
teniendo aplicaciones que corren en la estacin de trabajo del usuario, esta debido a que se
conectan a servicios expuestos en Internet que son bsicos para su funcionamiento.

Arquitecturas en el desarrollo Web


Las aplicaciones web han ido evolucionando, desde sitios HTML estticas primero a las
aplicaciones AJAX, ms recientemente, a travs de mltiples tecnologas dinmicas (PHP, ASP,
Java, Ruby on Rails ...), las arquitecturas de aplicaciones Web y sus herramientas dedicadas
experimentar regularmente grandes avances y descubrimientos.
Durante dos aos, hemos visto una nueva ola de tecnologas que vienen, transformando el
paisaje de las aplicaciones Web. A diferencia de RIA o AJAX antes, se nombre bien definido
an para esta nueva tendencia. Lo llamaremos "MV * arquitecturas del lado del cliente".
Aqu est el principio fundamental: el servidor ya no gestiona toda la pgina, pero slo enva
datos en bruto para el cliente; toda la gestin de generacin de pginas y las interacciones del
usuario se realiza en el lado del cliente, es decir en el navegador.

Pgina 8 de 13

Nueva Arquitectura de aplicaciones web


El siguiente diagrama ilustra la evolucin de las arquitectura de aplicaciones web.

Modelo 1: aplicacin Web clsica


En el primer diagrama, la aplicacin Web se ejecuta principalmente en el lado del servidor. Se
enva directamente al navegador HTML pginas, CSS y JavaScript, posiblemente, mejorar el
comportamiento. Luego, para cada accin del usuario que requiere nuevos datos, el servidor
se consulta y devuelve una nueva pgina HTML.

Modelo 2: aplicacin web AJAX


El segundo diagrama muestra el patrn de AJAX, para Asynchronous JavaScript And XML, que
apareci a mediados de la dcada de 2000.

Pgina 9 de 13

Este principio arquitectura puede hacer la aplicacin ms sensible mediante la reduccin de


los intercambios entre el navegador y el servidor. Cuando una accin de usuario genera una
llamada del cliente para recuperar los nuevos datos, el servidor slo devuelve _ fragmentos de
vista. Por lo tanto, slo una pequea parte de la pantalla se actualiza, en lugar de toda la
pgina. Esto requiere el desarrollo de JavaScript en el cliente con el fin de gestionar refrescos
parciales, por ejemplo mediante el uso de la biblioteca jQuery y sus funciones u otros $ .ajax
herramientas ms integrado con las plataformas de servidor (como Java Server Faces o
Google Web Toolkit para entornos Java ).
Esta arquitectura trajo ms reactividad, pero tambin ms complejidad. Tiene muchas trampas:
El amplio uso de jQuery puede hacer imposible el mantenimiento de aplicaciones, sin la
aplicacin de normas tcnicas complejas (ofrecido hoy por MV * frameworks como
Backbone.js y AngularJS) a pesar que su objetivo es facilitar la evolucin, los marcos del lado
del servidor como Java Server Faces resultaron ser muy pesado y complejo, lo que lleva a
muchos errores y problemas de rendimiento.

Modelo 3: del lado del cliente MV * aplicacin web


El tercer diagrama muestra la nueva arquitectura del lado del cliente MV *, cuyo interrumpe
con las anteriores principio: ahora el servidor enva datos sin formato slo primas y el cliente
es responsable de generar la pantalla fuera de l.
El trmino MV * se refiere al patrn MVC, para el Modelo Vista Controlador, ampliamente
utilizado en el servidor para separar los datos y la gestin de puntos de vista. Cada vez ms
utilizamos este trmino MV *, con el fin de resaltar las pequeas diferencias con respecto a las
implementaciones de MVC puros. Pero esto es un debate de expertos ...
El punto importante en esta nueva arquitectura es el cambio de toda la lgica de la interfaz de
usuario desde el servidor al cliente.
Esta separacin de intereses entre el servidor y el cliente no es un fenmeno nuevo. Ha sido
devueltos por las aplicaciones mviles nativas, consumiendo API independientes del cliente.
Las nuevas arquitecturas de aplicaciones Web llevar esta posibilidad a las aplicaciones Web.

Pgina 10 de 13

Por qu fueron estas arquitecturas no implementadas antes?


Bsicamente, el lenguaje JavaScript est all ya que existe la Web. El principio no parece tan
revolucionaria, ya que es muy similar a las aplicaciones cliente-servidor clsicos que ya
existan antes de la Web. As que por qu no pensamos en esta nueva arquitecturas
anteriores?
La respuesta es simple: no era posible; excepto si usted es Google!
De hecho, dos factores fueron la limitacin de la posibilidad de desarrollar con JavaScript:
limitaciones del navegador, en trminos de capacidad y el rendimiento
la falta de industrializacin del desarrollo de JavaScript

Pgina 11 de 13

Frameworks para aplicaciones web


El ms conocido patrn de diseo de aplicaciones web es la arquitectura Model-ViewController (MVC: Modelo-Vista-Controlador). Un Modelo es un objeto que representa datos o
incluso una actividad en forma de tabla en base de datos. Una Vista es algn tipo de
visualizacin del estado del modelo, y un Controlador ofrece funciones (herramientas) para
cambiar el estado del modelo.
Hay una amplia gama de frameworks para aplicaciones web disponibles para Linux que son
distribuidos bajo licencia Open Source. Para proporcionar una visin en el software que
actualmente est disponible, hemos compilado una lista de 10 frameworks de alta calidad. Los
que hemos seleccionado cubren un nmero de lenguajes de programacin incluyendo Ruby,
PHP y Python.
Ahora, exploremos los 10 frameworks en cuestin. Para cada ttulo se ha incluido un
hipervnculo hacia el propio portal, una descripcin completa con un anlisis en profundidad
de sus caractersticas, junto con enlaces a recursos y revisiones relevantes.

Conclusiones
El desarrollo web ha contribuido con poder proveer de servicios a una gran cantidad de
usuarios de un misma herramienta de software. Para poder hacerlo ha ido evolucionando
desde sus inicios, as con todo tipo de arquitecturas como la clsica, Ajax o MV hoy en da
como tambin con todo tipo de frameworks preparadas para todo tipo de lenguajes
de generacin de contenido web.
Por lo tanto dependiendo de que lenguaje de generacin de contenido tengamos en mente,
tendremos que elegir el framework a trabajar , y por lo tanto este nos proveer de las
arquitecturas a las cuales esta preparada.

Pgina 12 de 13

Referencias y Bibliografa
http://elbauldelprogramador.com/los-10-mejores-frameworks-gratis-de-aplicaciones-web/
Tema: Los 10 mejores frameworks para aplicaciones Web
Autor: Ing. Computacin Alejandro Alcalde
Fecha de Ingreso: 24/11/2014
http://blog.octo.com/en/new-web-application-architectures-and-impacts-for-enterprises-1/
Tema: The new Web application architectures and their impacts for enterprises
Autores: Franois Petitit , Mickal Tricot
Fecha de Ingreso: 24/11/2014
http://www.magicwebsolutions.co.uk/blog/the-benefits-of-web-based-applications.htm
Tema: The benefits of web-based applications
Autor: Magic Web Solutions
Fecha de Ingreso: 24/11/2014
http://www.bluesky-e.co.uk/webapplications.php
Tema: Web Application Development
Autor: Bluesky-e
Fecha de Ingreso: 24/11/2014
http://www.acunetix.com/websitesecurity/web-applications/
Tema: Web Applications: What are They? What of Them?
Autor: Acunetix
Fecha de Ingreso: 24/11/2014

Pgina 13 de 13

Das könnte Ihnen auch gefallen