47
Demoiselle Framework Arquitetura Serge Rehem [email protected] Mário Jorge Teles Costa [email protected]

Demoiselle - Arquitetura

Embed Size (px)

DESCRIPTION

Apresentação com visão geral da arquitetura do Framework Demoiselle realizada no CONSEGI 2009

Citation preview

Page 1: Demoiselle - Arquitetura

Demoiselle FrameworkArquitetura

Serge [email protected]

Mário Jorge Teles [email protected]

Page 2: Demoiselle - Arquitetura

Aplicação Java/Web

Page 3: Demoiselle - Arquitetura

http://special.news.msu.edu/ID_theft/images/creditcard_lg.jpg

De um lado...De um lado...

Page 4: Demoiselle - Arquitetura

Do outro...Do outro...

http://zonaneutra.files.wordpress.com/2009/01/nerd.jpg

Page 5: Demoiselle - Arquitetura

Adaptado de: http://dig.csail.mit.edu/2006/Talks/1017-privacy-e2e-acccountability/WebArch.jpg

No meio...No meio...

Page 6: Demoiselle - Arquitetura

~2.300~2.300desenvolvedoresdesenvolvedores

Page 7: Demoiselle - Arquitetura

Começando um projetoJava/Web...

Page 8: Demoiselle - Arquitetura
Page 9: Demoiselle - Arquitetura

IDE

Page 10: Demoiselle - Arquitetura

GlassFishGlassFish

AppServerAppServer

TomcatTomcat

Page 11: Demoiselle - Arquitetura

JDBC

JDO

JPA

PersistênciaPersistência

Page 12: Demoiselle - Arquitetura

JSF

Java WebJava WebFrameworkFramework

Page 13: Demoiselle - Arquitetura

Hudson

Testes / Build /Testes / Build /Integração ContínuaIntegração Contínua

Page 14: Demoiselle - Arquitetura

Segurança

Relatórios

e-Mail

Agendamento

Validação

+Componentes+Componentes

Logging

Utilitários

Workflow

?

?

?

Page 15: Demoiselle - Arquitetura

Arquitetura

Fwk auxiliares

IDE

Serv. Aplicação

Escolhas/decisões...

Page 16: Demoiselle - Arquitetura

Levam Tempo...Levam Tempo...

http://peregrinacultural.files.wordpress.com/2009/02/mechanical-clock-work.jpg

Page 17: Demoiselle - Arquitetura

São Arriscadas!São Arriscadas!

http://www.aereo.jor.br/wp-content/uploads/2009/06/galante-voando-sem-asas-capacete-vermelho.jpg

Page 18: Demoiselle - Arquitetura

http://mdemulher.abril.com.br/imagem/saude/interna-slideshow/am-571-saude-moca-desperada.jpg

Calma, Señorita...

Page 19: Demoiselle - Arquitetura

Demoiselle FrameworkDemoiselle Framework

http://www.fab.gov.br/portal/cabine/acontecefab/arquivos/0310%20I0000073.JPG

Page 20: Demoiselle - Arquitetura

OrientaçãoOrientação

http://www.softti.com.br/softti/imagens/bussola.jpg

Page 21: Demoiselle - Arquitetura

C O M U N I C

AÇÃO

http://www.gettyimages.com/detail/86541835/Thinkstock

Page 22: Demoiselle - Arquitetura

PadronizaçãoPadronização

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

Page 23: Demoiselle - Arquitetura
Page 24: Demoiselle - Arquitetura

Arquitetura

Page 25: Demoiselle - Arquitetura

Framework IntegradorFramework Integrador

Page 26: Demoiselle - Arquitetura

Arquitetura

Page 27: Demoiselle - Arquitetura

Message

Transaction

Security

View & Controller

DataSource

Demoiselle FrameworkDemoiselle Framework

Business Persistence

Managed Bean

:BusinessController

POJO

:DAOFaces Servlet

JSFPage

Page 28: Demoiselle - Arquitetura

Demo

Page 29: Demoiselle - Arquitetura

Core

Visão Negócio

PersistênciaIntegraçãoMódulos/

Subsistemas

Page 30: Demoiselle - Arquitetura

Core - Integração entre Camadas Injeção de um IBusinessController

public class MeuMB implements IViewController{@Injectionprivate IMeuBC meuBC;

}

public class MeuMB implements IViewController{@Injection (name=”br.gov.serpro.escola.business.implementation.AlunoBC”)

private IMeuBC meuBC;}

Page 31: Demoiselle - Arquitetura

Core - Integração entre Camadas Injeção de um IDAO

public class MeuBC implements IBusinessController{@Injectionprivate IMeuDAO meuDAO;

}

public class MeuBC implements IBusinessController{@Injection(name="br.gov.serpro.escola.persistence.dao.implementation.AlunoDAO")

private IMeuDAO meuDAO;}

Page 32: Demoiselle - Arquitetura

Contexto de Mensagens

Page 33: Demoiselle - Arquitetura

Ent

Entidade

Page 34: Demoiselle - Arquitetura

public class MeuPojo implements IPojo{

private Long id;

public Long getId() { return id;

}

public void setId(Long id) { this.id = id;

}}

POJO

Page 35: Demoiselle - Arquitetura

Transação

Page 36: Demoiselle - Arquitetura

Localizador de Contextos

Page 37: Demoiselle - Arquitetura

Módulo 01 - ArquiteturaMódulo 01 - Arquitetura 37

InstalaçãoInstalação

Page 38: Demoiselle - Arquitetura

FrameworkFrameworksf.net/projects/demoisellesf.net/projects/demoiselle

WizardWizardsf.net/projects/demoiselle-wzdsf.net/projects/demoiselle-wzd

ComponentComponentsf.net/projects/demoiselle-compsf.net/projects/demoiselle-comp

SampleSamplesf.net/projects/demoiselle-sampsf.net/projects/demoiselle-samp

ProcessProcesssf.net/projects/demoiselle-procsf.net/projects/demoiselle-proc

FrameworkFrameworksf.net/projects/demoisellesf.net/projects/demoiselle

Page 39: Demoiselle - Arquitetura

z

SourceForgeSourceForge

Page 40: Demoiselle - Arquitetura

TrackerTracker

Page 41: Demoiselle - Arquitetura

PortalPortal

Page 42: Demoiselle - Arquitetura

TutorialTutorial

Page 43: Demoiselle - Arquitetura

JPA + EJBJPA + EJB

Próximo Vôo...

Page 44: Demoiselle - Arquitetura

Lembram dela?

Page 45: Demoiselle - Arquitetura

+1 Desenvolvedora Java/Web Feliz

Page 46: Demoiselle - Arquitetura

Serge [email protected]

twitter.com/serge_rehem

Obrigado!Obrigado!

Mário [email protected]/mariotcosta

www.frameworkdemoiselle.gov.brdemoiselle-users@lists.sourceforge.net

Page 47: Demoiselle - Arquitetura

ReferênciasReferências

Documentação Técnica do Framework Demoisellehttp://demoiselle.sourceforge.net/

Demoiselle Tutorial – Modulo 01 – Arquiteturahttp://sourceforge.net/docman/display_doc.php?docid=179204&group_id=247200