Metamodelos y metadatos de aplicación
Tema del dia: Metamodelos de aplicación
Hace muchos años existen los metamodelos a nivel de base de datos y permiten explotar información acerca de los objetos que maneja el SGBD.
Actualmente, ese mismo modelo permite a nivel empresarial conceptualizar en los modelos de negocio, objetos que existen en las diferentes capas de la aplicacion. De esta manera si tenemos una aplicacion en tres capas por ejemplo:
- Javascript en el front como presentador de la aplicación
- Una capa intermedia de acceso a datos basada en Java
- Una capa de datos donde tenemos stored procedures que nos permiten ejecutar las operaciones basicas sobre los datos.
Para evitar realizar cambios en el desarrollo constantemente se realiza un registro de las relaciones existentes entre los objetos como representacion de un concepto, de esta manera si en javascript tenemos un objeto llamado txtNumeroDNI a nivel de Java pNumeroDNI, como parametro del stored procedure cNumeroDNI y en la base de datos como persona.vNumeroDNI, nuestra tabla de mapeo quedaria de la siguiente manera:
- concepto: Numero de DNI
- varJavascript: txtNumeroDNI
- varJava: pNumeroDNI
- varOracle: cNumeroDNI
- tipo: C
- orden: 12
De esta manera, para cada interfaz en un determinado estado del flujo de trabajo podemos hacer lo siguiente:
- Se pueden enviar desde la base de datos los objetos javascript con las propiedades personalizadas dependiendo del usuario
- Se pueden enviar automaticamente solo los objetos que se requieren para el consumo del stored procedures y la ejecucion de reglas de negocio
- Se pueden procesar las llamadas a stored procedures construyendo la peticion dinamicamente
Entonces cuando modificamos una interfaz de la aplicación solo tenemos que actualizar el registro transversal del mapeo y el stored procedure en la base de datos.
Entonces, mantenemos la lógica de negocio en la capa de datos y evitamos incrementar el desarrollo en las otras capas. Como consecuencia podemos esperar que nuestro desarrollo madure en el tiempo.
Ahi nos bytes !