palestra demoiselle v1.x no 11 fisl
DESCRIPTION
Palestra do Demoiselle, ainda na versão 1.x, para o 11 FISLTRANSCRIPT
Simplificando o desenvolvimento java/web Simplificando o desenvolvimento java/web com o Demoisellecom o Demoiselle
Emerson Sachio [email protected]
Thiago de Lima [email protected]
11º Fórum Internacional Software Livre
Equipe heterogênea, objetivo comum
Tecnologias em constante evolução.
http://www.flickr.com/photos/mraible/4378559350/
Arquitetura
Frameworks
IDE
Serv. Aplicação
Escolhas/decisões...
http://individual.utoronto.ca/firstflight/demoiselle-magazine.gif
http://lproweb.procempa.com.br/pmpa/prefpoa/pwdtcomemorativas/usu_img/santosdumont.jpg
Mais um Framework ...
Poderia usar um existente?
Realidades Diferentes = Necessidades Diferentes
Quem pode dizer o que precisamos?
Reinventado a roda?
http://www.flylyf.com/eco-07-the-reinvention-of-the-wheel/
http://arakinmonteiro.files.wordpress.com/2010/02/educacao-quebra-cabeca.jpg
E onde ele se encaixa ?
PadronizaçãoPadronização
http://www.imotion.com.br/imagens/data/media/83/4874quebracabeca.jpg
Orientação Orientação
Flexibilidade Flexibilidade
Comunicação Comunicação
WizardWizarddemoiselle.sf.net/wizarddemoiselle.sf.net/wizard
ComponentComponentdemoiselle.sf.net/componentdemoiselle.sf.net/component
SampleSampledemoiselle.sf.net/sampledemoiselle.sf.net/sample
ProcessProcessdemoiselle.sf.net/processdemoiselle.sf.net/process
FrameworkFrameworkdemoiselle.sf.net/frameworkdemoiselle.sf.net/framework
InfraInfrademoiselle.sf.net/infrademoiselle.sf.net/infra
Framework IntegradorFramework Integrador
Core Persistence Util View Web EJB
Base Frameworks
JAAS JCA JCE JDBC JTAJSF Servlet
Java Virtual Machine (JVM)
Java EE Platform (JEE)
Operating System (OS)
Foundation Frameworks
Architectural Frameworks
Arquitetura
JPA
Message
Transaction
Security
View & Controller
Database
Demoiselle FrameworkDemoiselle Framework
Business Persistence
Managed Bean
:BusinessController
POJO
:DAOFaces Servlet
JSFPage
Tela de ediçãoExemploExemplo
Produtividade!Produtividade!
arquétipos
geração automáticade código CRUD
templates Testes
Wizard Eclipse PluginWizard Eclipse Plugin
Geração de código
simples livre iterativo
ágil focado em testes focado em arquitetura
Um processo de desenvolvimento...Um processo de desenvolvimento...
...para quem usa o Framework Demoiselle...para quem usa o Framework Demoiselle
ProcessoProcesso
Demoiselle ProcessDemoiselle Process
InfraInfra
# apt-get install demoiselle-dev
Demoiselle InfraDemoiselle Infra
deb ftp://sagres.c3sl.ufpr.br/demoiselle/ hardy stable
CComunidade Demoiselleomunidade Demoiselle
DTC
PN.m
DCC
ComunidadeComunidade
MP - Ministério do Planejamento ANP - Agência Nacional de Petróleo DATASUS Tesouro Nacional Caixa Econômica FederalMinistério Público do Paraná CELEPAR Prodeba ProdemgeUSP / UFPR / UFBA / UFRJ ATI/PE Empresas privadas Desenvolvedores autônomos
ComunidadeComunidade
z
SourceForgeSourceForge
sf.net/projects/demoisellesf.net/projects/demoiselle
TrackerTracker
sf.net/apps/mantisbt/demoisellesf.net/apps/mantisbt/demoiselle
TrackerTracker
FórunsFóruns
sf.net/apps/phpbb/demoisellesf.net/apps/phpbb/demoiselle
WikiWiki
sf.net/apps/mediawiki/demoisellesf.net/apps/mediawiki/demoiselle
BlogBlog
sf.net/apps/wordpress/demoisellesf.net/apps/wordpress/demoiselle
Novo PortalNovo Portal
www.frameworkdemoiselle.gov.brwww.frameworkdemoiselle.gov.br
TwitterTwitter
twitter.com/fwkdemoiselletwitter.com/fwkdemoiselle
CapacitaçãoCapacitação
www.frameworkdemoiselle.gov.brwww.frameworkdemoiselle.gov.br
Tutoriais:
Novo Formato.
E@D:Site Moodle.
http://www.torricellivirtual.com.br/blog/wp-content/uploads/2009/10/ead.jpg
20092008 2010
0.1 mar
0.2 ago
1.0 dez
1.0.3 abr
1.1 jan JPA
1.2 ago
2011
2.0 dezJavaEE 6
Demoiselle CRUDDemoiselle CRUD
Demoiselle Hoje
JPA no Demoiselle 1.1.0
Especificação (JPA 1.0) versus Implementação
Independência de fornecedor de persistência
Hibernate, EclipseLink, OpenJPA
Ambientes Java SE e Java EE
Monitoração
Implementar mecanismos que possibilitem à aplicação Java:
resposta a requisições vindas do servidor
envio automático de notificações ao servidor
SERPRO: Integração com o FAROL
Demoiselle 2.0Demoiselle 2.0
Java EE 6 Java EE 6 CompatívelCompatível
@Inject
@Interceptor
@SessionScoped
@ApplicationScoped
@ConversationScoped@Producesjsf 2.0
ejb 3.1
jee 6
test+mock
jsr-299
Demoiselle 2.0
jpa 2.0
Demoiselle 2.0Demoiselle 2.0
JEE 6
Novidades: DI 1.0, CDI 1.0, Bean Validation 1.0, Managed Beans 1.0, JAX-RS 1.1
Atualizações: EJB 3.1, JPA 2.0, Servlet 3.0, JSF 2.0, Interceptors 1.1, Connectors 1.1, JAX-WS 2.2, Enterprise Web Services, JSP 2.2/EL 2.2, Annotations 1.1
Demoiselle 2.0Demoiselle 2.0
Principais melhorias:
DI 1.0, CDI 1.0: Substitui mecanismo de injeçãoJPA 2.0: Atualização.JSF 2.0: Atualização.EJB 3.1: Distribuição, Cloud-ComputingContaineir JEE6: Jboss 6, Glassfish, etc...
Produtividade + Qualidade (CRUD)
Ferramentas para geração e apoio a TestesTDD, BDD.Fit, TesteNG, JUnitX, ...
Outras IDE's ??NetBeans, JDeveloper, ...
Outros templatesSpider, code2code, velocity, ...
WizardWizard
MBMB@CrudPaged(title="Cadastro de País", view = "pais_crud")public class PaisMB extends SuperAjaxCrudMB<Pais> { }
BCBCpublic interface IPaisBC extends ICrudBC<Pais> { }public class PaisBC extends SuperCrudBC<Pais> implements IPaisBC { }
DAODAOpublic interface IPaisDAO extends ICrudDAO<Pais> { }public class PaisDAO extends SuperCrudDAO<Pais> implements IPaisDAO { }
ViewView<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
template="/META-INF/template/super/superCrud.xhtmltemplate="/META-INF/template/super/superCrud.xhtml">"><ui:param name="m<ui:param name="mbeanbean" value="" value="#{paisMB}#{paisMB}" />" />
</ui:composition></ui:composition>
120 → 2
99%
Demoiselle CRUD
http://www.youtube.com/watch?v=erhn0bxGYbM
Coding Dojo Demoiselle
Emerson Sachio [email protected]
Obrigado!Obrigado!
Thiago de Lima [email protected]
www.frameworkdemoiselle.gov.brdemoiselle-users@lists.sourceforge.nettwitter.com/fwkdemoiselle