V12
Conceptos básicos
V12 es un marco de trabajo estructurado y extensible para construir y mantener sistemas Web complejos formados por una colección de paquetes integrados mediante un conjunto de conceptos comunes y usuarios que registran, procesan y extraen información de una base de datos relacional central.
- Paquetes. Son la unidad modular estructurada en la que se organizan físicamente los componentes de software.
- Conceptos comunes. Definen reglas, convenciones y el comportamiento esperado por todos los componentes de software para integrarse como un solo sistema.
Paquetes
Un paquete está formado por programas, bibliotecas, esquemas, privilegios, datos y recursos.
Programas
Un programa en V12 es una pieza de software con un punto de entrada que puede estar compuesto por uno o más archivos de código Devkron, imágenes, datos y otros recursos.
Los programas se clasifican en: Transacciones y Tareas.
Transacciones
Una transacción en V12 es un programa disponible para los usuarios autorizados.
Las transacciones reciben datos de entrada, los procesan, afectan a la base de datos y proporcionan una salida.
Las transacciones se clasifican en: Aplicaciones y Servicios
Aplicaciones
Las aplicaciones son programas con un propósito específico que proporcionan interfaz de usuario para que se introduzcan, consulten o afecten datos.
Las aplicaciones en V12 se construyen siguiendo el patrón MVC con el marco de trabajo CRUD-L de Devkron, por lo que están formadas por una o más vistas, un modelo y un controlador.
Vistas
Las vistas son páginas Web (o pantallas) con las que interactúa el usuario, vea Lineamientos generales de la Interfaz del Usuario para más información.
Modelo
Implementa las operaciones con datos de una aplicación.
Controlador
Es responsable de seleccionar la operación del modelo y entregar la vista apropiada.
Servicios
Los servicios son colecciones de operaciones disponibles a través de solicitudes HTTP que no ofrecen interfaz de usuario.
El marco CRUD-L de Devkron con el que se construyen las aplicaciones, automáticamente implementa un conjunto de operaciones básicas sobre entidades de datos estilo REST.
Operaciones
Una operación es un proceso atómico que recibe datos de entrada y devuelve datos de respuesta generalmente en JSON.
Tareas
Las tareas son programas que no están disponibles para ser ejecutados directamente por los usuarios.
Cada tarea es responsable de notificar o registrar su progreso, estado o finalización de ser necesario. Por lo que el invocador no tiene ningún control una vez que la ha iniciado.
Tarea bajo demanda
Es iniciada desde un servicio o un modelo de aplicación en respuesta a una acción invocada por un usuario.
Manejador de eventos
Es iniciado cuando un evento conocido (para el que está registrado) se dispara.
Tarea programada
Es iniciada automáticamente en intervalos de tiempo configurados.
Bibliotecas
Son archivos de código fuente Devkron que contienen funciones comunes que pueden ser utilizadas por diferentes programas.
Esquemas
Son archivos en DDM o JSON que contienen definiciones de entidades de la base de datos.
Entidad
Una entidad (entity) es una tabla en la base de datos, formada por columnas (también denominadas 'campos') y filas (llamadas también 'registros').
Tipo de elemento de datos
Un tipo de elemento de datos (data element type [DTE]) es un objeto o concepto del mundo real representado en el sistema, se requiere al menos una o más entidades (tablas) para almacenarlo en la base de datos.
Privilegios
Archivos con listas de privilegios (permisos) conocidos por los programas.
Un privilegio es un identificador asociado a una operación del modelo o de los servicios que puede estar o no concedido a un grupo de usuarios.
Datos
Archivos con información en cualquier formato que generalmente se importan a la base de datos durante la instalación, ya sean variables de configuración o información inicial.
Recursos
Imágenes y otros archivos usados por los programas que generalmente están disponibles para descarga.
Conceptos comunes
- Acción. Es la solicitud de un usuario desde una vista para que se realice un proceso.
- Operación. Es un proceso disponible a través de un servicio Web.
- Evento. Es el mensaje enviado por un proceso bajo ciertas condiciones previstas para que sea procesado por cualquier programa que implemente un controlador (manejador de evento).
- Manejador de evento. Es el programa previsto para responder a un determinado evento.
- Notificación. Es un mensaje enviado por un proceso con la intención de informar al usuario.
- Variable. Es un par clave/valor almacenado en la base de datos que representa un parámetro de configuración global.
Resumen
Los usuarios interactúan con el sistema a través de acciones sobre las vistas de las aplicaciones que muestran, capturan o envían datos hacia un modelo que recupera o afecta los datos de entidades persistentes en una base de datos relacional central.
Para que diferentes aplicaciones, servicios o tareas; incluso pertenecientes a distintos paquetes; puedan integrarse y funcionar de manera coherente sin dependencia, se comunican entre sí a través de eventos y con el usuario mediante notificaciones.
En el backend (modelos, operaciones y tareas) usan variables para configuraciones, verifican privilegios, envían notificaciones al usuario, disparan y manejan eventos.