Ago-Dic 2011 Unidad II. Desarrollo de Aplicaciones Web Programacion web Ago-Dic 2011 Unidad II. Desarrollo de Aplicaciones Web
Ambiente para el desarrollo de Aplicacion Web Tema 2.4 Ambiente para el desarrollo de Aplicacion Web
Introduccion Alguien diría que la creación de aplicaciones web es como armar un rompecabezas. La gran cantidad de tecnologías de desarrollo de aplicaciones web sin duda podría parecer una mezcla de piezas de un rompecabezas.
Las Piezas del rompecabezas encajan en específico Las Piezas del rompecabezas encajan en específico. Es decir, aunque las piezas del rompecabezas se parecen en muchos aspectos, cada pieza es muy pieza no puede ser sustituida por otra pieza a menos que usted desea que la imagen final sea extraña. En el desarrollo de aplicaciones web sin embargo, no hay manera correcta de resolver un problema y no la tecnología realmente única. Por el contrario, hay varias configuraciones posibles de herramientas esencialmente redundante, cada cual resuelve el mismo conjunto de problemas.
Por ejemplo, CGI, ASP y Servlets sirven para la misma función básica, llevan a cabo el procesamiento de servidor. Del mismo modo CORBA, DCOM y Enterprise Java Beans especifican cómo hablar con los objetos distribuidos. Del mismo modo XML, HTML, SGML, XSL y CSS son herramientas similares para la clasificación y visualización de datos a través de una red.
Web Development Web Development es el desarrollo de aplicaciones en ambiente Web. El desarrollo en ambiente Web se hace sobre un lenguaje script llamado HTML. Sobre ese lenguaje script (un lenguaje script es un lenguaje no compilado) se apoyan todos los otros lenguajes tratados en Web. Cualquier programa en ASP, ASP.NET o mismo JAVA se apoyan sobre el HTML para ser interpretada por un Browser.
Una característica de la programación en Web, es que se necesita usar un Browser de Internet como programa cliente, es decir, el browser actuara como el "traductor" del código escrito por el programador y desplegara todo el contenido en el código a la pantalla del usuario.
El browser, por su vez, para interpretar algunos scripts, necesita los llamados Pluggins. Que no son nada mas que "módulos" que le ayudaran al programa browser interpretar los comandos contenidos en el código.
Se necesita para desarrollar y para poner a funcionar un programa en Web, lo que se llama Web Server, que por su vez contendrá los códigos de los scripts que los browsers de los clientes interpretaran. Un Web Server es un servidor ordinario con algunos servicios especiales activos para servir a los browsers clientes. Podemos apreciar la estructura básica de un programa montado en un Web Server con la figura siguiente:
Estructura basica de un programa montado en un Web Server
El tener que armar un Web Server es un requisito, aun que se use uno de los clientes para subir el servicio, este ultimo es necesario que este funcionando todo el tiempo mientras los clientes trabajan con los programas. El proceso de traducción de los scripts de un programa desarrollado en Web se da por la figura siguiente.
Proceso de traduccion de los scripts de un programa desarrollado en Web
Desarrollo de Aplicaciones en Plataforma Windows Los programas basados en plataforma Windows, son generalmente códigos compilados, que el mismo sistema operativo traducirá el código y ejecutara los procesos en el contenido. Se dice que es un programa compilado porque partir del código original, un programa llamado Compilador, lo transforma en un formato en Binario que puede ser leído directamente por el sistema operativo, en el caso especifico de Windows el sistema operativo necesita una extensión para leer el archivo, porque carece de un sistema de reconocimiento de contenido de archivos.
Una vez generado el archivo Binario (extensión Una vez generado el archivo Binario (extensión .exe) el sistema operativo esta listo para leerlo y ejecutarlo, pero, el programa en forma binaria no puede ser editado y si es el caso debe ser re−compilado para poder hacer algún tipo de cambio en el código. Para que un programa binario funcione no es necesario un traductor, como en el caso del Web−aplicación, porque el mismo sistema operativo reconoce el binario y lo ejecuta, no se necesita el browser para hacer el trabajo de "puente" entre el sistema operativo y el código generado.
Tampoco es necesario un Server dedicado a cargar el servicio para que los clientes ejecuten el programa, ya que, todos los clientes tienen un sistema operativo propio instalado y deben reconocer el archivo en forma binaria sin ningún servicio externo al sistema operativo local.
Ausencia de un traductor de codigos
Ventajas del Desarrollo en Ambiente Web En ese modulo analizaremos las ventajas de poseer programas (scripts) basados en la Web.
Ventaja 1: Movilidad. Movilidad es una de las principales ventajas de poseer programas basados en Web. Ella se presenta en la sencilla razón de que, al poseer el script en un Web−Server podemos darnos el lujo de accesar ese script de cualquier cliente que tenga un Browser, eliminando la necesidad de tener el mismo programa instalado en la maquina donde se va trabajar. Para ejecutivos y personas que viajan mucho,
Ventaja 2: Flexibilidad. Con un programa basado en Web, como el script original esta en servidor, un programador lo puede actualizar desde la empresa y el ejecutivo (que esta afuera del país) vera los cambios en el programa prácticamente en tiempo real. Significa que si se adiciona un modulo nuevo al programa a las 3:00pm, si el ejecutivo accesa el programa por su laptop, en cualquier parte del mundo, a las 3:01pm el programa ya saldrá actualizado en su cliente.
Ventaja 3: Multiplataforma. La teoría ideal creada para el formato de HTML es que todos los clientes del mundo, no importa en que plataforma operativa este corriendo, sea interpretada de igual forma. En el caso que sea un script basado en HTML se actualizaría el Web−Server para que este pueda traducir el nuevo script y transmitirlos a los browsers. Todo funciono muy bien hasta que nuevamente el factor financiero introdujo formatos que no pueden ser entendidos algunas Plataformas, lo que torna esa ventaja completamente inútil, ya que por ejemplo en el caso de ASP.NET el formato no puede ser (hasta los días actuales) interpretado por plataformas basadas en Unix o Mac.
Ventaja 4: Lenguaje en Script. La idea de soportar programas sobre lenguajes script nos da la ventaja de no tener que recompilar todo el programa cada vez que se ejecuta un cambio, eso ya fue mencionando anteriormente pero lo volveremos mencionar por su importancia. Además los lenguajes scripts "acostumbran" ser mas "fáciles" de entender y de actualizar el mismo código del programa, aun que eso mayormente se debe a la habilidad del programador.
Desventajas de Desarrollo en Ambiente Web Ahora mencionaremos las desventajas del desarrollo sobre lenguajes Web.
Desventaja 1: Seguridad. El problema de que al ser un lenguaje no compilado, es un programa mas facil de ser Hackeado. Ya que se pueden hacer peticiones con un Masked−Ip a server y bajar los códigos de las paginas tornando esos programa salvos de los hackers. Hoy en día se ha desarrollado la encriptación de 128 bits para los browsers modernos, lo que significa que toda la información esta tanencriptada que es prácticamente imposible de "interceptar" la comunicación entre un browser y un servidor para recibir la información que se envía.
Desventaja 2: Lentitud. Cada vez que un ejecutivo abre una pagina con un programa script el hace download del código y de todas las imágenes que el mismo hace referencia. Cuando se envía información al server (por un proceso cualquiera) esa información tiene que viajar a través de toda el Internet ida y vuelta para darle una respuesta al cliente.
En esencia, todas las aplicaciones web hacen mas o menos las mismas cosas Proporcionar una interfaz de consultas - Aplicaciones Web ofrecen a los usuarios una interfaz para la introducción de datos. Los datos que entran normalmente se llama una "consulta" o "petición" porque los datos definidos por el usuario se utiliza para consultar de forma dinámica o hacer una solicitud de algún servicio en el servidor web (busca una base de datos, pedir un libro, solicitando una archivo).
Transmitir las consulta definidos por el usuario - Una vez obtenidos los datos de usuario se envía a un servidor web Realizar el procesamiento del lado del servidor - El servidor web procesa los datos del usuario utilizando algún tipo de herramienta.
Transmitir resultados de la consulta - Los datos procesados es ahora devuelve al cliente Realizar el procesamiento del lado del cliente - Por último, los datos devueltos se muestra al usuario. Pantalla puede ser tan simple como la interpretación de HTML, o tan complejo como la realización de cálculos, de selección, u otras manipulaciones de los datos.
Gracias !!!