Anda di halaman 1dari 7

IAW

Tema 1. Introduccin

Tema 1. Introduccin. 1. Aplicaciones web frente a aplicaciones de escritorio


En ingls se denomina browser-based aplication, es decir, aplicacin basada en navegadores. Son programas que se disean para funcionar a travs de un navegador de internet, es decir, son aplicaciones que se ejecutan de forma online Desde el punto de vista de de la arquitectura se distinguen dos lados : uno es el cliente en donde se encuentra el usuario final utilizando la aplicacin a travs de un navegador, es aqu donde el usuario interacta con la aplicacin localizada al otro lado o servidor en donde residen realmente los datos, reglas y lgica de la aplicacin. Que diferencia existe entre una aplicacin de escritorio(offline) y una aplicacin web(online)? Una aplicacin offline se ejecuta en el cliente, es decir en tu PC. Para iniciarla y hacerla funcionar requiere estar presente delante del ordenador que tiene instalada dicha aplicacin.. Ventajas: su ejecucin no requieren habitualmente de comunicaciones con el exterior, sino que se realiza de forma local. Esto repercute en mayor velocidad de procesamiento, y por tanto en mayores capacidades a la hora de programar herramientas ms complicadas o funcionales. Desventajas: Su acceso se limita al PC donde se instalan. Son dependientes del sistema operativo que utilice tu ordenador y sus capacidades (video, memoria, etc). Duplicidad de datos por la falta de unificacin de los mismos. Diseminacin de la informacin y lgica en muchas partes (cada computador que la use). Falta de portabilidad de la aplicacin a diferentes sistemas operativos Traumas a la hora de realizar actualizaciones o correcciones al programa ya que las instalaciones estn diseminadas La administracin de la seguridad, controlando el acceso a los usuarios a informacin no relevante o privada es un caos. Dificultad para configurar cada una de las instalaciones dependiendo de las necesidades de cada usuario Una aplicacin online por el contrario reside en un servidor, y su ejecucin requiere disponer de un dispositivo(ordenador, PDA, tablet) con conexin a internet (o a una intranet donde se encuentre el servidor de la aplicacin que queramos usar), un navegador como Internet Explorer, Mozila Firefox, Opera, etc y por supuesto que la aplicacin est funcionando en el servidor que la aloja. Un ejemplo simple sera un Blog, donde usuarios presentan y actualizan informacin de forma remota a travs de unos administradores o paneles de control web, y otros usuarios acceden a ella a travs de una interfaz web: la aplicacin reside en los servidores de WordPress o Blogspot y , nosotros slo accedemos a ella a travs de un navegador. Ventajas: proporcionan movilidad, dado que puedes ejecutarlas desde cualquier ordenador con conexin a internet. La informacin que manejan se accede a travs de internet, motivo por el cual son especialmente interesantes para desarrollar aplicaciones multiusuario basadas en la comparticin de informacin. El cliente o usuario que utiliza la aplicacin no necesita tener un ordenador de grandes prestaciones para trabajar con ella.

Celia Benito Garrido

IAW

Tema 1. Introduccin

Desventajas: la comunicacin constante con el servidor que ejecuta la aplicacin establece una dependencia con una buena conexin a internet. Adems, el servidor debe tener las prestaciones necesarias para ejecutar la aplicacin de manera fluida, no slo para un usuario sino para todos los que la utilicen de forma concurrente.

POR QU ESTE CONCEPTO HA TOMADO TANTA RELEVANCIA?


La esencia del concepto es: no dejar que el cliente realice demasiadas tareas, slo lo necesario para que lleve a cabo su trabajo y dejar que en el lado del servidor se realicen las operacin importantes: almacenamiento de datos, transacciones, reglas del negocio y la lgica del programa. Con el auge de las redes locales (empresariales, institucionales o caseras) y la popularidad de la Internet ofreciendo la oportunidad de acceso a travs de computadores y otros dispositivos mviles, lo que era algo de uso privilegiado hace algunos aos, ahora es comn. La Internet ha elevado y extendido aun ms el concepto de aplicacin Web para servir no slo a usuarios de una pequea red sino ubicados en cualquier sitio donde tenga acceso a la Internet

2. Arquitectura cliente servidor . Elementos.


