Concepto: Desarrollo de soluciones de e-business
Construir aplicaciones de e-business significa construir soluciones de Internet para implementar procesos empresariales. Esto incluye el comercio electrónico, pero también abarca todos los procesos empresariales de una organización.
Descripción principal
Actividades a lo largo del ciclo vital:
Conceptos: 
Documentación:

Introducción

Construir aplicaciones de e-business significa construir soluciones de Internet para implementar procesos empresariales. Esto incluye el comercio electrónico, pero también abarca todos los procesos empresariales de una organización.  

Los sistemas de e-business se pueden dividir en:

  • sistemas de primera generación que sólo utilizan la web para publicar información
  • sistemas de segunda generación que implementan modelos de transacciones simples y de comercio electrónico
  • sistemas de tercera generación que transforman completamente un proceso para proporcionar soluciones altamente personalizadas (de empresa a cliente o de empresa a empresa) que son adaptativas y automatizan todo el proceso empresarial, y a menudo se integran con sistemas heredados y dispositivos de Internet

Cuanto más adelantado estén los sistemas en las generaciones, más complejo será su desarrollo.

Actividades de la fase inicial

Se aplica el flujo de trabajo básico para la fase inicial, con las siguientes ampliaciones o variaciones.

Entorno

Aumenta la importancia de la  Tarea: Preparar directrices para el proyecto y se centra en lo que los desarrolladores web llaman 'Resumen de diseño creativo', que es un conjunto de directrices que describen (en un nivel alto)

  • El talante del sitio; por ejemplo, ¿el sitio transmite autoridad, jovialidad o servicio? ¿Es conservador o provocativo?
  • ¿Cómo accederán los usuarios al sitio? Por ejemplo, ¿Cuál es la velocidad de conexión? ¿Hay un mínimo especificado o supuesto de velocidad para el diseño?
  • El grado de interacción del usuario; por ejemplo, ¿sólo deberíamos informar al usuario o deberíamos intentar comunicarnos con el actor (comunicación bidireccional)? ¿El diseño de la aplicación debe variar en función del usuario que acceda a ella?
  • Los navegadores que utilizarán los usuarios, incluidas las diferencias entre sistemas operativos
  • Si el sitio utilizará marcos
  • Las limitaciones de color que tendrá el sitio
  • Si es aplicable, una guía de estándares gráficos (incluidos estándares de logotipos y todos los colores corporativos)
  • La utilización de técnicas web específicas; por ejemplo, acciones del ratón, animación, suministro de noticias, multimedia, etc.

El 'Resumen de diseño creativo' se convierte en las directrices de la interfaz de usuario documentadas en el apartado  Producto de trabajo: Directrices específicas del proyecto; se trata, básicamente, de una primera versión de las directrices de la interfaz de usuario.

Requisitos

Se presupone que algunas de las siguientes actividades utilizan el resultado de un ejercicio de modelado empresarial que se encuentra fuera del ámbito de esta directriz.

Esta tiene menos importancia.  La mayoría de los problemas deben haberse detectado durante el modelado empresarial.

Esta requiere menos énfasis. La mayoría de las necesidades del interesado deben haberse detectado durante el modelado empresarial. No obstante, tendrá que realizar una serie de ejercicios que se centren en la búsqueda de requisitos no funcionales del sistema.

Esta requiere menos énfasis.   El límite del sistema se define por el límite del negocio, ya que el sistema refleja más fielmente el negocio que las aplicaciones tradicionales (en algunos sentidos, el sistema es el negocio).

Análisis y diseño

La Tarea: Diseñar la interfaz de usuario produce un Mapa de navegación. Un mapa de navegación es una vista de la solución web que muestra cómo navegarán los usuarios del sitio, posiblemente representada en un diagrama de "árbol" jerárquico. Cada nivel del diagrama muestra el número de pulsaciones que hay que efectuar para llegar a esa pantalla o página. Generalmente, debe tener las áreas más importantes del sitio web a una pulsación de distancia de la primera página (comúnmente conocida como "página de presentación"). El mapa de navegación es un resumen de los guiones gráficos; empieza identificando las páginas web y las ventanas principales de cada guión de uso y considera cómo navega el usuario entre estos elementos.

Actividades de la fase de elaboración

