Post on 02-Jul-2015
FRAMEWORK ENTITIES
Marcius Gomes BrandãoDepartamento de Edificações e Rodovias
Agenda
Sobre o Autor Introdução Design Pattern Naked Objects As camadas genéricas Entities Persistence e Validation Entities GUI (CRUD e Search) Benefícios alcançados Bibliografia
Sobre o Autor
Marcius Gomes Brandão Analista de Sistemas do DER Pós-graduando em Gestão de Infra-estrutura de TI,
graduado em Análise e Desenv. de Sistemas (FIC), técnico em Informática Industrial (CEFET-CE).
+15 anos de experiência profissional : Grupo Del Rio, Grupo Empesca, Grupo Marquise;
Introdução
O Framework Entities propõe agilizar e padronizar o processo de desenvolvimento e a manutenção de softwares em Java.
Inspirado em experiências próprias e no “Naked Objects Architectural Pattern” que parte da premissa:
“Muitos dos serviços exigidos pelas aplicações de negócios podem ser implementadas genericamente”
(www.nakedobject.com))
Serviços genéricas
Naked Object Pattern (NOP)
“Porque implementar n camadas se você precisa implementar apenas uma!” (www.nakedobject.com)
Pra que desenvolver Modele seu negócio e o NOP crias as outras
n camadas? camadas pra você
Entities
Não reinventar a roda Reconhecer o padrão java (gets/sets,JPA,JSF,etc) Não é gerador de código
Serviços do Entities
Java 6 Hibernate Hibernate-validator RichFaces e PrimeFaces JBoss-EL (AspectJ) Apache Commons Jasper/IReport Dynamic Jasper JUnit
Entities Persistence
Hibernate Acesso a vários banco de dados ao mesmo tempo Acesso ao Access Acesso a DBF, TXT e CVS (em fase de testes) API simples e flexivel :
IDAO dao = DAOFactory.getInstance().getDAO(Model.class);
Model model = dao.new();
dao.save(model); //ou ainda delete ou lookup.
dao.save(model1,model2,model3,...,model4);
List<Model> lista = dao.query(“From model where id > 10”);
Entities Validation
Hibernate-Validator @Length(min=,max=) @Max(value=) @Min(value=) @NotNull @NotEmpty @Past @Future @Pattern(regex="regexp",flag=) @Patterns(@Pattern(...)) @Range(min=,max=)
Hibernate-Validator @Length(min=,max=) @Max(value=) @Min(value=) @NotNull @NotEmpty @Past @Future @Pattern(regex="regexp",flag=) @Patterns(@Pattern(...)) @Range(min=,max=)
Entities GUI : JSF
RichFaces e PrimeFaces AutoForm e AutoDataTable Paginação no Cliente (novo) Paginação por demanda (novo) Layout customizável (novo) Sort , Super Filter e parâmetros do context (novo) Baseado nas annotations da JPA
Entities GUI : JSF
Entities GUI : JSF
Entities Search
Busca por Faixa Busca por lista Busca por parte do
conteúdo
Benefícios alcançados
Desenvolvimento rápido e ágil Redução de código Padronização do código e da interface do sistemas Rápido aprendizado para novos membros da equipe Fácil manutenção dos sistemas Aprimoramento gradativos conforme necessidades
emergentes.
Perguntas e Discussão
?
Bibliografia
PAWSON,Richard.Naked Objects.Dublin,julho2004. Naked Object.Disponível em http://www.nakedobjects.org Jmatter. Disponível em http://www.jmatter.org
Contato
Marcius Brandão
Analista de Sistemas da Célula de TI do DER
3101-5770
marcius@der.ce.gov.br