Ferramenta conversora de interfaces gr áficas de...

25
Ferramenta conversora de interfaces gráficas DELPHI2JAVA-II Ferramenta conversora Ferramenta conversora de interfaces gr de interfaces gr á á ficas ficas DELPHI2JAVA DELPHI2JAVA - - II II Fabricio Fabricio Fonseca Fonseca Mauro M. Mattos Mauro M. Mattos

Transcript of Ferramenta conversora de interfaces gr áficas de...

Page 1: Ferramenta conversora de interfaces gr áficas de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1fabriciofonsecaap.pdfAlém de agregar conhecimento em relação a programação

Ferramenta conversora de interfaces gráficas

DELPHI2JAVA-II

Ferramenta conversora Ferramenta conversora de interfaces grde interfaces grááficasficas

DELPHI2JAVADELPHI2JAVA--IIII

FabricioFabricio FonsecaFonseca

Mauro M. MattosMauro M. Mattos

Page 2: Ferramenta conversora de interfaces gr áficas de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1fabriciofonsecaap.pdfAlém de agregar conhecimento em relação a programação

Introdução

• Utilizada para converter formulários Delphi para código Java;

• Inicialmente sugerida para ser utilizada nas aulas introdutórias de programação OO;

• Fundamentada na questão da migração de softwares.

Page 3: Ferramenta conversora de interfaces gr áficas de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1fabriciofonsecaap.pdfAlém de agregar conhecimento em relação a programação

Objetivos

• Gerar código Java a partir de formulários desenvolvidos em Delphi;

• Implementar a conversão de um sub-conjunto de componentes de interface;

• Disponibilizar no código Java alguns dos eventos mais utilizados nas aplicações.

Page 4: Ferramenta conversora de interfaces gr áficas de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1fabriciofonsecaap.pdfAlém de agregar conhecimento em relação a programação

Fundamentação

• Os softwares envelhecem diante das novas plataforma de desenvolvimento;

• Microsoft .Net e J2EE apresentam-se como opções para evitar a defasagem;

• Neste contexto tem-se o dilema:

“Manter o sistema? Reescrever? Migrar?“

Page 5: Ferramenta conversora de interfaces gr áficas de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1fabriciofonsecaap.pdfAlém de agregar conhecimento em relação a programação

Manter o sistema?

• Os legados não conversam com novos sistemas;

• Não aproveitam a infra-estrutura de comunicação web;

• Alguns foram desenvolvidos em linguagens de programação já em desuso.

Page 6: Ferramenta conversora de interfaces gr áficas de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1fabriciofonsecaap.pdfAlém de agregar conhecimento em relação a programação

Reescrever?

• Exige todo o investimento original, o qual muitas vezes “foge” dos orçamentos das empresas;

• Consome muito tempo, sendo que a vida útil do sistema é cada vez menor.

Page 7: Ferramenta conversora de interfaces gr áficas de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1fabriciofonsecaap.pdfAlém de agregar conhecimento em relação a programação

Migrar?

• Exige cerca de 25% do tempo de desenvolvimento original;

• Custos representam entre 15% a 20% em relação ao custo original;

• A migração pode converter também as regras de negócios embutidas no software original.

Page 8: Ferramenta conversora de interfaces gr áficas de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1fabriciofonsecaap.pdfAlém de agregar conhecimento em relação a programação

Delphi2Java

• Versão trial localizada durante o desenvolvimento do projeto;

• Ferramenta com propósito semelhante ao descrito neste trabalho;

• Constatada a não continuidade da ferramenta.

Page 9: Ferramenta conversora de interfaces gr áficas de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1fabriciofonsecaap.pdfAlém de agregar conhecimento em relação a programação

Requisitos

• Arquivos convertidos devem preservar as características originais;

• Duas saída de dados - visual e física;

• Gerar duas classes – interface e eventos;

• Seleção de vários arquivos para conversão;

• Fácil operacionalidade.

Page 10: Ferramenta conversora de interfaces gr áficas de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1fabriciofonsecaap.pdfAlém de agregar conhecimento em relação a programação

