Introduccion

De WikiDgp21
Saltar a: navegación, buscar

Daps21 es un entorno de ejecución de aplicaciones cliente servidor en 3 capas: Servidor de Aplicaciones, Motor de Base de Datos y Aplicación cliente, que incorpora su propio entorno de desarrollo de aplicaciones. Es un sistema orientado al desarrollo rápido de aplicaciones de gestión, mediante el cual se ha desarrollado el ERP Iglobalgest. Es una herramienta ideal para la creación de programas utilizados en Cloud Computing, ya que incorporan multitenancy de base, generan un tráfico de datos ínfimo en comparación con programas web y da una mayor interactividad de la aplicación cliente con el usuario. Todos los componentes del sistema han sido escritos en lenguaje C y C++. El sistema y las aplicaciones desarrolladas tienen licencia libre AGPL.

El desarrolo en el entrono daps21 proporciona:

  • Desarrollo rápido.
  • Fácil mantenimiento.
  • Control de usuarios y grupos.
  • Configuración a nivel de usuario, grupo, empresa y sector.
  • Gestión documental para incrustar en cualquier formulario.
  • Mensajería instantanea.
  • Sistema para implementar la ayuda.
  • Multiidioma.


Componentes del sistema.

Escuchador (DESOR).

Es la puerta de entrada al sistema. Es el encargado de escuchar las peticiones de conexión de los usuarios. Gestiona una tabla de carga configurable de los diferentes servidores operativos del sistema daps21 y de las diferentes conexiones a internet que tiene asignadas. Cuando recibe una petición de conexión de un usuario, la redirige al servidor y a la línea de conexión con menos carga en el sistema.

A continuación se muestra un ejemplo de la tabla de carga de trabajo que gestiona el escuchador.

001serv1 gestio l192.168.116.4 003748012000021 002serv1 gestio r80.80.161.68 003748008500001 003serv1 program l192.168.216.4 003748012000001 004serv1 program l192.168.216.4 003748011000011 005serv5 demo l192.168.216.5 013748012000021 006serv5 demo r61.149.16.182 013748011000051 Esta tabla contiene información de los servidores que atienden al sistema. Por ejemplo, la línea 1 informa de lo siguiente:

001: Número de orden. serv1: Nombre del servidor. gestio: Grupo de usuarios al cual atenderá. l: Admite conexiones locales. 192.168.116.4: ip de conexión. 3748: Puerto de conexión. 120: Número de usuarios máximo para el servidor. 2: Número de usuarios conectados 1: Servidor activo


Funcionamiento:

La tabla de carga de trabajo (dgpsap) la crea el escuchador al arrancar a partir de un fichero de configuración en texto plano (dgpsap.cfg). Cuando arranca un servidor de aplicaciones se activa su estado en la tabla de carga a fin y efecto de que el escuchador lo tenga en cuenta para gestionar el balanceo. Si el servidor de aplicaciones no se encuentra en la misma máquina que el escuchador, la activación se realiza mediante un mensaje remoto al escuchador. Cuando una aplicación cliente pide una conexión al escuchador, este busca la mejor opción en función del grupo de usuarios al cual pertenece, del tipo de conexión, local o remota, y según la carga relativa de cada servidor, devolviendo a la aplicación cliente la nueva ip y el nuevo puerto de conexión. Las figuras 2 y 3 ilustran estos conceptos.

figura 2 y 3




Servidor de aplicaciones daps21.

Es el encargado de ejecutar las aplicaciones almacenadas en la base de datos de programación, interaccionar con la base de datos del usuario y atender el diálogo con la aplicación cliente. Ha sido desarrollado partiendo de cero en lenguaje C.


Código de las aplicaciones almacenadas en la base de datos.

El servidor de aplicaciones trabaja con dos bases de datos diferenciadas:

Base de datos del usuario. Base de datos de programación.

Base de datos del usuario.

Como su nombre indica, es la que gestiona los datos introducidos por el usuario con la aplicación. También contiene información que utiliza el servidor de aplicaciones para personalizar las aplicaciones a diferentes niveles: Por sector (alimentación, construcción, téxtil, transporte, etc), por empresa o base de datos, por perfil de usuario y por usuario.

Base de datos de programación.

A la base de datos de programación se guardan las definiciones de los formularios de la aplicación y el código que ha de ejecutar el servidor de aplicaciones. Un formulario se compone de un conjunto de controles. El código que ejecuta el servidor de aplicaciones siempre está asociado a un control de un formulario. Este código se ejecutará cuando el formulario sea mostrado por la aplicación cliente y el usuario clique el control, si es un control clicable, o sinó, cuando el control pierda el foco. El código a ejecutar por el servidor se compone de una o más funciones que se ejecutarán de forma seqüencial o bien siguiendo el flujo especificado en lenguaje LCF (Lenguaje de Control de Funciones, ver apartado 3.2.6).


3.2.2. Módulo de acceso a la base de datos.

Para acceder a la base de datos del servidor de aplicaciones Dgp21 se ha hecho un módulo diferenciado. Este módulo es el encargado de hacer el enlace con la interficie de programación proporcionada por el motor de base de datos. Esto se ha hecho así para facilitar la portabilidad del servidor de aplicaciones a diferentes sistemas gestores de bases de datos (ver figura 1). Para que las aplicaciones desarrolladas en el sistema Dgp21 funcionen con otro gestor de base de datos sólo hace falta desarrollar el módulo de acceso específico. Todo el código de las aplicaciones desarrolladas se puede aprovechar. El módulo de acceso a datos que hemos desarrollado actualmente es para Postgresql [1].


3.2.3. IDE integrado.

La misma aplicación sirve para desarrollarse a si misma. Para ello sólo necesitamos conectarnos a la base de datos de programación y acceder al formulario que permite la creación de nuevos formularios y la programación del código.