En el mundo de TCP/IP las comunicaciones entre ordenadores se rigen bsicamente por lo que se llama modelo Cliente-Servidor, ste es un modelo que intenta proveer usabilidad, flexibilidad, interoperabilidad y escalabilidad en las comunicaciones. El trmino Cliente/Servidor fue usado por primera vez en 1980 para referirse a PCs en red. Este modelo Cliente/Servidor empez a ser aceptado a finales de los 80s.. Su funcionamiento es sencillo: se tiene una mquina cliente, que requiere un servicio de una mquina servidor, y ste realiza la funcin para la que est programado (ntese que no tienen que tratarse de mquinas diferentes; es decir, un ordenador puede ser a la vezcliente y servidor).

El Modelo Cliente-Servidor Desde el punto de vista funcional, se puede definir la computacin Cliente/Servidor como una arquitectura distribuida que permite a los usuarios finales obtener acceso a la informacin en forma transparente an en entornos multiplataforma. En el modelo cliente servidor, el cliente enva un mensaje solicitando un determinado servicio a un servidor (hace una peticin), y este enva uno o varios mensajes con la respuesta (provee el servicio). Debido a que cliente y servidor son conceptos software y no software, cada mquina puede cumplir el rol de servidor para algunas tareas y el rol de cliente para otras. Ejemplos

Servidor Servidor Web (apache, IIS) SFTP, Filezilla Server

Cliente Explorer, Firefox CuteFTP, Filezilla Client

Servidor de Base de datos (Oracle, MySQL Query Browser, PHPMyAdmin, Explorer.. MySQL, Informix, Postgress)

Celia Benito Garrido

IAW

Tema 1. Introduccin

Cliente
El cliente es el proceso que permite al usuario formular los requerimientos y pasarlos al servidor, se le conoce con el trmino front-end. El Cliente normalmente maneja todas las funciones relacionadas con la manipulacin y despliegue de datos, por lo que estn desarrollados sobre plataformas que permiten construir interfaces grficas de usuario (GUI), adems de acceder a los servicios distribuidos en cualquier parte de una red. Las funciones que lleva a cabo el proceso cliente se resumen en los siguientes puntos: Administrar la interfaz de usuario. Interactuar con el usuario. Procesar la lgica de la aplicacin y hacer validaciones locales. Generar requerimientos de bases de datos. Recibir resultados del servidor. Formatear resultados.

Servidor
Es el proceso encargado de atender a mltiples clientes que hacen peticiones de algn recurso administrado por l. Al proceso servidor se le conoce con el trmino back-end. El servidor normalmente maneja todas las funciones relacionadas con la mayora de las reglas del negocio y los recursos de datos. Las funciones que lleva a cabo el proceso servidor se resumen en los siguientes puntos: Aceptar los requerimientos de bases de datos que hacen los clientes. Procesar requerimientos de bases de datos. Formatear datos para trasmitirlos a los clientes. Procesar la lgica de la aplicacin y realizar validaciones a nivel de bases de datos. A esta arquitectura cliente/servidor que tiene dos tipos de nodos en la red: (clientes y servidores) se le llama arquitectura de dos niveles o dos capas. Arquitectura de tres capas Algunas redes disponen de tres tipos de nodos: Clientes que interactan con los usuarios finales.

Celia Benito Garrido

IAW

Tema 1. Introduccin

Servidores de aplicacin que procesan los datos para los clientes. Servidores de la base de datos que almacenan los datos para los servidores de aplicacin.

Esta configuracin se llama una arquitectura de tres capas.

Caractersticas: Los clientes pidan o enven informacin a una aplicacin centralizada, no al gestor de base de datos en el servidor Esta aplicacin centralizada que conforma una nueva capa dentro de un sistema ClienteServidor, se conoce como capa intermedia o middle-tier.

