Arquitetura Java em 2007 (Java Architecture in 2007)
-
Upload
phil-calcado -
Category
Technology
-
view
7.863 -
download
2
description
Transcript of Arquitetura Java em 2007 (Java Architecture in 2007)
Arquitetura Java em 2007
http://www.caelum.com.br
http://blog.fragmental.com.br
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
Lembra?
Distribuindo Objetos
|Cluster?
|Cluster?
|Cluster?
|Cluster?
|Cache Replicado?
|Cache Replicado?
|Cache Replicado?
|Cache Replicado?
|Cache Replicado?
|Cache Replicado?
|Cache Replicado? (na verdade)
|Cache Replicado? (na verdade)
|Cache Replicado? (na verdade)
|Cache Replicado? (na verdade)
Distribuindo Objetos?
1a Lei de Fowler Sobre Objetos Distribuídos:
NÃO DISTRIBUASEUS OBJETOS!
|Cache sem replicação
Modelando Objetos
BO
LO
VO
Business Object
Layer Object
Value Object
|Arquitetura Orientada a...
Dados Função
Dados Função
usuario.h usuario.c
Dados Função
usuario.h usuario.c
Objeto
Usuario.java
ObjetoUsuario
ContaBean ContaFacade
public void deposita(int codigo, double valor){
//...}
public void setSaldo(double valor)
public double getSaldo()
EntityConta
public void deposita(double valor) {
this.saldo += valor;}
SessionBean?DTO?
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
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
MDD = DDD & DSL & ...
Arquitetura de
Serviços
SOAP +
WSDL +
UDDI
|SOA
SOAP +
WSDL +
UDDI?
|SOA
● FTP● Puro texto● JSON● XML (POX)● SOAP● Mashups● CORBA, DCOM, CBD...
Same Old Architecture
|SOA Alternativo
<?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
ArquiteturasdeReferência
Não seja
Dr. Robotnik
|Concluindo
|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!'
Obrigado!