Se aplica el flujo de trabajo básico para la fase de elaboración, con las siguientes ampliaciones o variaciones.

  • Actividad: Definir una arquitectura candidata

    La Tarea: Análisis de la arquitectura se beneficia del conocimiento de que una aplicación web tiene una arquitectura relativamente bien definida, incluido un conjunto de mecanismos bien definidos (navegadores web, applets y servlets Java, ASP y JSP, etc.). Normalmente es suficiente una estructura de creación de capas simple, como se describe en el apartado Concepto: Creación de capas, a no ser que la infraestructura de desarrollo de aplicaciones web sea más específico. En muchos casos, puede haber arquitecturas asequibles predefinidas que se pueden adquirir o reutilizar de proyectos de desarrollo web anteriores. Las infraestructuras de aplicación web, como el ADN de IBM WebSphere o Microsoft Windows, proporcionan justo esta clase de plantilla de arquitectura.

    Normalmente, las aplicaciones web no tienen un periodo de inactividad planificado. Es posible que la arquitectura necesite (normalmente, es así) que el sistema se actualice mientras se está ejecutando y que pase a servidores en espera durante la anomalía del servidor principal o cuando se realiza el mantenimiento o la actualización del servidor. Algunas infraestructuras de aplicación web proporcionan herramientas para el soporte de producción. De todas maneras, si la aplicación tiene requisitos de alta disponibilidad, deberá pensar en comprar o construir la infraestructura necesaria para dar soporte a este requisito e integrar el soporte para esta capacidad en la arquitectura.

  • Actividad: Analizar el comportamiento

    La Tarea: Diseñar la interfaz de usuario se realiza repetidamente en las iteraciones de elaboración. Las primeras ejecuciones de esta actividad se centran en la producción de 'componentes de diseño creativo', que son representaciones simuladas del diseño de páginas web clave del sitio. Estos 'componentes' suelen ser imágenes "planas" enmarcadas con gráficos de ventana de navegador para que parezcan una ventana del navegador. La ventaja principal de los componentes es que posponen la inversión en prototipos HTML más costosos y elaborados hasta que haya un consenso sobre la dirección gráfica específica del sitio.

    Los 'componentes de diseño creativo' se crean teniendo en cuenta los requisitos de interfaces de los guiones de uso más importantes y desarrollando muchos diseños alternativos (diez o más) para ver su aspecto. Después, se escogen las tres opciones más prometedoras para presentárselas a los interesados. Esta operación se repite hasta que se alcance un acuerdo sobre el diseño web final, que tenga como resultado un conjunto de guiones gráficos y un mapa de navegación.

    Una vez que se llega a un acuerdo y finaliza la sesión, los componentes de diseño creativo se convierten en un Prototipo de interfaz de usuario funcional mediante la repetición de la Tarea: Prototipo de interfaz de usuario. El prototipo de UI web inicial suele soportar únicamente porciones del sistema, los guiones de uso más importantes y arquitectónicamente significativos. Es importante tener una buena estructura en los flujos de sucesos del guión de uso antes de desarrollar prototipos para asegurarse de que la funcionalidad guía el diseño de la interfaz de usuario, y no al revés.

    En iteraciones posteriores, el prototipo web se amplía mediante la adición gradual de una cobertura más amplia de los guiones de uso y el ejercicio más intenso de la arquitectura.

    La Tarea: Análisis de guión de uso permanece relativamente sin cambios, salvo que es importante que no se centre únicamente en el comportamiento de la GUI, sino también en la lógica empresarial subyacente, la parte que normalmente se ejecuta en el servidor web o el servidor de aplicaciones. Si nos olvidamos de esto, la parte más significativa del comportamiento del sistema se pasará por alto. Las páginas web se representan como clases de 'límite', los elementos de datos se representan como clases de 'entidad' y el comportamiento del servidor (por ejemplo, las páginas de servidor activo, los servlets, etc.) se representan mediante objetos de 'control'.

    Inmediatamente después del análisis del guión de uso, la Tarea: Identificar elementos de diseño perfecciona el Producto de trabajo: Clases de análisis, y lo correlaciona con mecanismos existentes de la infraestructura de desarrollo web, reutilizando los elementos de diseño existentes de iteraciones o proyectos anteriores cuando sea posible. Esta operación suele requerir el reajuste del ámbito y la definición de las clases de análisis identificadas para conseguir el grado deseado de reutilización.

    En Modeling Web Application Architectures with UML encontrará una descripción más detallada de la utilización de UML para describir aplicaciones web.

  • Actividad: Preparar el entorno.

    Además de desarrollar directrices de la interfaz de usuario, se crean elementos de diseño web, imágenes gráficas discretas que se ensamblan para construir las páginas web de un sitio. La coherencia de la interfaz de usuario en un sitio web es esencial para su utilización; el sitio web debe proporcionar una experiencia de usuario coherente. Para asegurarnos de esto, el proyecto debe utilizar de manera coherente un conjunto de elementos gráficos estándar en todo el sitio.

    El desarrollo de estos elementos es una ampliación de la  Tarea: Preparar directrices para el proyecto e incluye la creación de directrices para su utilización. Asegúrese de que todos los miembros del equipo saben cuándo y cómo se deben utilizar estos elementos. Los ejemplos de elementos de diseño web incluyen elementos gráficos como dispositivos de navegación y fondos de página. La reutilización de elementos gráficos estándar de alta calidad en todo el sitio garantiza la coherencia, reduce el tiempo de salida al mercado y el coste de desarrollo y mejora la calidad desplegando un conjunto más pequeño de elementos de calidad superior.

    La preparación de directrices se realiza en conjunción con el desarrollo del Prototipo de interfaz de usuario web inicial para producir la guía de estilo del sitio. Esta guía de estilo, entre otras cosas, especificará cómo y cuándo se deben utilizar los elementos de diseño, los esquemas de color, los fonts, las hojas de estilo en cascada y los detalles sobre cómo deberían funcionar y cómo deberían estar colocados los elementos de navegación.

  • Actividad: Perfeccionar la arquitectura

    La Tarea: Identificar los mecanismos de diseño empieza a centrarse más en la correlación de los requisitos no funcionales del sistema con los mecanismos que proporciona la infraestructura de desarrollo web; deben identificarse los mecanismos que no proporciona la infraestructura (si existe) y deben encontrarse soluciones alternativas.

    La Tarea: Describir la arquitectura del tiempo de ejecución pasa a centrarse más en los niveles de servidor de aplicaciones y servidor web (consulte Concepto: Patrones de distribución), y los procesos y hebras que se utilizan para gestionar la concurrencia en la aplicación. Por lo general, hay poco o ningún control sobre el proceso de las máquinas del cliente.

    La Tarea: Describir la distribución cambia su decisión principal de 'qué clases de nodos de servidor debe tener' a 'cuántos nodos de cada clase de nodo de servidor debe tener'. Normalmente, la infraestructura de desarrollo web proporciona un número fijo de tipos de servidor (por ejemplo, servidores web, servidores de aplicaciones, servidores de correo, servidores de puerta de enlace de comunicación) con límites funcionales relativamente bien definidos. Como consecuencia, la habilidad del arquitecto de software pasa a centrarse en determinar cómo manejar los requisitos de tolerancia a errores y escalabilidad utilizando los tipos de servidor disponibles, normalmente determinando cuántos servidores de cada clase son necesarios. Además, deben hacerse planes de medidas para determinar cómo se puede saber que son necesarios servidores adicionales.

  • Actividad: Definir la misión de evaluación

    La planificación se centra, en gran medida, en la prueba de rendimiento para garantizar que la aplicación web puede soportar aumentos significativos en el número de usuarios concurrentes. En consecuencia, las actividades de prueba Verificar el enfoque de pruebaProbar y evaluar, Conseguir una misión aceptable, Aumentar los activos de prueba también se centrarán más en las pruebas de rendimiento para garantizar que la arquitectura es escalable.   

    Otros Tipos de prueba importantes son la Prueba de utilización y la Prueba de estructura.  Es necesario probar la interacción del usuario para verificar que la estructura de la aplicación web es adecuada para sus usuarios. En algunos casos, se verá obligado a tener la aplicación en Internet para poder supervisar cómo utilizan los usuarios la aplicación.

    Otro tipo de prueba que consume mucho tiempo son las pruebas de navegador, ya que la compatibilidad entre navegadores y versiones de navegador limita las opciones de diseño en la interfaz de usuario.

  • Actividades: Implementar componentes, Integrar los subsistemas e Integrar el sistema

    Para validar las decisiones arquitectónicas que se han tomado hasta ahora en el proyecto, deben desarrollarse y probarse uno o varios prototipos arquitectónicos, lo que implica la ejecución sucesiva de la Actividad: Implementar componentes, la Actividad: Integrar los subsistemas y la Actividad: Integrar el sistema. La prueba, como se menciona arriba, debe centrarse especialmente en la escalabilidad de la aplicación en aumentos imprevisibles de la carga del sistema.

