EXPAND

Herramienta para el desarrollo de aplicaciones Web

EXPAND es el eje alrededor del cual se ha articulado toda la ingeniería de software de BASE 100 para Java EE7.

En una ingeniería en permanente evolución y crecimiento, EXPAND ha permitido integrar soluciones y tecnologías, de forma ordenada y coherente.

En un escenario de complejidad en aumento, los resultados de EXPAND sobre la calidad, el control y la reducción de costes del software han sido extraordinarios.

Un entorno altamente productivo

BASE 100 ha desarrollado el entorno EXPAND para aplicaciones JEE7 en arquitectura web buscando recuperar la rentabilidad de los desarrollos software, centrándose principalmente en los siguientes aspectos:

EXPAND está constituido por herramientas de desarrollo, calidad y documentación, así como por una metodología integrada y los últimos componentes tecnológicos ordenados en una plataforma.

Herramientas de productividad

EXPAND resuelve el manejo e integración de todas las distintas tecnologías, tanto de aplicación como de infraestructura. El técnico solo debe mantenerse próximo al usuario, entender sus requerimientos y escribir lógica de presentación y de negocio.

Para la construcción de las aplicaciones, EXPAND cuenta  con un conjunto de herramientas de productividad y apoyo, entre otras: generadores de código de negocio, generadores de interfaces, gestores del proyecto y mecanismos de pruebas continuas.

Comnponentes de Expand

El escenario actual: la rentabilidad

Hoy en día, desarrollar una aplicación moderna en arquitectura web requiere un conjunto de especialistas en tecnologías muy diversas.

Esta complejidad hace que la gestión de un proyecto sea muy difícil y, frecuentemente, los resultados desalentadores: costo insostenible, plazos incontrolables y calidad errática.

Nuestro esfuerzo en BASE 100 ha sido buscar soluciones a esos problemas y encapsularlas en un entorno homogéneo y eficaz: EXPAND. Hoy en BASE 100 cumplimos plazos, con una calidad muy elevada a costes rentables para nuestros clientes.

El escenario actual: la productividad

JEE7 nos ha abierto un camino hacia el SW de la próxima década, con opciones impensables hace apenas unos años.

Las posibilidades son extraordinarias, pero la complejidad de los desarrollos sigue multiplicándose, reduciendo la productividad

En BASE 100 tenemos la convicción, de que construir SW rentable, solo es posible con herramientas de alta productividad, metodologías ágiles y plataformas tecnológicas que sigan estrictamente estándares abiertos.

El escenario actual: la calidad

La gestión de la calidad (Quality Assurance) ha pasado al primer plano de nuestras preocupaciones: funcionalidad cada vez más exigente sobre infraestructuras interconectadas y muy diversas requieren software robusto y mantenible.

Pero la Quality Assurance es una tarea que puede consumir una parte significativa del esfuerzo de todo el desarrollo.

EXPAND minimiza las necesidades de trabajo de los técnicos, automatizando los procedimientos de Quality Assurance.

Metodologías ágiles

EXPAND utiliza metodologías ágiles en la creencia de que, adaptarse a los cambios de requisitos en cualquier punto de la vida del proyecto es una aproximación mejor y más realista que intentar definir todos los requisitos al comienzo del proyecto e invertir el esfuerzo en controlar los cambios.

Para ello, EXPAND facilita desarrollos iterativos, con generación rápida de prototipos funcionales que se someten continuamente a la evaluación del usuario de acuerdo a esta metodología.

La creación de documentos de análisis en papel (casos de uso, cuadernos de carga, etc.) supone un costo que no se refleja en la calidad final del software. En muchos casos, además, son fuente de malentendidos. Un completo control del software se obtiene hoy con otras herramientas.

Al usuario no se le deben mostrar documentos de análisis, que tiene dificultad en interpretar, sino directamente estados sucesivos de su aplicación. Prototipos que el usuario entiende y sobre los que puede aportar valoraciones e información útil.

En este escenario, se deben realizar desarrollos rentables, en los plazos previstos y con costos y tiempos controlados.

Plataforma tecnológica

La multiplicidad de estándares, tecnologías y arquitecturas disponibles requiere una selección cuidadosa de todas ellas, dando lugar a un conjunto moderno y coherente.;

EXPAND se basa en una plataforma tecnológica en permanente actualización, que integra  de forma consistente los mejores estándares actuales, así como los mecanismos de gestión y de control de la calidad más evolucionados.

BASE 100 se mantiene siempre alineada a las últimas tecnologías de software disponibles. Para ello mantiene un observatorio donde estas tecnologías se conocen, analizan, evalúan y, eventualmente, se incluyen en la plataforma tecnológica EXPAND .

Esta incorpora así de forma probada, continua y ordenada, los últimos desarrollos tecnológicos, que presentan el nivel de madurez y garantías necesarias.

Las condiciones que debe cumplir un componente para ser incluido en la plataforma tecnológica EXPAND son las siguientes:

La plataforma EXPAND mantiene un compromiso estricto con los estándares abiertos para todos sus componentes. Éstos se adoptan solo después de haber alcanzado un nivel de consenso entre la comunidad y el grado de madurez necesario.

Herramientas de desarrollo Eclipse
Oracle
Netbeans
JDeveloper
Intellij IDEA
Control de versiones Git
Subversion
Mercurial
Generación, compilación y despliegue ANT
Maven
Gestión de pruebas de carga, unitarias y funcionales JMeter
LoadUI
JUnit
SoapUI
Arquillian
Selenium
HP Loadrunner
Integración continua y control de calidad (QA) Jenkins
Sonar
Cover

Más información

Arquitectura de cuatro capas con EJB3

Un sistema Java EE se estructura es mediante una arquitectura de cuatro capas:

Aunque hay diferentes tecnologías implicadas en cada una de las capas, la que tiene mayor peso en la definición e implementación de un sistema es la capa de lógica  de negocio. EJB3 es un modelo de componentes especializado en la implementación de dicha lógica, mediante el uso de servicios asociados.

Mientras que la capa de presentación es la que interactúa con los agentes externos al sistema (usuarios, otros sistemas, etc.) la capa de lógica de negocio es el corazón de la aplicación y contiene el flujo y la lógica de los procesos. La capa de lógica de negocio recupera y almacena los datos mediante la capa de persistencia, sin tener conocimiento el método físico de almacenamiento y lectura de los mismos.

En un sistema típico basado en Java EE, JSF (Java Server Faces) y CDI (Contexts and Dependency Injection) se utilizarán en la capa de presentación, EJB en la capa de lógica de negocio y JPA (Java Persistence API) y CDI en la capa de persistencia. Se utilizan siempre los servicios provistos por el servidor de aplicaciones.

Ventajas de utilizar EJB3 como base para la lógica de negocio

CERRAR

Algunos de los beneficios más significativos de EXPAND son los siguientes:

  EXPAND Desarrollo tradicional
Tiempos de desarrollo Reducción del 50%  
Gestión de calidad Integrada en el desarrollo. Trabajo adicional al desarrollo.
Documentación Integrada en el desarrollo. Trabajo adicional al desarrollo.
Gestión de plazos Seguimiento continuo sobre bases reales de completitud del SW e indicadores objetivos. Seguimiento sobre papel.
Metodología Ágil, documentación de análisis mínima. El usuario ve versiones de su aplicación desde el primer momento. Documentos de análisis, casos de uso,…
Incorporación de nuevas tecnologías y herramientas Java EE Incorporación continua, verificada y coherente en el propio entorno. Asegurando la compatibilidad y la consistencia. Incorporación manual.