PCSModulo2.pdf
Document Details
Uploaded by ITKnow
Universidad Siglo 21
Tags
Related
Full Transcript
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...
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 clienteservidor 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-navegadoresweb-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 Entornos web Definir el entorno donde corre una aplicación web es uno de los aspectos fundamentales de la tarea del profesional de sistemas. El entorno web determina el ámbito de ejecución de una aplicación web, el alcance que puede tener, dependiendo si esta se desempeña en Internet, de forma pública, con acceso al público en general, o si se ejecuta en una intranet, de modo tal que el acceso se restringe solo al ámbito privado de la organización. O si, por el contrario, se desea crear ambientes donde la organización pueda compartir parte de sus funciones y datos con un grupo de actores externos, utilizando una extranet. En esta lectura, presentaremos los distintos entornos de trabajo, sus características, diferencias y analizaremos la evolución de la World Wide Web. Para desarrollar los conceptos, analizaremos el Caso: SEGUX compañía de seguros, descripto en la lectura: Aplicación web. Introducción a entornos web Intranet Extranet Evolución de la World Wide Web Referencias Lección 1 de 5 Introducción a entornos web Sugerimos visualizar el siguiente video, como recurso introductorio a los conceptos de Internet, extranet e intranet. Video 1: Internet, extranet e intranet Internet, Extranet e Intranet Fuente: Oscar Rojas Murillo. (22 de febrero de 2012). Internet, Extranet e Intranet [Video de YouTube]. Recuperado de https://www.youtube.com/watch?v=HDyBWhoyE7U Internet Internet (el internet o, también, la internet) es un conjunto descentralizado de redes de comunicación interconectadas que utilizan la familia de protocolos TCP/IP, lo cual garantiza que las redes físicas heterogéneas que la componen constituyan una red lógica única de alcance mundial. Internet es una gran red donde todos los dispositivos están conectados entre sí. Para que esta interconexión global sea factible, es necesario que todas las redes que se conectan a la gran red utilicen un mismo protocolo. Este protocolo debe garantizar la conexión desde cualquier origen hasta cualquier destino. El protocolo TCP/IP se convierte así en el modelo de comunicación de las redes que componen Internet. Figura 1: Esquema general de Internet Fuente: [Imagen sin título sobre Internet]. (s. f.). Recuperada de https://www.iplan.com.ar/Centro_de_Ayuda__/servicios/internet/instructivos/funcionamiento. htm Internet, por sus características, ha provocado un impacto importante, a tal punto que ha modificado paradigmas y establecido nuevos desafíos en ámbitos educativos, de la industria en general y nuevas tecnologías. Servicios de Internet En el siguiente esquema se representan los principales servicios que se brindan en Internet. Figura 2: Servicios que ofrece Internet Fuente: [Imagen sin título sobre servicios que ofrece internet]. (s. f.). Recuperada de https://sites.google.com/site/redeswikispaces/internet/que-es-internet/servicios-que-ofreceinternet Dentro de los servicios más importantes podemos destacar: correo electrónico; mensajería instantánea; videoconferencia; comercio electrónico; educación; redes sociales; transferencia de archivos o FTP; buscadores. Un servicio especial que ofrece internet es World Wide Web: Uno de los servicios que más éxito ha tenido en internet ha sido la World Wide Web (WWW o la Web), hasta tal punto que es habitual la confusión entre ambos términos. La WWW es un conjunto de protocolos que permite, de forma sencilla, la consulta remota de archivos de hipertexto. La WWW conforma un sistema de distribución de documentos de hipertexto interconectados que pueden ser accedidos a través de Internet. Para acceder a estos documentos, generalmente, se utiliza un navegador web, que permite visualizar sitios web conformados por páginas web, las cuales pueden contener, además de texto, distintos tipos de recursos, como imágenes y videos. También se puede navegar a través de las páginas usando hiperenlaces. C O NT I NU A R Lección 2 de 5 Intranet Una intranet es una red informática que utiliza la tecnología del protocolo de Internet para compartir información, sistemas operativos o servicios de computación dentro de una organización. Suele ser interna, en vez de pública como internet, por lo que solo los miembros de esa organización tienen acceso a ella. Intranet se puede considerar como un sistema de red privado a través del cual los empleados de una organización pueden compartir los recursos necesarios para desarrollar su trabajo. Por ejemplo, se pueden compartir documentos o bases de datos. El modelo típico de una intranet es el basado en web, es decir, se caracteriza por la implementación de un sitio web interno, pensado y diseñado para uso exclusivo dentro de la organización. Si bien, este tipo de implementaciones es muy utilizado, actualmente, la intranet se basa en tecnología cloud. En definitiva, la gran diferencia existente entre Internet e intranet es que la intranet es propietaria de una empresa y solo es accesible por personal autorizado de esa organización. Una intranet puede estar o no conectada a Internet, teniendo siempre como objetivo fundamental el compartir información. Figura 3: Intranet Fuente: [Imagen sin título sobre intranet]. (s. f.). Recuperada de https://www.web20.co/tecnologia/que-es-intranet-en-informatica/ Características de la intranet Confidencialidad Garantiza la comunicación privada de los datos. privada de los datos. Integridad Protege los datos ante cambios no autorizados. Autenticación Exige identificación del usuario. Seguridad Implementa mecanismos de verificación. Disponibilidad Garantiza el acceso a los recursos. Ventajas Permite el intercambio de información útil y estructurada. Reduce los costos. Disminuye los tiempos de proceso. C O NT I NU A R Lección 3 de 5 Extranet Una extranet es una red privada que utiliza protocolos de Internet, protocolos de comunicación y, probablemente, infraestructura pública de comunicación para compartir, de forma segura, parte de la información u operación propia de una organización con proveedores, compradores, socios, clientes o cualquier otro negocio u organización. Se puede considerar a la extranet como una extensión de la intranet corporativa. Permite mejorar la comunicación con los proveedores y clientes de la organización, utilizando tecnología WWW. La extranet permite a los actores externos de la organización tener un acceso limitado a la información que necesitan de la empresa. Es decir, permite la integración de aquellos a los procesos de la organización, posibilitando un trabajo colaborativo y un aumento en la eficiencia operativa. Figura 4: Extranet Fuente: [Imagen sin título sobre extranet]. (s. f.). Recuperada de https://dalopehoserviciosenred.wordpress.com/2017/01/17/tema-5-servicio-http/ La extranet, en general, permite un acceso parcial sobre la información de una empresa. Este acceso se permite a todos los actores o usuarios que estén vinculados a la organización, pertenezcan o no a la empresa. Por este motivo, una extranet requiere seguridad. Para ello, se definen procesos de autenticación y perfiles de acceso acorde al tipo de actividad que debe realizar el usuario. La extranet se puede utilizar como una intranet de colaboración con otras compañías. Características de la extranet Seguridad: implementa mecanismos de verificación. Privacidad: asegura confidencialidad de los datos. Usa redes privadas virtuales canalizadas a través de red pública. Utiliza certificación digital y encriptación de mensajes. Ventajas Permite el intercambio de grandes volúmenes de datos. Permite compartir información con actores externos, por ejemplo, proveedores y clientes. Posibilita la colaboración con otras organizaciones. Referencia caso de estudio Analizando la situación descrita en el caso de estudio, se presenta la necesidad de integrar a todos los actores en el desarrollo de los procesos de la organización. Para ello, se debe permitir a los distintos usuarios, tanto internos como externos a la compañía, compartir información y participar activamente de los procesos organizacionales. Para poder realizar este tipo de implementación, es aconsejable el desarrollo de una aplicación web, basada en un entorno del tipo extranet, de modo de permitir el acceso de personas externas, con niveles de seguridad adecuados y perfiles de operación definidos en función de las tareas que pueden realizar. C O NT I NU A R Lección 4 de 5 Evolución de la World Wide Web En informática, la World Wide Web (WWW), o red informática mundial, es un sistema de distribución de documentos de hipertexto o hipermedia interconectados y accesibles a través de Internet. Con un navegador web, un usuario visualiza sitios web compuestos de páginas web que pueden contener textos, imágenes, videos u otros contenidos multimedia, y navega a través de esas páginas usando hiperenlaces. La WWW es uno de los servicios más importantes que se brindan en Internet. Está constituida por un conjunto de documentos interconectados mediante enlaces de hipertexto, disponibles en Internet. La Web, como se le denomina comúnmente, evoluciona constantemente, marcando etapas bien definidas, de acuerdo a las nuevas características que incorpora. Las etapas más reconocidas son Web 1.0, Web 2.0 y Web 3.0. Pero no debemos perder de vista que el proceso evolutivo continúa y que existen nuevas etapas marcadas por grandes cambios tecnológicos. Por eso es que, en la actualidad, podemos encontrar referencias a Web 4.0 y Web 5.0, inclusive. Web 1.0 La Web 1.0 surge en el año 1989. Presenta características de solo lectura. El usuario cumple un rol pasivo, ya que recibe la información sin que existan posibilidades de interacción con la página. Los contenidos de la Web dependen exclusivamente de un administrador de contenidos denominado webmaster, quien es el que puede publicar la página. La Web, en esta etapa, es estática, centralizada y de solo lectura. Es decir, no permite al usuario interactuar con los contenidos. La Web 1.0 hace referencia a un sitio web que, básicamente, utiliza navegadores (bastante rápidos). Los navegadores, al comienzo, son de solo texto; luego, con el surgimiento del HTML y los nuevos navegadores visuales, el proceso de consultas de páginas web comienza a ser más interesante. Si bien sus características no la hacen una etapa muy atractiva, sigue siendo muy utilizada. Figura 5: Web 1.0 Fuente: [Imagen sin título sobre Web 1.0]. (s. f.). Recuperada de http://11-mism-1011.blogspot.com/ Web 2.0 Esta etapa se define por una tecnología web basada en comunidades de usuario. Aparecen servicios como redes sociales, blogs, wikis, entre otros, que permiten que los usuarios trabajen en forma interactiva y colaborativa, intercambiando información entre ellos de forma ágil. La Web 2.0 se caracteriza por ser dinámica e interactiva; favorece el trabajo colaborativo y el desarrollo de inteligencia colectiva. La principal diferencia entre la Web 1.0 y la Web 2.0 consiste, fundamentalmente, en que la segunda fomenta el intercambio de información y promueve la colaboración entre usuarios. El usuario pasa a ser parte activa y no solo lector, como ocurre en Web 1.0. No debemos olvidar que la Web 2.0 es una evolución de la Web 1.0, y si bien no hay versiones, se encuentra siempre en un permanente cambio. En esta etapa, los documentos son generados por un webmaster, aunque también cumplen un rol muy importante los usuarios. Aparecen los gestores de contenidos, que permiten la creación y gestión de contenidos de páginas web, controlando las bases de datos donde se aloja el contenido y se administra el diseño. Figura 6: Web 2.0 Fuente: [Imagen sin título sobre Web 2.0]. (s. f.). Recuperada de http://11-mism-1011.blogspot.com/ Los siguientes son algunos ejemplos de los sitios más destacados de la Web 2.0: Google: con sus versiones de buscador, correo (GMail), Google Translator, Google Maps, entre los más destacados. Wikipedia: es la conocida enciclopedia. EBay, Amazon, Alibaba: sitios que permiten a millones de usuarios comprar y vender a través de la red en todo el mundo. YouTube: sitio donde residen miles de videos. Skype, Zoom, Google Hangouts: aplicaciones que permiten comunicarse con otros usuarios. En conclusión, la Web 1.0 se caracteriza por ser la época de las páginas estáticas. El principal protagonista era el HTML; este era el idioma básico en el que todas las páginas web fueron diseñadas, no dejando margen al usuario para su interacción. Todas estas desventajas llevaron a los investigadores a realizar un replanteo, que lleva al nacimiento de la Web 2.0, donde los usuarios tienen participación activa. Web 3.0 La Web 3.0 está relacionada con lo que se conoce como web semántica. En esta etapa, los usuarios y los equipos pueden interactuar con la red mediante un lenguaje natural, que es interpretado por el software (Pérez Porto y Gardey, 2016). La Web 3.0 está vinculada con la inteligencia artificial. En esta etapa, los sitios web tienen capacidad de conectarse entre sí en función de las necesidades del usuario. Esto hace que el acceso a la información sea más simple (Pérez Porto y Gardey, 2016). La Web 3.0 representa un salto tecnológico importante, donde existen aplicaciones web interconectadas entre sí, con el fin de enriquecer la experiencia de los usuarios. La Web 3.0, como la web semántica, significa que incluye metadatos semánticos, ontológicos, que describen los contenidos y las relaciones entre los datos, para que puedan ser rastreados por sistemas de procesamiento (Berrios Chica, 2019). Constituye, en definitiva, un nuevo tipo de Web, donde los documentos que la componen tienen añadido contenido semántico, lo que permite que la ejecución de esta sea realizada por máquinas que, basándose en nuestros perfiles en la red, descubren información relevante para nosotros (Küster y Hernández, 2013). Figura 7: Web 3.0 Fuente: [Imagen sin título sobre Web 3.0]. (s. f.). Recuperada de https://www.hazhistoria.net/blog/historia-del-www-de-la-web-10-la-web-30 La Web 3.0 nos ofrece la posibilidad de realizar búsquedas inteligentes, creando un sistema de clasificación de páginas ligado al usuario, permitiendo una plataforma mucho más personalizada. También la evolución de las redes sociales describe una mayor velocidad, conectividad por medio de más dispositivos, Web Geoespacial para acceder a información según localización del usuario y facilidad de navegación. Por último, ofrece computación en la nube, con la conformación de nuevos espacios de almacenamiento, tanto para datos como para programas, lo que convierte a la Web en un espacio ejecutable como computador universal. Referencia caso de estudio De acuerdo a las necesidades expuestas en el caso, se concluye que la forma más conveniente de implementación del nuevo sistema de información consiste en el desarrollo de una aplicación web basada en una extranet, para permitir compartir información entre la organización, proveedores y clientes, los cuales pueden acceder con un perfil y nivel de seguridad definidos en función de los requerimientos. Es decir, a través de la aplicación, cada usuario tendrá un rol activo, pudiendo interactuar con el sistema no solo como usuario de lectura, sino también actualizando datos. Estas características ubican a la aplicación a desarrollar entre las etapas Web 2.0 y 3.0. Web 4.0 El próximo gran avance esperado en la Web es ofrecer un comportamiento más inteligente y predictivo. Empresas como Google, Microsoft y Facebook desarrollan nuevos sistemas sobre la base de Deep Learning y Machine Learning, que serán capaces de procesar información de forma similar a como lo haría el cerebro humano. También encontramos bots, programas de interacción que nos permiten realizar consultas, y mejoras en los buscadores, que nos permitirá más que buscar cosas, buscar soluciones a partir de toda la información que brindemos como usuarios. Figura 8: Web 4.0 Fuente: [Imagen sin título sobre Web 4.0]. https://programacionwebluz.wordpress.com/la-web-4-0/ (s. f.). Recuperada de Tabla 1: Cuadro comparativo entre Web 1.0, Web 2.0 y Web 3.0. Fuente: Ayala, 2014, https://pt.slideshare.net/CamilaAyala3/cuadro-comparativo-web-10-2030-38073611/2 C O NT I NU A R Lección 5 de 5 Referencias Ayala, C. (2014). Cuadro comparativo web 1.0, 2.0, 3.0 [PPT en línea]. Recuperado de https://pt.slideshare.net/CamilaAyala3/cuadro-comparativoweb-10-20-30-38073611/2 Berrios Chica, J. A. (2019). Nuevos servicios y roles propios de las web 3.0 y su aplicación a la administración pública. Recuperado de http://tauja.ujaen.es/bitstream/10953.1/11087/1/TFG_10_07_19_jose_a_ber rios.pdf [Imagen sin título sobre extranet]. (s. f.). Recuperada de https://dalopehoserviciosenred.wordpress.com/2017/01/17/tema-5-serviciohttp/ [Imagen sin título sobre internet]. (s. f.). Recuperada de https://www.iplan.com.ar/Centro_de_Ayuda__/servicios/internet/instructivos /funcionamiento.html [Imagen sin título sobre intranet]. (s. f.). Recuperada https://www.web20.co/tecnologia/que-es-intranet-en-informatica/ de [Imagen sin título sobre servicios que ofrece Internet]. (s. f.). Recuperada de https://sites.google.com/site/redeswikispaces/internet/que-esinternet/servicios-que-ofrece-internet [Imagen sin título sobre Web 1.0]. (s. f.). Recuperada de http://11-mism-1011.blogspot.com/ [Imagen sin título sobre Web 2.0]. (s. f.). Recuperada de http://11-mism-1011.blogspot.com/ [Imagen sin título sobre Web 3.0]. (s. f.). Recuperada de https://www.hazhistoria.net/blog/historia-del-www-de-la-web-10-la-web-30 [Imagen sin título sobre Web 4.0]. (s. f.). Recuperada de https://programacionwebluz.wordpress.com/la-web-4-0/ Küster, I. y Hernández, A. (2013). De la Web 2.0 a la Web 3.0: antecedentes y consecuencias de la actitud e intención de uso de las redes sociales en la web semántica. Universia Business Review, (37), 104-119. Recuperado de https://www.redalyc.org/pdf/433/43325648006.pdf Pérez Porto, J. y Gardey, A. (2016). Definición de web 3.0. Definicion.de. Recuperado de https://definicion.de/web-3- 0/#:~:text=La%20idea%20de%20web%203.0%2C%20en%20este%20context o%2C%20est%C3%A1%20relacionada,natural%2C%20interpretado%20por%2 0el%20software Arquitecturas de las aplicaciones web Entre las consideraciones más importantes a tener en cuenta al momento de diseñar y desarrollar un sistema de información, encontramos la necesidad de definir su arquitectura y adoptar un modelo que pueda permitir dar una solución adecuada y óptima a la problemática que intentamos resolver. En esta lectura, presentamos cómo se clasifican las distintas arquitecturas de implementación de aplicaciones web en función de las características funcionales de sus componentes. Para trabajar los conceptos, analizaremos el caso SEGUX Compañía de Seguros descripto en la lectura: Aplicación web. Arquitectura aplicaciones web Lección 1 de 1 Arquitectura aplicaciones web Las aplicaciones web se basan en una arquitectura cliente-servidor. De hecho, se consideran como un tipo especial de esta. En una aplicación de este tipo se destacan dos componentes fundamentales: El cliente, implementado mediante un navegador web o browser. El servidor, denominado también servidor web. Dependiendo de cómo se implementan las funcionalidades básicas de la parte que corresponde al servidor, se obtienen distintas variantes de arquitectura posibles. Referencia caso de estudio Para el caso de estudio, uno de los aspectos más importantes a definir para la implementación del nuevo sistema es el tipo de arquitectura a utilizar. Para poder seleccionar cuál tipo de arquitectura resulta conveniente, es necesario tener en cuenta el documento de especificaciones del sistema. Por ejemplo, algunas de las consideraciones que se deben tratar son: tipo de aplicación a realizar, cantidad de accesos concurrentes, usuarios que van a tener acceso al sistema, seguridad, implementación de lógica de negocios, etc. Arquitectura con todo en un servidor Este tipo de arquitectura se basa en concentrar todas las funcionalidades en un único servidor. Es decir, el servicio HTTP, lógica de negocio, lógica de datos y base de datos, residen en un mismo equipo. En este caso, el software que brinda el servicio HTTP también gestiona la lógica de negocio. Las tecnologías que permiten este tipo de implementación son ASP y PHP. El siguiente gráfico muestra cómo se implementa este tipo de arquitectura. Figura 1: Arquitectura con todo en un servidor Fuente: Elaboración propia. Tecnologías utilizadas Para este tipo de implementación se utilizan las siguientes tecnologías: ASP: Active Server Pages – Es una tecnología de Microsoft que se implementa del lado del servidor para páginas web generadas dinámicamente. Este modelo permite la utilización de diversos componentes desarrollados como son algunos controles ActiveX o componentes del lado del servidor. PHP – Es un lenguaje de programación de uso general que se adapta especialmente al desarrollo web. El código PHP se procesa en el servidor web mediante un intérprete PHP. En el servidor web, el resultado del código PHP interpretado y ejecutado define la respuesta HTTP. Esta es una de las tecnologías más utilizadas en el desarrollo de aplicaciones web. Arquitectura con servidor de datos separado Para este tipo de implementación se toma como referencia la arquitectura todo en un servidor. Pero en este caso, la lógica de datos y los datos se separan del resto de las funcionalidades ya que se implementan en un servidor separado. El siguiente gráfico muestra cómo se implementa este tipo de arquitectura. Figura 2: Arquitectura con servidor de datos separado Fuente: Elaboración propia. Tecnologías utilizadas Para este tipo de implementación se utilizan las tecnologías ASP y PHP. Arquitectura con todo en un servidor con servicio de aplicaciones Este tipo de implementación es similar a la arquitectura todo en un servidor. La diferencia radica en que en este caso se implementa un servicio de aplicaciones que es el responsable de gestionar los procesos que implementan la lógica del negocio. El siguiente gráfico muestra cómo se trabaja en este tipo de arquitectura. Figura 3: Arquitectura con todo en un servidor con servicio de aplicaciones Fuente: Elaboración propia. En el gráfico se puede verificar que en un mismo servidor pueden coexistir los tres servicios, pero implementados en forma separada. Tecnologías utilizadas La tecnología empleada para este tipo de implementaciones es JavaServer Page (JSP). JavaServer Pages es una tecnología que permite crear páginas web dinámicas basadas en HTML y XML, entre otros tipos de documentos. JSP usa el lenguaje de programación Java y requiere un servidor web compatible con contenedores servlet, como por ejemplo Apache Tomcat (“JavaServer Pages”, 2020). Por sus características, JSP ofrece un buen desempeño y es más eficiente que otras tecnologías web. Una ventaja de JSP frente a otras alternativas es que se basa en el lenguaje Java, que es un lenguaje de propósito general y es apto para crear clases para manejo de lógica de negocio y acceso a datos, lo que posibilita separar en niveles las aplicaciones web y dejar la parte encargada de generar el documento HTML en el archivo JSP. Además, Java es portable, lo que posibilita la ejecución de las aplicaciones en distintas plataformas (“JavaServer Pages”, 2020). Tanto servlets como JSP permiten crear páginas web dinámicas en el servidor usando el lenguaje Java. Son similares a otros lenguajes como PHP o ASP, pero se diferencian de estos en que son más eficientes en el desarrollo de ciertas tareas, por ejemplo, conexión a base de datos y manejo de sesiones (“JavaServer Pages”, 2020). Arquitectura con servidor separado con servicio de aplicaciones En este caso, la arquitectura se basa en separar la base de datos en un servidor específico, pero mantiene el servicio HTTP y servicio de aplicaciones juntos. Este esquema se deriva de la arquitectura todo en un servidor con servicio de aplicaciones. La siguiente figura muestra el esquema correspondiente: Figura 4: Arquitectura con servidor separado con servicio de aplicaciones Fuente: Elaboración propia. Tecnologías utilizadas Este tipo de implementación utiliza la tecnología JSP. Arquitectura con todos los servicios separados En este tipo de arquitectura, todas las funcionalidades básicas del servidor web se separan en servidores específicos. Servicios HTTP, servicio de aplicaciones y base de satos se dividen como se representa en el siguiente esquema. Figura 5: Arquitectura con todos los servicios separados Fuente: Elaboración propia. Tecnologías utilizadas Al igual que en las otras arquitecturas, se utiliza tecnología JSP. Consideraciones El objetivo de separar las distintas funcionalidades es aumentar la escalabilidad del sistema con la finalidad de obtener un mayor rendimiento. Separar las funciones en distintos servidores, permite la configuración individual de cada uno para lograr una mejor respuesta. Como ejemplo, se puede establecer que para brindar un buen servicio HTTP se necesita de una computadora con buena conexión a Internet, pero sin grandes necesidades de hardware. Para el caso del servidor de base de datos, la configuración necesaria es diferente, ya que en este caso lo que se necesita es gran cantidad de memoria y capacidad de almacenamiento en su disco duro. Otra ventaja que se obtiene es a nivel de seguridad, ya que, al separar las funcionalidades, los servidores que no están conectados a Internet no son de fácil acceso. Referencia caso de estudio De acuerdo a las especificaciones definidas en el caso de estudio, el sistema debe servir como soporte a los procesos de negocio de la organización. Un detalle a tener en cuenta es que los nuevos procesos deben integrar a distintos actores, como son los empleados de la empresa, clientes y proveedores. Esto hace presumir que el sistema tendrá un nivel de uso muy importante, con gran concurrencia y volumen de datos. En función de las arquitecturas descritas, resulta conveniente seleccionar una arquitectura con implementación de servidores específicos para cada funcionalidad. Esta elección da la ventaja de obtener un mayor rendimiento y posibilidad de escalado del sistema. Tecnologías generación páginas web Existen distintas tecnologías que permiten la generación de páginas web. Cada una de ellas utiliza mecanismos que brindan ciertas condiciones de funcionamiento que las hacen aplicables a distintos tipos de arquitecturas. Web Server Scripting Consiste en el procesamiento de una petición realizada por un usuario, mediante la interpretación de un script en el servidor web, el cual genera dinámicamente páginas HTML como respuesta (“Script del lado del servidor”, 2020). El servidor web ofrece el servicio HTTP y, además, se encarga de ejecutar los procesos que corresponden a la lógica de negocio. La comunicación de la lógica con los datos se realiza mediante un mecanismo como ODBC. En muchos casos, la lógica de negocio se implementa a nivel de la base de datos mediante la utilización de los recursos existentes como son los procedimientos almacenados y triggers, entre otros. Dentro de esta categoría podemos ubicar ASP y PHP. Figura 6: Web Server Scripting Fuente: Elaboración propia. Servidor de aplicaciones Un servidor de aplicaciones es un servidor capaz de ejecutar ciertas aplicaciones en una red de computadoras. Se trata de un software que proporciona servicios de aplicación a las computadoras cliente. Generalmente, gestiona toda o la mayor parte de las funciones de la lógica de negocio y de acceso a los datos de las aplicaciones. Dentro de los principales beneficios de este tipo de implementación, encontramos la centralización y la disminución de la complejidad en el desarrollo de aplicaciones. Un aspecto importante a tener en cuenta es la flexibilidad que brinda, ya que permite separar completamente el servicio HTTP, la lógica de negocio y la lógica de datos. En esta categoría podemos encontrar JSP. Figura 7: Servidor de aplicaciones Fuente: Elaboración propia. Caché Server Pages (CSP) La tecnología CSP se caracteriza porque la lógica de negocio y la lógica de datos se concentran en el gestor de base de datos. Esta característica permite establecer una comunicación, entre procesos, mucho más ágil y rápida, ya que el gestor es el encargado de ejecutar los procesos que implementan la lógica de negocio. En este caso el servidor web es quien brinda el servicio HTTP. Figura 8: Caché Server Pages Fuente: Elaboración propia. Referencia caso de estudio Si elegimos una arquitectura con todas las funcionalidades separadas en servidores específicos, debemos seleccionar una tecnología adecuada que permita este tipo de implementación. En este caso, quien brinda mejor soporte a este tipo de arquitectura es la tecnología basada en JavaServer Page, ya que facilita la implementación de servidores de aplicaciones en forma separada. C O NT I NU A R Metodología de desarrollo de sitios web En la actualidad, gran cantidad de sistemas de información tienen características de aplicación web. Una aplicación web es aquella aplicación que los usuarios pueden utilizar accediendo a un servidor web a través de internet o una intranet mediante un navegador. 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 en forma interactiva. Presentan ciertos atributos que las diferencian de aplicaciones típicas de cliente-servidor y exigen un enfoque metodológico con algunas variantes para su desarrollo. En esta lectura, se describen algunos procesos metodológicos específicos para el desarrollo de sitios web. Para trabajar los conceptos, analizaremos el caso SEGUX Compañía de Seguros descripto en la lectura: Aplicación web. Metodología de desarrollo de sitios web Referencias Revisión del módulo Lección 1 de 3 Metodología de desarrollo de sitios web Actualmente, existen varios procesos metodológicos sugeridos para llevar a cabo el desarrollo e implementación de sitios web. Cabe destacar que no hay una metodología estándar, pero se puede optar por algunas de las propuestas, si se tienen en consideración las particularidades propias de la implementación que se desea realizar. Con la aparición de las aplicaciones y sitios web se presentan oportunidades de acceder a nuevos mercados, incursionar en el comercio electrónico o implementar sistemas de información que flexibilizan la operatoria de las organizaciones. Es importante contar con mecanismos y enfoques metodológicos que permitan el desarrollo de este tipo de software de modo tal que se puedan satisfacer las necesidades de los usuarios y los clientes. Metodologías Dentro de las metodologías de desarrollo más usadas, se pueden destacar las siguientes: Relationship Management Methodology (RMM) La RMM o Relationship Management Methodology se define como un proceso de análisis, diseño y desarrollo de aplicaciones hipermedia. Por ejemplo para aplicaciones cuando se trabaja con catálogos o bases de datos de tipo tradicional… El modelo propone el uso de un lenguaje que permite describir el dominio, representando los objetos, cómo se interrelacionan y los mecanismos de navegación hipermedia de la aplicación. (Lamarca Lapuente, 2013, http://www.hipertexto.info/documentos/rmm.htm). Es una metodología de diseño basada en la aproximación centrada en la información. Propone un lenguaje de modelado de sitios web a nivel lógico. Se puede integrar a en una metodología de desarrollo. Facilita la estructuración de páginas web complejas. Permite la reutilización de elementos en el diseño. Mantener contexto de navegación. En el siguiente enlace se puede encontrar un mayor detalle sobre esta metodología: http://www.hipertexto.info/documentos/rmm.htm Object Oriented Hypermedia Design Method (OOHDM) Esta metodología propone un proceso de desarrollo de aplicaciones hipermedia compuesto por cuatro etapas bien definidas: Diseño conceptual – El desarrollo se inicia con el diseño de la capa conceptual. El objetivo principal es capturar los conceptos del dominio de la aplicación y realizar una representación mediante diagramas que permitan expresar con claridad el comportamiento, la estructura y las relaciones entre dichos conceptos. Diseño navegacional – La capa navegacional se compone de objetos construidos a partir de objetos conceptuales, nodos, enlaces, anclas y estructuras de acceso. Los objetos navegacionales pueden servir para construir vistas de objetos conceptuales y como adaptadores para extender la actividad navegacional de un nodo. Diseño de interfaz abstracta – Una vez construidas las estructuras navegacionales, el próximo paso consiste en especificar los aspectos de interfaz. Definiendo la forma en la cual los objetos navegacionales pueden aparecer, cómo activar la navegación y el resto de la funcionalidad de la aplicación. Un punto crítico es el desarrollo de las interfaces de usuario de aplicaciones interactivas. Esta metodología propone el diseño de una interfaz abstracta para describir la interfaz del usuario de la aplicación, es decir cómo es el comportamiento. La apariencia física real y la disposición de las propiedades de la interfaz se realizan en la fase de implementación. Implementación – Esta es la fase de implementación del diseño, teniendo en cuenta el entorno particular en el cual se va a ejecutar la aplicación (Lamarca Lapuente, 2013). En el siguiente enlace se puede encontrar un mayor detalle sobre esta metodología: http://www.hipertexto.info/documentos/oohdm.ht m UML-Based Web Este método utiliza técnicas que vienen de la orientación a objetos para especificar aplicaciones hipermedia. Plantea un enfoque iterativo y progresivo en el cual se realizan el análisis de requisitos y el diseño conceptual tanto de la navegación como de la presentación. Utiliza como herramientas los diagramas de clases UML, diagramas de estado, entre otros recursos. Algunos aspectos destacados de esta metodología son: Uso de una notación estándar, para todos los modelos, basado en el lenguaje de modelado unificado. Definición de los pasos para la construcción de los diferentes modelos. Pasos de la metodología: Análisis de requisitos – En esta etapa se establecen los requisitos funcionales de la aplicación web. Se construyen los diagramas de casos de uso. Diseño conceptual – Se detalla el modelo conceptual del dominio de la aplicación en función de los requisitos detallados en los casos de uso. Diseño navegacional – Se realiza el modelo de espacio de navegación y el de estructura de navegación. Estos modelos definen cómo se navega a través del espacio de navegación. Se obtienen diagramas de clase que representan estos modelos. Diseño de presentación – Se representan las vistas de interfaz del usuario mediante modelos de interacción UML. En el siguiente enlace se puede encontrar un mayor detalle sobre esta metodología: http://www.hipertexto.info/documentos/uml.htm Referencia caso de estudio Para el caso de estudio desarrollado, el principal objetivo de la aplicación tiene que ver con desarrollar un sistema de información basado en aplicación web para poder integrar a los procesos organizacionales, proveedores y clientes en general. Es un sistema dedicado a la gestión de la empresa que necesita de un nivel de especificación de requerimientos importante, debido a que se deben tener muy claros los procesos a llevar a cabo. Se puede aplicar, en este caso, una metodología basada en UML, ya que brinda un nivel de detalle adecuado a las necesidades. Aspectos generales de una metodología de desarrollo Las metodologías de desarrollo, en general, permiten definir los pasos necesarios para llevar a cabo un proceso ordenado de construcción de una aplicación. La mayoría comparte pasos en común, los detallamos a continuación. Análisis y definición de requisitos Esta es una de las fases más importantes en una metodología de desarrollo de sistemas, se aplica independientemente del tipo de aplicación que se desarrolle. El proceso de identificación de requerimientos y definición de especificación de requisitos del sistema permite determinar cuál debe ser el contenido del sitio, objetivos y a quiénes es dirigido. Para llevar a cabo este proceso se llevan a cabo tres actividades: Captura de requisitos. Definición de requisitos. Validación de requisitos. Clasificación de requisitos para sitios Web Los sistemas web presentan características diferentes a las de los sistemas tradicionales. Por su naturaleza, exigen la participación de roles diferentes dentro de los equipos de desarrollo y esta participación debe ser activa por parte de analistas, clientes, usuarios e incorpora profesionales como diseñadores gráficos y expertos en multimedia, entre otros. Una característica claramente diferenciadora de los sistemas web es la navegabilidad que se entiende como la facilidad con que un usuario puede desplazarse por el sistema. La navegabilidad de una página web se refiere a la facilidad con que un usuario puede desplazarse por ella. Si una página web es clara, sencilla, comprensible, ofrece al usuario una experiencia satisfactoria. Cuando diseñamos una página web debemos proporcionarle al usuario una serie de recursos y estrategias para que logre conseguir con autonomía y rapidez la información que está buscando. Una página web tiene un nivel óptimo de navegabilidad cuando su interfaz le responde al usuario las siguientes preguntas: ¿dónde estoy?, ¿dónde he estado?, ¿dónde puedo ir? (San Miguel, 2015, p. 39). Es importante que el sistema desarrollado presente una estructuración de navegación adecuada que oriente al usuario para que pueda encontrar y acceder a la información que necesite. Definición de arquitectura Un aspecto relevante a tener en cuenta es cuál debe ser la arquitectura de implementación y el tipo de tecnología a utilizar. Lugar de alojamiento de servidores. Ancho de banda de la comunicación del servidor web con internet. Páginas estáticas o dinámicas. Lugar de almacenamiento de los datos. Definición de estructura lógica del sitio Implica el diseño de la estructura lógica de navegación del sitio. En esta etapa, se diseña el inicio, la página principal, secciones de las páginas, sección de novedades, dirección de contacto y toda tipo información que se considere útil de publicar. Definición de estructura física Posterior a la definición lógica, se define la estructura física que puede tener la misma o una lógica totalmente independiente. Hace referencia a los archivos y carpetas que se deben utilizar. Creación de contenidos Los contenidos son aquellos elementos que brindan la información a los usuarios del sitio. Para los casos de sitios basados en páginas dinámicas, se pueden utilizar conjuntamente con Base de Datos. En este caso es fundamental proveer de los elementos necesarios para realizar la carga de los datos en la base, además de poder realizar el recorrido y consulta. Diseño gráfico En este proceso se deben definir los colores, tipografía, botones de navegación, logotipos, etc. Esta etapa se realiza posteriormente a las definiciones lógicas y físicas, y en ella se procede a crear los contenidos del sitio. Creación de página En función de las necesidades detectadas se crean las páginas necesarias para el sitio, pudiendo ser páginas estáticas o dinámicas. Verificación de funcionamiento Esta etapa contempla las actividades de verificación de funcionamiento del sitio web. Es una etapa de gran importancia, en la cual se pueden realizar test sobre los siguientes aspectos: Comprobación de conexión con la base de datos. Verificación de que no existan enlaces rotos. Comprobación de que todos los recursos empleados se encuentren disponibles. Comprobación del sitio web con diferentes navegadores. Realización de pruebas de esfuerzo para evaluar el rendimiento. Referencia caso de estudio Es importante respetar las pautas de diseño del proyecto que se lleva a cabo. No se deben saltar ninguna de las etapas, ya que cada una de ellas sirve para definir el correcto funcionamiento del sistema. Un aspecto importante a tener en cuenta en el caso es que representa un importante nivel de reglas de negocio, las cuales deben ser correctamente determinadas en el proceso de análisis y requerimientos. Es importante definir claramente la navegabilidad y realizar procesos de testeo exhaustivos para asegurar el buen funcionamiento de la aplicación. Consejos para diseñar páginas web El desarrollo de páginas web implica la participación de disciplinas diferentes, desde actividades de programación a diseño gráfico. Antes de realizar cualquier actividad de programación de la página, es imprescindible haber desarrollado las etapas previas del proceso de desarrollo del sitio web. El desarrollo a implementar depende en gran medida del diseño creado. ¿Cómo hacer para que una página, o sitio, sea eficiente, rápida de acceder y, además, atractiva? Para dar respuesta a los interrogantes debemos tener en cuenta algunas consideraciones básicas. Sitio rápido y ágil Estas son características fundamentales sobre todo cuando trabajamos en sitios de negocio. El sitio debe responder en forma rápida, de modo tal que resulte práctico y atractivo para los usuarios. Presentación acorde al objetivo Se debe tener en cuenta a qué clientes está dirigido el sitio para poder realizar un diseño acorde a las actividades a la que es destinada la página. Por ejemplo, un sitio de negocios es un sitio muy diferente a un sitio destinado a la diversión o a la salud. Esto significa que el diseño debe estar siempre en concordancia con el servicio que se ofrece. De todas formas, independientemente del tipo de sitio que se trata, la apariencia de un sitio es condición principal, siempre debe ser agradable a la vista. Esto implica combinación de colores, desarrollo de los gráficos, textos y la distribución de la información en general para que sean claros y atractivos. Otra consideración hace referencia al tamaño de la página, el cual, se sugiere, idealmente no debe exceder los límites de la ventana visible del navegador. Fácil de usar y navegar El sistema desarrollado debe brindar estas dos características, sin excepción. El usuario debe poder adaptarse rápidamente a la operación del sistema, de modo tal que pueda acceder a la información buscada rápidamente. La navegabilidad es, también, fundamental, ya que si resulta complicado moverse de una página a otra en el sitio puede provocar problemas. Es importante considerar algunos tips para mejorar considerablemente la experiencia del usuario. Por ejemplo: Navegabilidad – Implica utilizar elementos que faciliten el proceso de navegación a través del sitio. Utilización de menús laterales y/o superiores, barras de navegación en la parte superior indicando la ubicación actual en la estructura del sitio y botón de enlace a la página principal o home, pueden ser algunos de los recursos útiles que se pueden incorporar. Contenido – Debe ser claro, conciso y directo. Un sitio web es la carta de presentación de la organización; en consecuencia, el diseño debe considerar que se muestre claramente la información que la empresa desea mostrar y que la experiencia de los visitantes permita a estos encontrar la información adecuada que necesitan. La información se debe presentar claramente, respetando que los textos presenten los tipos y tamaños de fuente adecuados. Idiomas – El sitio debe estar preparado para mercados amplios, esto implica tener en cuenta la posibilidad de publicarlo en al menos dos idiomas, español e inglés, por ejemplo. Accesibilidad – Un tema de relevancia es la accesibilidad. Es de vital importancia que todo sitio sea diseñado para que pueda ser accedido desde cualquier navegador. Es decir, el sitio debe poder visualizarse con cualquier tipo de navegador y en cualquier tipo de plataforma o sistema operativo que pueda tener un usuario potencial. Contactos y retroalimentación – Los sitios web se pueden crear para cubrir distintos objetivos, por ejemplo con fines comerciales. Es por ello que se plantea la necesidad de mecanismos de contacto que permitan a los visitantes intercambiar opiniones sobre funcionamiento, productos o procesos de la organización. Esta retroalimentación es fundamental para los procesos de mejora del sitio, sus prestaciones e interfaz. Amigable con los motores de búsqueda – Los usuarios, en general, utilizan buscadores para encontrar la información buscada o un sitio en particular. Para que un usuario encuentre fácilmente el sitio de la organización es necesario incorporar en el desarrollo el conjunto de palabras claves que se identifiquen rápidamente en los buscadores. De no realizar esta especificación de palabras claves es muy probable que el sitio no pueda ser ubicado. Páginas efectivas – Los sitios deben proveer información útil y concisa. Por ejemplo, si un sitio es de ventas de productos y/o servicios, se debe dar una descripción concisa de estos. Las descripciones detalladas deben figurar contenidas en páginas aparte y es importante que la información sea completa, por ejemplo, en un sitio de venta de gran escala resulta importante no solo la descripción de los productos que ofrece sino también las formas de pago, plazos de entrega, formas de envío, etc. Para una página corporativa, que sirve de sistema de información para el desarrollo de la actividad de una organización, es necesario considerar la correcta definición de interfaces para permitir pedidos en línea por parte de proveedores, consultas de liquidaciones, reportes de estado de entregas. Es vital que la operatoria del sistema sea fácil de utilizar y debe proveer al usuario de avisos automáticos de recepción y seguimiento. Mantenimiento y actualización – Es fundamental que el sitio siempre se mantenga actualizado con las novedades y cambios que se requieran, ya sea de contenido o de reglas de negocio. Esto implica que los mecanismos de mantenimiento y actualización sean sencillos. El objetivo de mantener el sitio actualizado es brindar certeza al usuario que accede al sistema. Referencia caso de estudio Teniendo en cuenta las consideraciones de diseño detalladas, podemos observar que en el caso del sistema a desarrollar para la compañía se debe prestar atención en la cantidad de usuarios con diferentes roles, lo cual influye en el desarrollo de las interfaces del sistema. También son fundamentales los procesos de mantenimiento y actualización para poder mantener las reglas de negocio actualizadas en función de las necesidades. Sin dudas, es importante tratar de asegurar que el desarrollo pueda funcionar en cualquier navegador o browser. C O NT I NU A R Lección 2 de 3 Referencias Lamarca Lapuente, M. J. (2013). Hipertexto, el nuevo concepto de documento en la cultura de la imagen. Recuperado de http://www.hipertexto.info/documentos/rmm.htm Lamarca Lapuente, M. J. (2013). Hipertexto, el nuevo concepto de documento en la cultura de la imagen. Recuperado de http://www.hipertexto.info/documentos/oohdm.htm Lamarca Lapuente, M. J. (2013). Hipertexto, el nuevo concepto de documento en la cultura de la imagen. Recuperado de http://www.hipertexto.info/documentos/uml.htm San Miguel, J. (2015). Implantación de aplicaciones web en entornos internet, intranet y extranet. ES: Paraninfo. C O NT I NU A R Lección 3 de 3 Revisión del módulo Hasta acá aprendimos Aplicación web – 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 web. Permiten la independencia del sistema operativo del cliente. Entornos web – Determinan el ámbito de ejecución de una aplicación web. Se definen Internet, intranet y extranet. La WWW es uno de los servicios más importantes que se brindan en Internet. Evoluciona en el tiempo como Web 1.0, Web 2.0, Web 3.0. Arquitecturas de las aplicaciones web – Dependiendo de cómo se implementan las funcionalidades básicas de la parte que corresponde al servidor, servicio HTTP, servicio de aplicaciones y servicio de base de datos se obtienen distintas variantes de arquitectura posibles. Metodología de desarrollo de sitios web – Los procesos metodológicos permiten llevar a cabo el desarrollo e implementación de sitios web. Combinados con las buenas prácticas definidas para la construcción de sitios se logran sistemas eficientes, amigables y de rápido acceso.