Arquitetura de aplicações Web 2.0 em Java - Presentation Transcript
Arquitetura de
aplicações Web 2.0 em
Java
I WEB SEM LIMITES
12 e 13 de dezembro de 2008
BRENO AUGUSTO DIAS VITORINO
brenovit@gmail.com
http://www.websemlimites.com.br/
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
Princípios Web 2.0
Informação é tudo!
Ambiente colaborativo
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/
Princípios Web 2.0
Interfaces amigáveis
Conteúdo multimídia
Folksonomy: categorização pública
Para onde vamos?
Arquitetura Web
• Conceito: definição dos componentes de
software de uma aplicação, suas
propriedades e relações.
• Pontos analisados:
1. Degradação suave
2. Composição de serviços
3. Componentes sem estado
4. AJAX
1. Degradação suave (graceful degradation)
• 2 tipos de degradação:
• No lado do cliente (Javascript, HTML, etc.)
• No lado do servidor (Java)
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
Exemplo de composição de serviços
Fonte: http://www.msarchitecturejournal.com/pdf/Journal17.pdf
• Duwamish Delivery: entrega internacional de mercadorias
• Contoso Mobile: mensagens SMS
• Fabrikam: monitora o estado de entrega das mercadorias
• Adventure Works: varejo
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
que o sistema possa ser escalável.
• Lições:
• Sem HttpSession
• Sem Java EE
• Sem JTA (transação distribuída)
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)
4. AJAX
• Recuperar dados do servidor de forma
assíncrona, sem a necessidade de refresh da
página.
Arcabouços para AJAX em Java
Google Web Toolkit
Direct Web Remoting
Conclusão
Precisamos de
pessoal
talentoso e
atualizado para
construir as
aplicações Web,
não code
monkeys.
0 comments
Post a comment