¿Qué es?
Es una plataforma sobre la cual se desarrollan y operan aplicaciones
transaccionales en tres capas, las cuales pueden operar en LAN, WAN y en la
Internet.
Por su arquitectura, las aplicaciones resultantes pueden ser operadas por
unos cuantos usuarios y crecer hasta varios miles prácticamente sin cambio
alguno en el código.

Su propósito es facilitar el trabajo de los arquitectos, diseñadores,
constructores y documentadores, al estandarizar diferentes prestaciones las
cuales son, en su mayoría, comunes a todas las aplicaciones, independientemente
de su objetivo.
Se aprovechan las tecnologías OpenEdge disponibles para el desarrollo de
aplicaciones transaccionales en la versión 10+ en tres capas.
¿Qué beneficios se obtienen?
Entre los beneficios que se obtienen al utilizar la Tecnología Arex destacan:
- Rápido desarrollo de aplicaciones con prestaciones y funcionamiento
profesional.
- Desarrollo estandarizado con apariencia y funcionamiento estándar de
Windows.
- Aplicaciones fáciles de aprender a usar.
- Aplicaciones fáciles de administrar, poderosas en cuanto a su seguridad
y ágiles en el control y monitoreo de los usuarios.
- Aplicaciones versátiles que puedan ejecutarse uniusuario y multiusuario
en redes locales, en redes de área amplia y a través de la Internet.
- Aplicaciones hyper-escalables, ya que el mismo código puede trabajar con
unos cuantos usuarios y llegar – literalmente – a manejar miles de usuarios
con la misma arquitectura y manteniendo los requerimientos de equipo y
licencias en niveles
muy bajos.
- Simplifica significativamente la operación de aplicaciones con gran
dispersión geográfica, ya que cada punto de acceso sólo requiere de una
conexión a Internet con el ancho de banda adecuado para el número de
usuarios que se conectan en
dicho punto.
- Posibilita el desarrollo de aplicaciones para operar bajo el concepto de
SaaS (Software as a Service).
Las 3 Capas

Las tres capas de la Tecnología Arex son una implementación de la siguiente
arquitectura de referencia:

La interfase con el usuario
Dado que se trata de aplicaciones transaccionales, la interfase con el
usuario estándar de estas aplicaciones es GUI (Graphical User Interface). Se
trata de ventanas dentro del ambiente Windows de 32 bits (XP, Vista, 2003,
2008), por ejemplo:



Para la interfase GUI, el módulo cliente de la Tecnología Arex se encarga de
mantener actualizado el código de la interfase con el usuario en el equipo del
cliente, ya que instala “al vuelo” la más actualizada versión de los programas
que el usuario va ejecutando.
Siempre existe la posibilidad de incorporar otro tipo de interfases con el
usuario, como: HTML, JAVA, .NET, WebServices, etc.

El Servidor de Aplicaciones
La lógica de negocios, así como cualquier servicio requerido por la interfase
con el usuario, se encuentra en el AppServer. Es la configuración y uso del
AppServer lo que permite que las aplicaciones puedan escalarse hasta manejar
miles de usuario con un uso eficiente de los recursos.
Dado que las instancias de AppServer atienden los requerimientos de los
usuarios siempre “a tiempo de ejecución” y sin mantener el contexto del usuario,
cada instancia de AppServer tiene la capacidad de manejar a un número de
usuarios que varía dependiendo del tipo de aplicación de que se trate.
En nuestra experiencia, para una aplicación transaccional tipo ERP, cada
instancia de AppServer podría manejar a un promedio de 10 usuarios. Esto
permitiría, por ejemplo, que
con 25 instancias de AppServer se atendieran a más de 200 usuarios. Todo esto,
claro, con un servidor de base de datos para 25 usuarios, ya que el AppServer es
el cliente que se conecta con la(s) base(s) de datos.
La Tecnología Arex permite de manera natural el uso de la base de datos
OpenEdge, sin embargo, está diseñada para permitir de manera directa el uso de
otras fuentes de
datos como Oracle, MS-SQL Server o cualquiera otra a la que se pudiera tener
acceso a través de los DataServers de OpenEdge.
Componentes de la Tecnología Arex
La Tecnología Arex para OpenEdge 10+ está integrada por dos productos:
- Administrador Arex de Aplicaciones
- Motor de desarrollo
El Administrador Arex de Aplicaciones se apoya en una base de datos
independiente de las aplicaciones que administra. En esta base se almacenan
definiciones como:
- Aplicaciones
- Usuarios
- Derechos de acceso
- Estructura de selectores
- Estaciones de trabajo
- Otras
El Motor Arex de Desarrollo, sobre el cual está construido el Administrador
Arex de Aplicaciones, incluye diferentes componentes de software, unos para el
desarrollo de programas que se ejecutan del lado del cliente, y otros para el
desarrollo de programas que se ejecutan en el servidor de aplicaciones.
Administrador Arex de Aplicaciones
El Administrador Arex de Aplicaciones lleva a cabo varias funciones, entre
las que podemos mencionar:
- Catalogar los diferentes programas que integran una aplicación,
incluyendo la especificación de sus funciones y los archivos que pudieran
requerir para su adecuada operación.
- Definir la estructura de selector de la aplicación
- Definir los diferentes perfiles que tendrán acceso a la aplicación
- Asignar los derechos a las funciones de los programas (por perfiles)
- Definir los usuarios de la aplicación
- Asignar la seguridad de acceso de acuerdo con cada usuario (es posible
restringir el acceso de un determinado usuario a una sola PC o a un conjunto
de PCs)
- Monitorear en tiempo real el acceso de los usuarios a las aplicaciones,
e incluso, si es necesario, desactivar un usuario en operación.
- Revisar el historial de las actividades de los usuarios
Adicionalmente el módulo cliente del Administrador Arex de Aplicaciones se
encarga, entre otras actividades, de:
- Firmar al usuario en el sistema
- Mantener el contexto del usuario en operación (lo que permite liberar a
los AppServers de esta tarea)
- “Bajar” al equipo del usuario, “al vuelo”, la versión más actualizada de
los programas a medida que el usuario vaya ejecutando las diferentes
funciones de la aplicación.
- El módulo cliente también se mantiene actualizado a si mismo.
Motor Arex de Desarrollo
El Motor Arex de Desarrollo está integrado por una gran variedad de
componentes de software.
Algunos tienen como propósito ayudar en la generación de programas para
ejecutarse del lado del servidor, mientras que otros lo hacen para generar
programas del lado del cliente.
El Motor Arex de Desarrollo incluye plantillas que se pueden usar como base
para el desarrollo de programas. Estas plantillas usan asistentes que guian al
programador en la definición de sus opciones, de manera que el programa
resultante le sea de más utilidad, o incluso, termine siendo el programa
totalmente desarrollado.
Los superprocedimientos Arex llevan a cabo tareas comunes, las cuales están
disponibles para todas las aplicaciones que se ejecutan del lado del cliente.
Adicionalmente se tienen otros elementos auxiliares que se utilizan para
propósitos específicos dentro del ciclo de desarrollo de las aplicaciones, los
cuales se describen en su respectiva documentación.
Todos los elementos que trabajan con datos y reglas de negocio están
diseñados para trabajar con las 3 capas en que está dividida la arquitectura de
las aplicaciones.
También existen programas de ejemplo que pueden utilizarse para situaciones
particulares, como el mostrar un año completo en pantalla, manejar árboles
multiniveles de manera recursiva utilizando el Tree-View de Windows, etc., etc. |