Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 1 Uma Ferramenta Orientada a Modelos para Geração de Aplicações Web Equipe Compose Maio/2004
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 1
Uma Ferramenta Orientada a Modelos para Geração de Aplicações
Web
Equipe ComposeMaio/2004
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 2
Roteiro
● Introdução
● Motivação
● Application Nodes Designer
● Cordel
– Objetivos
– Características
– Instalação
– Ambiente do Usuário
– Aplicações Geradas
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 3
Roteiro
● Documentação
– Manual do usuário
– Site do Cordel
– Documentação técnica
– Artigo
● Perspectivas Comerciais
● Trabalhos Futuros
● Conclusões
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 4
Introdução
● Panorama atual de desenvolvimento:
– Esforço considerável para o início de novas aplicações;
– Pouca reutilização de código e de projeto;
– Pouca padronização no desenvolvimento;
– Poucas métricas para qualidade, correção, escalabilidade etc.
● Consequentemente:
– Os sistemas construídos são insatisfatórios e implementados com altos custos e produtividade reduzida.
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 5
Introdução
● O que causa este panorama ?
– Time-to-Market.
– Requisitos mudam constantemente.
– A tecnologia muda constantemente.
– Os custos limitam o investimento no controle do processo de desenvolvimento de sistemas.
– As aplicações se tornaram mais complexas.
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 6
Introdução
● Algumas tecnologias vêm tentando mudar este cenário:
– Orientação a objetos, componentes distribuídos, padrões de projeto e frameworks.
● Em particular, para geração automática de sistemas:
– Model-Driven Architecture (MDA).
– Executable UML.
● “Começar do zero é difícil, seguir um modelo existente diminui erros potenciais.”
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 7
Motivação
● Desenvolver sistemas web é uma tarefa custosa e que exige uma integração de tecnologias.
● Desenvolver sistemas do zero é ainda mais custoso, pois:
– Precisa-se conhecer a linguagem de programação.
– Precisa-se conhecer o ambiente: internet, ethernet etc.
– Precisa-se conhecer padrões arquiteturais de software.
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 8
Motivação
● Projeto Compose CPD/Preview:
– Fase 1: Application Nodes Designer● Estudo das tecnologias subjacentes: EJB, Struts, Velocity,
Ant, JBoss, JSP, JMS, JAAS, JCE etc.● Projeto-piloto: equipe TJBA.● Levantamento de deficiências e possíveis melhorias.
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 9
Motivação
● Projeto Compose CPD/Preview:
– Fase 2: Cordel● Construção seguindo uma arquitetura realmente
distribuída.● Ambiente Web facilitando a instalação e manutenção do
sistema.● Simplificação do processo de configuração de aplicações.● Arquitetura modular para novos flavours.
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 10
Application Nodes Designer
● Boas abstrações para configuração.
● A configuração de aplicações era difícil.
● O ambiente era pesado.
● Aplicação não-distribuída.
● Não permitia extensões.
'
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 11
Application Nodes Designer
● Projeto-piloto (Equipe TJBA):
– Levantou vantagens e desvantagens do Application Nodes Designer.
– Avaliou a qualidade e flexibilidade das aplicações geradas.
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 12
● Objetivos:
– Propôr uma ferramenta para geração de aplicações Web, com ambiente simplificado, de fácil acesso e com geração flexível de aplicações.
– Concentrar, de forma flexível, as tecnologias atuais para desenvolvimento de sistemas Web.
– Alavancar, de forma produtiva, o desenvolvimento de sistemas Web.
– Padronizar e disponibilizar sistemas em conformidade com arquiteturas já consolidadas.
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 13
● Características:
– Sistema baseado em componentes distribuídos.
– Editor de aplicações no ambiente Web.
– Construído com ferramentas livres.
– Foco na produtividade.
– Extensível a outras arquiteturas (flavours).
– Requer um modelo UML simplificado.
– Apresenta bom desempenho.
– Requer infra-estrutura modesta para clientes.
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 14
● Ambiente Web simplificado para geração de aplicações.
● Geração de aplicação já em funcionamento.
● Facilidade de instalação.
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 15
● Instalação:
– Pré-requisitos:● J2SDK 1.4.2.● JBoss >= 3.2.2.● Ant >= 1.5.4
– Instalação do Cordel:● Implantação (deploy) dos pacotes.● Cópia dos arquivos de configuração.
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 16
● Componentes do Cordel:
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 17
● Cordel Editor – O Ambiente do Usuário:
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 18
● Importando o modelo UML:
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 19
● Classes importadas:
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 20
● Relacionamentos entre classes:
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 21
● Configuração de formulários e ações:
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 22
● Escolhendo o flavour e gerando a aplicação:
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 23
● Aplicação gerada:
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 24
● Características das aplicações geradas:
– Operações básicas de cadastro, consulta, alteração e remoção.
– O flavour default oferecido pela ferramenta consiste no uso do JBoss, Struts, Entities CMP e Hypersonic.
– Camada de apresentação Struts/CSS.
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 25
● Documentação:
– Manual do usuário:
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 26
● Documentação:
– Site do Cordel:
http://cordel.dcc.ufba.br
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 27
● Documentação:
– Documentação técnica
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 28
● Documentação:
– Artigo
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 29
Perspectivas Comerciais
● Formas de comercialização:
– Produto completo: pacote com instalação, documentações e, eventualmente, código-fonte.
● Vantagem: aquisição completa da tecnologia.● Desvantagem: necessidade da infra-estrutura de hardware e
pessoal qualificado para manutenção da ferramenta.
– Acesso via Web: o usuário adquire o acesso ao sistema, previamente instalado na empresa oferecedora do serviço.
● Vantagem: a infra-estrutura fica por conta do prestador do serviço.
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 30
Trabalhos Futuros
● Melhoria do flavour default para inclusão de:
– Autenticação e autorização de usuários;
– Mecanismo inteligente para relacionamento entre objetos;
– Suporte a auditoria e log nas aplicações geradas.
● Melhorias no Cordel Editor:
– Gerência do Controle de Acesso;
– Facilidades para configuração da camada de apresentação.
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 31
Trabalhos Futuros
● Melhorias no TemplateEngine:
– Geração inteligente de código, mantendo código já alterado pelo desenvolvedor.
● Criação de novos flavours:
– PHP.
– Microsoft .NET.
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 32
Conclusões
● É uma ferramenta importante e necessária.
● Muita coisa pode ser otimizada nos templates, gerando aplicações cada vez mais inteligentes.
● É um trabalho em sintonia com pesquisas acadêmicas atuais.
● Pode ser explorada pelo mercado.
Universidade Federal da Bahia – Centro de Processamento de Dados – Preview Computadores 33
Cordel