You are on page 1of 4
‘182021 elvexuge Curso de C#- Desarrollo de aplicaciones para Iniemet Curso de C# Desarrollo de aplicaciones para Internet Evolucién de las aplicaciones web En el cliente En el servidor Actualmente, se observa una tendencia a utilizar los estdndares de Internet (més concretamente, la web) para desarrollar aplicaciones de gestién en medianas y grendes empresas. Este tipo de aplicaciones utiliza software que se descarga de un servidor web, sin necesidad de instalarlo localmente en cada maquina, lo que se facilta las tareas de mantenimiento y actualizacién. Evolucién de las aplicaciones web HTML estatico Crear un sitio web es bastante facil. Sélo se necesita un servidor web que atienda peticiones HTTP y un conjunto de ficheros HTML con informacin. El inconveniente de ios ficheros HTML es que son estaticos, mientras que generelmente nos interesa algo més que mostrar siempre la misma informacién (y actualizar a mano periédicamente los ficheros HTML no parece una gran idea). HTML estatico Navegador web Servidor HTTP. Aplicaciones web La creacién de aplicaciones web requiere software ejecuténdose en el servidor que genere automaticamente los ficheros HTML que se visualizan en el navegador del cliente. La comunicacién entre el cliente y el servidor se realiza a través de HTTP, un protocolo simple en el que se establece una conexién TCP independiente para cada par solicitud-respuesta. Esto implica que el entorno de programacién que empleemos. deberia facilitarnos de alguna forma el mantenimiento de sesiones de usuario. En el caso del esténdar CGI (Common Gateway Interface), se escriben programas estndar en linea de comandos que aceptan una serie de pardmetros y generan un fichero HTML en su canal de salida estandar (stdout en el caso de C), lo que no facilita demasiado nuestro trabajo 2 la hora de construir aplicaciones de cierta envergadura. En el IIS (Internet Information Server), el servidor web de Microsoft, las DLLs de ISAPI (Internet Services Application Programming Interface) " mejoran el rendimiento de los programas CGI y poco mas. Las tecnologias que nos permiten incorporar fragmentos de cédigo a nuestras paginas (tipo ASP o JSP tradicional) resultan algo més cémodas para el programador, que puede centrarse en la ldgica de su aplicacién sin tener que preocuparse en exceso de los detalles de HTTP y HTML. No obstante, el disefio de las aplicaciones resultantes suele no ser demasiado elegante, pues tiende a mezclar la interfaz de usuario con la légica de la aplicacién. 5/decsailcsharpiwebiniro.xml “4 ‘182021 Curso de C#- Desarrollo de aplicaciones para Iniemet En cualquier caso, en las aplicaciones web, el navegador del cliente se limita a mostrar una pagina HTML esténdar que habré sido generade dindmicamente en el servidor y, por tanto, el cliente sera independiente de la tecnologia utilicemos en el servidor. El cliente en una aplicacién web se limita a mostrar la pagina tal cual le llega (thin client) Navegador web Ser s web Los servicios web, basicamente, establecen un lenguaje comdn para el intercambio de datos: XML (eXtensible Markup Language). Este lenguaje comiin permite que distintos sistemas pueden comunicarse entre si de una forma sencilla y, de esta forma, se facilita la construccién de sistemas heterogéneos: HTML & XML XML XML elvexugresidecsailcsharpiwebiinto.xml 28 er2021 Curso de C#- Desarrollo de aplicaciones para Iniemet En el cliente En principio, una aplicacién web se puede desarrollar de forma que todo el trabajo lo realice el servidor web y el usuario final s6lo necesite un navegador web, si bien esta opcién no resulta demasiado atractiva por las limitaciones de los formularios HTML. Dedido a estas limitaciones, han surgido numerosas alternativas que permiten ejecutar cédigo en el cliente: DHTML/JavaScript, COM (controles ActiveX), applets. Java, plug-ins especiticos (p.ej. Adobe Flash). Estas tecnologias para el cliente permiten mejorar la escalabilidad de las aplicaciones (ya que se realiza menos trabajo en el servidor), asi como la productividad del Usuario final (al permitir la construccién de interfaces de usuario més sofisticadas) Ademés, el uso de estas tecnologias "Tacilita” la construccién de aplicaciones més. atractivas de cara al mercado y al usuario final (interfaces con drag&drop, presentaciones y animaciones Flash...) + HTML dindmico (DHTML): Se escriben macros (scripts) que se incrustan fen los ficheros HTML. Usualmente, se utiliza Javascript por cuestiones de portabilidad, si bien navegadores como el Internet Explorer también permiten otros lenguajes como VBScript. En HTML dinémico, cada etiqueta HTML se convierte en un objeto con sus propiedades y eventos asociados. Los scripts le proporcionan al navegador el cédigo correspondiente a la respuesta prevista por el programador para los distintos eventos que se pueden producir wiedow even || ames | [ risory [=] tecaton | [ navoaor | [screen 7 ee) oe wea radio bation texrea pesenrd crectton | [sume eption te rest + ActiveX: Disponible Unicamente en el Internet Explorer (al menos, en principio), es una tecnologia basada en COM. Permite desarrollar cédigo eficiente, si bien su utllizacién se suele limitar a intranets por cuestiones de seguridad. + Applets: Son aplicaciones escritas en Java en las que se distribuye el cédigo Intermedio correspondiente a la maquina virtual Java (bytecodes). Tienen la ventaja de ser portables (2 cualquier plataforma que disponga de un intérprete de bytecodes) y destacan por su seguridad (cada aplicacién se ejecuta en un espacio independiente [sandbox] que, en principio, no puede acceder al hardware de la maquina del cliente). Algunos problemas de rendimiento (y, sobre todo, cuestiones de mercado) han limitado su utlizacién. En el servidor También existen numerosas alternativas que se pueden utilizar para desarrollar aplicaciones web en el servidor, Cuando el software se ejecuta en el servidor, éste suele recibir datos provenientes de URLs, formularios HTML, cookies y cabeceras HTTP. Una vez procesados estos datos (y tras acceder, posiblemente, a bases de datos, ficheros, mainframes, etc.), en el servidor se genera dindmicamente una respuesta personalizada en HTML para cada cliente concreto. Entre las ventajas del software desarrollado de esta forma destacan su accesibilidad (desde cualquier punto de Internet), su facilidad de mantenimiento (no hay que distribuir el cédigo de las aplicaciones ni sus actualizaciones), su seguridad (el cédigo, lvex.ugresidecsailosharpiwebintro.xm! 38 er2021 Curso de C#- Desarrollo de aplicaciones para Iniemet no puede manipularlo el usuario) y su escalabilidad (utilizando "granjas’ de servidores y arquitecturas multicapa). Tecnologias + CGI (Common Gateway Interface) + ISAPI (Intermet Server API) @ Microsoft 11S + NSAPI (Netscape Server API) + ASP (Active Server Pages) & ASP.NET (para la plataforma .NET) + ISP (Java Server Pages) & servlets + PHP (Personal Home Page) + ColdFusion (CFM) + Ruby on Rails + Django (Python) + GWT (Google Web Tooikit) Ejemplo: ASP y ISP Las paginas ASP permiten crear aplicaciones web utilizando, usualmente, un lenguaje como VBScript. Una pagina ASP contiene HTML estético intercalado con scripts que se encargan de generar HTML de forma dindmica. JSP funciona de forma andloga, si bien utliza el lenguaje de programacién Java. Tanto ASP como JSP gozan de gran aceptacién a pesar de que no fuerzan uno de los principios basicos de disefio de software: la separacién entre la interfaz de una aplicacién y su légica interna. Pagina Solicitud HTTP (datos del formulario) ASP Respuesta HTTP (HTML 0 XML) HTML + Légica de la aplicacién d{Prosramacién web ASP.NET fee © Fernando Berzal Galiano lvex.ugresidecsailosharpiwebintro.xm! ais

You might also like