LEMA
Um ecossistema de linguagem para modelagem de arquitetura de microsserviços
Facilitando o desenvolvimento do design? e implantação? de arquiteturas complexas de microsserviços
com Engenharia Orientada a Modelos
Construído com ❤︎ por Florian Rademacher e colaboradores
Índice
- Características
- Instalação
- Exemplos
- Documentação
- Registro de alterações
- Ciência
- Colaboradores
- Licença
Características
- orientado a modelos: abstraia a complexidade das arquiteturas de microsserviços com o poder da engenharia orientada a modelos
- colaborativo: fornece linguagens de modelagem integradas e orientadas para preocupações para grupos de partes interessadas em arquiteturas de microsserviços, desde especialistas de domínio até desenvolvedores e operadores de microsserviços
- orientado para a prática: alinhado aos requisitos das arquiteturas de microsserviços do mundo real, incluindo desenvolvimento distribuído, equipes baseadas em DevOps e heterogeneidade tecnológica
- ampla aplicabilidade: LEMMA tem sido usado para, por exemplo, (i) a tradução de projetos de microsserviços orientados a domínio em implementações; (ii) recuperação de arquitetura e análise de atributos de qualidade; e (iii) geração de código de microsserviço
- Suporte IDE: graças ao ecossistema Eclipse, o LEMMA vem com editores dedicados, incluindo realce de sintaxe, conclusão de código e validação conforme você digita
- projetado para extensibilidade: interessado em estender o LEMMA com sua própria estrutura super legal para desenvolvimento ou implantação de microsserviços? mande-nos um e-mail
Instalação
LEMMA funciona com qualquer versão do Eclipse superior ou igual a 2021-03 e pode ser instalado usando um site de atualização dedicado do Eclipse ou um conjunto de dropins do Eclipse.
Site de atualização
Você pode instalar o LEMMA a partir de uma instância do Eclipse em execução por meio do seguinte site de atualização do Eclipse: https://microservices.fh-dortmund.de/lemma/.
Dropins
Como alternativa ao site de atualização do Eclipse, você também pode baixar os plug-ins LEMMA Eclipse para sua versão mais recente como um conjunto de dropins do Eclipse. Você pode encontrar esses dropins como um recurso do último lançamento do LEMMA no GitHub. Entretanto, neste caso você também precisará instalar manualmente os plug-ins do Eclipse para ATL Transformation Language e EMFTVM versão 4.5 ou superior. O site de atualização correspondente do Eclipse está disponível aqui: https://download.eclipse.org/mmt/atl/updates/releases/.
Exemplos
Fornecemos vários exemplos de uso do LEMMA para descrever (partes de) arquiteturas de microsserviços coerentes, incluindo seus dados de domínio, APIs de microsserviços e operação. Você pode encontrar estes exemplos no GitHub:
- Exemplo de gerenciamento de estação de carregamento
- Exemplo de vaga de estacionamento
- Exemplo de carregamento de veículo eletrônico
- Exemplo de comida para viagem
- Exemplo de seguradora
Documentação
A documentação do LEMMA pode ser encontrada em https://seelabfhdo.github.io/lemma-docs. A documentação está atualmente em andamento, mas receberá atualizações regularmente. Por exemplo, ele já contém um guia de instalação abrangente e um tour rápido!
Registro de alterações
Para obter informações sobre a versão atual do LEMMA, consulte seu Changelog.
Ciência
LEMMA tem suas raízes na pesquisa em Engenharia de Software e, mais especificamente, nas comunidades de pesquisa em Arquitetura de Software e Engenharia Orientada a Modelos. Assim, existem vários artigos que tratam do projeto do LEMMA e sua aplicação:
2022
- Rademacher, Florian "Um ecossistema de linguagem para modelagem de arquitetura de microsserviços." Tese de Doutorado. Departamento de Engenharia Elétrica e Ciência da Computação, Universidade de Kassel.
- Rademacher, Florian, et al. "Rumo a uma abordagem extensível para desenvolvimento e implantação generativa de microsserviços usando LEMMA." Arquitetura de Software (ECSA 2021). Primavera, 2022.
- Giallorenzo, Saverio, et al. "Geração de interfaces de microsserviços baseada em modelo: de modelos de domínio LEMMA a APIs Jolie." Modelos e Linguagens de Coordenação (COORDENAÇÃO 2022). Springer, 2021. 276-284.
2021
- Giallorenzo, Saverio, et al. "Jolie e LEMMA: Engenharia Orientada a Modelos e Linguagens de Programação se encontram em microsserviços." Modelos e Linguagens de Coordenação (COORDENAÇÃO 2021). Springer, 2021. 276-284.
- Rademacher, Florian, et al. "Rumo à modelagem holística de arquiteturas de microsserviços usando LEMMA." Anais complementares da 15ª Conferência Europeia sobre Arquitetura de Software 2021. CEUR-WS, 2021.
- Sorgalla, Jonas, et al. "Aplicando engenharia orientada a modelos para estimular a adoção de processos DevOps em organizações de desenvolvimento de pequeno e médio porte." SN Ciência da Computação. Springer, 2021.
2020
- Rademacher, Florian, et al. "Desenvolvimento de microsserviços baseado em modelo gráfico e textual." Microsserviços. Springer, 2020. 147-179.
- Rademacher, Florian, Sabine Sachweh e Albert Zündorf. "Derivando código de microsserviço de modelos de domínio subespecificados usando linguagens de modelagem habilitadas para DevOps e transformações de modelo." 2020 46ª Conferência Euromicro sobre Engenharia de Software e Aplicações Avançadas (SEAA). IEEE, 2020.
- Rademacher, Florian, Sabine Sachweh e Albert Zündorf. "Um método de modelagem para reconstrução sistemática de arquitetura de sistemas de software baseados em microsserviços." Modelagem Corporativa, de Processos de Negócios e de Sistemas de Informação. Springer, 2020. 311-326.
- Sorgalla, Jonas, et al. "Modelagem de arquitetura de microsserviços: um experimento comparativo para a eficácia de duas abordagens." Anais do 35º Simpósio Anual ACM sobre Computação Aplicada. 2020.
- Sorgalla, Jonas, et al. "Desenvolvimento orientado por modelo de arquitetura de microsserviços: um experimento sobre a qualidade no uso de uma abordagem baseada em UML e DSL." (2020).
- Sorgalla, Jonas, Sabine Sachweh e Albert Zündorf. "Explorando o processo de desenvolvimento de microsserviços em organizações de pequeno e médio porte" Melhoria de processos de software com foco no produto. Springer, 2020. 453-460.
2019
- Rademacher, Florian, Sabine Sachweh e Albert Zündorf. "Modelagem orientada a aspectos da heterogeneidade tecnológica na arquitetura de microsserviços." Conferência Internacional IEEE 2019 sobre Arquitetura de Software (ICSA). IEEE, 2019.
- Rademacher, Florian, et al. "Um fluxo de trabalho baseado em modelo para desenvolvimento distribuído de microsserviços." Anais do 34º Simpósio ACM/SIGAPP de Computação Aplicada. 2019.
- Rademacher, Florian, et al. "Arquitetura de microsserviços e desenvolvimento orientado a modelos: ainda solteiros, logo casados (?)." Anais da 19ª Conferência Internacional sobre Desenvolvimento Ágil de Software: Companion. 2018.
2018
- Rademacher, Florian, Jonas Sorgalla e Sabine Sachweh. "Desafios do design de microsserviços orientado por domínio: uma perspectiva orientada por modelo." Software IEEE 35.3 (2018): 36-43.
- Sorgalla, Jonas, et al. "Engenharia de software colaborativa baseada em modelo e arquitetura de microsserviços: uma combinação perfeita?" Anais da 19ª Conferência Internacional sobre Desenvolvimento Ágil de Software: Companion. 2018.
2017
- Rademacher, Florian, Sabine Sachweh e Albert Zündorf. "Diferenças entre desenvolvimento orientado a modelos de arquitetura orientada a serviços e arquitetura de microsserviços." Conferência Internacional IEEE 2017 sobre Workshops de Arquitetura de Software (ICSAW). IEEE, 2017.
- Rademacher, Florian, Sabine Sachweh e Albert Zündorf. "Rumo a um perfil UML para design orientado a domínio de arquiteturas de microsserviços." Conferência Internacional sobre Engenharia de Software e Métodos Formais. Springer, 2017.
Colaboradores
Parabéns a todos os contribuidores do LEMMA ???
Licença
MIT