Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Arquitetura Java em 2007

   http://www.caelum.com.br

  http://blog.fragmental.com.br
Quem?
Phillip Calçado “Shoes” Paulo Silveira
    Arquiteto               Arquiteto
●                       ●



    Membro...
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 DISTRIBUA
    SEUS OBJETOS!
|Cache sem replicação
Modelando
  Objetos
|Arquitetura Orientada a...

   BO
        Business Object

   LO
        Layer Object

   VO    Value Object
Função
Dados
Função
  Dados




usuario.h   usuario.c
Objeto



                      Função
  Dados




usuario.h            usuario.c
Objeto
   Usuario




Usuario.java
ContaBean                ContaFacade




public void setSaldo       public void deposita
  (double valor)           (int c...
Entity
Conta

         public void deposita
                  (double valor) {
           this.saldo += valor;
         }
...
|Domain-Driven Design

Fornecedor f = ...;
List<Conta> contas = dao.listaContasDoFornecedor(fornecedor, 1999);
for(Conta c...
|Domain-Specific Languages
Set<Strategy> strategies = new HashSet<Strategy>();
Indicator<Double> close = new
ClosePriceInd...
MDD = DDD & DSL & ...
Arquitetura de


   Serviços
|SOA

       SOAP
         +
       WSDL
         +
       UDDI
|SOA




              ?
       SOAP
         +
       WSDL
         +
       UDDI
|SOA Alternativo

   FTP
 ●

 ● Puro texto

 ● JSON

 ● XML (POX)

 ● SOAP

 ● Mashups

 ● CORBA, DCOM, CBD...




      S...
|SOA Alternativo - Flickr

     <?xml version=quot;1.0quot; encoding=quot;utf-8quot; ?>
     <rsp stat=quot;okquot;>
     ...
Arquiteturas
de
Referência
|Concluindo

        Não seja




        Dr. Robotnik
|Referências
    GUJ: http://www.guj.com.br/
●




    Memcached: http://www.danga.com/memcached/
●




    RESTful Web Se...
Obrigado!
Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado
Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado
Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado
Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado
Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado
Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado
Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado
Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado
Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado
Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado
Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado
Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado
Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado
Upcoming SlideShare
Loading in …5
×

Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado

4,720 views

Published on

Published in: Technology
  • Be the first to comment

Justjava 2007 Arquitetura Java EE Paulo Silveira, Phillip Calçado

  1. 1. Arquitetura Java em 2007 http://www.caelum.com.br http://blog.fragmental.com.br
  2. 2. Quem? Phillip Calçado “Shoes” Paulo Silveira Arquiteto Arquiteto ● ● Membro IASA Fundador do GUJ ● ● Coordenador Consultor Caelum ● ● Globo.com Mestre em CC ● RioJUG Leader ● Coordenador GUJ ●
  3. 3. Lembra?
  4. 4. Distribuindo Objetos
  5. 5. |Cluster?
  6. 6. |Cluster?
  7. 7. |Cluster?
  8. 8. |Cluster?
  9. 9. |Cache Replicado?
  10. 10. |Cache Replicado?
  11. 11. |Cache Replicado?
  12. 12. |Cache Replicado?
  13. 13. |Cache Replicado?
  14. 14. |Cache Replicado?
  15. 15. |Cache Replicado? (na verdade)
  16. 16. |Cache Replicado? (na verdade)
  17. 17. |Cache Replicado? (na verdade)
  18. 18. |Cache Replicado? (na verdade)
  19. 19. Distribuindo Objetos? 1a Lei de Fowler Sobre Objetos Distribuídos: NÃO DISTRIBUA SEUS OBJETOS!
  20. 20. |Cache sem replicação
  21. 21. Modelando Objetos
  22. 22. |Arquitetura Orientada a... BO Business Object LO Layer Object VO Value Object
  23. 23. Função Dados
  24. 24. Função Dados usuario.h usuario.c
  25. 25. Objeto Função Dados usuario.h usuario.c
  26. 26. Objeto Usuario Usuario.java
  27. 27. ContaBean ContaFacade public void setSaldo public void deposita (double valor) (int codigo, double valor){ public double getSaldo() //... }
  28. 28. Entity Conta public void deposita (double valor) { this.saldo += valor; } SessionBean? DTO?
  29. 29. |Domain-Driven Design 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(); }
  30. 30. |Domain-Specific Languages 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)) }
  31. 31. MDD = DDD & DSL & ...
  32. 32. Arquitetura de Serviços
  33. 33. |SOA SOAP + WSDL + UDDI
  34. 34. |SOA ? SOAP + WSDL + UDDI
  35. 35. |SOA Alternativo FTP ● ● Puro texto ● JSON ● XML (POX) ● SOAP ● Mashups ● CORBA, DCOM, CBD... Same Old Architecture
  36. 36. |SOA Alternativo - Flickr <?xml version=quot;1.0quot; encoding=quot;utf-8quot; ?> <rsp stat=quot;okquot;> <photos page=quot;1quot; pages=quot;5quot; perpage=quot;100quot; total=quot;500quot;> <photo id=quot;1474037512quot; title=quot;Day 344quot; /> <photo id=quot;1471794015quot; title=quot;Just Surfingquot; /> <photo id=quot;1471516469quot; title=quot;New Banksy piece! /> </photos> </rsp> http://api.flickr.com/services/rest/?method=flickr.interestingness.getList
  37. 37. Arquiteturas de Referência
  38. 38. |Concluindo Não seja Dr. Robotnik
  39. 39. |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!'
  40. 40. Obrigado!

×