Framework JGenesis

4,431 views

Published on

Apresentação realizada pela Cleidimar Vieira no encontro #tasafoemacao #misturado no auditório do CESUPA no dia 14 de Outubro de 2010

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,431
On SlideShare
0
From Embeds
0
Number of Embeds
2,628
Actions
Shares
0
Downloads
14
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Framework JGenesis

  1. 1. 14/10/2010 Cleidimar Vieira – Framework JGenesis 1 JGenesis – Aplicações Java/Swing Fácil e Rápido
  2. 2. 14/10/2010 Cleidimar Vieira – Framework JGenesis 2 Introdução O uso de frameworks em software é a saída mais lucrativa para desenvolvedores e empresas. Tudo para ontem, gastando pouco, equipe pequena e sistema tem que funcionar.
  3. 3. 14/10/2010 Cleidimar Vieira – Framework JGenesis 3 Roteiro • Tudo começou... • O que é? • Nossa aplicação • Integração com outros frameworks • Integração com outros softwares • Vantagens de usar • O que é preciso para usar? • Componentes (Servidor, Cliente e Swing) • NamedQueries
  4. 4. 14/10/2010 Cleidimar Vieira – Framework JGenesis 4 Tudo começou... Idealizador: Marcos Aurélio Mendes Moura Equipe de desenvolvimento: Fabrício Barroso de Carvalho e Regis Pires Magalhães Equipe Técnica: Cledson Santos, Cleidmar Vieira, Diogo Emílio, Leandro Henrriques, Marcelo Giovani, Michell Jaim, Luis Renato Desafios: Agradar a empresa e a equipe técnica.
  5. 5. 14/10/2010 Cleidimar Vieira – Framework JGenesis 5 O que é? É uma framework que provê uma arquitetura genérica de desenvolvimento de aplicações corporativas de alta- escalabilidade, cliente/servidor, com padrão MVC. Desenvolvida em Java, seu foco principal, hoje, é o Desktop, mas pode ser utilizada em WEB. Open-source e free.
  6. 6. 14/10/2010 Cleidimar Vieira – Framework JGenesis 6 Nossa aplicação • 259 classes no BO (186 BasicBOImpl e 69 SimpleBOImpl) • 23 interfaces no DAO • 10 classes concretas DAO ORM • 19 classes concretas DAO JDBC • 403 classes no GUI • 168 classes no factory de relatórios • 635 classes jasper • 232 classes bean • 9 classes bean “mãe” e 28 subclasses • 20 sistemas desenvolvidos
  7. 7. 14/10/2010 Cleidimar Vieira – Framework JGenesis 7 Nossa aplicação • Estados do Pará, Piauí, Maranhão, Manaus, São Paulo; • Empresas: Armaém Paraíba (Socic e Metidieri) e Lojas Rianil, Louvre Magazine, Rápido London, Cartão CredShop; • Comunicação via frame-relay, rádio, internet; • Sistema híbrido ( ZIM e Java );
  8. 8. 14/10/2010 Cleidimar Vieira – Framework JGenesis 8 Integração com outros frameworks Container com diversos serviços: Padrão de Projeto Inversion-of-Control(IoC) / Dependency Injection; Controle de Transaction; Acesso remoto; O objetivo do Hibernate é diminuir a complexidade entre os programas Java, baseado no modelo orientado a objeto, que precisam trabalhar com um banco de dados do modelo relacional. O JGenesis provê a implementação básica para a camada de acesso a dados (DAO) através do Hibernate. JPA Uso de Annotations
  9. 9. 14/10/2010 Cleidimar Vieira – Framework JGenesis 9 Integração com outros softwares Log4J C3P0
  10. 10. 14/10/2010 Cleidimar Vieira – Framework JGenesis 10 Vantagens de usar É open-source e “De grátis”; Todas as vantagens do Java; Suporta vários bancos de dados; Configurações em arquivos xml; Provê um pool de conexões; Arquitetura Client/Server (3-tier); ( RMI, Hessian ou HTTP ) Uso Design Pattern BD, DAO e BO ( MVC ); Vários componentes Swing ( automatizados );
  11. 11. 14/10/2010 Cleidimar Vieira – Framework JGenesis 11 Vantagens de usar Equipe de desenvolvimento focada. ( não na infra-estrutura por trás do desenvolvimento); Reduz esforços de codificação; Aumenta a produtividade; Reduz a possibilidade de erros; Torna a arquitetura da aplicação homogênea, facilitando sua manutenção.
  12. 12. 14/10/2010 Cleidimar Vieira – Framework JGenesis 12 O que é preciso para usar? Conhecimento em OO, Java, Annotation ou xml, Design Pattern; Conhecer o JGenesis; Configurar os arquivos xml especfíficos: jgenesis.xml, jgenesis-bo.xml e hibernate.cfg.xml; Acoplar o módulo ao NetBeans; Ter um banco de dados;
  13. 13. 14/10/2010 Cleidimar Vieira – Framework JGenesis 13 O que é preciso para usar? Bibliotecas dos “parceiros”; jgenesis.xml - Declara os (data sources), as fábricas de sessões (hibernate), os DAOs e o query loader (data sources de queries). jgenesis-bo.xml - Declara os BOs e alguns parâmetros para a comunicação remota (RMI ou HTTP). hibernate.cfg.xml - Configuração da fábrica de sessão e arquivos de mapemento dos Beans ( xml ou annotation ) log4j.properties – Configuração da propriedades da API de logging Log4j,
  14. 14. 14/10/2010 Cleidimar Vieira – Framework JGenesis 14 O que é preciso para usar?
  15. 15. 14/10/2010 Cleidimar Vieira – Framework JGenesis 15
  16. 16. 14/10/2010 Cleidimar Vieira – Framework JGenesis 16
  17. 17. 14/10/2010 Cleidimar Vieira – Framework JGenesis 17
  18. 18. 14/10/2010 Cleidimar Vieira – Framework JGenesis 18 Componentes no Servidor CAMADA MODELO JgenesisDAO – interface de acesso a dados, encapsula CRUD; BasicHibernateDAO - Impl. JGenesisDAO, utiliza o Hibernate; BasicJdbcDAO - Impl. JGenesisDAO, utiliza o JDBC; CAMADA CONTROLE JgenesisBO e SimpleBO - Interfaces para a lógica de negócio; SimpleBOImpl – Impl. SimpleBO (métodos doRequest e doAction); BasicBOImpl - Impl. JGenesisBO com o básico que um BO deve oferecer (actions save, update, delete, find );
  19. 19. 14/10/2010 Cleidimar Vieira – Framework JGenesis 19 Componentes no Servidor CAMADA CONTROLE - SimpleBO Método doRequest – é o início do tráfego cliente/BO. JGRequest – Objeto que transmite informações do cliente que serão usada no BO; JGResponse – Objeto usado para transportar as informações do BO para o cliente; Método doAction – Semelhante do doRequest, porém pode ser usado no BO; JGContext – Contêiner de objetos e parâmetros em qualquer ponto do BO; InfoBO - Interface com métodos com informações do servidor; InfoBOImpl - Impl. InfoBO;
  20. 20. 14/10/2010 Cleidimar Vieira – Framework JGenesis 20 Componentes no Cliente CAMADA VISÃO PersistentBD - Impl. padrão Business Delegate, utilizado pelo cliente para invocar métodos (que podem ser, inclusive, remotos)do BO; BeanWrapper -Pode ser usado tanto no cliente como no servidor. Encapsula o bean
  21. 21. 14/10/2010 Cleidimar Vieira – Framework JGenesis 21 BD BeanManager Data Access Object Servidor Modelo Bussiness Delegate Cliente Visão Bussiness Object Servidor Controle DAO BO
  22. 22. 14/10/2010 Cleidimar Vieira – Framework JGenesis 22 Componentes Swing BeanManager - Responsável por gerenciar objetos de uma classe persistente, em outras palavras, de um Bean. Ele aciona a lógica de negócio (JGenesisBO) através do PersistentBD; É o elo principal entre as camadas do processo; É atributo essencial aos componentes Swing; Está associado a um bean; Pode estar associado ao um BO ( senão pega o default ); Através do JGBeanNavigator aciona as actions do BO.
  23. 23. 14/10/2010 Cleidimar Vieira – Framework JGenesis 23 Componentes Swing JGBeanNavigator - Barra de ferramentas para gerir o bean; JGButtonPanel – Botões variados; BeanSetTableManager - Responsável por gerenciar objetos uma tabela (JTable) de beans; JGStatusBar - Uma barra de status que exibe o Tooltip do componente em foco no formulário, e uma barra de progresso. JGFindBean - Jjanela de buscas; JGFindButton - Invoca uma janela de consulta JGFindBean; JGFindTextField - Consulta por um atributo do bean; JGTextField e "sua turma mascarada" - São caixa de texto; (JGMaskTextField, JGNumberTextField, JGDateTextField) JGComboBox e JGLookupComboBox – Combobox; JGOptionPane – Janelas de diálogos;
  24. 24. 14/10/2010 Cleidimar Vieira – Framework JGenesis 24 Componentes Swing
  25. 25. 14/10/2010 Cleidimar Vieira – Framework JGenesis 25 Named queries Declaração de um query loader no jgenesis-bo.xml; Queries no banco de dados através do FqueryMain; Chamada a query do banco através de parâmetros como nome e parâmetros;
  26. 26. 14/10/2010 Cleidimar Vieira – Framework JGenesis 26

×