Demoiselle Frawework 2.0
-
Upload
serge-rehem -
Category
Technology
-
view
1.870 -
download
0
description
Transcript of Demoiselle Frawework 2.0
Demoiselle 2.0
cleverson.sacramentoserge.rehem
frameworkdemoisellewww.
gov.br
Demoiselle framework open source
p/ desenvolvimento Java/web
Framework IntegradorFramework Integrador
InfraInfraFrameworkFramework ProcessProcess
sample wizard
components
ComunidadeComunidade
1
1
3
1
2
equipeequipe
4
3
framework processocomunidade
+
comunidade
demoiselle community council
demoiselle technical council
o que fazer?quais as metas?
como fazer?qual arquitetura e padrões serão usados?
http://www.frameworkdemoiselle.gov.br
http://sf.net/projects/demoiselle
http://sf.net/apps/mediawiki/demoiselle
http://sf.net/apps/mantisbt/demoiselle
maiormenor
projeto<maior>.<menor>.<micro>qualificador
demoiselle2.0.0ALPHA1
micromanutenção
evolução
inovação
mar20080.1
dez20081.0
abr20091.0.3
nov20091.1.0
ago20101.1.5
dezdez201020102.0.02.0.0
set20101.2.0
outout201020102.0.0A12.0.0A1
MP Ministério do Planejamento ANP Agência Nacional de Petróleo DATASUS Caixa Econômica FederalMinistério Público do Paraná STN CELEPAR ATIPE ProdemgeUSP / UFPR / UFBA / UFRJ / ... Empresas privadas Desenvolvedores autônomos
ComunidadeComunidade
2009
padronização
orientação
flexibilidade flexibilidade
comunicação
framework
apresentação
negócio
persistência
Demoiselle Framework
JSF
JPA
Facelets
Maven
Eclipse
Tomcat
JBoss Tools
2010
produtividade
Demoiselle Component
Demoiselle Monitoring@MBean(name = "br.gov.demoiselle:name=Monitoring")@OID(prefix = ".1.2.3.4.1")public class DemoiselleMonitoring
implements DemoiselleMonitoringMBean {
@OID(value = ".1", mode = Mode.READ_WRITE)public String getFrameworkVersion() {
return FRAMEWORK_VERSION;}
@OID(value = ".2")public int getRequestCount() {
return requestCount;}
@OID(value = ".3")public long getUptime() {
long uptime = System.currentTimeMillis() - initialTime;
return uptime;}
}
crud
abstraçãotela mb bc dao
programaçãopor exceção
implícitobcdao
ponto de extensãotela mb bc dao
tagsmáscaras
anotações
view<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
template="/META-INF/template/super/superCrud.xhtml"><ui:param name="mbean" value="#{paisMB}" />
</ui:composition>
MB@CrudPaged(title="Cadastro de País", view = "pais_crud")public class PaisMB extends SuperCrudMB<Pais> { }
BCpublic interface IPaisBC extends ICrudBC<Pais> { }public class PaisBC extends SuperCrudBC<Pais> implements IPaisBC { }
DAOpublic interface IPaisDAO extends ICrudDAO<Pais> { }public class PaisDAO extends SuperCrudDAO<Pais> implements IPaisDAO { }
120 2: → 99%
CRUD
http://www.youtube.com/watch?v=erhn0bxGYbM
CodingDojo Demoiselle
infrainfra
aptget install demoiselledev
2.0
jsf 2.0
ejb 3.1
jee 6
test+mock
jsr299
jpa 2.0
http://sf.net/apps/apps/demoiselle
http://sf.net/apps/wordpress/demoiselle
http://demoiselle.svn.sf.net/svnroot/demoiselle/framework
/branches/demoiselle2.0
@ViewControllerclass AlunoMB { ...}
@BusinessControllerclass AlunoBC { ...}
@PersistenceControllerclass AlunoDAO { ...}
@ViewControllerclass AlunoMB {
@Inject AlunoBC bc;
void inserir(){ bc.algumaCoisa(); }}
@BusinessControllerclass AlunoBC { void algumaCoisa(){...}}
@SeuControllerclass AlunoXX { ...}
@Controller@interface SeuController { ...}
@ViewControllerclass AlunoMB {
@Transactional void inserir(){...}}
frameworkdemoiselle.transaction.class=
br.gov.frameworkdemoiselle.transaction.JPATransaction
@BusinessControllerclass AlunoBC {
void inserir(...){...}
@HandleException void tratar(CrecaException e){...}}
@PersistenceControllerclass AlunoDAO {
@Startup void carga(){...}
@Shutdown void descarga(){...}}
@SeuControllerclass AlunoXX {
@Inject Logger log;
@Inject ResourceBundle bundle;
@Inject Transaction transaction;
@Inject EntityManager em;
@Inject FacesContext context;}
templatestags
independência
segurança
documentaçãoutilitários
configuração
validação
Obrigado!Obrigado!
www.frameworkdemoiselle.gov.brdemoiselle[email protected]/fwkdemoiselle
Serge [email protected]
twitter.com/serge_rehem