![Page 1: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/1.jpg)
Arquitetura Java em 2007
http://www.caelum.com.br
http://blog.fragmental.com.br
![Page 2: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/2.jpg)
Quem?
Phillip Calçado “Shoes”● Arquiteto● Membro IASA● Coordenador
Globo.com● RioJUG Leader● Coordenador GUJ
Paulo Silveira● Arquiteto● Fundador do GUJ● Consultor Caelum● Mestre em CC
![Page 3: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/3.jpg)
Lembra?
![Page 4: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/4.jpg)
![Page 5: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/5.jpg)
![Page 6: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/6.jpg)
![Page 7: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/7.jpg)
![Page 8: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/8.jpg)
![Page 9: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/9.jpg)
![Page 10: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/10.jpg)
![Page 11: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/11.jpg)
![Page 12: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/12.jpg)
![Page 13: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/13.jpg)
![Page 14: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/14.jpg)
![Page 15: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/15.jpg)
Distribuindo Objetos
![Page 16: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/16.jpg)
|Cluster?
![Page 17: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/17.jpg)
|Cluster?
![Page 18: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/18.jpg)
|Cluster?
![Page 19: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/19.jpg)
|Cluster?
![Page 20: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/20.jpg)
|Cache Replicado?
![Page 21: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/21.jpg)
|Cache Replicado?
![Page 22: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/22.jpg)
|Cache Replicado?
![Page 23: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/23.jpg)
|Cache Replicado?
![Page 24: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/24.jpg)
|Cache Replicado?
![Page 25: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/25.jpg)
|Cache Replicado?
![Page 26: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/26.jpg)
|Cache Replicado? (na verdade)
![Page 27: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/27.jpg)
|Cache Replicado? (na verdade)
![Page 28: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/28.jpg)
|Cache Replicado? (na verdade)
![Page 29: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/29.jpg)
|Cache Replicado? (na verdade)
![Page 30: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/30.jpg)
Distribuindo Objetos?
1a Lei de Fowler Sobre Objetos Distribuídos:
NÃO DISTRIBUASEUS OBJETOS!
![Page 31: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/31.jpg)
|Cache sem replicação
![Page 32: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/32.jpg)
Modelando Objetos
![Page 33: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/33.jpg)
BO
LO
VO
Business Object
Layer Object
Value Object
|Arquitetura Orientada a...
![Page 34: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/34.jpg)
Dados Função
![Page 35: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/35.jpg)
Dados Função
usuario.h usuario.c
![Page 36: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/36.jpg)
Dados Função
usuario.h usuario.c
Objeto
![Page 37: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/37.jpg)
Usuario.java
ObjetoUsuario
![Page 38: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/38.jpg)
ContaBean ContaFacade
public void deposita(int codigo, double valor){
//...}
public void setSaldo(double valor)
public double getSaldo()
![Page 39: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/39.jpg)
EntityConta
public void deposita(double valor) {
this.saldo += valor;}
SessionBean?DTO?
![Page 40: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/40.jpg)
Fornecedor f = ...;List<Conta> contas = dao.listaContasDoFornecedor(fornecedor, 1999);for(Conta conta : contas) {
PrintStream stream = new PrintStream(conta.getNome());stream.println(conta.getValor());
}
Fornecedor f = ...;for(Conta conta : fornecedor.getContasDesde(1999)) {
conta.geraRelatorio();}
|Domain-Driven Design
![Page 41: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/41.jpg)
Set<Strategy> strategies = new HashSet<Strategy>();Indicator<Double> close = new ClosePriceIndicator(timeSeries);for (int i = 1; i <= 50; i++) { Indicator<Double> tracker = new EMAIndicator(close, i); Strategy strategy = new IndicatorCrossedIndicatorStrategy(close, tracker); strategies.add(strategy);}
JRuby:(1..50).paraCada{|x|
cruza(fechamento, media(x))}
|Domain-Specific Languages
![Page 42: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/42.jpg)
MDD = DDD & DSL & ...
![Page 43: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/43.jpg)
Arquitetura de
Serviços
![Page 44: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/44.jpg)
SOAP +
WSDL +
UDDI
|SOA
![Page 45: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/45.jpg)
SOAP +
WSDL +
UDDI?
|SOA
![Page 46: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/46.jpg)
● FTP● Puro texto● JSON● XML (POX)● SOAP● Mashups● CORBA, DCOM, CBD...
Same Old Architecture
|SOA Alternativo
![Page 47: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/47.jpg)
![Page 48: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/48.jpg)
<?xml version="1.0" encoding="utf-8" ?><rsp stat="ok">
<photos page="1" pages="5" perpage="100" total="500"><photo id="1474037512" title="Day 344" /><photo id="1471794015" title="Just Surfing" /><photo id="1471516469" title="New Banksy piece! />
</photos></rsp>
http://api.flickr.com/services/rest/?method=flickr.interestingness.getList
|SOA Alternativo - Flickr
![Page 49: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/49.jpg)
ArquiteturasdeReferência
![Page 50: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/50.jpg)
![Page 51: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/51.jpg)
Não seja
Dr. Robotnik
|Concluindo
![Page 52: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/52.jpg)
|Referências● GUJ: http://www.guj.com.br/
● Memcached: http://www.danga.com/memcached/
● RESTful Web Services: http://java.sun.com/developer/technicalArticles/WebServices/restful/
● Domain-Driven Design: http://domaindrivendesign.org/
● Domain-Specific Languages in Java: http://www.nealford.com/mypastconferences.htm
● Domain-Specific Languages Lab: http://fragmental.tw
● Anos 80: http://www.viva80.blogspot.com/
● JSR223: Scripting for the JavaTM Platform: http://jcp.org/en/jsr/detail?id=223
Palestra do Jeveaux sobre JavaScripting 14:30 HOJE!'
![Page 53: Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado](https://reader033.vdocuments.mx/reader033/viewer/2022042607/5585af43d8b42ae3228b5190/html5/thumbnails/53.jpg)
Obrigado!