52

Apresentacao demoiselle campus_party_2011

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Apresentacao demoiselle campus_party_2011
Page 2: Apresentacao demoiselle campus_party_2011

Título daApresentação

00/00/0000Palestrante: Flávio Gomes da Silva Lisboa

Demoiselle 2.0: Demoiselle 2.0: Produtividade com Produtividade com Java EE6 no Java EE6 no Framework Open Framework Open Source Brasileiro Source Brasileiro

Page 3: Apresentacao demoiselle campus_party_2011

Palestrante

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Bacharel em Ciência da Computação, pós-graduado em Aplicações Corporativas usando Orientação a Objetos e Tecnologia Java pela Universidade Tecnológica Federal do Paraná.

Ex-analista da diretoria internacional do Banco do Brasil.

Consultor tecnológico e instrutor do Serviço Federal de Processamento de Dados.

[email protected]

Page 4: Apresentacao demoiselle campus_party_2011

Soluções para a sociedade

Serpro em 5 tempos

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Page 5: Apresentacao demoiselle campus_party_2011

Inclusão digital

Serpro em 5 tempos

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Telecentros em todos os estados

Oficinas de inclusão

Espaço Serpro Cidadão

Page 6: Apresentacao demoiselle campus_party_2011

Acessibilidade

Serpro em 5 tempos

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Liane TTS, sintetizador de voz desenvolvido em parceria com o NCE/UFRJ, para ser usado nos telecentros.

Page 7: Apresentacao demoiselle campus_party_2011

Software Livre

Serpro em 5 tempos

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Page 8: Apresentacao demoiselle campus_party_2011

Tecnologias de desenvolvimento

Serpro em 5 tempos

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

ASP

NATURAL COBOL

Page 9: Apresentacao demoiselle campus_party_2011

Tecnologia de Propósito Geral Independente de Plataforma

Java em 60 segundos

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Page 10: Apresentacao demoiselle campus_party_2011

Propósito de Java...

Java em 60 segundos

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Page 11: Apresentacao demoiselle campus_party_2011

Muito abrangente...

Java em 60 segundos

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Page 12: Apresentacao demoiselle campus_party_2011

1 . Facilidade de alteração2 . Reaproveitamento de código3 . Desenvolvimento orientado a componentes4 . Independência de fornecedores

Necessidades em Aplicações JEE

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

1 2 32 4

Page 13: Apresentacao demoiselle campus_party_2011

Demoiselle Framework

Solução

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

2008 2009 2010

1.0 1.0.4 1.0.51.0.4 1.0.6 1.0.71.0.6

1.1.0

1.2.0

2.0

1.1.1 1.1.2 1.1.3 1.1.4 1.1.5

1.2.1

JEE5

JEE6

Page 14: Apresentacao demoiselle campus_party_2011

Arquitetura

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Page 15: Apresentacao demoiselle campus_party_2011

Arquitetura

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

ÁREA DE MUDANÇA

Page 16: Apresentacao demoiselle campus_party_2011

Ferramentas para desenvolvimento

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Components Sample ProcessInfra

Self-service de componentes

Instalação e configuração

Exemplos de aplicações

Processo ágil

Subprojetos

Framework

Page 17: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Pré-requisitos

Page 18: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

JEE6: Menos coisas pra

digitar, errar, controlar ...

Page 19: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Java EE6 (JSR 316)

Servlet 3.0 (JSR 315)

Servlets, Listeners, ServletContextListeners e outros podem ser declarados com anotações, evitando sua configuração no web.xml

+ Java - XML

Page 20: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Java EE6 (JSR 316)

Servlet 3.0 (JSR 315)

Fragmentos de web.xml podem ser colocados dentro do JAR de componentes, evitando a configuração do web.xml da aplicação.

+ Java - XML

Page 21: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Java EE6 (JSR 316)

Servlet 3.0 (JSR 315)

Suporte nativo a chamadas assíncronas (AJAX).

+ Java - XML

Page 22: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Java EE6 (JSR 316)

JSF 2.0 (JSR 314)

Declaração de ManagedBeans via anotações, deixando o faces-config.xml mais enxuto.

+ Java - XML

Page 23: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Java EE6 (JSR 316)

JSF 2.0 (JSR 314)

Facelets nativo.

+ Java - XML

