SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
14/10/2010 Cleidimar Vieira – Framework JGenesis 1
JGenesis – Aplicações Java/Swing Fácil e
Rápido
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.
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
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.
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.
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
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 );
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
14/10/2010 Cleidimar Vieira – Framework JGenesis 9
Integração com outros softwares
Log4J
C3P0
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 );
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.
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;
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/10/2010 Cleidimar Vieira – Framework JGenesis 14
O que é preciso para usar?
14/10/2010 Cleidimar Vieira – Framework JGenesis 15
14/10/2010 Cleidimar Vieira – Framework JGenesis 16
14/10/2010 Cleidimar Vieira – Framework JGenesis 17
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 );
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;
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
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
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.
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;
14/10/2010 Cleidimar Vieira – Framework JGenesis 24
Componentes Swing
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;
14/10/2010 Cleidimar Vieira – Framework JGenesis 26

Mais conteúdo relacionado

Mais procurados

Introdução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareIntrodução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareDaniel Cukier
 
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGModelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGNeubio Ferreira
 
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...Taller Negócio Digitais
 
Levantamento Ágil de Requisitos
Levantamento Ágil de RequisitosLevantamento Ágil de Requisitos
Levantamento Ágil de RequisitosPaulo Furtado
 
Gestão Ágil de Projetos com Scrum e FDD - Manoel Pimentel
Gestão Ágil de Projetos com Scrum e FDD - Manoel PimentelGestão Ágil de Projetos com Scrum e FDD - Manoel Pimentel
Gestão Ágil de Projetos com Scrum e FDD - Manoel PimentelManoel Pimentel Medeiros
 
Metodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareMetodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareAdolfo Neto
 
Metodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de SoftwareMetodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de SoftwareLuciano Almeida
 
O futuro do arquiteto e das arquiteturas Java Enterprise
O futuro do arquiteto e das arquiteturas Java EnterpriseO futuro do arquiteto e das arquiteturas Java Enterprise
O futuro do arquiteto e das arquiteturas Java EnterpriseGlobalcode
 
Processos Ágeis - Scrum, Kanban ou ScrumBan
Processos Ágeis - Scrum, Kanban ou ScrumBanProcessos Ágeis - Scrum, Kanban ou ScrumBan
Processos Ágeis - Scrum, Kanban ou ScrumBanSamuel Cavalcante
 
Engenharia de Software 100% Agil (SCRUM, FDD e XP)
Engenharia de Software 100% Agil (SCRUM, FDD e XP)Engenharia de Software 100% Agil (SCRUM, FDD e XP)
Engenharia de Software 100% Agil (SCRUM, FDD e XP)Rildo (@rildosan) Santos
 

Mais procurados (20)

Introdução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareIntrodução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de Software
 
Métodos Ágeis - Aula02
Métodos Ágeis - Aula02Métodos Ágeis - Aula02
Métodos Ágeis - Aula02
 
Métodos Ágeis
Métodos ÁgeisMétodos Ágeis
Métodos Ágeis
 
Aula - Metodologias Ágeis
Aula - Metodologias ÁgeisAula - Metodologias Ágeis
Aula - Metodologias Ágeis
 
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MGModelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
Modelagem Ágil - UaiJug TechDays 2013 - Uberlândia MG
 
Refactoring
RefactoringRefactoring
Refactoring
 
Metodologias Ageis
Metodologias AgeisMetodologias Ageis
Metodologias Ageis
 
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...
 
Levantamento Ágil de Requisitos
Levantamento Ágil de RequisitosLevantamento Ágil de Requisitos
Levantamento Ágil de Requisitos
 
Metodos Ageis
Metodos AgeisMetodos Ageis
Metodos Ageis
 
Clean Architecture
Clean ArchitectureClean Architecture
Clean Architecture
 
Testes Automatizados
Testes AutomatizadosTestes Automatizados
Testes Automatizados
 
Gestão Ágil de Projetos com Scrum e FDD - Manoel Pimentel
Gestão Ágil de Projetos com Scrum e FDD - Manoel PimentelGestão Ágil de Projetos com Scrum e FDD - Manoel Pimentel
Gestão Ágil de Projetos com Scrum e FDD - Manoel Pimentel
 
SETIC Scrum & XP
SETIC Scrum & XPSETIC Scrum & XP
SETIC Scrum & XP
 
Introdução ao Scrum
Introdução ao ScrumIntrodução ao Scrum
Introdução ao Scrum
 
Metodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareMetodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de Software
 
Metodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de SoftwareMetodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de Software
 
O futuro do arquiteto e das arquiteturas Java Enterprise
O futuro do arquiteto e das arquiteturas Java EnterpriseO futuro do arquiteto e das arquiteturas Java Enterprise
O futuro do arquiteto e das arquiteturas Java Enterprise
 
Processos Ágeis - Scrum, Kanban ou ScrumBan
Processos Ágeis - Scrum, Kanban ou ScrumBanProcessos Ágeis - Scrum, Kanban ou ScrumBan
Processos Ágeis - Scrum, Kanban ou ScrumBan
 
Engenharia de Software 100% Agil (SCRUM, FDD e XP)
Engenharia de Software 100% Agil (SCRUM, FDD e XP)Engenharia de Software 100% Agil (SCRUM, FDD e XP)
Engenharia de Software 100% Agil (SCRUM, FDD e XP)
 

Destaque

Agilidade em Série - XP - Integração Contínua
Agilidade em Série - XP - Integração ContínuaAgilidade em Série - XP - Integração Contínua
Agilidade em Série - XP - Integração ContínuaComunidade Tá safo!
 
Tá safo em ação
Tá safo em açãoTá safo em ação
Tá safo em açãos4nx
 
Ruby and Rails for womens
Ruby and Rails for womensRuby and Rails for womens
Ruby and Rails for womenss4nx
 
Empreendendo em comunidades
Empreendendo em comunidadesEmpreendendo em comunidades
Empreendendo em comunidadesJaime Schettini
 
aGITe antes de versionar
aGITe antes de versionaraGITe antes de versionar
aGITe antes de versionars4nx
 
Testes de software
Testes de softwareTestes de software
Testes de softwareVitor Castro
 
A linguagem Ruby e o framework Rails
A linguagem Ruby e o framework RailsA linguagem Ruby e o framework Rails
A linguagem Ruby e o framework Railss4nx
 
Software Livre: ser, pensar e agir
Software Livre: ser, pensar e agirSoftware Livre: ser, pensar e agir
Software Livre: ser, pensar e agirs4nx
 
Visão Ágil Academic Meeting / TaSAFO em fatos e fotos
Visão Ágil Academic Meeting / TaSAFO em fatos e fotosVisão Ágil Academic Meeting / TaSAFO em fatos e fotos
Visão Ágil Academic Meeting / TaSAFO em fatos e fotosMarcelo Andrade
 
Testes de software automatizados
Testes de software automatizadosTestes de software automatizados
Testes de software automatizadosMarcelo Andrade
 
Apresentação Poderoso Ruby - tasafoemacao
Apresentação Poderoso Ruby - tasafoemacaoApresentação Poderoso Ruby - tasafoemacao
Apresentação Poderoso Ruby - tasafoemacaopamelagatinho
 
Tá safo em ação refatorada
Tá safo em ação refatoradaTá safo em ação refatorada
Tá safo em ação refatoradas4nx
 
Pequenos dispositivos grandes negócio$
Pequenos dispositivos grandes negócio$Pequenos dispositivos grandes negócio$
Pequenos dispositivos grandes negócio$Ramon Ribeiro Rabello
 

Destaque (18)

Metodos ageis thinkingdifferent
Metodos ageis thinkingdifferentMetodos ageis thinkingdifferent
Metodos ageis thinkingdifferent
 
Agilidade em Série - XP - Integração Contínua
Agilidade em Série - XP - Integração ContínuaAgilidade em Série - XP - Integração Contínua
Agilidade em Série - XP - Integração Contínua
 
Enter SCRUM
Enter SCRUMEnter SCRUM
Enter SCRUM
 
Tá safo em ação
Tá safo em açãoTá safo em ação
Tá safo em ação
 
Ruby and Rails for womens
Ruby and Rails for womensRuby and Rails for womens
Ruby and Rails for womens
 
Empreendendo em comunidades
Empreendendo em comunidadesEmpreendendo em comunidades
Empreendendo em comunidades
 
Seja Notável
Seja NotávelSeja Notável
Seja Notável
 
aGITe antes de versionar
aGITe antes de versionaraGITe antes de versionar
aGITe antes de versionar
 
Testes de software
Testes de softwareTestes de software
Testes de software
 
A linguagem Ruby e o framework Rails
A linguagem Ruby e o framework RailsA linguagem Ruby e o framework Rails
A linguagem Ruby e o framework Rails
 
