29
INSTITUCIONAL Alta produtividade no Alta produtividade no desenvolvimento desenvolvimento corporativo em J2EE corporativo em J2EE Alex Alex Sander Sander Reis Reis MSA INFOR MSA INFOR

Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

Embed Size (px)

Citation preview

Page 1: Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

INSTITUCIONAL

Alta produtividade no Alta produtividade no desenvolvimento desenvolvimento

corporativo em J2EEcorporativo em J2EE

AlexAlex Sander Sander ReisReisMSA INFORMSA INFOR

Page 2: Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

INSTITUCIONAL

AgendaAgenda

•• ContextoContexto•• Arquitetura JavaArquitetura Java

–– Visão GeralVisão Geral

•• Desenvolvendo e Executando um SistemaDesenvolvendo e Executando um Sistema•• Tecnologias / FerramentasTecnologias / Ferramentas

Page 3: Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

INSTITUCIONAL

Java J2EEJava J2EE

•• Criado para suportar aplicações corporativas: Criado para suportar aplicações corporativas: críticas, alto volume de transaçõescríticas, alto volume de transações

•• Resolve problemas como transações, distribuição, Resolve problemas como transações, distribuição, escalabilidadeescalabilidade, persistência, segurança, persistência, segurança

•• Multiplataforma (Java), Padrão abertoMultiplataforma (Java), Padrão aberto•• Empresas já confiam na solução para migrar seus Empresas já confiam na solução para migrar seus

sistemas críticossistemas críticos•• Complexidade Complexidade �� Baixa Produtividade Baixa Produtividade (média 15 H/PF)(média 15 H/PF)

–– Dados do Dados do InternationalInternational Software Benchmarking Software Benchmarking Standards GroupStandards Group (ISBSG) (ISBSG)

•• Necessidade de profissionais muito qualificados Necessidade de profissionais muito qualificados (caros), conhecedores de diversas tecnologias e (caros), conhecedores de diversas tecnologias e padrões de desenvolvimento além do negóciopadrões de desenvolvimento além do negócio

Page 4: Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

INSTITUCIONAL

Impacto da ProdutividadeImpacto da Produtividade

•• Projeto típico:Projeto típico:–– 12 meses de duração12 meses de duração–– 9 técnicos já treinados9 técnicos já treinados

•• Produtividade x Resultado financeiroProdutividade x Resultado financeiro–– 13 horas/PF = R$ 1,0013 horas/PF = R$ 1,00–– 12 horas/PF = R$ 1,4012 horas/PF = R$ 1,40

•• Esta produtividadeEsta produtividade é é referente referente a a todo todo o o clico clico de de desenvolvimento desenvolvimento –– produto acabadoproduto acabado

Page 5: Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

INSTITUCIONAL

AgendaAgenda

•• ContextoContexto•• Arquitetura JavaArquitetura Java

–– Visão GeralVisão Geral

•• Desenvolvendo e Executando um SistemaDesenvolvendo e Executando um Sistema•• Tecnologias / FerramentasTecnologias / Ferramentas

Page 6: Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

INSTITUCIONAL

Objetivos do ProjetoObjetivos do Projeto

•• Desenvolver estudo de um ambiente de alta Desenvolver estudo de um ambiente de alta produtividade no ambiente J2EEprodutividade no ambiente J2EE–– Simplificar e agilizar desenvolvimento. Simplificar e agilizar desenvolvimento.

•• Utilização de ferramentas Utilização de ferramentas OpenSourceOpenSource•• Auxiliar no desenho das telas, validação de dados, Auxiliar no desenho das telas, validação de dados,

navegação e documentaçãonavegação e documentação•• Gerar automaticamente código padronizado e Gerar automaticamente código padronizado e

arquivos auxiliares necessários para execução no arquivos auxiliares necessários para execução no Servidor de AplicaçõesServidor de Aplicações

•• Lógicas comuns préLógicas comuns pré--definidas (CRUD). definidas (CRUD). DesenvolDesenvol--vedor atua em pontos determinados do códigovedor atua em pontos determinados do código

Page 7: Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

INSTITUCIONAL

Outras CaracterísticasOutras Características