Especificação

O sistema possui cinco classes principais:

• TMainObj;

• TMainObj_BK;

• TMainObj_BK_TM;

• TMainObj_BK_TM_FG;

• TMainObj_BK_TM_FG_CPT;

Page 11: Ferramenta conversora de interfaces gr áficas de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1fabriciofonsecaap.pdfAlém de agregar conhecimento em relação a programação

Diagrama

de

classes

Page 12: Ferramenta conversora de interfaces gr áficas de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1fabriciofonsecaap.pdfAlém de agregar conhecimento em relação a programação

Diagrama

de

classes

Page 13: Ferramenta conversora de interfaces gr áficas de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1fabriciofonsecaap.pdfAlém de agregar conhecimento em relação a programação

Diagrama

de

seqüência

Page 14: Ferramenta conversora de interfaces gr áficas de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1fabriciofonsecaap.pdfAlém de agregar conhecimento em relação a programação

Diagrama

de

seqüência

Page 15: Ferramenta conversora de interfaces gr áficas de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1fabriciofonsecaap.pdfAlém de agregar conhecimento em relação a programação

ImplementaçãoTécnicas/Ferramentas

• Desenvolvida OO;

• Implementada no ambiente BorlandDelphi 7;

• Testes realizados na ferramenta JCreator LE 3.1;

Page 16: Ferramenta conversora de interfaces gr áficas de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1fabriciofonsecaap.pdfAlém de agregar conhecimento em relação a programação

ImplementaçãoOperacionalidade

Page 17: Ferramenta conversora de interfaces gr áficas de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1fabriciofonsecaap.pdfAlém de agregar conhecimento em relação a programação

Formulário

Delphi

Page 18: Ferramenta conversora de interfaces gr áficas de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1fabriciofonsecaap.pdfAlém de agregar conhecimento em relação a programação

Convertido

por

Delphi2Java

Page 19: Ferramenta conversora de interfaces gr áficas de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1fabriciofonsecaap.pdfAlém de agregar conhecimento em relação a programação

Convertido

por

Delphi2Java-II

Page 20: Ferramenta conversora de interfaces gr áficas de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1fabriciofonsecaap.pdfAlém de agregar conhecimento em relação a programação

Código JavaDelphi2Java

Page 21: Ferramenta conversora de interfaces gr áficas de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1fabriciofonsecaap.pdfAlém de agregar conhecimento em relação a programação

Código JavaDelphi2Java-II

Page 22: Ferramenta conversora de interfaces gr áficas de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1fabriciofonsecaap.pdfAlém de agregar conhecimento em relação a programação

Código Java eventosDelphi2Java-II

Page 23: Ferramenta conversora de interfaces gr áficas de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1fabriciofonsecaap.pdfAlém de agregar conhecimento em relação a programação

Resultados e discussão

SimSimNãoNãoSimDelphi2Java-II

NãoSimSimSimSimDelphi2Java

UtilizaçãoSwing

UtilizaçãoAWT

Utilizaçãode classe

proprietária

Conversãode código

e tratadoresde eventos

Conversãode

interfacesgráficas

DELPHI2JAVA X DELPHI2JAVA-II

Page 24: Ferramenta conversora de interfaces gr áficas de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1fabriciofonsecaap.pdfAlém de agregar conhecimento em relação a programação

ConclusãoAlém de agregar conhecimento em

relação a programação Java, o desenvolvimento deste projeto serviu para conhecer melhor uma área do mercado pouco explorada no meio acadêmico, a migração de softwares, que surge como uma solução paliativa no momento de decidir se deve reescrever toda a aplicação em uma nova plataforma ou manter o que se tem e torná-la obsoleta.

Page 25: Ferramenta conversora de interfaces gr áficas de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/2005-1fabriciofonsecaap.pdfAlém de agregar conhecimento em relação a programação

Extensões

• converter o código fonte dos tratadores de eventos e demais métodos existentes na aplicação;

• implementar a conversão de componentes do Delphi com acesso a banco de dados utilizando a ferramenta Java DataBase Connectors (JDBC).