Software Livre: ser, pensar e agir
Software Livre: ser, pensar e agirSoftware Livre: ser, pensar e agir
Software Livre: ser, pensar e agir
 
Visão Ágil Academic Meeting / TaSAFO em fatos e fotos
Visão Ágil Academic Meeting / TaSAFO em fatos e fotosVisão Ágil Academic Meeting / TaSAFO em fatos e fotos
Visão Ágil Academic Meeting / TaSAFO em fatos e fotos
 
Testes de software automatizados
Testes de software automatizadosTestes de software automatizados
Testes de software automatizados
 
Tá Safo!?
Tá Safo!?Tá Safo!?
Tá Safo!?
 
Agora é Android, Tá Safo?
Agora é Android, Tá Safo? Agora é Android, Tá Safo?
Agora é Android, Tá Safo?
 
Apresentação Poderoso Ruby - tasafoemacao
Apresentação Poderoso Ruby - tasafoemacaoApresentação Poderoso Ruby - tasafoemacao
Apresentação Poderoso Ruby - tasafoemacao
 
Tá safo em ação refatorada
Tá safo em ação refatoradaTá safo em ação refatorada
Tá safo em ação refatorada
 
Pequenos dispositivos grandes negócio$
Pequenos dispositivos grandes negócio$Pequenos dispositivos grandes negócio$
Pequenos dispositivos grandes negócio$
 

Semelhante a Framework JGenesis

CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
CURSO DELPHI FUND. CLIENT SERVER (DIURNO) CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
CURSO DELPHI FUND. CLIENT SERVER (DIURNO) Grupo Treinar
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendThiago Sinésio
 
Desmistificando o Framework da Zend
Desmistificando o Framework da ZendDesmistificando o Framework da Zend
Desmistificando o Framework da ZendDomingos Teruel
 
Gestão de Projetos e Empreendedorismo - Atividade: Status Report
Gestão de Projetos e Empreendedorismo - Atividade: Status ReportGestão de Projetos e Empreendedorismo - Atividade: Status Report
Gestão de Projetos e Empreendedorismo - Atividade: Status ReportAlessandro Almeida
 
Padrões de Projeto J2EE para Aplicações Web
Padrões de Projeto J2EE para Aplicações WebPadrões de Projeto J2EE para Aplicações Web
Padrões de Projeto J2EE para Aplicações WebDenis L Presciliano
 
Integração de sistemas da informação - Abordagens de integração
Integração de sistemas da informação - Abordagens de integraçãoIntegração de sistemas da informação - Abordagens de integração
Integração de sistemas da informação - Abordagens de integraçãoJoao Johanes
 
Apresentação FTSL 2014 UTFPR Curitiba - Pentaho Multi Tenancy
Apresentação FTSL 2014 UTFPR Curitiba - Pentaho Multi TenancyApresentação FTSL 2014 UTFPR Curitiba - Pentaho Multi Tenancy
Apresentação FTSL 2014 UTFPR Curitiba - Pentaho Multi TenancyVinicius Elyseu
 
Pentaho Day 2015 - Universidade Positivo - Multi Tenancy com Pentaho na Sage
Pentaho Day 2015 - Universidade Positivo - Multi Tenancy com Pentaho na SagePentaho Day 2015 - Universidade Positivo - Multi Tenancy com Pentaho na Sage
Pentaho Day 2015 - Universidade Positivo - Multi Tenancy com Pentaho na SageVinicius Elyseu
 
Arteccom Workshop Magento
Arteccom Workshop MagentoArteccom Workshop Magento
Arteccom Workshop MagentoThiago Verly
 
Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Rodrigo Kono
 
RubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhosRubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhosFelipe Gadelha Ruoso
 
Minicurso code igniter aula 2
Minicurso code igniter   aula 2Minicurso code igniter   aula 2
Minicurso code igniter aula 2lfernandomcj
 
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...tdc-globalcode
 
12 Factor App TDC São Paulo 2018
12 Factor App TDC São Paulo 201812 Factor App TDC São Paulo 2018
12 Factor App TDC São Paulo 2018Graziella Bonizi
 
Analise frameworks php
Analise frameworks phpAnalise frameworks php
Analise frameworks phpIgor Moura
 

Semelhante a Framework JGenesis (20)

Mini curso JBC
Mini curso JBCMini curso JBC
Mini curso JBC
 
CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
CURSO DELPHI FUND. CLIENT SERVER (DIURNO) CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
 
Pgbr2013
Pgbr2013Pgbr2013
Pgbr2013
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
 