Ventajas Los componentes de la aplicacin pueden ser desarrollados en cualquier lenguaje general lo que posibilita que el grupo de desarrolladores no se centre en el uso de un solo lenguaje. Los componentes estn centralizados lo que posibilita su fcil desarrollo, mantenimiento y uso. Los componentes de la aplicacin pueden estar esparcidos en mltiples servidores permitiendo una mayor escalabilidad. Los problemas de limitacin para las conexiones a las bases de datos se minimizan ya que la base de datos solo es vista desde la capa intermedia y no desde todos los clientes. Adems de que las conexiones y losdrivers de las bases de datos no tienen que estar en los clientes. Especializacin de la arquitectura cliente-servidor donde la carga se divide en tres partes (o capas) con un reparto claro de funciones: una capa para la presentacin (interfaz de usuario), otra para el clculo (donde se encuentra modelado el negocio) y otra para el almacenamiento (acceso a datos). Una capa solamente tiene relacin con la siguiente.

Ejemplo:

Celia Benito Garrido

IAW

Tema 1. Introduccin

Las diferentes capas suelen ser: Capa 1 : Cliente de aplicacin Ej: navegador Web Capa 2 : Servidor de Aplicaciones Ej: Servidor Apache Capa 3 : Servidor de Datos Ej: Base de datos, servidor SMTP

3. Tecnologas para aplicaciones web


1. 2. 3. 4. Protocolos para servicios Web Tecnologas del lado del cliente Tecnologas del documento Tecnologas del lado del servidor

1.

Protocolos para servicios Web

La Pila de protocolos para Servicios Web es una coleccin de protocolos y estandares para redes de Computadores que son utilizados para definir, localizar, implementar y hacer que un Servicio Web interacte con otro. La Pila de Protocolos para servicios esta comprendida principalmente por cuatro reas: Servicio de Transporte: responsable del transporte de mensajes entre las Aplicaciones de red y los protocolos en los cuales se incluyen protocolos tales como HTTP, SMTP, FTP, as como tambin el ms reciente Blocks Extensible Exchange Protocol (BEEP). Mensajeria XML: responsable por la codificacin de mensajes en un formato comn XML as que ellos puedan ser entendidos en cualquier extremo de una conexin de red. Actualmente, esta rea incluye protocolos tales como XML-RPC, SOAP y REST. Descripcin del Servicio: usado para describir la interfaz pblica de un Servicio Web especifico. El formato de interfaz Web Services Description Language - WSDL es tpicamente usado para este propsito. Descubrimiento de servicios: centraliza servicios en un registro comn tal que los servicios Web de la red puedan publicar su localizacin y descripcin, y hace que sea fcil descubrir que servicios estn disponibles en la red. Actualmente, la API Universal Description Discovery and Integration - UDDI se utiliza normalmente para el descubrimiento de servicios.

Celia Benito Garrido

IAW

Tema 1. Introduccin

La Pila de Protocolos para servicios tambin incluye un amplio rango de protocolos recientemente definidos:Business Process Execution Language - BPEL, SOAP Security Extensions: Digital Signature - SOAP-DSIG.

2.

Tecnologas del lado del cliente a. Navegadores b. Scripts. Un script en el lado del cliente es un programa que puede acompaar a un documento HTML o que puede estar incluido en l. El programa se ejecuta en la mquina del cliente cuando se carga el documento, o en algn otro instante, como por ejemplo cuando se activa un vnculo. Lenguajes JavaScript, VBScript c. Helpers necesarios para abrir o ejecutar documentos multimedia d. Plug-ins e. Applets : En Java, un applet es un programa que puede incrustarse en un documento HTML. Cuando un navegador carga una pgina web que contiene un applet, este se descarga en el navegador web y comienza a ejecutarse utilizando la Java Virtual Machine (JVM), o en el AppletViewer de Sun.. Esto permite crear programas que cualquier usuario puede ejecutar con tan solo cargar la pgina web en su navegador. f. Controles Active-X de IExplorer

3. Tecnologas del documento HTML, XHTML XML,DTD,XML SCHEMA, XML DOM, X-PATH CSS, XSL, XLST, XSL-FO SVG

Celia Benito Garrido

IAW

Tema 1. Introduccin

SMIL VOICEML WML

4. Tecnologas del lado del servidor Software de Servidor Mdulos compilados CGI (Common Gateway Interfaces). Perl, C, C++, Python Servlets Java Scripts : ASP, JSP, PHP Programacin distribuida :RMI (java), DCOM, IIOP(CORBA) ASP.NET(aplicaciones distribuidas y servicios WEB)

Celia Benito Garrido