Desenvolvendo Aplicações Web 2.0 que Funcionam Eduardo Ferreira dos Santos...
Transcript of Desenvolvendo Aplicações Web 2.0 que Funcionam Eduardo Ferreira dos Santos...
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