Está en la página 1de 55

Step 2 Módulo 4

• Modelado de datos en Mendix


• Entidades y atributos
• Feedback
• Menú de navegación
• Knowledge check

Módulo 5
• Lógica personalizada
• Microflows y sus elementos
• Mendix bot
• Inicialización de datos o miembros
• Knowledge check

Módulo 6
• ¿Qué es Studio Pro?
• ¿Qué es el team server?
• Mudándonos de Studio a Studio Pro
• “Information entities”
• Como anidar información
• Knowledge check
Unrestricted
ENTIDADES Y ATRIBUTOS
Antes de mostrar información en tu aplicación lo primero es entender dos conceptos básicos.

1.- Entidades: Es la representación visual de una base de datos, esta nos permite modelar la información que ingresaremos a Mendix

2.- Atributos: Son los campos dentro de una base de datos, los atributos definirán el tipo de dato y el lugar para almacenarlos

Por ejemplo: un booleano es un tipo de atributo que puede ser verdadero o falso
Creando entidades
DOMAIN MODEL
La estructura de la base de datos es determinada en Mendix a través del “domain model”

En el vemos cómo se representan visualmente las entidades y atributos.

Cada entidad que está presente en el “domain model” se creará en la base de datos como una tabla.
Cada atributo dentro de esa entidad se convertirá en una columna en la tabla de la base de datos.

Los atributos deberán nombrarse usando el UpperCamelCase por ejemplo: Email Address = EmailAddress
Páginas y entidades

Las páginas nos permiten mostrar información al usuario, puede ser Al agregar una conexión con entidades esta información
estática o dinámica se convierte en dinámica

Es posible crear páginas sin tener ninguna entidad definida lo cual solo mostrará
información estática
List view + Data base:
Las “list view” son herramientas para mostrar información al usuario, la fuente de información vendrá la mayoría de las veces
de una base de datos
Errores al publicar o previsualizar

Mendix busca errores en el desarrollo en tiempo real, esto acelera el tiempo de desarrollo al depurar dinámicamente “on the fly”
cualquier error en el desarrollo

Si existe un error en el desarrollo Mendix lo mostrara el camino mas rápido para solucionarlo, sin embargo no podremos
publicar o previsualizar ninguna app con errores.
Creando objetos a partir de páginas de detalle
Creando todas las páginas de detalle + página de edición
DOMAIN MODEL

Cada entidad se convertirá en una tabla de base de datos y cada atributo se convertirá en una columna de la base de datos.

Cada objeto que almacena en la base de datos (por ejemplo, un curso) se convierte en una fila en la tabla de la base de datos
correspondiente.

Esto también significa que si algo no está en el “Domain Model”, tampoco se puede agregar esa información a la base de datos

La columna de identificación (ID) no es un atributo


entonces ¿cómo terminó en la tabla de la base de
datos?

Esto es algo que Mendix hace automáticamente,


cada objeto necesita un identificador único (una ID)
para que Mendix sepa qué objeto es
¿Cómo se ve el Feedback en el developer portal?
Feedback desde cualquier ángulo

Desarrollador Usuario Business Eng.


Menú de navegación

El propósito del menú de navegación en Mendix, es generar una forma fácil de abrir páginas que el usuario busca, no
importando el lugar de la aplicación en el que se encuentra
Historia de usuario terminada
Siguiente historia de usuario, agendando eventos de entrenamiento
Jimmy desea poder generar eventos de entrenamiento en donde se pueda seleccionar la localización del evento, el curso y el profesor
que lo impartirá.

También el profesor deberá poder tener visible las fechas en las que el evento se generará.

Deseo que:

Coloquemos la historia “eventos de entrenamiento” en corriendo


Agregando información a la aplicación

Antes de continuar, llenemos información en las entidades para ser utilizada dentro de nuestra aplicación
Asociaciones entre entidades

Las entidades pueden estar conectadas entre ellas, de tal forma que estas puedan interactuar, estas conexiones se llaman
asociaciones y son de 3 diferentes tipos

Usando por ejemplo un equipo de football, el cual tiene jugadores, equipos, estadios y ligas:

One to many (1-*): un jugador siempre juega para un equipo especifico, pero un equipo tiene muchos jugadores

One to one (1-1): un equipo solo puede tener un estadio y un estadio solo puede tener un equipo

Many to many (*-*): en una liga juegan varios equipos y un equipo puede jugar en varias ligas.

Uno a muchos ( 1- *) es la entidad más comúnmente utilizada


Asociaciones entre entidades

En nuestro caso, la asociación se genera:

Evento de entrenamiento * --- 1 Course


* --- 1 Location
* --- 1 Teacher

Un evento solo puede tener 1 curso, 1 localización y 1 profesor


