Inspeção de Aplicações Java através da Identificação de Padrões ...
Arquitetura de aplicações Web 2.0 em Java
-
Upload
breno-vitorino -
Category
Technology
-
view
3.513 -
download
1
Transcript of Arquitetura de aplicações Web 2.0 em Java
![Page 1: Arquitetura de aplicações Web 2.0 em Java](https://reader035.fdocument.pub/reader035/viewer/2022062419/559c5e6e1a28abe63d8b45c9/html5/thumbnails/1.jpg)
Arquitetura de
aplicações Web 2.0 em
Java
BRENO AUGUSTO DIAS VITORINO
http://www.websemlimites.com.br/
I WEB SEM LIMITES
12 e 13 de dezembro de 2008
![Page 2: Arquitetura de aplicações Web 2.0 em Java](https://reader035.fdocument.pub/reader035/viewer/2022062419/559c5e6e1a28abe63d8b45c9/html5/thumbnails/2.jpg)
Definição Web 2.0
“Web 2.0 é uma revolução de negócios na indústria
de computadores provocada pela mudança da
Internet como plataforma e pelas tentativas de
entender as regras para o sucesso nessa nova
plataforma”
Tim O'Reilly, criador do termo
![Page 3: Arquitetura de aplicações Web 2.0 em Java](https://reader035.fdocument.pub/reader035/viewer/2022062419/559c5e6e1a28abe63d8b45c9/html5/thumbnails/3.jpg)
Princípios Web 2.0
Informação é tudo!
Ambiente colaborativo
![Page 4: Arquitetura de aplicações Web 2.0 em Java](https://reader035.fdocument.pub/reader035/viewer/2022062419/559c5e6e1a28abe63d8b45c9/html5/thumbnails/4.jpg)
Princípios Web 2.0
Poder para as pessoas!
Fonte: http://www.benderblog.com/2007/09/13/o-senado-tambem-e-a-nossa-vergonha-nacional/
![Page 5: Arquitetura de aplicações Web 2.0 em Java](https://reader035.fdocument.pub/reader035/viewer/2022062419/559c5e6e1a28abe63d8b45c9/html5/thumbnails/5.jpg)
Princípios Web 2.0
Interfaces amigáveis
Conteúdo multimídia
![Page 6: Arquitetura de aplicações Web 2.0 em Java](https://reader035.fdocument.pub/reader035/viewer/2022062419/559c5e6e1a28abe63d8b45c9/html5/thumbnails/6.jpg)
Folksonomy: categorização pública
![Page 7: Arquitetura de aplicações Web 2.0 em Java](https://reader035.fdocument.pub/reader035/viewer/2022062419/559c5e6e1a28abe63d8b45c9/html5/thumbnails/7.jpg)
Para onde vamos?
![Page 8: Arquitetura de aplicações Web 2.0 em Java](https://reader035.fdocument.pub/reader035/viewer/2022062419/559c5e6e1a28abe63d8b45c9/html5/thumbnails/8.jpg)
Arquitetura Web
• Conceito: definição dos componentes de software de uma aplicação, suas propriedades e relações.
• Pontos analisados:• Pontos analisados:1. Degradação suave2. Composição de serviços3. Componentes sem estado4. AJAX
![Page 9: Arquitetura de aplicações Web 2.0 em Java](https://reader035.fdocument.pub/reader035/viewer/2022062419/559c5e6e1a28abe63d8b45c9/html5/thumbnails/9.jpg)
1. Degradação suave (graceful degradation)
• 2 tipos de degradação:
• No lado do cliente (Javascript, HTML, etc.)
• No lado do servidor (Java)
![Page 10: Arquitetura de aplicações Web 2.0 em Java](https://reader035.fdocument.pub/reader035/viewer/2022062419/559c5e6e1a28abe63d8b45c9/html5/thumbnails/10.jpg)
Cluster: Configuração no Tomcat<Cluster
className="org.apache.catalina.ha.tcp.SimpleTcpCluster"channelSendOptions="8">
<ManagerclassName="org.apache.catalina.ha \
session.DeltaManager"expireSessionsOnShutdown="false"expireSessionsOnShutdown="false"notifyListenersOnReplication="true"/>
<Channel className="org.apache.catalina.tribes \
.group.GroupChannel"><Membership
className="org.apache.catalina.tribes.membership.McastService"
address="228.0.0.4"port="45564"frequency="500"dropTime="3000" />
![Page 11: Arquitetura de aplicações Web 2.0 em Java](https://reader035.fdocument.pub/reader035/viewer/2022062419/559c5e6e1a28abe63d8b45c9/html5/thumbnails/11.jpg)
2. Composição de serviços
• Serviço Web (Web service): são um conjunto de APIs
chamadas via mensagens sobre HTTP, na Internet.
• Exemplo (JAX-WS):
@WebMethod(operationName = "executeSale")
public SaleResponseTO executeSale(
@WebParam(name = "saleRequest") SaleRequestTO saleRequest, @WebParam(name = "terminal") TerminalTO terminal)
throws AuthorizationFault
![Page 12: Arquitetura de aplicações Web 2.0 em Java](https://reader035.fdocument.pub/reader035/viewer/2022062419/559c5e6e1a28abe63d8b45c9/html5/thumbnails/12.jpg)
Exemplo de composição de serviços
• Duwamish Delivery: entrega internacional de mercadorias
• Contoso Mobile: mensagens SMS
• Fabrikam: monitora o estado de entrega das mercadorias
• Adventure Works: varejo
Fonte: http://www.msarchitecturejournal.com/pdf/Journal17.pdf
![Page 13: Arquitetura de aplicações Web 2.0 em Java](https://reader035.fdocument.pub/reader035/viewer/2022062419/559c5e6e1a28abe63d8b45c9/html5/thumbnails/13.jpg)
3. Componentes sem estado• eBay's Architecture Principles (http://www.se-
radio.net/podcast/2008-09/episode-109-ebay039s-architecture-
principles-randy-shoup)
• Cada componente de software
(item, transação, cliente) não possui estado, para (item, transação, cliente) não possui estado, para que o sistema possa ser escalável.
• Lições:
• Sem HttpSession
• Sem Java EE
• Sem JTA (transação distribuída)
![Page 14: Arquitetura de aplicações Web 2.0 em Java](https://reader035.fdocument.pub/reader035/viewer/2022062419/559c5e6e1a28abe63d8b45c9/html5/thumbnails/14.jpg)
Arquitetura utilizada em outros sites
Fonte: Why most large-scale Web sites are not written in Java (http://natishalom.typepad.com/nati_shaloms_blog/2007/10/why-most-
scalab.html)
![Page 15: Arquitetura de aplicações Web 2.0 em Java](https://reader035.fdocument.pub/reader035/viewer/2022062419/559c5e6e1a28abe63d8b45c9/html5/thumbnails/15.jpg)
4. AJAX• Recuperar dados do servidor de forma
assíncrona, sem a necessidade de refresh da
página.
![Page 16: Arquitetura de aplicações Web 2.0 em Java](https://reader035.fdocument.pub/reader035/viewer/2022062419/559c5e6e1a28abe63d8b45c9/html5/thumbnails/16.jpg)
Arcabouços para AJAX em Java
Google Web Toolkit
Direct Web Remoting
![Page 17: Arquitetura de aplicações Web 2.0 em Java](https://reader035.fdocument.pub/reader035/viewer/2022062419/559c5e6e1a28abe63d8b45c9/html5/thumbnails/17.jpg)
Conclusão
Precisamos de
pessoal
talentoso e
atualizado para atualizado para
construir as
aplicações Web,
não code
monkeys.
![Page 18: Arquitetura de aplicações Web 2.0 em Java](https://reader035.fdocument.pub/reader035/viewer/2022062419/559c5e6e1a28abe63d8b45c9/html5/thumbnails/18.jpg)
Obrigado!
Contato: http://brenovitorino.wordpress.com