50
Simplificando o desenvolvimento java/web Simplificando o desenvolvimento java/web com o Demoiselle com o Demoiselle Emerson Sachio Saito [email protected] Thiago de Lima Mariano [email protected] 11º Fórum Internacional Software Livre

Palestra Demoiselle V1.x no 11 FISL

Embed Size (px)

DESCRIPTION

Palestra do Demoiselle, ainda na versão 1.x, para o 11 FISL

Citation preview

Page 1: Palestra Demoiselle V1.x no 11 FISL

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

Page 2: Palestra Demoiselle V1.x no 11 FISL

Equipe heterogênea, objetivo comum

Page 3: Palestra Demoiselle V1.x no 11 FISL

Tecnologias em constante evolução.

http://www.flickr.com/photos/mraible/4378559350/

Page 4: Palestra Demoiselle V1.x no 11 FISL

Arquitetura

Frameworks

IDE

Serv. Aplicação

Escolhas/decisões...

Page 5: Palestra Demoiselle V1.x no 11 FISL

http://individual.utoronto.ca/firstflight/demoiselle-magazine.gif

http://lproweb.procempa.com.br/pmpa/prefpoa/pwdtcomemorativas/usu_img/santosdumont.jpg

Page 6: Palestra Demoiselle V1.x no 11 FISL

Mais um Framework ...

Page 7: Palestra Demoiselle V1.x no 11 FISL

Poderia usar um existente?

Page 8: Palestra Demoiselle V1.x no 11 FISL

Realidades Diferentes = Necessidades Diferentes

Page 9: Palestra Demoiselle V1.x no 11 FISL

Quem pode dizer o que precisamos?

Page 10: Palestra Demoiselle V1.x no 11 FISL

Reinventado a roda?

http://www.flylyf.com/eco-07-the-reinvention-of-the-wheel/

Page 11: Palestra Demoiselle V1.x no 11 FISL

http://arakinmonteiro.files.wordpress.com/2010/02/educacao-quebra-cabeca.jpg

E onde ele se encaixa ?

Page 12: Palestra Demoiselle V1.x no 11 FISL

PadronizaçãoPadronização

http://www.imotion.com.br/imagens/data/media/83/4874quebracabeca.jpg

Orientação Orientação

Flexibilidade Flexibilidade

Comunicação Comunicação

Page 13: Palestra Demoiselle V1.x no 11 FISL

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

Page 14: Palestra Demoiselle V1.x no 11 FISL

Framework IntegradorFramework Integrador

Page 15: Palestra Demoiselle V1.x no 11 FISL

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

Page 16: Palestra Demoiselle V1.x no 11 FISL

Message

Transaction

Security

View & Controller

Database

Demoiselle FrameworkDemoiselle Framework

Business Persistence

Managed Bean

:BusinessController

POJO

:DAOFaces Servlet

JSFPage

Page 17: Palestra Demoiselle V1.x no 11 FISL

Tela de ediçãoExemploExemplo

Page 18: Palestra Demoiselle V1.x no 11 FISL

Produtividade!Produtividade!

arquétipos

geração automáticade código CRUD

templates Testes

Page 19: Palestra Demoiselle V1.x no 11 FISL

Wizard Eclipse PluginWizard Eclipse Plugin

Page 20: Palestra Demoiselle V1.x no 11 FISL

Geração de código

Page 21: Palestra Demoiselle V1.x no 11 FISL

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

Page 22: Palestra Demoiselle V1.x no 11 FISL

Demoiselle ProcessDemoiselle Process

Page 23: Palestra Demoiselle V1.x no 11 FISL

InfraInfra

# apt-get install demoiselle-dev

Page 24: Palestra Demoiselle V1.x no 11 FISL

Demoiselle InfraDemoiselle Infra

deb ftp://sagres.c3sl.ufpr.br/demoiselle/ hardy stable

Page 25: Palestra Demoiselle V1.x no 11 FISL
Page 26: Palestra Demoiselle V1.x no 11 FISL

CComunidade Demoiselleomunidade Demoiselle

Page 27: Palestra Demoiselle V1.x no 11 FISL

DTC

PN.m

DCC

ComunidadeComunidade

Page 28: Palestra Demoiselle V1.x no 11 FISL

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

Page 29: Palestra Demoiselle V1.x no 11 FISL

z

SourceForgeSourceForge

sf.net/projects/demoisellesf.net/projects/demoiselle

Page 30: Palestra Demoiselle V1.x no 11 FISL

TrackerTracker

sf.net/apps/mantisbt/demoisellesf.net/apps/mantisbt/demoiselle

Page 31: Palestra Demoiselle V1.x no 11 FISL

TrackerTracker

Page 32: Palestra Demoiselle V1.x no 11 FISL

FórunsFóruns

sf.net/apps/phpbb/demoisellesf.net/apps/phpbb/demoiselle

Page 33: Palestra Demoiselle V1.x no 11 FISL

WikiWiki

sf.net/apps/mediawiki/demoisellesf.net/apps/mediawiki/demoiselle

Page 34: Palestra Demoiselle V1.x no 11 FISL

BlogBlog

sf.net/apps/wordpress/demoisellesf.net/apps/wordpress/demoiselle

Page 35: Palestra Demoiselle V1.x no 11 FISL

Novo PortalNovo Portal

www.frameworkdemoiselle.gov.brwww.frameworkdemoiselle.gov.br

Page 36: Palestra Demoiselle V1.x no 11 FISL

TwitterTwitter

twitter.com/fwkdemoiselletwitter.com/fwkdemoiselle

Page 37: Palestra Demoiselle V1.x no 11 FISL

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

Page 38: Palestra Demoiselle V1.x no 11 FISL

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

Page 39: Palestra Demoiselle V1.x no 11 FISL

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

Page 40: Palestra Demoiselle V1.x no 11 FISL

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

Page 41: Palestra Demoiselle V1.x no 11 FISL
Page 42: Palestra Demoiselle V1.x no 11 FISL

Demoiselle 2.0Demoiselle 2.0

Java EE 6 Java EE 6 CompatívelCompatível

Page 43: Palestra Demoiselle V1.x no 11 FISL

@Inject

@Interceptor

@SessionScoped

@ApplicationScoped

@ConversationScoped@Producesjsf 2.0

ejb 3.1

jee 6

test+mock

jsr-299

Demoiselle 2.0

jpa 2.0

Page 44: Palestra Demoiselle V1.x no 11 FISL

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

Page 45: Palestra Demoiselle V1.x no 11 FISL

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...

Page 46: Palestra Demoiselle V1.x no 11 FISL

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

Page 47: Palestra Demoiselle V1.x no 11 FISL
Page 48: Palestra Demoiselle V1.x no 11 FISL

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

Page 49: Palestra Demoiselle V1.x no 11 FISL

http://www.youtube.com/watch?v=erhn0bxGYbM

Coding Dojo Demoiselle

Page 50: Palestra Demoiselle V1.x no 11 FISL

Emerson Sachio [email protected]

Obrigado!Obrigado!

Thiago de Lima [email protected]

www.frameworkdemoiselle.gov.brdemoiselle-users@lists.sourceforge.nettwitter.com/fwkdemoiselle