Upload
elliando-dias
View
5.098
Download
7
Embed Size (px)
Citation preview
INSTITUCIONAL
Alta produtividade no Alta produtividade no desenvolvimento desenvolvimento
corporativo em J2EEcorporativo em J2EE
AlexAlex Sander Sander ReisReisMSA INFORMSA INFOR
INSTITUCIONAL
AgendaAgenda
•• ContextoContexto•• Arquitetura JavaArquitetura Java
–– Visão GeralVisão Geral
•• Desenvolvendo e Executando um SistemaDesenvolvendo e Executando um Sistema•• Tecnologias / FerramentasTecnologias / Ferramentas
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
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
INSTITUCIONAL
AgendaAgenda
•• ContextoContexto•• Arquitetura JavaArquitetura Java
–– Visão GeralVisão Geral
•• Desenvolvendo e Executando um SistemaDesenvolvendo e Executando um Sistema•• Tecnologias / FerramentasTecnologias / Ferramentas
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
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
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
INSTITUCIONAL
Visão GeralVisão Geral
Banco de dados
Interface(web)
INSTITUCIONAL
Visão GeralVisão Geral
Banco de dados
Interface(web)
Gerenciador decasos de uso
(session bean)
Objetos denegócio
(entity bean)
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)
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
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
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
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
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
INSTITUCIONAL
AgendaAgenda
•• ContextoContexto•• Arquitetura JavaArquitetura Java
–– Visão GeralVisão Geral
•• Desenvolvendo e Executando um SistemaDesenvolvendo e Executando um Sistema•• Tecnologias / FerramentasTecnologias / Ferramentas
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)
INSTITUCIONAL
Desenvolvendo um SistemaDesenvolvendo um Sistema
•• Escolher as operações desejadasEscolher as operações desejadas
Para o Gerador(XML)
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)
INSTITUCIONAL
Desenvolvendo um SistemaDesenvolvendo um Sistema
•• Desenvolvedor altera Telas e/ou FluxosDesenvolvedor altera Telas e/ou Fluxos
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
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
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
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))
�����������������
���� �
����������������������� ���
����������������������� ����
����� �
��������� �
�����������������������������������
�����������������������
�����������������������
������
��������������������������������
������������ ���������
������
���������� �
���������
��!����!�
�"�#���� ����$%"�
�!����!������&��#����
�#��������#����#����
�#���������'�(�����
�#���������
�#������# �����'������
�#������# �����)�������
�#������# �����)�����
��#���������
��#����
��#�������
INSTITUCIONAL
MAB MAB -- MozillaMozilla Amazon BrowserAmazon Browser
http://www.faser.net/mab/remote.cfm
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
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)
INSTITUCIONAL
Perguntas ?!?Perguntas ?!?