y
• Un curso puede tener varios eventos
• Una localización puede tener varios eventos
• Un profesor puede tener varios eventos

Cuando es necesario generar datos dinámicos (que se interrelacionan) se generan estas conexiones, es decir extendemos el “domain
model”
Creando “asociaciones para eventos de entrenamiento”
Creando “eventos de entrenamiento”
Creando “eventos de entrenamiento” desde la página de inicio
Las historias hasta ahora, 3 historias de usuario terminadas
4to knowledge check
Microflows: lógica personalizada
Mendix posee lógica estándar para varios procesos, como las vistas anteriormente

Sin embargo la lógica personalizada se logra a través de Microflows, lo cual permite acciones definidas por el
desarrollador
Elementos de microflows:

La lógica siempre fluirá de izquierda (verde) a derecha (rojo) y


tendrá diferentes elementos (tabla derecha)

• La flecha secuencia señalada por la flecha negra indica


la dirección de los eventos

• El punto verde indica el inicio del flujo


Sequence flow Annotation flow

• El sequence flow es usado para ir de una actividad a otra

• El annotation flow se usa para conectar un comentario a algún


elemento

• Para explicar la razón de haber agregado una decisión a un


microflow podemos agregar una anotación conectada a la
decisión
Mendix Assist Logic bot

Mendix incorpora de manera nativa un bot que asiste al


desarrollador sugiriendo el paso natural siguiente.

Utiliza Machine Learning para recomendar el siguiente


paso en el Microflow y continua analizando el estilo del
desarrollador para sugerir los pasos siguientes
Creando lógica personalizada con Microflows
Creando lógica personalizada con Microflows + siguiente historia de usuario
Inicializando eventos

Inicializar miembros nos permitirá


1. Conectarnos con una entidad
2. Inicializar nuestro objeto con el valor de esta
entidad
Importante resaltar

Al utilizar un Microflow para poder generar un evento de entrenamiento utilizaremos la actividad crear objeto

Esta actividad se encuentra dentro de las Object Activities y estas son actividades destinadas a manipular objetos

Al tener la entidad curso disponible como parámetro es posible pasarlo a Cuando el botón se presiona, se detona el proceso de
través del microflow hacia el objeto y así prellenar la información pasar este objeto a través del microflow
5to knowledge check
Studio y Studio Pro

Studio es un WYSIWYG IDE enfocado al citizen developer y al Business


Analyst, corre en cualquier computadora a través de una navegador de
internet moderno

Studio Pro, es un IDE instalado en la PC, el cual permite


desarrollos más complejos y conexiones externas con diversos
sistemas
Studio se centra en el “Business Side” es decir, se enfoca en el negocio de tal manera que las personas expertas en el proceso tengan
la capacidad de generar sus propias soluciones mientras IT está en control

CITIZEN BUSINESS BUSINESS PROFESSIONAL


DEVELOPER ANALYST ENGINEER DEVELOPER

Business IT
Agility Control

No code Low-code Code


Diferencias entre Studio vs Studio Pro

• Studio se ejecutará en la nube • Studio Pro se ejecutará en la pc del desarrollador


• Las bases de datos residirán en la nube • Las bases de datos residirán en la pc
• Studio será accesible a través del developer portal • Studio Pro visualizará las páginas en formato más estructurado, de
• Studio es un WSIWYG una forma primaria
Mudándonos de Studio a Studio Pro
El Project explorer (o app explorer) es la herramienta de Mendix que nos permitirá tener acceso a los recursos de nuestra aplicación
como microflows, páginas, navegación, etc.
Team Server
Team server es un espacio en la nube, donde una aplicación generada en Studio se guardará automáticamente, al usar Studio Pro
esto será opcional sin embargo, es una buena practica guardar pequeños y consistentes secciones de trabajo en el team server

Dentro del team server existen repositorios los cuales almacenan los datos de la aplicación, para acceder a estos
repositorios es necesario estar dentro del equipo y tener un rol de Scrum master o Business Engineer
Team Server
Los cambios generados en Studio Pro que difieren con la copia original, serán notificados con un ícono frente al
componente que haya sufrido el cambio
Information Entity
Jimmy desea registrar alumnos dentro de un evento pero le gustaría poder agregar el número de registro, la fecha del registro y si el
alumno asistió al entrenamiento. Para lograr esto usaremos un “information entity”
Información Anidada

La información anidada es relativa al contexto donde se haya colocado, es decir, si se coloca un “list view” dentro del contexto
de un evento de entrenamiento, esta solo tendrá acceso a la información relativa a ese evento de entrenamiento
Conector en Studio Pro
Los conectores nos permiten conectar de una forma rápida un atributo con un widget
Solo con arrastrar y soltar el atributo o entidad con el que vamos a trabajar
6to knowledge check

También podría gustarte