Aplicación web
Para ser cada vez más competitivas, las organizaciones necesitan evolucionar en su
forma de trabajo, adaptando los procesos de manera tal que se pueda integrar a todos
los actores que, de alguna manera, estén involucrados en la actividad de la
organización.
Los sistemas de información deben acompañar estos procesos de cambio, dando
soporte a la actividad de la empresa, compartiendo e intercambiando información, no
solo dentro de la organización, sino también con sus proveedores, clientes y demás
organizaciones externas. Un sistema basado en aplicación web, como modelo para el
desarrollo de sistemas de información, puede brindar un apoyo y soporte significativos
a los procesos de negocio que lleva adelante la empresa.
En este módulo estudiaremos los conceptos fundamentales de las aplicaciones web,
sus características y componentes, y las ventajas y desventajas de este tipo de
implementaciones.
Para desarrollar los conceptos, analizaremos un caso de estudio a través del cual
podremos identificar los componentes de este tipo de aplicaciones y sus posibles
configuraciones.
Caso: SEGUX, compañía de seguros
Aplicación web. Un tipo especial del modelo cliente-servidor
Video conceptual
Referencias
Descarga en PDF
Lección 1 de 5
Caso: SEGUX, compañía de seguros
SEGUX es una compañía de seguros que ofrece distintos tipos de productos. Se
destacan productos como los seguros para automotores y seguros de
viviendas, entre otros.
Cuenta con una importante red de promotores y representantes distribuidos en
todo el país, a través de los cuales los clientes realizan las distintas gestiones
con la compañía, por ejemplo, contratación de paquetes, tratamiento de
siniestros y demás trámites propios de la actividad.
Además, la organización presenta convenios con múltiples proveedores de
servicios que brindan distintos tipos de asistencia para los asociados, según los
paquetes de seguros convenidos. Los servicios que se brindan son de
asistencia mecánica y asistencia domiciliaria, a los cuales los clientes acceden
en caso de emergencia. La empresa cuenta con un sistema de información
basado en arquitectura cliente-servidor, el cual es una aplicación de uso
exclusivo interno de la organización. Es un sistema que tiene varios años de
desarrollo, y que si bien funciona correctamente desde el punto de vista técnico,
no alcanza a cubrir las necesidades actuales del negocio.
En los últimos años, la organización ha crecido considerablemente, debido a un
crecimiento sostenido de la actividad, que se basa en nuevas ofertas de
productos, como cobertura en países limítrofes y cobertura de salud para
viajeros. Este crecimiento produjo un incremento importante en la actividad de
la empresa y, como consecuencia de ello, se evidencia la necesidad de realizar
cambios en los procesos que lleva a cabo la organización.
Problemas de demora en el tratamiento de los casos que se presentan en la
compañía, deficiencias de cobertura por problemas administrativos, demoras en
los pagos a proveedores, deficiencias en los procedimientos de transferencia de
información y la falta de resolución y respuestas en los problemas expuestos
por los clientes, son algunos de los inconvenientes a los que hace frente la
empresa.
En función de los problemas detallados es que la compañía plantea la necesidad
de realizar una profunda reestructuración que contemple la redefinición de los
procesos actuales del negocio y la definición de las nuevas características que
debe tener el nuevo sistema de información, de modo tal que sirva de soporte
para el desarrollo del negocio.
El nuevo sistema de información debe cubrir todos los procesos internos de la
organización, como así también integrar a los distintos actores que participan en
estos procesos, sean internos o externos. Debe permitir realizar un tratamiento
más eficiente de la problemática de los clientes, coordinar el trabajo con los
proveedores de servicios, agilizar las consultas sobre el estado de todos los
trámites y pagos en curso, para aumentar la eficiencia operativa.
A través de esta lectura, incorporaremos conceptos que nos permitirán
identificar las características del sistema actual y cómo este puede evolucionar
para corregir los problemas existentes.
C O NT I NU A R
Lección 2 de 5
Aplicación web. Un tipo especial del modelo cliente-
servidor
Se denomina aplicación web a aquella aplicación que los usuarios pueden
utilizar accediendo a un servidor web a través de Internet o una intranet,
mediante un navegador. Es una aplicación escrita en un lenguaje capaz de ser
soportado por el navegador web o browser.
El acceso a las aplicaciones de este tipo se realiza mediante el navegador, lo
cual nos permite tener independencia del sistema operativo de la computadora
del cliente, y la facilidad para actualizar y mantener aplicaciones web sin tener
que distribuir e instalar software a los usuarios potenciales del sistema.
Las aplicaciones web se conforman con páginas web, las cuales permiten la
comunicación activa de los usuarios, trabajar en forma colaborativa y compartir
información de manera interactiva.
Referencia caso de estudio
Analizando el enunciado del caso de estudio, uno de los problemas
que enfrenta la empresa es la necesidad de integrar, en los
procesos, a todos los actores intervinientes, tanto internos como
externos. El sistema actual, tal como se describe, no provee los
elementos que permitan llevar a cabo ese tipo de integración, es
decir, por sus características, no permite el acceso de actores
externos, como los promotores, los clientes y los proveedores de
servicios. Esto limita a los responsables de la empresa a encarar
con cierta libertad las estrategias de cambio para adoptar formas
de trabajo adecuadas, impactando en el desempeño general de la
empresa, que se evidencia en algunos problemas puntuales, “...
Problemas de demora en el tratamiento de los casos que se
presentan en la compañía, deficiencias de cobertura por problemas
administrativos, demoras en los pagos a proveedores, deficiencias
en los procedimientos de transferencia de información y la falta de
resolución y respuestas en los problemas expuestos por los
clientes...”.
Evolución de las aplicaciones web
Las aplicaciones web evolucionaron con el tiempo. Los primeros desarrollos se
trataban de colecciones de páginas estáticas, documentos, etc., para su
consulta o descarga. Esto solo permitía que el usuario pudiera consultar la
información deseada, pero siempre con una actitud pasiva.
El paso siguiente permitió a los usuarios acceder a páginas que tenían un
comportamiento dinámico, es decir que la información mostrada dependía de
los datos de la petición realizada. Para ello, se utilizaban diversos métodos,
basados en diversas tecnologías, cada una con sus ventajas y desventajas.
El primero de los métodos utilizados es el método conocido como Common
Gateway Interface (CGI). Este método utiliza un mecanismo mediante el cual se
puede pasar información entre el servidor y programas externos. Los CGI son de
amplia utilización, sencillos de implementar, pero, ante accesos concurrentes,
pueden presentar problemas de funcionamiento por la gran carga de trabajo
que se produce en el servidor.
Para solucionar estos problemas de rendimiento, se crean alternativas a los CGI,
desarrollando nuevas arquitecturas y lenguajes que permiten al servidor
interpretar comandos "incrustados" en las páginas HTML, además de
conformar un sistema de ejecución de programas mejor acoplado con el
servidor.
Un ejemplo de este tipo de lenguajes son las Java Server Page (JSP), que
permiten incrustar un código en las páginas HTML, que luego el servidor
convierte en programas ejecutables. También ofrecen un método de
programación ligado al servidor denominado Java Servlets.
Otra tecnología muy utilizada es el PHP, que es un lenguaje interpretado, muy
sencillo y muy potente, que permite la incrustación de HTML en los programas.
Presenta una sintaxis derivada de Perl y C, y es de amplia utilización.
Aplicaciones cliente-servidor y aplicaciones web
Las aplicaciones cliente-servidor necesitan de un programa cliente que sirve de
interfaz de usuario y que puede o no tener incorporada lógica de procesamiento.
El programa debe ser instalado en cada estación de trabajo. Modificar la
aplicación implica tener que realizar actualizaciones en todos las estaciones de
trabajo donde están instalados los programas clientes.
En contrapartida, las aplicaciones web solo necesitan tener una computadora
con navegador web instalado y una conexión a Internet. Son más simples de
utilizar, se actualizan fácilmente trabajando sobre el servidor, sin necesidad de
distribuir software en las computadoras clientes.
Las aplicaciones web generan dinámicamente un conjunto de páginas en un
formato estándar, como HTML o XHMTL, que son soportados por todos los
navegadores web.
También utilizan lenguajes interpretados del lado del cliente, por ejemplo,
JavaScript, para agregar elementos dinámicos a la interfaz de usuario.
El navegador web es quien interpreta y muestra las páginas, actuando como
cliente para cualquier aplicación web.
Referencia caso de estudio
La implementación del sistema de información actual presenta
varios problemas que pueden ser solucionados adoptando el
concepto de aplicación web. En principio, aprovechar las
características que brinda este tipo de aplicaciones para aportar
una solución más integral que permita integrar nuevos participantes
al sistema, con el objetivo de lograr compartir información y facilitar
un trabajo colaborativo con la participación de usuarios externos,
como son los clientes y restos de las organizaciones que
interactúan con la compañía.
Arquitectura de una aplicación web
En general, las aplicaciones web se estructuran como aplicaciones de tres
capas.
La primera capa la constituye el navegador, que es el que interpreta el código
enviado desde el servidor. En esta capa, se utilizan lenguajes como HTML o
XML, para representación de los datos solicitados por el usuario. El navegador
web interpreta este código y permite la visualización de la información. También
se utilizan, en esta capa, lenguajes como Javascript, para agregar mayor nivel
de interactividad con el usuario.
La segunda capa la conforma el servidor web, responsable de alojar las páginas
que componen la aplicación. En esta capa se utilizan lenguajes de programación
que permiten el desarrollo de aplicaciones web en el servidor. Dentro de los más
utilizados encontramos PHP, Java con JSP y Servlets, JavaScript (del lado del
servidor), Perl, Python, ASP.
La última capa se conoce como capa de persistencia y hace referencia a la base
de datos.
Cliente de una aplicación web
El cliente típico de una aplicación web es el navegador web o web browser, que
consiste en un software que permite el acceso a la Web, interpretando la
información de distintos tipos de archivos y sitios web para que estos puedan
ser visualizados.
El navegador web permite la visualización de páginas web y trabajar con ellas,
además de permitir la visualización de documentos de texto, con recursos
multimedia incrustados.
Figura 1: Elementos básicos de un navegador
Fuente: elaboración propia con base en “¿Cuáles son los 4 navegadores web del momento?”, 11
de enero de 2018, https://revistaitnow.com/cuales-son-los-4-navegadores-web-del-momento/
Es importante destacar que los navegadores permiten visualizar los
documentos que pueden estar alojados en la propia computadora del usuario,
como así también en cualquier otro dispositivo conectado a Internet que tenga
los recursos necesarios para la transmisión de los documentos, como puede ser
un servidor web.
Una página web es un documento capaz de contener texto, sonido, video,
programas, enlaces, imágenes e hipervínculos. Las páginas web pueden
contener enlaces a otras páginas, que pueden estar ubicadas en cualquier
computadora conectada a Internet. El desplazamiento que se realiza utilizando
estos enlaces se denomina navegación.
Referencia caso de estudio
Uno de los aspectos más relevantes de utilizar aplicaciones web
para el desarrollo de sistemas de información consiste en la
facilidad que brinda implementar un cliente del sistema, mediante la
utilización de un navegador web, sin la necesidad de tener que
instalar un software cliente del sistema en la computadora del
usuario. Trabajar con este tipo de clientes nos permite
independizarnos de las distintas plataformas o sistemas operativos
que puedan tener los clientes.
La comunicación entre el navegador web y el servidor web se realiza mediante
el protocolo de comunicaciones HTTP, Hypertext Transfer Protocol. La mayoría
de los navegadores, además, soportan otros protocolos, como FTP o HTTPS,
que es una versión cifrada de HTTP.
Actualmente, los navegadores web soportan estándares HTML y XHTML, lo
que permite, en principio, visualizar los documentos o páginas web de la misma
forma en todos.
Los estándares web hacen referencia a un conjunto de recomendaciones
definidas por World Wide Web Consortium (W3C) y otras organizaciones
internacionales acerca de cómo crear e interpretar documentos basados en la
web (“Ideas generales de estándares web”, s. f.).
Servidor web
Un servidor web, también denominado servidor HTTP, es un software que
procesa una aplicación del lado del servidor, realiza conexiones con el cliente y
genera una respuesta que es enviada a este. Para la transmisión de todos estos
datos, se utiliza el protocolo de comunicaciones HTTP.
El servidor web se mantiene en ejecución en una computadora, esperando las
peticiones que puedan realizar los clientes. Ante estas peticiones, se realizan
las respuestas correspondientes, ya sea devolviendo el recurso solicitado o
enviando un mensaje de error.
Para realizar una petición a través del navegador, se debe ingresar una dirección
o URL en la barra de direcciones del navegador, el cual realiza una petición
HTTP al servidor de la URL especificada. Como respuesta, el servidor envía al
cliente el código HTML de la página solicitada para que este lo interprete y
visualice el contenido.
Los servidores web también pueden entregar aplicaciones web.
Las aplicaciones pueden estar del lado del cliente o del servidor.
Aplicaciones del lado del cliente
–
Son las aplicaciones tipo Java Applets o JavaScript (JS). Estas aplicaciones son
provistas por el servidor al cliente para que las ejecute mediante el navegador.
Los navegadores, generalmente, pueden ejecutar aplicaciones escritas en
lenguaje JavaScript y Java, pero también pueden ejecutar otros lenguajes
mediante el uso de plugins.
Aplicaciones en el lado del servidor
–
En este caso, quien ejecuta la aplicación es el servidor, generando código HTML,
el cual es enviado al cliente por medio del protocolo HTTP.
Como las aplicaciones se ejecutan en el servidor, el cliente no necesita ninguna
capacidad adicional. Esto significa que el cliente dotado de un navegador web
básico debería poder utilizar este tipo de aplicaciones sin problemas.
Referencia caso de estudio
Uno de los aspectos destacados en el caso de estudio es la
necesidad de implementar un sistema que permita integrar a los
distintos actores que participan en los procesos de gestión de la
organización. Estos actores pueden ser internos a la organización, o
externos, como pueden ser los clientes. Para poder llevar a cabo
este desarrollo, se puede pensar en la implementación del nuevo
sistema de información sobre la base del concepto de aplicación
web, porque permite concentrar, en un único punto, todo el
desarrollo de la aplicación, y para la ejecución de esta solo hace
falta que el cliente tenga instalado, en su computadora, un
navegador web para poder acceder al sistema. Esta última
característica es fundamental, teniendo en cuenta la diversidad de
plataformas que pueden tener los clientes externos.
Esquema funcionamiento de una aplicación web
Cada cliente, a través del navegador web, realiza la petición al servidor. El
servidor recibe esa petición y responde en función de los datos ingresados por el
usuario.
El siguiente gráfico describe el esquema de funcionamiento.
Figura 2: Esquema de funcionamiento de una aplicación web
Fuente: [Imagen sin título sobre esquema de funcionamiento de una aplicación web]. (s. f.).
Recuperada de https://aplicacioneswebnewman.wordpress.com/
Desde que el cliente realiza la petición de una página hasta que el servidor
responde con los resultados solicitados, se realizan un conjunto de pasos que
detallamos a continuación.
El usuario, a través del navegador, ingresa la dirección que
corresponde a la página a la que desea acceder. Ejemplo:
http://www.google.com.ar
Con la solicitud de la página a consultar, se establece la conexión
entre el cliente web y el servidor web.
Una vez establecida la conexión, el cliente nuevamente solicita la
página buscada.
Una vez recibida la petición, el servidor web, busca la página
solicitada. Se pueden producir dos situaciones:
La página solicitada es encontrada y se envía al cliente.
La página no es encontrada y, en este caso, el servidor devuelve
al cliente un código de error.
En función de la respuesta obtenida, el cliente puede desarrollar las
siguientes actividades:
Interpretación de la página HTML devuelta por el servidor.
Nuevas solicitudes, si el cliente web encuentra instrucciones que
refieren a otros objetos.
Una vez realizadas las actividades del cliente, se procede a cerrar la
conexión entre el cliente y el servidor.
Por último, se muestra la página solicitada al usuario.
Este conjunto de pasos se desarrollan permanentemente, es decir, cada vez que
se realiza una petición al servidor por parte del cliente.
Un aspecto importante a destacar es que, una vez que se obtiene la respuesta
por parte del servidor, la conexión establecida entre cliente y servidor se libera.
Es decir, la conexión dura el tiempo que demora en transmitirse la página
solicitada. Esta forma de trabajo, conexión/desconexión, permite optimizar el
ancho de banda utilizado. Mientras el usuario está leyendo la información
recibida, no es necesaria la conexión y es por ello que se cierra.
Las conexiones se realizan cada vez que sea necesario. De todas maneras, se
tiene la "sensación" de estar permanentemente conectado, cuando en realidad
no se lo está.
C O NT I NU A R
Lección 3 de 5
Video conceptual
Aplicaciones web
Interactive Video
C O NT I NU A R
Lección 4 de 5
Referencias
¿Cuáles son los 4 navegadores web del momento? (11 de enero de 2018). IT
Now. Recuperado de https://revistaitnow.com/cuales-son-los-4-navegadores-
web-del-momento/
Ideas generales de estándares web. (s. f.). Syloper. Recuperado de
https://www.syloper.com/blog/desarrollo/estandares-web/
[Imagen sin título sobre esquema de funcionamiento de una aplicación web].
(s. f.). Recuperada de https://aplicacioneswebnewman.wordpress.com/
Lección 5 de 5
Descarga en PDF
Módulo 2 - Lectura 1.pdf
485.5 KB