Apresentação TCC I - IES/SC 2013
Apresentação TCC I - IES/SC 2013Apresentação TCC I - IES/SC 2013
Apresentação TCC I - IES/SC 2013
 
Desmistificando o Framework da Zend
Desmistificando o Framework da ZendDesmistificando o Framework da Zend
Desmistificando o Framework da Zend
 
Gestão de Projetos e Empreendedorismo - Atividade: Status Report
Gestão de Projetos e Empreendedorismo - Atividade: Status ReportGestão de Projetos e Empreendedorismo - Atividade: Status Report
Gestão de Projetos e Empreendedorismo - Atividade: Status Report
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Padrões de Projeto J2EE para Aplicações Web
Padrões de Projeto J2EE para Aplicações WebPadrões de Projeto J2EE para Aplicações Web
Padrões de Projeto J2EE para Aplicações Web
 
Integração de sistemas da informação - Abordagens de integração
Integração de sistemas da informação - Abordagens de integraçãoIntegração de sistemas da informação - Abordagens de integração
Integração de sistemas da informação - Abordagens de integração
 
Apresentação FTSL 2014 UTFPR Curitiba - Pentaho Multi Tenancy
Apresentação FTSL 2014 UTFPR Curitiba - Pentaho Multi TenancyApresentação FTSL 2014 UTFPR Curitiba - Pentaho Multi Tenancy
Apresentação FTSL 2014 UTFPR Curitiba - Pentaho Multi Tenancy
 
Pentaho Day 2015 - Universidade Positivo - Multi Tenancy com Pentaho na Sage
Pentaho Day 2015 - Universidade Positivo - Multi Tenancy com Pentaho na SagePentaho Day 2015 - Universidade Positivo - Multi Tenancy com Pentaho na Sage
Pentaho Day 2015 - Universidade Positivo - Multi Tenancy com Pentaho na Sage
 
Arteccom Workshop Magento
Arteccom Workshop MagentoArteccom Workshop Magento
Arteccom Workshop Magento
 
Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4
 
RubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhosRubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhos
 
Minicurso code igniter aula 2
Minicurso code igniter   aula 2Minicurso code igniter   aula 2
Minicurso code igniter aula 2
 
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
TDC2018SP | Trilha Arq .Net - 12-factor apps: Boas praticas na construcao de ...
 
12 Factor App TDC São Paulo 2018
12 Factor App TDC São Paulo 201812 Factor App TDC São Paulo 2018
12 Factor App TDC São Paulo 2018
 
Analise frameworks php
Analise frameworks phpAnalise frameworks php
Analise frameworks php
 
Open Source BI
Open Source BIOpen Source BI
Open Source BI
 

Mais de Comunidade Tá safo!

O caminho das pedras para a OCJP 6
O caminho das pedras para a OCJP 6O caminho das pedras para a OCJP 6
O caminho das pedras para a OCJP 6Comunidade Tá safo!
 
Boas Práticas na Abordagem de Requisitos em Metodologias Ágeis
Boas Práticas na Abordagem de Requisitos em Metodologias ÁgeisBoas Práticas na Abordagem de Requisitos em Metodologias Ágeis
Boas Práticas na Abordagem de Requisitos em Metodologias ÁgeisComunidade Tá safo!
 
Criando aplicações em Android brincando de quebra-cabeça!
Criando aplicações em Android brincando de quebra-cabeça!Criando aplicações em Android brincando de quebra-cabeça!
Criando aplicações em Android brincando de quebra-cabeça!Comunidade Tá safo!
 
Introdução às metodologias ágeis
Introdução às metodologias ágeisIntrodução às metodologias ágeis
Introdução às metodologias ágeisComunidade Tá safo!
 
Quem veio ao Pará, parou....Tá Safo em Ação
Quem veio ao Pará, parou....Tá Safo em AçãoQuem veio ao Pará, parou....Tá Safo em Ação
Quem veio ao Pará, parou....Tá Safo em AçãoComunidade Tá safo!
 
Tenha Valores e Principios (Manifesto Agil)
Tenha Valores e Principios  (Manifesto Agil)Tenha Valores e Principios  (Manifesto Agil)
Tenha Valores e Principios (Manifesto Agil)Comunidade Tá safo!
 
Tá safo! de Belém - do Pará - do Brasil ++
Tá safo! de Belém - do Pará - do Brasil ++Tá safo! de Belém - do Pará - do Brasil ++
Tá safo! de Belém - do Pará - do Brasil ++Comunidade Tá safo!
 
