Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE
1. Alta produtividade no
desenvolvimento
corporativo em J2EE
Alex Sander Reis
MSA INFOR
INSTITUCIONAL
2. Agenda
• Contexto
• Arquitetura Java
– Visão Geral
• Desenvolvendo e Executando um Sistema
• Tecnologias / Ferramentas
INSTITUCIONAL
3. Java J2EE
• Criado para suportar aplicações corporativas:
críticas, alto volume de transações
• Resolve problemas como transações, distribuição,
escalabilidade, persistência, segurança
• Multiplataforma (Java), Padrão aberto
• Empresas já confiam na solução para migrar seus
sistemas críticos
• Complexidade Baixa Produtividade (média 15 H/PF)
– Dados do International Software Benchmarking Standards Group (ISBSG)
• Necessidade de profissionais muito qualificados
(caros), conhecedores de diversas tecnologias e
padrões de desenvolvimento além do negócio
INSTITUCIONAL
4. Impacto da Produtividade
• Projeto típico:
– 12 meses de duração
– 9 técnicos já treinados
• Produtividade x Resultado financeiro
– 13 horas/PF = R$ 1,00
– 12 horas/PF = R$ 1,40
• Esta produtividade é referente a todo o clico de
desenvolvimento – produto acabado
INSTITUCIONAL
5. Agenda
• Contexto
• Arquitetura Java
– Visão Geral
• Desenvolvendo e Executando um Sistema
• Tecnologias / Ferramentas
INSTITUCIONAL
6. Objetivos do Projeto
• Desenvolver estudo de um ambiente de alta
produtividade no ambiente J2EE
– Simplificar e agilizar desenvolvimento.
• Utilização de ferramentas OpenSource
• Auxiliar no desenho das telas, validação de dados,
navegação e documentação
• Gerar automaticamente código padronizado e
arquivos auxiliares necessários para execução no
Servidor de Aplicações
• Lógicas comuns pré-definidas (CRUD). Desenvol-
vedor atua em pontos determinados do código
INSTITUCIONAL
7. Outras Características
• Geração de Código em 3 camadas distintas
• Possibilidade de regeração do código
• Suporte arquitetural para vários métodos de
persistência
• Controle de disponibilidade de operações
• (*) Importação/Exportação diagramas em XMI
• (*) Importação definição de Banco de Dados
INSTITUCIONAL
8. Já existe isso!
• Vários frameworks: Struts, JDO, Xdoclet,
Velocity
– Desenvolvedor tem que conhecer detalhes
• Wizards integrados em ferramentas
– Gera uma vez e ...
• Gerar baseado em modelo: androMDA
– Bom para analista desenvolvedor
INSTITUCIONAL
9. Visão Geral
Interface
Banco de
(web)
dados
INSTITUCIONAL
10. Visão Geral
Gerenciador de Objetos de
Interface
casos de uso negócio Banco de
(web) (session bean) (entity bean) dados
INSTITUCIONAL
11. Visão Geral
Servidor de Aplicações J2EE
Arquivos de Configuração (deploy)
Gerenciador de Objetos de
Interface
casos de uso negócio Banco de
(web) (session bean) (entity bean) dados
INSTITUCIONAL
12. Visão Geral
Servidor de Aplicações J2EE
Arquivos de Configuração (deploy)
Gerenciador de Objetos de
Interface
casos de uso negócio Banco de
(web) (session bean) (entity bean) dados
Roteador
Adminstração
INSTITUCIONAL
13. Visão Geral
Servidor de Aplicações J2EE
Arquivos de Configuração (deploy)
Gerenciador de Objetos de
Interface
casos de uso negócio Banco de
(web) (session bean) (entity bean) dados
Roteador
Interface Programa
(texto) Cobol
INSTITUCIONAL
14. Visão Geral
Servidor de Aplicações J2EE
Arquivos de Configuração (deploy)
Gerenciador de Objetos de
Interface
casos de uso negócio Banco de
(web) (session bean) (entity bean) dados
Roteador Gerador
Adminstração
INSTITUCIONAL
15. Visão Geral
Servidor de Aplicações J2EE
Arquivos de Configuração (deploy)
Gerenciador de Objetos de
Interface
casos de uso negócio Banco de
(web) (session bean) (entity bean) dados
Roteador Gerador
Adminstração Cadastramento
INSTITUCIONAL
16. Visão Geral
Servidor de Aplicações J2EE
Arquivos de Configuração (deploy)
GERADO
Gerenciador de Objetos de
Interface
casos de uso negócio Banco de
(web) (session bean) (entity bean) dados
Roteador Gerador
Adminstração Cadastramento
EXECUÇÃO DESENVOLVIMENTO
INSTITUCIONAL
17. Agenda
• Contexto
• Arquitetura Java
– Visão Geral
• Desenvolvendo e Executando um Sistema
• Tecnologias / Ferramentas
INSTITUCIONAL
18. Desenvolvendo um Sistema
• Criar o Sistema e descrevê-lo
• Criar uma Classe de Negócio e atributos
Para o Gerador
(XML)
INSTITUCIONAL
20. Desenvolvendo um Sistema
• SADS XP gera tela e código padrão
Objetos
Gerador (XML)
de
Negócio
Gerenciador Fluxo Específico
de de Transações
Casos de Uso
INSTITUCIONAL
22. Executando um Sistema
Gerenciador
Transações
Servet
(Roteador)
TO
TO = Tracod + Dados
TO
Obj.Negócio G.C.U.Cliente
Tabela Cliente (EB) IncluirCliente()
Cliente setNome()
F.E.Transações – IncluirCliente.java
antesXXX(), depoisXXX()
INSTITUCIONAL
23. Agenda
• Contexto
• SADS XP Java
– Visão Geral
• Desenvolvendo e Executando um Sistema
• Tecnologias / Ferramentas
INSTITUCIONAL
24. Tecnologias
• Web
– HTML/JavaScript
– Servlet (Java, Servidor, Indepente de plataforma)
• Java / J2EE
– Aplicações corporativas em Java
• Padrões de Projeto (Design Patterns)
• XUL
– Descrição da Interface em arquivos XML
INSTITUCIONAL
26. MAB - Mozilla Amazon Browser
http://www.faser.net/mab/remote.cfm
INSTITUCIONAL
27. Infra-estrutura
Execução Desenvolvimento
• Application Server • CVS
– Container J2EE – Controlador de Versões
• JBoss / WebSphere
• Eclipse
– Container Web/Servlets – IDE Genérico
• TomCat
XDoclet
•
• SGBD
Velocity
•
– HyperSonic
Ant
•
– Oracle
INSTITUCIONAL
28. Ferramentas
• XDoclet
– Gera arquivos de configuração automaticamente
baseado em comentários do arquivo fonte
• Velocity
– Gera código baseado em template
• Ant
– “Make” Java, automatiza compilação, empacota
• Eclipse
– Ambiente de Desenvolvimento Genérico (IDE)
INSTITUCIONAL