Breve visión tecnológica de META4

En los últimos meses he estado participando activamente en la implantación de un sistema de gestión de nóminas. El sistema implantado ha sido Peoplenet 7 de la empresa Meta4. Se trata de una solución muy completa que cuenta con la funcionalidad necesaria para la gestión de los RRHH de una empresa. A continuación voy a hablar un poco sobre las técnicas de desarrollo en esta plataforma.

El sistema usa una plataforma tecnológica propia creada por Meta4. Peoplenet es un producto desarrollado sobre esta plataforma. Esta misma plataforma de desarrollo se incluye a su vez en el producto final, permitiendo a los desarrolladores usarla para dotar al programa de mayor funcionalidad. El desarrollador tiene a su disposición herramientas para modelar datos, diseñar objetos, formularios e informes.

Os dejo unas pinceladas sobre la tecnología:

Modelo de datos
La plataforma contiene un repositorio con su modelo de datos. Este repositorio es modificable y extensible. Se trata de un repositorio autocontenido, existen tablas de diccionario que almacenan los metadatos.
El modelo de datos de Meta4 se basa en el modelo relacional, pero incluye funcionalidades extras que le dan más potencia, como es, por ejemplo, la integridad temporal de los datos (autocierre de fechas de fin de vigencia en históricos, completitud de las vigencias de las tablas hijas con las del registro maestro, etc…).
El modelo de datos se apoya físicamente sobre una base de datos relacional, que en este caso sólo realiza la función de almacén de datos. Las validaciones de integridad referencial y temporal son realizadas en tiempo de ejecución por el modelo de Meta4. La aplicación soporta distintos proveedores de base de datos, entre ellos Oracle.

Meta4Objects
Los “meta four objects” son los elementos que encapsulan la lógica de negocio de la aplicación. Se basan normalmente en elementos del modelo de datos. Son los que proporcionan acceso a los datos en tiempo de ejecución.
Además de contenedores de datos, nos permiten crear código para obtener funcionalidad extra mediante los  “MÉTODOS” y “CONCEPTOS”. Los M4O se implementan en un lenguaje própio, el LN4. Este lenguaje recuerda un poco a Visual Basic. Abajo os muestro un pequeño trozo de código para que veáis como luce:

1
2
3
4
5
6
7
8
If anios_contr <= 1 Then
tipomin = SSP_H_REDUC_IRPF.SSP_PORC_MINIMO
If ceumeli = "1" Then tipomin = Round(tipomin/2,0) ' para Ceuta y Melilla el tipo minimo no es el 2 sino 1
tipo = Max(tipomin,tipo)
If clave_percepcion = "A" Then tipo_relacion = "2"
Else
If clave_percepcion = "A" Then tipo_relacion = "1"
EndIf

Los M4O soportan herencia, de modo que es posible crear un árbol de herencia para reaprovechar y extender funcionalidad ya existente.

Presentaciones
Los formularios en Meta4 se llaman presentaciones. Las presentaciones interactúan con el modelo de datos a través de los M4O. Existe una herramienta gráfica para diseñarlas. En el caso de las presentaciones, no se hace uso del lenguaje LN4, sino que se usa otro lenguaje propio llamado OBL. Este lenguaje es bastante peculiar, ya que se trata de un lenguaje descriptivo (por ejemplo, para mostrar un botón, se describe el botón, y anidado dentro de éste, se describe un evento, y dentro de este un bucle…). La herramienta permite diseñar de forma gráfica, de modo que no nos hemos de preocupar por el código OBL.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
BEGIN Function Zoom
Idfuncchannel = "SCO_HR_INFORMATION"
Idfuncnode = "STD_MT_HR"
Idfuncmethod = "ZOOM"
Mainargs = "ARG_STD_ID_HR"
Mainobjs = "SCO_ID_HR"
BEGIN Presentation MetaObject
BEGIN Extends extDefault
Idchannel = "SCO_HR_INFORMATION"
Idnode = "HR_ROLE"
Iditem = "SCO_ID_HR"
Idinstance = "SCO_HR_INFORMATION"
Constructopt = "Notpreload"
Inheritdata = 1
END
END
END

Este código abre otra presentación pasándole parámetros (“Mainargs” y “Mainobjs”).

Para terminar, comentaros que para dominar la tecnología de Meta4 es importante asimilar correctamente el concepto de M4O, puesto que es el motor de las aplicaciones. El lenguaje LN4 es fácil de aprender; la aplicacíón cuenta con módulos de ayuda que permiten tener acceso online a documentación sobre funciones y métodos del lenguje (muy útil cuando se está empezando).

Para los que estén interesados en el producto, podeis visitar la página del fabricante  www.meta4.es

Evolución, innovación y transformación
37 especializaciones avaladas por Oracle
Oportunidades ilimitadas
El equipo marca la diferencia
Posts 100% Oracle
Sigue nuestro día a día