Tá safo! de Belém - do Pará - do Brasil
Tá safo! de Belém - do Pará - do BrasilTá safo! de Belém - do Pará - do Brasil
Tá safo! de Belém - do Pará - do BrasilComunidade Tá safo!
 
Visão Ágil Academic Meeting 2009
Visão Ágil Academic Meeting 2009Visão Ágil Academic Meeting 2009
Visão Ágil Academic Meeting 2009Comunidade Tá safo!
 

Mais de Comunidade Tá safo! (17)

Ócio Criativo
Ócio CriativoÓcio Criativo
Ócio Criativo
 
O caminho das pedras para a OCJP 6
O caminho das pedras para a OCJP 6O caminho das pedras para a OCJP 6
O caminho das pedras para a OCJP 6
 
Boas Práticas na Abordagem de Requisitos em Metodologias Ágeis
Boas Práticas na Abordagem de Requisitos em Metodologias ÁgeisBoas Práticas na Abordagem de Requisitos em Metodologias Ágeis
Boas Práticas na Abordagem de Requisitos em Metodologias Ágeis
 
#safaDojo com Android
#safaDojo com Android#safaDojo com Android
#safaDojo com Android
 
Criando aplicações em Android brincando de quebra-cabeça!
Criando aplicações em Android brincando de quebra-cabeça!Criando aplicações em Android brincando de quebra-cabeça!
Criando aplicações em Android brincando de quebra-cabeça!
 
Retrospectiva tásafo 2010
Retrospectiva tásafo 2010Retrospectiva tásafo 2010
Retrospectiva tásafo 2010
 
Introdução às metodologias ágeis
Introdução às metodologias ágeisIntrodução às metodologias ágeis
Introdução às metodologias ágeis
 
Empreendendo em comunidades
Empreendendo em comunidadesEmpreendendo em comunidades
Empreendendo em comunidades
 
T.A.S.A.F.O.
T.A.S.A.F.O.T.A.S.A.F.O.
T.A.S.A.F.O.
 
Quem veio ao Pará, parou....Tá Safo em Ação
Quem veio ao Pará, parou....Tá Safo em AçãoQuem veio ao Pará, parou....Tá Safo em Ação
Quem veio ao Pará, parou....Tá Safo em Ação
 
Tenha Valores e Principios (Manifesto Agil)
Tenha Valores e Principios  (Manifesto Agil)Tenha Valores e Principios  (Manifesto Agil)
Tenha Valores e Principios (Manifesto Agil)
 
Seja Notável
Seja NotávelSeja Notável
Seja Notável
 
Tá safo! de Belém - do Pará - do Brasil ++
Tá safo! de Belém - do Pará - do Brasil ++Tá safo! de Belém - do Pará - do Brasil ++
Tá safo! de Belém - do Pará - do Brasil ++
 
Tá safo! de Belém - do Pará - do Brasil
Tá safo! de Belém - do Pará - do BrasilTá safo! de Belém - do Pará - do Brasil
Tá safo! de Belém - do Pará - do Brasil
 
Tá safo! em ação refatorada
Tá safo! em ação refatoradaTá safo! em ação refatorada
Tá safo! em ação refatorada
 
Tá safo! em ação
Tá safo! em açãoTá safo! em ação
Tá safo! em ação
 
Visão Ágil Academic Meeting 2009
Visão Ágil Academic Meeting 2009Visão Ágil Academic Meeting 2009
Visão Ágil Academic Meeting 2009
 

Framework JGenesis

  • 1. 14/10/2010 Cleidimar Vieira – Framework JGenesis 1 JGenesis – Aplicações Java/Swing Fácil e Rápido
  • 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. 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. 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. 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. 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. 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. 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. 14/10/2010 Cleidimar Vieira – Framework JGenesis 9 Integração com outros softwares Log4J C3P0
  • 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. 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. 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. 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/10/2010 Cleidimar Vieira – Framework JGenesis 14 O que é preciso para usar?
  • 15. 14/10/2010 Cleidimar Vieira – Framework JGenesis 15
  • 16. 14/10/2010 Cleidimar Vieira – Framework JGenesis 16
  • 17. 14/10/2010 Cleidimar Vieira – Framework JGenesis 17
  • 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. 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. 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. 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. 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. 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. 14/10/2010 Cleidimar Vieira – Framework JGenesis 24 Componentes Swing
  • 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. 14/10/2010 Cleidimar Vieira – Framework JGenesis 26