desenvolvendo aplicações web 2.0 que funcionam eduardo ferreira dos santos...
TRANSCRIPT
Desenvolvendo Aplicações Web 2.0 que Funcionam
Eduardo Ferreira dos Santos
O que é Web 2.0?
• Por que existe a Internet? Por que alguém teria a idéia de conectar todos os computadores do mundo?
• No início, existiam duas categorias de sites: – Publicar o conteúdo na Internet (Web
Publishing): HTML estático;– Aplicações para a Internet (Web Based
Applications).
Web Publishing
• Podem ser chamados de “revistas eletrônicas”;
• Ex.: Catálogo de produtos de uma companhia
• A tecnologia por trás é apenas um detalhe;
• Principal pergunta: por que um usuário acessaria o seu site?
Web Based Applications
• Sites que realizam ações para o usuário;– Ex.: Guardar registros de vacinas e enviar um
e-mail quando a data da vacina chegar;
• Se baseia no desenvolvimento de tecnologias que rodem na Web;
• Principal pergunta: quais ações são possíveis ao usuário quando acessar o site?
Web 2.0
• “Web 2.0 é uma série de aplicações que propiciam e potencializam a formação de redes sociais digitais. Redes sociais são coletivos de pessoas e agentes que interagem direta ou indiretamente entre si e constroem certos padrões recorrentes de relacionamento e comportamento” - Abel Reis
Web 2.0
• Nesse contexto, como desenvolver aplicações para a Internet?
Web 2.0
• Nesse contexto, como desenvolver aplicações para a Internet?
1. Levar em conta a opinião do usuário: Blogs
Web 2.0
• Nesse contexto, como desenvolver aplicações para a Internet?
1. Levar em conta a opinião do usuário: Blogs
2. Levar em conta o conteúdo produzido pelo usuário: Youtube
Web 2.0
• Nesse contexto, como desenvolver aplicações para a Internet?
1. Levar em conta a opinião do usuário: Blogs
2. Levar em conta o conteúdo produzido pelo usuário: Youtube
3. Levar em conta os sites que o usuário visita: del.icio.us
Web 2.0
• Nesse contexto, como desenvolver aplicações para a Internet?
1. Levar em conta a opinião do usuário: Blogs2. Levar em conta o conteúdo produzido pelo
usuário: Youtube3. Levar em conta os sites que o usuário visita:
del.icio.us4. Armazenar tudo isso e vender para os outros:
Web 2.0
• O que ainda não foi feito em termos comerciais?
Web 2.0
• O que ainda não foi feito em termos comerciais?
Utilizar a rede para construir conhecimento
colaborativamente
Web 2.0
• Exemplos existentes:– Wikipédia e Wikis em geral;
Web 2.0
• Exemplos existentes:– Wikipédia e Wikis em geral;– Orkut;
Web 2.0
• Exemplos existentes:– Wikipédia e Wikis em geral;– Orkut;– MySpace;
Web 2.0
• Exemplos existentes:– Wikipédia e Wikis em geral;– Orkut;– MySpace;– Etc etc etc etc etc...
Aplicações Web 2.0
• Qual é a principal vantagem de apenas publicar conteúdo?
Aplicações Web 2.0
• Qual é a principal vantagem de apenas publicar conteúdo?
$$$
Aplicações Web 2.0
• Qual é a principal vantagem de apenas publicar conteúdo?
• Fazer um site estático pode ser praticamente grátis;
• É possível fazer dinheiro com aplicações para a Internet?
Aplicações Web 2.0
• Construindo um modelo de negócios para o seu serviço de Internet:
– O que ele faz?– Quanto custa?– Quanto posso cobrar por isso?– Quem estaria disposto a pagar?
Aplicações Web 2.0
• Aí vem a pergunta de 1 milhão de dólares:
Aplicações Web 2.0
• Aí vem a pergunta de 1 milhão de dólares:
Como desenvolver algo que faça tudo
isso?
• Já existe uma aplicação que faz quase tudo isso: OpenACS
Aplicações Web 2.0
• Foco principal: organizar, desenvolver e gerenciar a informação produzida pelos internautas;
• Prover soluções seguras para tudo isso;
• Reduzir o trabalho humano no processo;
• Agregar o maior número possível de soluções na mesma plataforma.
OpenACS
• Exemplos:– dotLRN como ferramenta para gestão do
conhecimento:• Portal do Software Público Brasileiro;
• Centro de Aprendizagem Trabalho e Inovação em Rede (CATIR)
• Comunidades de Prática da Tecnologia dos Correios (COPTEC)
OpenACS
• Exemplos:– dotLRN como ferramenta de e-learning:
• Universidade Corportativa Alberto Pereira de Castro (UCA)
• Universidade Aberta da Espanha (UNED);
• Consórcio e-lane;
OpenACS
• Exemplos:– LRN@WU:
• Universidade de Vienna na Áustria
OpenACS
• Exemplos:– XoWiki
• Universidade de Vienna na Áustria;
• Integração com Podcasts;
• Gráficos de colaboração;
OpenACS
• Exemplos:– Bug-tracker, Ticket-tracker e Workflow
• Ferramenta para gerência de projetos de software;
• Exemplo de workflow simplificado;
• Possibilidade de gerência da agenda de trabalho;
• Gerência de tickets;
• Possibilidades de implementação.
OpenACS
• Exemplos:– ]Project Open[
• Módulo ERP (Enterprise Resource Planning) do OpenACS;
• Objetivos: administração dos custos e colaboração entre os membros da equipe;
• Wiki e chat integrados;
• Módulo de workflow específico;
• Gerência de “papéis” na empresa.
OpenACS
OpenACS
• Você pagaria por isso?
OpenACS
• Você pagaria por isso?
• Além de você, quem mais pagaria?
OpenACS
• Como é a estrutura de desenvolvimento da ferramenta?
OpenACS: Estrutura
• Como é a estrutura de desenvolvimento da ferramenta?– XQL query dispatcher: independência do banco
de dados;– Service Contract API
• Reusabilidade de código;• Integração de aplicações;• Extensibilidade de pacotes;
– PostgreSQL
OpenACS: Estrutura
• OpenACS-Core:– Registro e gerenciamento de usuários (Parties
Object System);– Subsites (Community Object System);– Registro e gerenciamento de aplicações (APM);
• Gerenciamento de conteúdo (Content Repository);
• Internacionalização / Localização.
OpenACS: Estrutura
• Modelo MVC:– Independência entre código e design (ATS);– Request Processor;– Cache de queries;– Visualização aprimorada.
OpenACS: Estrutura
• Request Processor
OpenACS: Comunidade
• Como tudo isso é mantido?
OpenACS: Comunidade
• Como tudo isso é mantido?– OCT;– Gerenciamento de código fonte;– TIPs (Technical Improvement Proposals);– Projetos;– Bug-tracking;– Aporte de código (voluntário e comercial).
Referências
• http://philip.greenspun.com/panda/
• http://ultimosegundo.ig.com.br/mundo_virtual/2007/02/28/evento_em_sao_paulo_discute_web_20_696692.html
• www.softwarepublico.gov.br
• www.openacs.org
Contatos
• www.softwarepublico.gov.br