•• Geração de Código em 3 camadas distintasGeração de Código em 3 camadas distintas•• Possibilidade de Possibilidade de regeraçãoregeração do códigodo código•• Suporte arquitetural para vários métodos de Suporte arquitetural para vários métodos de

persistênciapersistência•• Controle de disponibilidade de operaçõesControle de disponibilidade de operações•• (*) Importação/Exportação diagramas em XMI(*) Importação/Exportação diagramas em XMI•• (*) Importação definição de Banco de Dados(*) Importação definição de Banco de Dados

Page 8: Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

INSTITUCIONAL

Já existe isso!Já existe isso!

•• Vários Vários frameworksframeworks: : StrutsStruts, JDO, , JDO, XdocletXdoclet, , VelocityVelocity–– Desenvolvedor tem que conhecer detalhesDesenvolvedor tem que conhecer detalhes

•• Wizards Wizards integrados em ferramentasintegrados em ferramentas–– Gera uma vez e ... Gera uma vez e ...

•• Gerar baseado em modelo: Gerar baseado em modelo: androMDAandroMDA–– Bom para analista desenvolvedorBom para analista desenvolvedor

Page 9: Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

INSTITUCIONAL

Visão GeralVisão Geral

Banco de dados

Interface(web)

Page 10: Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

INSTITUCIONAL

Visão GeralVisão Geral

Banco de dados

Interface(web)

Gerenciador decasos de uso

(session bean)

Objetos denegócio

(entity bean)

Page 11: Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

INSTITUCIONAL

Visão GeralVisão Geral

Servidor de Aplicações J2EE

Banco de dados

Interface(web)

Gerenciador decasos de uso

(session bean)

Objetos denegócio

(entity bean)

Arquivos de Configuração (deploy)

Page 12: Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

INSTITUCIONAL

Visão GeralVisão Geral

Servidor de Aplicações J2EE

Banco de dados

Interface(web)

Gerenciador decasos de uso

(session bean)

Objetos denegócio

(entity bean)

Roteador

Arquivos de Configuração (deploy)

Adminstração

Page 13: Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

INSTITUCIONAL

Visão GeralVisão Geral

Servidor de Aplicações J2EE

Banco de dados

Interface(web)

Gerenciador decasos de uso

(session bean)

Objetos denegócio

(entity bean)

Roteador

Arquivos de Configuração (deploy)

Interface(texto)

ProgramaCobol

Page 14: Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

INSTITUCIONAL

Servidor de Aplicações J2EE

Arquivos de Configuração (deploy)

Visão GeralVisão Geral

Gerador

Banco de dados

Interface(web)

Gerenciador decasos de uso

(session bean)

Objetos denegócio

(entity bean)

Roteador

Adminstração

Page 15: Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

INSTITUCIONAL

Visão GeralVisão Geral

Servidor de Aplicações J2EE

Gerador

Banco de dados

Interface(web)

Gerenciador decasos de uso

(session bean)

Objetos denegócio

(entity bean)

Roteador

Arquivos de Configuração (deploy)

CadastramentoAdminstração

Page 16: Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

INSTITUCIONAL

Visão GeralVisão Geral

Servidor de Aplicações J2EE

Gerador

Banco de dados

Interface(web)

Gerenciador decasos de uso

(session bean)

Objetos denegócio

(entity bean)

Roteador

Arquivos de Configuração (deploy)

CadastramentoAdminstração

EXECUÇÃO DESENVOLVIMENTO

GERADO

Page 17: Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

INSTITUCIONAL

AgendaAgenda

•• ContextoContexto•• Arquitetura JavaArquitetura Java

–– Visão GeralVisão Geral

•• Desenvolvendo e Executando um SistemaDesenvolvendo e Executando um Sistema•• Tecnologias / FerramentasTecnologias / Ferramentas

Page 18: Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

INSTITUCIONAL

Desenvolvendo um SistemaDesenvolvendo um Sistema

•• Criar o Sistema e Criar o Sistema e descrevêdescrevê--lolo•• Criar uma Classe de Negócio e atributosCriar uma Classe de Negócio e atributos

Para o Gerador(XML)

Page 19: Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

INSTITUCIONAL

Desenvolvendo um SistemaDesenvolvendo um Sistema

•• Escolher as operações desejadasEscolher as operações desejadas

Para o Gerador(XML)

Page 20: Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

INSTITUCIONAL