Pra que serve isso?Não era nativo?

Não era nativo. É JSF

para webdesigners

Page 24: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Java EE6 (JSR 316)

JSF 2.0 (JSR 314)

Não é preciso declarar outcomes no faces-config.xml. O valor de retorno do método invocado já é o endereço da página. Mas você pode declarar se quiser.

+ Java - XML

Page 25: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Java EE6 (JSR 316)

JSF 2.0 (JSR 314)

É possível criar um ExceptionHandler personalizado para tratar as falhas da aplicação.

+ Java - XML

Page 26: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Java EE6 (JSR 316)

JSF 2.0 (JSR 314)

É possível passar parâmetros nas invocações de métodos via Expression Language.

+ Java - XML

Page 27: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Java EE6 (JSR 316)

JPA 2.0 (JSR 317)

Recurso Criteria Queries.

+ Java - XML

Page 28: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Java EE6 (JSR 316)

JPA 2.0 (JSR 317)

Cache de segundo nível.

+ Java - XML

Page 29: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Java EE6 (JSR 316)

EJB 3.1 (JSR 318)

EJB Lite: só o que você realmente precisa. Pouquíssimos casos precisam mesmo de TODOS os recursos de EJB.

+ Java - XML

Page 30: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Java EE6 (JSR 316)

EJB 3.1 (JSR 318)

Não é preciso criar interfaces remotas e locais, é opcional.

+ Java - XML

Page 31: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Framework

ComponentsCore Extensions

Dependedo framework

Não dependedo framework

JPA JSF Swing

Page 32: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Liberdade de escolha

Page 33: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Injeção de dependência

Aplicação JEE6

01 01

011

10

0

0 1

01

10

1

0

1

11

JSR 299

Page 34: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Injeção de dependência

Page 35: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Injeção de dependência

Page 36: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Código pré-compilação não tem dependências

COMPILAÇÃO

Page 37: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Facilidade de manutenção

COMPILAÇÃO

Page 38: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Facilidade de manutenção

class B { @Inject A a;}

class A {}

Page 39: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Facilidade de manutenção

class AFactory {

@Producespublic A create() {

A a = new A(); a.setAllThatINeed();

return a;}

}

Page 40: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Facilidade de manutenção

Page 41: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Facilidade de manutenção

class B { @Inject A a;}

class A {}

class B {

@Inject FacesContext context;

}

Page 42: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Facilidade de manutenção

class AFactory {

@Producespublic A create() {

A a = new A(); a.setAllThatINeed();

return a;}

}

class FacesContextFactory {

@Producespublic FacesContext create() {

return FacesContext.getCurrentInstance();}

}

Page 43: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Controladores

Identificam as camadas e são pré-requisitos para utilização da funcionalidade de tratamentode exceções, através do uso da anotação @ExceptionHandler.

● ViewController● FacadeController

● BusinessController● PersistenceController

Page 44: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Controladores

@PersistenceControllerclass A {

@Inject EntityManager em;

}

@BusinessControllerclass B {

@Inject A a;

}

Page 45: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Crie seu próprio controlador

@Controller@Stereotype@ViewScopedpublic @interface SeuController { }

Page 46: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Métodos transacionais

class B {

@Inject A a;

@Transactional public carga () { a.inserir(“1”); a.inserir(“2”); }}

Page 47: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Métodos transacionais

Caso ocorra uma exceção na execução de um método transacional o mecanismo fará rollback na transação automaticamente.

É possível mudar este comportamento utilizando exceções de aplicação.

Page 48: Apresentacao demoiselle campus_party_2011

Demoiselle Framework 2.0

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

...

Page 49: Apresentacao demoiselle campus_party_2011

www.frameworkdemoiselle.org.br

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Page 50: Apresentacao demoiselle campus_party_2011

http://sourceforge.net/apps/mantisbt/demoiselle

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Bugs?

Novas funcionalidades?

Melhorias?

Page 51: Apresentacao demoiselle campus_party_2011

http://sourceforge.net/apps/phpbb/demoiselle

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Discussões

Page 52: Apresentacao demoiselle campus_party_2011

Contatos

Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro

Antonio Carlos TiboniCoordenador Institucional da Comunidade Demoiselle

[email protected]

Lista de discussão:

https://lists.sourceforge.net/lists/listinfo/demoiselle-users