LEMA
Un ecosistema de lenguaje para modelar arquitectura de microservicios
¿Facilitar el desarrollo del diseño? y despliegue? de arquitecturas de microservicios complejas
con ingeniería basada en modelos
Construido con ❤︎ por Florian Rademacher y colaboradores
Tabla de contenido
- Características
- Instalación
- Ejemplos
- Documentación
- Registro de cambios
- Ciencia
- Colaboradores
- Licencia
Características
- Basado en modelos: abstraiga la complejidad de las arquitecturas de microservicios con el poder de la ingeniería basada en modelos.
- Colaborativo: proporciona lenguajes de modelado integrados y orientados a las preocupaciones para grupos de partes interesadas de arquitecturas de microservicios que van desde expertos en dominios hasta desarrolladores y operadores de microservicios.
- Orientado a la práctica: alineado con los requisitos de las arquitecturas de microservicios del mundo real, incluido el desarrollo distribuido, los equipos basados en DevOps y la heterogeneidad tecnológica.
- Amplia aplicabilidad: LEMMA se ha utilizado, por ejemplo, para (i) la traducción de diseños de microservicios basados en dominios en implementaciones; (ii) recuperación de arquitectura y análisis de atributos de calidad; y (iii) generación de código de microservicio
- Compatibilidad con IDE: gracias al ecosistema Eclipse, LEMMA viene con editores dedicados que incluyen resaltado de sintaxis, finalización de código y validación a medida que se escribe.
- diseñado para la extensibilidad: ¿está interesado en ampliar LEMMA con su propio marco genial para el desarrollo o implementación de microservicios? envíanos un correo electrónico
Instalación
LEMMA funciona con cualquier versión de Eclipse mayor o igual a 2021-03 y se puede instalar utilizando un sitio de actualización de Eclipse dedicado o un conjunto de complementos de Eclipse.
Sitio de actualización
Puede instalar LEMMA desde una instancia de Eclipse en ejecución a través del siguiente sitio de actualizaciones de Eclipse: https://microservices.fh-dortmund.de/lemma/.
dropinas
Como alternativa al sitio de actualizaciones de Eclipse, también puede descargar los complementos de LEMMA Eclipse para su última versión como un conjunto de complementos de Eclipse. Puede encontrar estos dropins como un activo de la última versión de LEMMA en GitHub. Sin embargo, en este caso también necesitará instalar manualmente los complementos de Eclipse para ATL Transformation Language y EMFTVM versión 4.5 o superior. El sitio de actualización de Eclipse correspondiente está disponible aquí: https://download.eclipse.org/mmt/atl/updates/releases/.
Ejemplos
Proporcionamos varios ejemplos para usar LEMMA para describir (partes de) arquitecturas de microservicios coherentes, incluidos sus datos de dominio, API de microservicios y operación. Puedes encontrar estos ejemplos en GitHub:
- Ejemplo de gestión de estaciones de carga
- Ejemplo de espacio de estacionamiento
- Ejemplo de carga de vehículo eléctrico
- Ejemplo de comida para llevar
- Ejemplo de compañía de seguros
Documentación
La documentación de LEMMA se puede encontrar en https://seelabfhdo.github.io/lemma-docs. La documentación está actualmente en proceso, pero recibirá actualizaciones periódicamente. Por ejemplo, ya contiene una guía de instalación completa y un recorrido rápido.
Registro de cambios
Para obtener información sobre la versión actual de LEMMA, consulte su registro de cambios.
Ciencia
LEMMA tiene sus raíces en la investigación de Ingeniería de Software y, más específicamente, en las comunidades de investigación de Arquitectura de Software e Ingeniería basada en modelos. Así, existen varios artículos que abordan el diseño de LEMMA y su aplicación:
2022
- Rademacher, Florian "Un ecosistema de lenguajes para modelar arquitectura de microservicios". Tesis Doctoral. Departamento de Ingeniería Eléctrica e Informática, Universidad de Kassel.
- Rademacher, Florian y otros. "Hacia un enfoque extensible para el desarrollo y la implementación de microservicios generativos utilizando LEMMA". Arquitectura de software (ECSA 2021). Springer, 2022.
- Giallorenzo, Saverio, et al. "Generación de interfaces de microservicio basada en modelos: desde modelos de dominio LEMMA hasta API de Jolie". Modelos y Lenguajes de Coordinación (COORDINACIÓN 2022). Springer, 2021. 276-284.
2021
- Giallorenzo, Saverio, et al. "Jolie y LEMMA: lenguajes de programación e ingeniería basados en modelos se encuentran en microservicios". Modelos y Lenguajes de Coordinación (COORDINACIÓN 2021). Springer, 2021. 276-284.
- Rademacher, Florian y otros. "Hacia el modelado holístico de arquitecturas de microservicios utilizando LEMMA". Actas complementarias de la 15.ª Conferencia europea sobre arquitectura de software 2021. CEUR-WS, 2021.
- Sorgalla, Jonas, et al. "Aplicación de ingeniería basada en modelos para estimular la adopción de procesos DevOps en organizaciones de desarrollo pequeñas y medianas". SN Informática. Primavera, 2021.
2020
- Rademacher, Florian y otros. "Desarrollo de microservicios basados en modelos gráficos y textuales". Microservicios. Springer, 2020. 147-179.
- Rademacher, Florian, Sabine Sachweh y Albert Zündorf. "Derivación de código de microservicio a partir de modelos de dominio poco especificados utilizando lenguajes de modelado y transformaciones de modelos habilitados para DevOps". 2020 46ª Conferencia Euromicro sobre Ingeniería de Software y Aplicaciones Avanzadas (SEAA). IEEE, 2020.
- Rademacher, Florian, Sabine Sachweh y Albert Zündorf. "Un método de modelado para la reconstrucción sistemática de la arquitectura de sistemas de software basados en microservicios". Modelado empresarial, de procesos de negocio y de sistemas de información. Springer, 2020. 311-326.
- Sorgalla, Jonas, et al. "Modelado de arquitectura de microservicios: un experimento comparativo hacia la eficacia de dos enfoques". Actas del 35º Simposio anual de ACM sobre informática aplicada. 2020.
- Sorgalla, Jonas, et al. "Desarrollo de arquitectura de microservicios basado en modelos: un experimento sobre la calidad en el uso de un enfoque basado en UML y DSL". (2020).
- Sorgalla, Jonas, Sabine Sachweh y Albert Zündorf. "Exploración del proceso de desarrollo de microservicios en organizaciones pequeñas y medianas" Mejora del proceso de software centrado en el producto. Springer, 2020. 453-460.
2019
- Rademacher, Florian, Sabine Sachweh y Albert Zündorf. "Modelado orientado a aspectos de la heterogeneidad tecnológica en la arquitectura de microservicios". Conferencia Internacional IEEE 2019 sobre Arquitectura de Software (ICSA). IEEE, 2019.
- Rademacher, Florian y otros. "Un flujo de trabajo basado en modelos para el desarrollo de microservicios distribuidos". Actas del 34º Simposio ACM/SIGAPP sobre Computación Aplicada. 2019.
- Rademacher, Florian y otros. "Arquitectura de microservicios y desarrollo basado en modelos: aún solteros, pronto casados (?)". Actas de la XIX Conferencia Internacional sobre Desarrollo de Software Ágil: Compañero. 2018.
2018
- Rademacher, Florian, Jonas Sorgalla y Sabine Sachweh. "Desafíos del diseño de microservicios basados en dominios: una perspectiva basada en modelos". Software IEEE 35.3 (2018): 36-43.
- Sorgalla, Jonas, et al. "Ingeniería de software colaborativa basada en modelos y arquitectura de microservicios: ¿una combinación perfecta?". Actas de la XIX Conferencia Internacional sobre Desarrollo de Software Ágil: Compañero. 2018.
2017
- Rademacher, Florian, Sabine Sachweh y Albert Zündorf. "Diferencias entre el desarrollo basado en modelos de arquitectura orientada a servicios y de microservicios". 2017 Conferencia Internacional IEEE sobre Talleres de Arquitectura de Software (ICSAW). IEEE, 2017.
- Rademacher, Florian, Sabine Sachweh y Albert Zündorf. "Hacia un perfil UML para el diseño de arquitecturas de microservicios basado en dominios". Congreso Internacional sobre Ingeniería de Software y Métodos Formales. Saltador, 2017.
Colaboradores
¿Felicitaciones a todos los contribuyentes de LEMMA?
Licencia
MIT