Beruflich Dokumente
Kultur Dokumente
Nombre de la materia:
Metodologías emergentes para la Web
Carrera:
Ingeniería en Sistemas Computacionales
Semestre:
2019-A
Fecha de entrega:
19/Marzo/2019
Horario:
18:00 – 19:00 HRS
Contenido
1. Introducción .................................................................................................................... 1
1.1 Diferencias entre el software tradicional y las aplicaciones Web ............................... 2
1.2 Ingeniería Web ............................................................................................................ 7
1.2.1 Principios de la ingeniería aplicados a las aplicaciones Web ................................ 10
1.2.2 Modelos de procesos aplicables en la ingeniería Web .......................................... 12
1.3 Características de las aplicaciones Web .................................................................... 15
Aplicación de referencia: eShopOnWeb ........................................................................... 15
Hospedada en la nube y escalable .................................................................................... 15
Multiplataforma ................................................................................................................ 16
Modular y de acoplamiento flexible ................................................................................. 16
Pruebas sencillas con pruebas automatizadas ................................................................. 16
Comportamientos tradicionales y de SPA admitidos ....................................................... 16
Implementación y desarrollo simples ............................................................................... 17
ASP.NET tradicional y formularios Web Forms................................................................. 17
1.3.1 Categorías de las aplicaciones Web ....................................................................... 17
Estos son los seis tipos de aplicaciones web que existen ................................................. 18
1.3.2 Atributos de las aplicaciones Web ......................................................................... 19
Controlada por el contenido. ........................................................................................ 19
Evolución continua ........................................................................................................ 20
Inmediatez. .................................................................................................................... 20
Seguridad....................................................................................................................... 20
Estética. ......................................................................................................................... 20
informativa: ................................................................................................................... 20
descarga: ....................................................................................................................... 20
personalizable: .............................................................................................................. 20
interacción:.................................................................................................................... 20
orientada a transacciones: ............................................................................................ 21
orientado a servicios: .................................................................................................... 21
portal: ............................................................................................................................ 21
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
1. Introducción
La ingeniería web es un área que abarca procesos, técnicas y modelos orientados a los
entornos Web. Consiste en la aplicación de metodologías sistemáticas, disciplinadas y
cuantificables al desarrollo eficiente, operación y evolución de aplicaciones web de alta
calidad. La ingeniería Web toma prestado muchos de los conceptos y principios básicos de
la ingeniería del software, dando importancia a las mismas actividades técnicas y de gestión.
Existen diferencias sutiles en la forma en que se llevan a cabo estas actividades, pero la
filosofía primordial es idéntica dado que dicta un enfoque disciplinado para el desarrollo de
un Sistema basado en computadora.
En 1998, Roger Pressman moderó una mesa redonda virtual con representantes la
ingeniería software tradicional y del desarrollo software basado exclusivamente en
Internet. El debate se centró en discutir si valía la pena aplicar un proceso de ingeniería a
las aplicaciones con base en Internet. La conclusión general fue que el proceso de ingeniería
nunca es una mala idea pero que éste debería adaptarse a los requerimientos de cambio
continuo y rapidez siempre presentes en el proceso de desarrollo Web. De iniciativas como
ésta surge el nacimiento la Ingeniería Web. La Ingeniería Web surge como una nueva
disciplina orientada a solucionar los problemas derivados de una proliferación de sistemas
web de baja calidad, realizados con una carencia completa de proceso. Esta nueva disciplina
identifica nuevos elementos propios de las aplicaciones web que no se cubren en las
Ciencias de la Computación, en la Ingeniería del Software o en los Sistemas de Información.
Existen tres conceptos que fueron claves en el nacimiento de la web, HTML. (Como lenguaje
para crear los contenidos de la web), HTTP. (Encargado de la trasferencia de la página web
y demás recursos). URL. (Direccionamiento) de los distintos recursos de internet. Los
acontecimientos más importantes fue el nacimiento de la web se remontan a los años
cuarenta, el primer servidor web fue en 1991 fuera de Europa. El desarrollo de aplicaciones
web es una tarea compleja que requiere del uso de una amplia variedad de conocimientos
de tecnología, organización y comunicación. Los sistemas de información basados en web
son mucho más complejos que las aplicaciones tradicionales debido a que han de
construirse sobre componentes tecnológicos que se encuentran en continua evolución, han
de encajar en la infraestructura existente en la empresa y la interfaz de usuario debe de
ofrecer un nivel de calidad hasta ahora no exigido.
Las aplicaciones web y la ejecución de estas se realizan de forma remota a través de la
conexión a Internet; el procesamiento de los datos lo lleva a cabo el servidor web y el
usuario solo recibe los resultados en su terminal.
En la actualidad la Internet y la Web ha influido enormemente tanto en el mundo de la
informática como en la sociedad general. Si nos centramos en la Web, en poco menos de
10 años han transformado los sistemas informáticos: ha roto las barreras físicas (debido a
1
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
2
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
Es así, como aparecen los defensores del desarrollo ágil del software, que resaltan la
importancia de los talentos y habilidades de los individuos, más que las metodologías y
documentación. Las metodologías ágiles que se centran especialmente en el factor humano
o el producto de software dan mayor valor al individuo, a la colaboración con el cliente y al
desarrollo incremental del software con interacciones muy cortas. Este enfoque está
mostrando su efectividad en proyectos con requisitos muy cambiantes y cuando se exige
reducir drásticamente los tiempos de desarrollo manteniendo una alta calidad. Las
3
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
4
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
Es importante mencionar que una Página Web puede contener elementos que permiten
una comunicación activa entre el usuario y la información. Esto permite que el usuario
acceda a los datos de modo interactivo, gracias a que la página responderá a cada una de
sus acciones, como por ejemplo rellenar y enviar formularios, participar en juegos diversos
y acceder a gestores de base de datos de todo tipo.
En un principio la Web era sencillamente una colección de páginas estáticas, documentos,
etc., para su consulta o descarga. El paso inmediatamente posterior en su evolución fue la
inclusión de un método para elaborar páginas dinámicas que permitieran que lo mostrado
tuviese carácter dinámico (es decir, generado a partir de los datos de la petición). Este
método fue conocido como CGI ("Common Gateway Interface") y definía un mecanismo
mediante el que se podía pasar información entre el servidor y ciertos programas externos.
Los CGIs siguen utilizándose ampliamente; la mayoría de los servidores web permiten su
uso debido a su sencillez. Además, dan total libertad para elegir el lenguaje de
programación que se desea emplear.
5
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
Una de las más potentes es la seguida por Sun Microsystems con su Java, integrado por 2
componentes; un lenguaje que permite la incrustación de código en las páginas HTML que
el servidor convierte en programas ejecutables, JSP ("Java Server Pages" o "Páginas de
Servidor de Java"), y un método de programación muy ligado al servidor, con un
rendimiento superior a los CGIs, denominado "Java Servlet".
Otra tecnología de éxito y una de las más utilizadas es el lenguaje PHP. Se trata de un
lenguaje interpretado que permite la incrustación de HTML en los programas, con una
sintaxis derivada de C y Perl. El hecho de ser sencillo y potente ha contribuido a hacer de
PHP una herramienta muy apropiada para determinados desarrollos.
Existen otros métodos, a menudo vinculados a un Servidor web concreto, como mod_perl
para Apache o RXML para Roxen.
Las interfaces web tienen ciertas limitaciones en las funcionalidades que se ofrecen al
usuario. Hay funcionalidades comunes en las aplicaciones de escritorio como dibujar en la
pantalla o arrastrar-y-soltar que no están soportadas por las tecnologías web estándar.
Los desarrolladores web generalmente utilizan lenguajes interpretados (script) en el lado
del cliente para añadir más funcionalidades, especialmente para ofrecer una experiencia
interactiva que no requiera recargar la página cada vez (lo que suele resultar molesto a los
usuarios). Recientemente se han desarrollado tecnologías para coordinar estos lenguajes
con las tecnologías en el lado del servidor. Como ejemplo, AJAX es una técnica de desarrollo
web que usa una combinación de varias tecnologías.
6
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
7
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
•Planificación. Una vez planteado el problema, podremos estimar costos, riesgos y esfuerzo
durante el desarrollo.
Recordemos que en la planeación iterativa solamente se detalla la iteración actual, y las
iteraciones subsecuentes sólo se plantean de forma general.
8
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
•Evaluación del cliente. Al final de cada iteración se debe realizar una evaluación con el
cliente, para validar el avance y determinar los cambios o mejoras –en caso de ser
necesarios–, que se aplicarán en las siguientes iteraciones.
No reinventar la rueda
Una regla de oro en el desarrollo de cualquier tipo de aplicación es: “no reinventar la rueda”.
Tal vez algo que agregaríamos al proceso sugerido por Pressmann, sería incorporar
actividades específicas para evaluar cuáles de los componentes que ya existen se pueden
9
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
reutilizar. Esto es porqué en el ambiente web existen muchos frameworks y engines que se
pueden adaptar fácilmente a nuestras necesidades. Por ejemplo: prácticamente todos los
websites y portales modernos utilizan un CMS (Content Management System). Así que
antes de lanzarnos a desarrollar desde cero, echemos un vistazo a los elementos existentes
tanto dentro como fuera de nuestra organización.
Las aplicaciones Web, hacen posible el acceso impensado a recursos desde lugares remotos.
Por ello, es preciso que los desarrolladores presten atención a los requerimientos, brindar
calidad, evaluar rendimiento, considerar sistemas escalables sin perder de vista el
mantenimiento y correcta documentación. El desarrollo de WebApps llegó para quedarse y
se prevé un largo ciclo de vida, por lo que se puede afirmar que aquellas aplicaciones que
no se desarrollen de forma apropiada, tienen alta probabilidad de fallos y bajo rendimiento.
10
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
Arquitectura de la información.
Ingeniería de hipermedia/hipertexto.
Ingeniería de requisitos.
Diseño de interfaz de usuario.
Usabilidad.
Diseño gráfico y de presentación.
Diseño y análisis de sistemas.
Ingeniería de software.
Ingeniería de datos.
indexada recuperación de información.
Testeo.
Modelado y simulación.
Despliegue de aplicaciones.
Operación de sistemas y gestión de proyectos.
La ingeniería de la Web no es un clon o subconjunto de la ingeniería de software aunque
ambas incluyen desarrollo de software y programación, pues a pesar de que la ingeniería
de la Web utiliza principios de ingeniería de software, incluye nuevos
enfoques, metodologías, herramientas, técnicas, guías y patrones para cubrir los requisitos
únicos de las aplicaciones web. Sin embargo el término de ingeniería de la web ha sido un
término muy controvertido especialmente para profesionales en disciplinas tales como
la ingeniería del software ya que no la consideran como un campo dentro de la ingeniería.
Los principales aspectos de la ingeniería de la Web incluyen, entre otros, los siguientes
temas:
11
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
12
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
13
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
14
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
• Transformaciones horizontales que describen el mapeo entre modelos del mismo nivel de
abstracción.
Las transformaciones verticales utilizan lenguajes como QVT, ATL ó AGG. A veces incluso se
definen como mecanismos de mezcla para introducir nuevos conceptos como estilos de
arquitectura, requisitos de usuario, y medida de la calidad.
Las transformaciones horizontales se utilizan para mantener la consistencia de las
especificaciones de los modelos, comprobando que estos modelos no imponen requisitos
contradictorios en sus elementos comunes. Las transformaciones Modelo-a-Código se
llevan realizando más tiempo, aunque a menudo se han utilizado lenguajes de propósito
general (C++, Java ó Python). Aunque un nuevo estándar del OMG ha establecido las
características propias de los lenguajes de transformación Modelo-a-Código, y algunas
herramientas han sido adaptadas para incluirlas.
15
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
Multiplataforma
ASP.NET Core es multiplataforma y se puede ejecutar en Linux, macOS y Windows. Esto
abre muchas opciones nuevas para el desarrollo y la implementación de aplicaciones
compiladas con ASP.NET Core. Los contenedores de Docker, tanto en Linux como en
Windows, pueden hospedar aplicaciones ASP.NET Core, lo que les permite aprovechar las
ventajas que ofrecen los contenedores y microservicios.
16
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
se corresponde a otra acción de controlador, lo que a su vez podría funcionar con un modelo
y devolver una vista. Es posible que algunas operaciones individuales en una página
determinada se mejoraran con funcionalidad de AJAX (JavaScript asincrónico y XML), pero
la arquitectura global de la aplicación usaba muchas vistas MVC distintas y extremos de
URL. Además, ASP.NET Core MVC también admite Razor Pages, una forma más sencilla de
organizar las páginas de tipo MVC.
Las aplicaciones de página única (SPA), por el contrario, implican muy pocas cargas de
página generadas de forma dinámica en el lado de servidor (si existen). Muchas SPA se
inicializan en un archivo HTML estático que carga las bibliotecas de JavaScript necesarias
para iniciar y ejecutar la aplicación. Estas aplicaciones hacen un uso intensivo de las API web
para sus necesidades de datos y pueden proporcionar experiencias de usuario mucho más
enriquecidas.
Muchas aplicaciones web implican una combinación del comportamiento de aplicación web
tradicional (normalmente para el contenido) y SPA (para la interactividad). ASP.NET Core
admite MVC (basado en vistas o páginas) y las API web en la misma aplicación y usa el mismo
conjunto de herramientas y bibliotecas de marco subyacentes.
17
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
18
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
Portal web app: este tipo de aplicaciones web incluyen diferentes categorías y secciones.
Pueden tener chats, foros o buscador, entre otras opciones. InfoJobs es un portal web app.
Aplicación web animada: estaban relacionadas con la tecnología FLASH, aunque hoy en día lo
están con CSS y SVG. Permiten presentar contenido con efectos animados. Son muy útiles
para diseñadores y desarrolladores pero, como contrapartida, presentan un problema: no
son útiles para mejorar el posicionamiento ni el SEO porque los buscadores no leen
correctamente su información. Un ejemplo es Android.com.
Aplicación web con Gestor de contenido: son las aplicaciones más comunes para todas
aquellas webs que actualizan su contenido constantemente. Tienen un gestor de contenidos
(CMS) gracias al cual se añaden, modifican y actualizan los contenidos y algunos ejemplos de
CMS son WordPress, Drupal y Joomla, entre otros. Las páginas de periódicos digitales o los
blogs ya sean personales o corporativos, son buenos ejemplos de aplicaciones web con
gestor de contenido digital.
Por lo que respecta a los CMS, cabe destacar que WordPress es el más extendido porque,
además de ser gratuito, es el más sencillo de utilizar. Joomla, por su parte, es el segundo con
mayor número de seguidores y Drupal es muy personalizable y adaptable.
A la hora de elegir una u otra es importante que contactes con profesionales en la materia
para recibir el asesoramiento que te guíe en la dirección correcta. En Einatec podemos
ayudarte y si quieres más información, solo tienes que llamarnos. En cuanto podamos
atenderte te resolveremos todas las dudas que te puedan surgir. Al final, estarás totalmente
seguro de lo que quieres.
19
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
Un cuidado y una alimentación continua permite que un sitio Web crezca (en robustez y en
importancia). Pero a diferencia de un jardín, las aplicaciones Web deben de servir (y
adaptarse a) las necesidades de más de un jardinero, Las siguientes características de
WebApps son las que conducen el proceso:
Inmediatez. Las aplicaciones basadas en Web tienen una inmediatez [NOR99] que no se
encuentra en otros tipos de software. Es decir, el tiempo que se tarda en comercializar un
sitio Web completo puede ser cuestión de días o semanas. Los desarrolladores deberán
utilizar los métodos de planificación, análisis, diseño, implementación y comprobación que
se hayan adaptado a planificaciones apretadas en tiempo para el desarrollo de WebApps.
Seguridad. Dado que las WebApps están disponibles a través de1 acceso por red, es difícil,
si no imposible, limitar la población de usuarios finales que pueden acceder a la aplicación.
Con objeto de proteger el contenido confidencial y de proporcionar formas seguras de
transmisión de datos, deberán implementarse fuertes medidas de seguridad en toda la
infraestructura que apoya una WebApp y dentro de la misma aplicación.
Estética. Una parte innegable del atractivo de una WebApp es su apariencia e interacción.
Cuando se ha diseñado una aplicación con el fin de comercializarse o vender productos o
ideas, la estética puede tener mucho que ver con el éxito del diseño técnico.
20
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
portal: la aplicación canaliza al usuario llevándolo a otros contenidos o servicios Web fuera
del dominio de la aplicación del portal.
acceso a bases de datos: el usuario consulta en una base de datos grande y extrae
información.
almacenes de datos: el usuario hace una consulta en una colección de bases de datos grande
y extrae información.
21
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
22
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
Con las RIA, los usuarios reciben respuestas instantáneas sin esperar a las conexiones de ida
y vuelta contra el servidor que requerían las aplicaciones web tradicionales. Pero además,
en muchos de los casos, las RIA pueden funcionar en cualquiera de los sistemas
operativos que tenga instalado el usuario en su equipo (son multiplataforma) y utilizan
el protocolo de comunicación de Internet, TCP/IP.
Se espera un gran desarrollo de este tipo de aplicaciones en un futuro próximo de cara al
gran público y al ámbito interno de las organizaciones. Las principales ventajas que
introducen estas aplicaciones son las siguientes:
Agilidad en la respuesta.
Cálculos rápidos, controles prediseñados y funciones gráficas, interactivas y
multimedia avanzadas.
En muchos casos no requieren de instalación en el equipo del usuario (es suficiente
con disponer de un navegador web), por lo que no es necesario pensar en
distribuciones de software.
Uso desde cualquier ordenador con acceso a Internet.
Pero también existen ciertos retos con los que las tecnologías RIA deberán lidiar en
el futuro:
Las RIA introducen cambios en los hábitos de navegación y en el uso de las
aplicaciones web, y el usuario tardará un tiempo en digerirlos. Además, se dan
ciertas complicaciones para el cumplimiento de los niveles de accesibilidad.
Algunas de las tecnologías RIA que hacen uso del navegador web deberán superar
algunos aspectos no resueltos aún, como la posibilidad de introducir "Favoritos" o
la de utilizar el botón "Atrás" del navegador web.
Las RIA deberán considerar la optimización de los motores de búsqueda o la
capacidad de los sistemas de análisis para monitorizar sitios web construidos con
esta tecnología.
La incidencia de estas aplicaciones sobre aspectos relacionados con
la seguridad deberá estudiarse en su globalidad a la hora de definir
la arquitectura de sistemas y aplicaciones de la organización.
23
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
24
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
Exceptuando ciertas funcionales Ajax que pueden suponer una parte "menor" del total, en
las aplicaciones web tradicionales las diferentes capas lógicas (lógica de presentación,
lógica de negocio, acceso a datos.) de las que está compuesta se distribuyen generalmente
en dos capas físicas que se encuentran en el servidor.
En la parte cliente lo que tenemos es el código HTML que el servidor nos devuelve.
25
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
El desarrollo de una aplicación RIA supone desplazar una de las capas lógicas de la
aplicación, la capa de presentación, a la parte cliente, convirtiéndole a éste en un "cliente
pesado"…En el cliente tenemos parte de la aplicación, no sólo HTML.
Por ejemplo, en el caso de crear una aplicación Silverligth éste sería el caso dónde nos
encontraríamos. La aplicación corre en el cliente y en este dónde se ejecuta.
Pero claro, llevar esta parte al cliente no es gratis, ya que se complican
las comunicaciones entre la lógica de presentación y la lógica de negocio.
En el caso de aplicaciones web tradicionales la lógica de presentación y de negocio suelen
estar dentro de la misma capa física, por lo que la comunicación entre ambas no supone
ninguna complejidad.
Si entre ambas capas metemos "internet", la comunicación ya no se puede hacer de manera
directa y tendremos que pensar en desarrollar una capa de servicios en el servidor que el
cliente pueda consumir, lo que complica el desarrollo, aumentando los tiempos
y problemas con los que nos podemos encontrar: Crear la capa de servicios, exponer
los métodos que necesita, crear proxys, validación, autenticación…
26
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
Seguro que ya todos conocéis los DataSources que tenemos actualmente disponibles
en ASP.NET (XmlDataSource, SqlDataSource, ObjectDataSource, EntityDataSource etc…) y
lo mucho que nos facilitan el desarrollo.
Pues bien, con RIA Services tendremos uno nuevo; DomainDataSource. Este componente
es muy similar al resto de DataSources (la idea es la misma) y nos va a permitir trabajar de
una manera bastante cómoda y sencilla contra servicios de dominio que se exponen con
RIA Services.
Por ejemplo, en una aplicación RIA hecha con Silverlight podemos tener los
típicos formularios de lista/detalles, con las operaciones de selección, inserción,
actualización, borrado, filtrado y ordenación como si de una aplicación web tradicional se
tratase.
Por cierto, aunque menciono Silverlight, el componente DomainDataSource también se
puede usar en aplicaciones ASP.NET tradicionales o para montar aplicaciones con Dynamic
Data, no es algo sólo para Silverlight.
27
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
28
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
vitales para organizar los millones de datos que circulan en la Red, pueden llegar a ellos,
analizarlos y categorizarlos, facilitando la búsqueda para nosotros los usuarios y abriendo
la posibilidad de generar nueva información a partir de la recombinación de recursos.
Incluso las RIA"s que respetan los estándares tecnológicos y aquellas accesibles suelen
generar el contenido dinámicamente, en base a las opciones tomadas por el usuario o
cargada internamente desde ubicaciones desconocidas. En las aplicaciones Flash o cargadas
al JavaScript -y especialmente Ajax-, los datos que ves en pantalla son totalmente invisibles
para los motores de búsqueda, que sólo entienden información estructurada en formatos
conocidos.
En muchos casos las RIA"s se han hecho imprescindibles. Aplicaciones innovadoras como
Gmail facilitan el manejo de grandes volúmenes de información junto con la ubicuidad de
la Web. En otros, los comportamientos "de escritorio" en la web perjudican la usabilidad y
reducen el valor de los datos al suprimir su calidad de recursos. Para entender esto hay que
diferenciar entre sitios web de difusión de datos - aquellos en que navegamos los datos de
forma pasiva, en calidad de lector - como blogs o sitios informativos, y aplicaciones
utilitarias donde el usuario, en calidad de autor, modifica los datos e interactúa con la
interfaz de forma activa. Estas últimas comúnmente pueden prescindir del paradigma de
páginas porque están orientada al uso privado de usuarios.
Sin embargo hay muchos "sitios" informativos que echan mano a efectos de movimiento o
configuración à la Escritorio. Es importante que en estos casos los desarrolladores
mantengan un ojo en la accesibilidad -para usuarios y buscadores- y que utilicen
metodologías existentes para lograr un balance entre los dos aspectos. Como mostraré en
el siguiente artículo, una de las claves es separar los recursos de su comportamiento en la
interfaz.
29
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
calidad de los sistemas basados en Web. Olsina y sus colaboradores [OSL99] han preparado
un «árbol de requisitos de calidad» que identifica un conjunto de atributos que conduce a
WebApps de alta calidad.
Usabilidad
Es la característica que mide la eficacia en la consulta de información de una aplicación Web
para el público al que va dirigida. Osease la facilidad de uso.
30
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
contenido visual, animaciones sin preocuparnos por los tiempos de respuesta, pero si
nuestro usuario final, tiene un ancho de banda muy limitado, lo mejor sera diseñar una
interfaz con pocas, o ningunas animaciones. Actualmente hay herramientas que permiten
identificar navegadores, por lo que podemos limitar los componentes visuales de la
aplicación para determinados dispositivos o navegadores. A pesar de esto, se sigue
recomendando interfaces limpias, ya que normalmente son mas rápidas en cargar y de
entender.
Características especiales
Son características diseñadas para personas con características especiales, son
consideradas para la accesibilidad, que enfoca a las aplicaciones web, y en general al
software, en llegar cubrir a la mayoría de los usuarios para los cuales está diseñada. Además,
en algunos países se ha comenzado un proceso de inclusión de personas con discapacidades
con la red de redes. Por ejemplo, en México el 30 de abril de 2014, se publicó en el Diario
Oficial de la Federación el Programa Nacional para la Igualdad y No Discriminación 2014-
2018, en el cual se establece la “Estrategia 1.3. Consistente en generar y aplicar la normativa
que garantice progresivamente la accesibilidad universal en el quehacer de la
Administración Pública Federal (APF) junto con las siguientes líneas de acción: 1.3.4. Emitir
instrumentos jurídicos para establecer progresivamente la obligatoriedad de contar con
páginas web y servicios electrónicos institucionales accesibles y 1.3.10. Impulsar la emisión
de normas y especificaciones técnicas obligatorias sobre accesibilidad universal en los
servicios de telecomunicaciones y radiodifusión.
La implementación de nuevas tecnologías y el desarrollo de aplicaciones web tiene que ser
más incluyente, además de implementar estrategias para mejorar la accesibilidad en las
aplicaciones web, por lo que, en definitiva es un aspecto que debemos de tomar en cuenta
para la facilitar el uso de nuestra aplicación.
Funcionalidad
Básicamente es lo que una aplicación web (hablando de Ingeniería web) puede hacer.
31
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
Fiabilidad
Capacidad de un sistema para mantener su nivel de rendimiento, en condiciones
establecidas y durante un periodo de tiempo determinado. Madurez, tolerancia a fallos,
capacidad de recuperación.
Recuperación de errores
Es la capacidad del sistema para recuperarse ante fallos o errores, ya sea la recuperación
de datos, que se vuelva a estar en línea o se recupere el control de la aplicación. La
importancia radica en que la web, basada en la inmediatez, requiere de una recuperación
lo más inmediata posible.
Eficiencia
Relación entre el nivel de prestaciones de un sistema y el volumen de recursos utilizados en
condiciones declaradas, comportamiento temporal y utilización de recursos. Es decir si
consume una cantidad de recursos se espera una proporción de resultados, entre menor
inversión se realice y mayores resultados, de la misma forma, se obtengan, más nos
beneficiaremos, entonces se dice que tendremos mejor eficacia. Los puntos que la
determinan son:
Desempeño en tiempo respuesta
Rapidez de generación de página
Rapidez de generación de gráficos
32
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
Mantenibilidad
La facilidad de mantenimiento, se refiere la facilidad para realizar modificaciones
específicas, así como su capacidad para ser analizado, para ser cambiado, su estabilidad y
su capacidad para ser probado.
Facilidad de corregir
Adaptabilidad
Extensibilidad
Las Aplicaciones Enriquecidas para Internet ofrecen una serie de ventajas sobre las
aplicaciones web, pero como toda tecnología y como todo paradigma, estas poseen ciertas
características que pueden representar una desventaja, por lo que es necesario conocer
cuáles son y evaluar si el paradigma es el adecuado para ser implementado.
A lo largo del capítulo se han mostrado cuáles son las capacidades que tienen las
Aplicaciones Enriquecidas para Internet, pero es necesario conocer en dónde se encuentran
sus desventajas, ya que solamente conociendo el estado real de este paradigma se podrá
discernir respecto del uso de este paradigma para la construcción de una aplicación web.
• Mejora del consumo de ancho de banda para la comunicación con el servidor web. Esta
es una de las ventajas más importantes de las 40 Aplicaciones Enriquecidas para Internet,
ya que utiliza el ancho de banda de la red de forma óptima, puesto que únicamente se
envían y reciben los paquetes de datos que son completamente necesarios para el
funcionamiento de la aplicación, pues existe una parte de la aplicación que ya se encuentra
cargada en el navegador web del cliente.
• Comunicación asíncrona con el servidor web. Esto permite brindar a los usuarios una
mejor experiencia de uso que las aplicaciones web, debido a que se optimiza el tiempo de
uso de la aplicación para el usuario, ya que al realizar una acción dentro de la aplicación que
necesite entablar comunicación con el servidor, no congela toda la aplicación, sino que
utiliza una interfaz de comunicación transparente al usuario que es la que se encarga de
solicitar la información, recibirla y presentarla de forma asíncrona, permitiendo así la
optimización de tiempo.
• Amplia mejora en interfaces multimedia. Brinda grandes capacidades multimedia al
usuario, permitiendo reproducir streaming de datos sin necesidad de utilizar ninguna otra
utilidad en la computadora cliente, sino que utiliza reproductores embebidos en la
herramienta utilizada para construir la aplicación. Esto permite también brindar al usuario
un ambiente familiar y cómodo para realizar el tipo de actividades que se realizan
comúnmente en aplicaciones de escritorio.
33
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
Conclusión
Las Aplicaciones Enriquecidas para Internet son una mejora a las aplicaciones web
convencionales, que les permite ofrecer una interfaz de usuario enriquecida y un mejor
rendimiento. Las Aplicaciones Enriquecidas para Internet conservan las mismas
características que las aplicaciones web tradicionales, además de permitir heredar
responsabilidades al cliente, comunicación asíncrona con el servidor, reproducción
multimedia no dependiente del cliente y mejores interfaces de usuario, ya que tienen como
objetivo el brindar un ambiente de uso similar a las aplicaciones de escritorio.
Las Aplicaciones Enriquecidas para Internet, hacen uso de otras herramientas o utilidades
para su ejecución. Entre estas se encuentran el uso de comunicación asíncrona con el
servidor, el uso de rich clients, el aislamiento de procesos como medida de seguridad, y el
uso de plug-ins, los cuales permiten la ejecución de herramientas como Adobe Flash o
Microsoft Silverlight. Las ventajas que ofrecen las Aplicaciones Enriquecidas para Internet
son principalmente mejora en el desempeño de la aplicación minimizando la comunicación
cliente-servidor mediante la comunicación asíncrona y la capacidad de brindar interfaces
de usuario con capacidades similares a las interfaces de las aplicaciones de escritorio. Las
desventajas de las Aplicaciones Enriquecidas para Internet son el tiempo de carga inicial de
la aplicación y la falta de estandarización en cuanto al uso de estas aplicaciones. Al comparar
las ventajas que provee el paradigma contra sus desventajas, tienen mayor importancia sus
ventajas puesto que estas pueden ayudar a resolver problemas que se presentan en
determinadas circunstancias y mejoran la presentación de las aplicaciones web; mientras
que sus desventajas vienen heredadas desde generaciones anteriores de paradigmas de
aplicaciones web que son causadas por factores externos a la aplicación, dependientes del
funcionamiento de las redes de computadoras y del crecimiento no estandarizado de
tecnologías para la construcción de la web.
34
Metodologías emergentes para la Web Unidad 1 Principios de la ingeniería Web
Bibliografía
https://docs.microsoft.com/aspnet/core/
https://blog.trigent.com/six-key-benefits-of-asp-net-core-1-0-which-make-it-different-
better/
https://docs.microsoft.com/aspnet/core/testing/
http://rubioharosd.blogspot.com/2017/05/calidad-en-aplicaciones-web-web-apps.html
https://es.scribd.com/document/175803709/Calidad-de-Las-Aplicaciones-Web
35