Actividades de la fase de construcción

Se aplica el flujo de trabajo básico para la fase de construcción, con las siguientes ampliaciones o variaciones.

Actividades de la fase de transición

  • El release del producto en el entorno web suele ser incremental y continuo, y se centra menos en la distribución tradicional de medios de soporte. La planificación del release debe ajustarse en consecuencia.
  • La educación del usuario en el entorno web suele integrarse en el diseño del mismo sitio web, por lo que la utilización del sitio es intuitiva. La creación de documentación o manuales de usuario y de formación tradicionales es reducida, cada vez se tiende más al diseño gráfico y de contenido en la parte frontal del proceso.
  • El soporte de aplicaciones de producción en el entorno web debe centrarse en el mantenimiento de la alta disponibilidad con una carga imprevisible. También es posible que sea necesario poder proporcionar la capacidad para seguir en ejecución cuando fallan los servidores principales y para permitir que el servidor se ejecute mientras el sistema se está ejecutando.
  • La transferencia de conocimiento del equipo de desarrollo al soporte de producción debe producirse de manera que el personal de soporte pueda ejecutar el sistema y realizar el mantenimiento rutinario.
  • Control de cómo utilizan los usuarios la aplicación. Esta información es valiosa para saber quién está utilizando la aplicación y cómo la está utilizando. Estas observaciones pueden ayudarle a desarrollar más releases para aumentar la interacción del usuario.
Partes de esta página se han desarrollado en cooperación con Context Integration. Enlace del logotipo de Context