1. O documento apresenta uma técnica para construir rapidamente um microserviço JavaEE usando modelagem em UML e geração de código.
2. A técnica usa a linguagem TextUML para modelar o domínio do problema e gerar automaticamente todo o código JavaEE necessário em apenas 30 minutos.
3. A abordagem permite focar na modelagem do negócio sem se preocupar com detalhes de implementação, aumentando a produtividade.
5. Globalcode – Open4education
A aplicação exemplo:
Tarefas do time
1. Tarefas e Colaboradores✔
2. Colaboradores podem completar tarefas✔
3. Colaboradores podem repassar tarefas✔
4. Detalhes (opcionais) na tarefa
5. Permitir reabrir tarefa
6. Apenas colaborador pode completar tarefa
7. Globalcode – Open4education
Como?
Usando uma linguagem de mais alto nível que Java (ou Ruby,
Python, Scala, Javascript...)
Separando solucão conceitual e arquitetura
Sem escrever nenhuma linha de código Java (ou JavaScript) “no
braço”
Implementação JavaEE 100% obtida via tradução automática
8. Globalcode – Open4education
Por quê?
Abstração mais alta ⇒ melhor compreensão do negócio do
cliente
Separação negócio/tecnologia ⇒ reuso, especialização
Automação ⇒ produtividade, custo, qualidade
100% geração ⇒ impacto permanente no desenvolvimento
9. Globalcode – Open4education
Completando a aplicação exemplo
1. Tarefas e Colaboradores✔
2. Colaboradores podem completar tarefas✔
3. Colaboradores podem repassar tarefas✔
4. Detalhes (opcionais) na tarefa
5. Permitir reabrir tarefa
6. Apenas colaborador pode completar tarefa
10. Globalcode – Open4education
Tempo de desenvolvimento vs.
tempo de implantação
• Nem sempre podemos escolher a plataforma de
implementação
• Mas deveríamos ter liberdade sobre a linguagem usada em
tempo de desenvolvimento
• A melhor plataforma de implementação hoje não será a
mesma em um ano
11. Globalcode – Open4education
Em busca de uma linguagem
para aplicações de negócios
Que forneça mecanismos que permitam modelar o domínio do
problema de forma mais natural
Que permita criar soluções independentes de arquitetura
Que ofereça boa usabilidade para programadores
20. Globalcode – Open4education
UML?!
“Mas UML não é aquela linguagem gráfica que o analista de
negócios e a arquiteta vivem insistindo para que a gente use
mas que eu sei que é uma grande perda de tempo?!”
- um Programador Pragmático
22. Globalcode – Open4education
UML: uma linguagem superior para
aplicações de negócios?
Que forneça mecanismos que permitam modelar o domínio do
problema de forma mais natural ✔
Que permita criar soluções independentes de arquitetura ✔
Que ofereça boa usabilidade para programadores ✘
Diagramas são insuficientes para especificar comportamento
26. Globalcode – Open4education
UML e múltiplas notações
Sintaxe abstrata
Semântica
Sintaxe
concreta A
Sintaxe
concreta B
Sintaxe
concreta C
Sintaxe
concreta Z
...
27. Globalcode – Open4education
TextUML: sintaxe UML para
programadores
Por que textual? Texto é a melhor notação para modelar
comportamento (ok para outras áreas)
Mesmo nível de abstração que a notação gráfica (mesma
semântica/sintaxe abstrata)
Apenas elementos úteis para construção de software (classes,
máquinas de estado, atividades)
51. Globalcode – Open4education
Cloudfier
• Ambiente de modelagem (Text)UML na web
• Prototipação, testes, geração de código
http://github.com/abstratt/cloudfier
http://cloudfier.com