Comenzando
Flo-Lang es un DSL construido con JetBrains MPS que fue diseñado para modelar flujos de orquestación y generar varios componentes de software que pueden usarse en una aplicación Java. Actualmente, estos son:
-
Modelo de Dominio con Akka Event-Sourced + Máquina de Estados Finitos
-
Gráficos de Graphviz para visualizar el flujo
-
Escenarios de prueba BDD compatibles con Test-FW para las posibles permutaciones a través del flujo
-
Documentación incrustable desde el modelo, en forma de Asciidoc
MPS en sí es tradicionalmente dirigido por IDE, por lo que hemos construido un conjunto de módulos y configuraciones que permiten una integración transparente en proyectos descendentes, siempre que el proyecto descendente esté basado en Maven y se adhiera a un conjunto de convenciones.
Ten en cuenta que, aunque el IDE de MPS (o IntelliJ con plugins de MPS) es necesario para crear y modificar soluciones, no es necesario para compilar soluciones existentes mediante la compilación con Maven. El proceso de compilación de Maven realmente descarga un binario de MPS y compila la solución en modo sin cabeza.
Los usuarios tienen varias opciones de flujo de trabajo con respecto a obtener MPS.
1. Instalando MPS
La versión de MPS actualmente soportada para compilaciones por línea de comandos e IDE es 2021.3.1.
La forma más común de instalar MPS es a través de JetBrains ToolBox ya que gestiona la instalación de diferentes versiones.
Una alternativa es usar el binario de MPS que se descarga y contra el que se compila como parte del proceso de compilación.
|
Hay un script de shell para iniciar el IDE en la siguiente carpeta equivalente: <your_project_root>/<your_domain_root>/mps/target/mps/bin/mps.sh |
Configuración del Proyecto
Siempre se aconseja que, para crear una nueva configuración de proyecto, utilices el arquetipo de IPF. Esto proporciona un mecanismo sencillo para iniciar un nuevo proyecto y te da la plataforma ideal para crear tus flujos de pago.
Una vez que tu nuevo proyecto ha sido configurado usando el arquetipo, simplemente podemos abrir el proyecto en MPS seleccionando File/Open y luego navegando a <generated_archetype_root>/domain-root/mps.