Desenvolvendo um SistemaDesenvolvendo um Sistema

•• SADS XP gera tela e código padrãoSADS XP gera tela e código padrão

Gerenciadorde

Casos de Uso

Objetosde

Negócio

Fluxo Específico de Transações

Gerador (XML)

Page 21: Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

INSTITUCIONAL

Desenvolvendo um SistemaDesenvolvendo um Sistema

•• Desenvolvedor altera Telas e/ou FluxosDesenvolvedor altera Telas e/ou Fluxos

Page 22: Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

INSTITUCIONAL

Executando um SistemaExecutando um Sistema

Servet

G.C.U.ClienteIncluirCliente()

Gerenciador

Transações

(Roteador)

Obj.NegócioCliente (EB)setNome()

TabelaCliente

TO

TO

F.E.Transações – IncluirCliente.javaantesXXX(), depoisXXX()

TO = Tracod + Dados

Page 23: Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

INSTITUCIONAL

AgendaAgenda

•• ContextoContexto•• SADS XP JavaSADS XP Java

–– Visão GeralVisão Geral

•• Desenvolvendo e Executando um SistemaDesenvolvendo e Executando um Sistema•• Tecnologias / FerramentasTecnologias / Ferramentas

Page 24: Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

INSTITUCIONAL

TecnologiasTecnologias

•• WebWeb–– HTML/HTML/JavaScriptJavaScript–– Servlet Servlet (Java, Servidor, (Java, Servidor, IndepenteIndepente de plataforma)de plataforma)

•• Java / J2EEJava / J2EE–– Aplicações corporativas em JavaAplicações corporativas em Java

•• Padrões de Projeto (Padrões de Projeto (Design PatternsDesign Patterns))•• XULXUL

–– Descrição da Interface em arquivos XMLDescrição da Interface em arquivos XML

Page 25: Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

INSTITUCIONAL

Tecnologia XULTecnologia XUL

•• Descrição da Interface em XMLDescrição da Interface em XML•• MozillaMozilla, , OpenSourceOpenSource•• Clientes Web RicosClientes Web Ricos•• XAML (Microsoft), XAML (Microsoft), Flex Flex ((MacromediaMacromedia))

�����������������

���� �

����������������������� ���

����������������������� ����

����� �

��������� �

�����������������������������������

�����������������������

�����������������������

������

��������������������������������

������������ ���������

������

���������� �

���������

��!����!�

�"�#���� ����$%"�

�!����!������&��#����

�#��������#����#����

�#���������'�(�����

�#���������

�#������# �����'������

�#������# �����)�������

�#������# �����)�����

��#���������

��#����

��#�������

Page 26: Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

INSTITUCIONAL

MAB MAB -- MozillaMozilla Amazon BrowserAmazon Browser

http://www.faser.net/mab/remote.cfm

Page 27: Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

INSTITUCIONAL

InfraInfra--estruturaestrutura

ExecuçãoExecução•• Application ServerApplication Server

–– ContainerContainer J2EEJ2EE•• JBossJBoss / / WebSphereWebSphere

–– Container Container Web/Web/ServletsServlets•• TomCatTomCat

•• SGBDSGBD–– HyperSonicHyperSonic–– OracleOracle

DesenvolvimentoDesenvolvimento•• CVSCVS

–– Controlador de VersõesControlador de Versões

•• EclipseEclipse–– IDE GenéricoIDE Genérico

•• XDocletXDoclet•• VelocityVelocity•• AntAnt

Page 28: Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

INSTITUCIONAL

FerramentasFerramentas

•• XDocletXDoclet–– Gera arquivos de configuração automaticamente Gera arquivos de configuração automaticamente

baseado em comentários do arquivo fontebaseado em comentários do arquivo fonte

•• VelocityVelocity–– Gera código baseado em Gera código baseado em templatetemplate

•• AntAnt–– ““MakeMake” Java, automatiza compilação, empacota” Java, automatiza compilação, empacota

•• EclipseEclipse–– Ambiente de Desenvolvimento Genérico (IDE)Ambiente de Desenvolvimento Genérico (IDE)

Page 29: Alta produtividade nAlta produtividade no desenvolvimento corporativo em J2EE

INSTITUCIONAL

Perguntas ?!?Perguntas ?!?