SlideShare uma empresa Scribd logo
1 de 52
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 1 / 52 IME / USP
Introdução ao Desenvolvimento
para Web
MAC0416 e MAC5855
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa
gerosa@ime.usp.br
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 2 / 52 IME / USP
Histórico
• Ted Nelson concebe o hipertexto (1963)
• Douglas Engelbart desenvolve o primeiro sistema de hipertexto
(1966)
• Surgimento da Web – Tim Berners-Lee (CERN - European
Organization for Nuclear Research/Suiça) (1990/1991)
• A CERN anuncia que a Web iria ser aberta e gratuita para todos.
Como o protocolo do Gopher deixou de ser gratuito, ocorreu rápida
migração para tecnologia Web (1993)
• Surgimento do Mosaic – navegador Web (1993)
• Estabelecimento do W3C (World Wide Web Consortium) (1994)
• Netscape 1.0 primeiro browser comercial (Final de 1994)
• O tráfego de Web na rede supera o de outros protocolos, como
Telnet e FTP (1995)
• Lançamento do Microsoft Internet Explorer (1995)
• Liberação do código do Netscape Navigator (1998)
• Estouro da Bolha Dot Com (2001)
• Popularização da banda larga
• Surgimento do termo Web 2.0 (O’Reilly Media) (2003)
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 3 / 52 IME / USP
História da Web dinâmica
http://royal.pingdom.com/2007/12/07/a-history-of-the-dynamic-web/
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 4 / 52 IME / USP
Evolução da tecnologia
• Processamento de dados
Sistemas de Informação
Sistemas de comunicação
• Douglas Engelbart [1968] já
previu
• Software hoje é social.
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 5 / 52 IME / USP
As gigantes estão atentas
“Rapid prototyping”
“Social interactions”
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 6 / 52 IME / USP
As gigantes estão atentas
“methods for harvesting the collective intelligence of groups of people”
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 7 / 52 IME / USP
As gigantes estão atentas
“Humans are fundamentally social creatures.”
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 8 / 52 IME / USP
As gigantes estão atentas
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 9 / 52 IME / USP
Google
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 10 / 52 IME / USP
Evolução da Web
• Hoje a Web é a plataforma padrão para execução de sistemas
• Web Estática => Web Dinâmica => Web colaborativa!
• Web 1.0 (read-only) x Web 2.0 (read-write)
• Conteúdo criado por empresas e anunciantes (comunicação
um-para-vários) => Conteúdo gerado, organizado, mesclado,
criticado e atualizado por usuários organizados em
comunidades e redes sociais (comunicação todos-todos)
– Ex: MySpace, Flickr, YouTube, Wikipedia etc. Os sites são plataformas
sem conteúdo que são alimentadas pelos usuários
• Junção de informação, funcionalidade e colaboração
• Wikis, blogs, redes sociais, online games, feeds etc.
• A Web 2.0 não é uma revolução técnica, mas sim na forma
como é encarada por usuários e desenvolvedores.
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 11 / 52 IME / USP
A Nova Economia da Web (Enterprise 2.0)
• Modelo de negócio leve
• Cenário de competição global
• Rapidez na disseminação de informações
• Potencial de rápida ascensão
• Alta necessidade de escalabilidade
• Baseada em software livre – menor custo e maior velocidade para iniciar um
negócio e implantar uma idéia
• Menor necessidade de investimento (pequena porcentagem do custo para
desenvolver e manter um site se comparado com a década de 90)
• Mercado para itens que não representam sucesso de vendas (grande
quantidade de itens com baixo volume de vendas x pouca quantidade de itens
com alto volume de vendas)
– [Anderson, C. “The long tail: why the future of business os selling less of more. Hyperion, 2006]
• Aumento de exposição de produtos menos conhecidos
• Integração de serviços (Mashups)
• O valor de um site está na sua quantidade de usuários e em seu banco de
dados
• Economia da atenção
– “O problema não é a banda larga das telecomunicações, mas sim a banda larga humana”, Davenport & Beck
em “The attention economy”
– Volume abundante de fontes de informações e tempo limitado
– Necessidade de localizar e filtrar informações rapidamente
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 12 / 52 IME / USP
A nova Web
• “The new Web is a very different thing. It's a tool for bringing together
the small contributions of millions of people and making them matter.
Silicon Valley consultants call it Web 2.0, as if it were a new version
of some old software. But it's really a revolution. (...) We're looking at
an explosion of productivity and innovation, and it's just getting
started, as millions of minds that would otherwise have drowned in
obscurity get backhauled into the global intellectual economy. ”
– “Time's Person of the Year: You”
http://www.time.com/time/magazine/article/0,9171,1569514,00.html
• A comunidade discute tópicos, constrói ambientes tri-dimensionais,
revisão livros, gravam podcasts, comentas assuntos em blogs,
gravam e compartilham vídeos, colocam tags em produtos,
contribuem para projetos open source etc.
• Os sites se tornam melhores à medida que mais pessoas usam
– Lei de Metcalfe – o valor da rede é proporcional ao quadrado do número de
usuários (http://pt.wikipedia.org/wiki/Lei_de_Metcalfe)
– Exs: eBay, Amazon, redes sociais, sistemas de mensagem
– Massa crítica de utilização
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 13 / 52 IME / USP
Inteligência Coletiva
• Idéias “inteligentes” e informações úteis podem emergir da
colaboração
• Uso de informações produzidas socialmente direta ou indiretamente
(número de links para uma página, compras similares, votos,
comentários etc.)
• Tagging, filtros colaborativos, sistemas de recomendação, sistemas
de reputação, feeds etc.
• Goldcorp inc., empresa de extração de ouro, liberou suas
informações geológicas e ofereceu prêmios para quem ajudasse a
empresa a usar estas informações para localizar ouro no solo. A
comunidade ajudou a localizar 225 toneladas de ouro, aumentando
em 90x o valor das ações da empresa.
• O algoritmo PageRank da Google, os sistemas de recomendações
da Amazon e do Last.fm, e os sistemas de reputação do eBay e
MercadoLivre, a Wikipedia são produtos da inteligência coletiva
• O livro “Wisdom of crowds” sugere que um grupo grande de
pessoas, não necessariamente especialistas, pode ser mais
inteligente que um pequeno grupo de especialistas.
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 14 / 52 IME / USP
Exemplos de sistemas da Web 2.0
• Netfix (locadora de filmes)
– Além dos filmes populares, possui uma grande quantidade de itens “long
tail” – possível visto que possui milhões de clientes e não tem restrições
de espaço físico (lojas)
– Uso da inteligência coletiva (sistema de recomendação)
• CraigsList (classificados)
– Anúncios em jornais vem decaindo
– Conecta as necessidades únicas e às vezes incomuns dos usuários
– Filtragem colaborativa para eliminar anúncios indevidos
• del.icio.us (bookmark social)
– Combina tagging, rede social, conteúdo gerado pelo usuário, sistemas
de recomendação e disponibiliza serviços web
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 15 / 52 IME / USP
Exemplos de sistemas da Web 2.0
Compartilhamento de fotos
Recomendação (o que outros
compraram depois
de ver o produto, produtos
similares)
Tagging
Avaliação do produto
Resenha
Troca de mensagens
Wiki (Amapedia)
Mídia social
Vídeos sendo vistos
Avaliação
Recomendação
Compartilhar em redes sociais
Comentário
Sites com links para o vídeo
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 16 / 52 IME / USP
Aplicações na Web 2.0
• Busca
• Compartilhamento de conteúdo
• Blogging
• Redes Sociais
• Mídia social
• Mashups
• etc.
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 17 / 52 IME / USP
Busca
• Estudo nos EUA [CNNMoney, 16 jul 2007]:
– 8 bilhões de busca por mês
– Google (49,5%), Yahoo! (25,1%), Microsoft (13,2%), Ask (5%), Time
Warner (4,2%)
• Economia da atenção ajuda aos mecanismos de busca ganharem
popularidade
• World Wide Web Wanderer (1993), criado por um estudante do MIT,
foi o primeiro robot que percorria a web
• Excite (Stanford University, 1993) foi o primeiro a utilizar análise
estatística de palavras para melhorar os resultados
• WebCrawler (1994) indexava todo o texto da página
• Lycos (Carnegie Mellon University, 1994) indexava na época mais
de 60 milhões de documentos
• Alta Vista (Digital Equipment Corporation, 1995) possibilitava
pesquisas em linguagem natural, em vários idiomas, tradutor,
recursos avançados e busca em imagens e vídeos
Fonte: http://www.hitwise.com/datacenter/main/dashboard-10133.html
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 18 / 52 IME / USP
Busca
• Yahoo!
– Fundado em 1994 por Jerry Yang e David Filho, estudantes de PHD de Stanford
– Inicialmente era um diretório Web
• Google
– Fundado por Larry Page e Sergey Brin em 1997, quando eram estudantes de PHD na
Stanford University)
– Tão popular que o verbo “to google” foi adicionado ao Oxford English Dictionary”
– O nome vem de googol (10100)
– Sucesso atribuído ao algoritmo PageRank e à infra-estrutura distribuída de servidores
(estima-se mais de 1 milhão de servidores)
• MSN
– Lançado em 1998, a Microsoft atribuiu alta prioridade para tentar alavancar seu serviço de
busca
• Sites de busca vertical (especializados em um assunto), como livros, músicas,
empregos etc.
Leitura adicional:
- Battelle, J. “The search: how Google and its rivals
rewrote the rules of business and transformed our culture”
- Underwood, L. “A brief history of search engines”
http://www.webreference.com/authoring/search_history
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 19 / 52 IME / USP
Conteúdo gerado pelos usuários
• Geração de informação agregada (Amazon.com)
• Bookmark social (del.icio.us, ma.gnolia, StumbleUpon)
• Wikis (Wikipedia, wikis internos em empresas)
• Blogs
– Termo vem de Weblogs que eram utilizados originalmente para postar
sites, com pequenos comentários ou manifestações.
– Se tornou um fenômeno social, facilitando ter um “site pessoal” ou fazer
jornalismo
– Blogs competem com canais de informação tradicionais
– As entradas permitem comentários, que geram debates e discussões
– Jornalistas, executivos e empregados de empresas viraram blogistas
(ex. blogs.sun.com)
– Companhias anunciam suas novidades através de blogs
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 20 / 52 IME / USP
Redes sociais
• Um estudo em 2006 mostrou que 1 em cada 20 visitas na Web
foram a uma das 20 principais redes sociais
– Frindster foi um dos primeiros sites (2002)
– MySpace é uma das redes sociais mais populares
– Facebook (175 milhões) comum principalmente entre os universitários norte-
americados
– LinkedIn (35 milhões) e Xing (7 milhões) mais voltado para contatos profissionais
– Orkut (70 milhões) se tornou predominantemente brasileiro (no Brasil é o
segundo site mais acessado, perdendo apenas para o Google)
– fonte:http://www.alexa.com/site/ds/top_sites?cc=BR&ts_mode=country&lang=non
e
• Um estudo de 2005 mostrava que 85% dos estudantes das
universidades americanas estavam no Facebook e que 60% deles
acessavam o sistema diariamente
• Second Life – Ambiente 3D
• DodgeBall – Mobile Social Software
• Gaia Online – Rede social voltada para games
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 21 / 52 IME / USP
Redes sociais
Fonte: http://www.hitwise.com/datacenter/main/dashboard-10133.html
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 22 / 52 IME / USP
Redes Sociais
http://www.orkut.com.br/Main#MembersAll.aspx
* Em 2008, o Orkut passou para a Google Brasil
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 23 / 52 IME / USP
Redes Sociais
• Algumas estatísticas do Facebook:
http://static.ak.facebook.com/press/info.php?statistics
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 24 / 52 IME / USP
Mídia Social
• Compartilhamento de filmes, fotos, música, notícias etc.
• Impulsionado pela larga disponibilidade de dispositivos
multimídia, como WebCams, telefones celulares, câmeras
digitais etc.
• YouTube (lançado no final de 2005) e menos de um ano
depois adquirido pela Google por 1,6 bilhões de dólares
• Digg – possibilita os usuários “cavar” ou “enterrar” notícias
• Flickr – compartilhamento de fotos
• Last.fm – Site de rádio com comunidades e recomendações
• Podcasting – áudios acessados através dos feeds RSS
• Potencial de sucesso imediato de algo dado o efeito viral de
disseminação
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 25 / 52 IME / USP
RIA (Rich Internet Application)
• Ajax (Asynchronous JavaScript and XML)
• Dojo – componentes JavaScript
• Flex – framework RIA para aplicações Flash
• JavaFX – Produto da Sun para competir com o Flex e o
Silverlight
• Script.aculo.us – biblioteca para criação de efeitos visuais
• JSF – componentes de interface em Java
• ASP.Net Ajax
• Adobe Integrated Runtime e Google Gears possibilita utilizar
aplicações Web mesmo desconectado
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 26 / 52 IME / USP
Interoperabilidade e integração
• Web Services
• API (Application Programming Interface)
– eBay, Amazon, Google, Yahoo!, Flickr etc.
• Mashups
– Combinação de serviços web, sites e RSS feeds
• www.programmableweb.com
• Exemplos
– www.chicagocrime.com – combina Google Maps e dados sobre crimes
do Citizen ICAM
– www.feedmashr.com – combina dados de várias fontes para criar uma
listagem das histórias mais populares
– www.secretprices.com – combina Amazon, Epinions.com e
Shopping.com para comparar preços
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 27 / 52 IME / USP
Widgets e Gadgets
• Componentes de interface – São pequenas aplicações que
rodam em uma plataforma específica (Web ou desktop)
• http://www.widgipedia.com
• Podem valer-se das APIs e serviços web para favorecer a
integração de sistemas
• Programadores casuais para plataformas sociais
• Zembly
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 28 / 52 IME / USP
Programadores casuais
• Não se identificam como engenheiros
• Maioria composta de estudantes menores do que 30
• Muitas vezes são usuários avançados de tecnologia
– Tem computador, banda larga, celular de ponta, blog, mensageiro, perfil em rede
social etc.
• Tem visões personalizadas do mundo, muitas idéias e não são
presos a vícios e tradições da área
• Massa muito grande de programadores casuais e canal de
distribuição viral que pode atingir milhões de pessoas
– Exemplo: iLife (widget do Facebook) lançado em 24 de maio de 2007
– 24 horas depois – 180 mil usuários
– 2 semanas depois 680 mil usuários
– 3 semanas depois 2 milhões de usuários (fonte Fast, T. Slides Java One 2008)
• Grande potencial de criatividade e inovação
• Agregação de serviços (desenvolvimento baseado em componentes)
• Software se torna plataforma para construção de aplicativos
– As aplicações enriquecem a plataforma
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 29 / 52 IME / USP
Aplicativos no Facebook
• 57 mil aplicativos, 200 mil desenvolvedores.
• Os aplicativos foram usados 34 milhões de vezes nas últimas
24h
• Fonte: http://adonomics.com/
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 30 / 52 IME / USP
Espectro de aplicações
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 31 / 52 IME / USP
Força de trabalho
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 32 / 52 IME / USP
Outros Serviços
• Serviços baseados em localização
– Sistemas baseados em GPS e dispositivos móveis
– Serviços de mapeamento (Google Maps, Google Warth, MapQuest etc.)
– Com o uso de APIs estes serviços estão sendo mesclados às aplicações
• VoIP
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 33 / 52 IME / USP
Aplicação desktop x Web
Desktop Web
Saída do programa Impressão direta na tela Renderizada em um
navegador
Arquitetura Centralizada Cliente-Servidor
Portabilidade Sistemas operacionais Navegadores (Internet
Explorer, Firefox, Chrome,
Opera, Safari etc.) e suas
múltiplas versões
Abrangência limitadas à estação de
trabalho ou a uma rede
local de computadores
Acessos providentes de
qualquer lugar
Interação Monousuário Colaborativa
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 34 / 52 IME / USP
Tecnologias
• Lado Cliente
– JavaScript
– Java (applets)
– Adobe Flash
– Adobe Flex
• Lado Servidor
– Java (servets)
– Porlets
– ASP.Net
– PHP
– Ruby on Rails
– Python
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 35 / 52 IME / USP
Qual linguagem usar?
• Perl
• Python
• PHP
• ColdFusion
• ASP e ASP.NET
• Java e JSP
• Lasso
• Ruby on Rails
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 36 / 52 IME / USP
Metodologia
• KIS (Keep it simple; keep it small)
– 37signals (empresa que desenvolveu aplicações colaborativas para Web
2.0 como Basecamp, Campfire, Backpack, Writeboard e Ta-da List e o
framework Ruby on Rails): “We’re a privately-held Chicago-based
company committed to building the best web-based software products
possible with the least number of features necessary. Our products do
less than the competition — intentionally.”
http://gettingreal.37signals.com
• Software as a Service (SaaS)
– Aplicativos da Google, Microsoft
Office Live
• Beta perpétuo e desenvolvimento
ágil
• Open source
http://pt.wikipedia.org/wiki/Orkut
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 37 / 52 IME / USP
Cloud computing
• Plataform as a Service (PaaS)
• A infra-estrutura é oferecida como serviço
• Baseada em virtualização
• Grandes vantagens são a escalabilidade, redução de custo,
disponibilidade
• Permite ajustar a capacidade de processamento para cima ou
para baixo e o valor pago é o que é realmente usado
• Vídeo explicativo sobre Cloud Computing -
http://videos.techielife.com/what-is-cloud-computing/video-
online/2008/11/13
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 38 / 52 IME / USP
Exemplo de Cloud Computing
• Amazon Elastic Compute Cloud (Amazon EC2)
• Para utilizar:
– Cria-se uma Amazon Machine Image (AMI) ou utiliza-se um dos templates pré-
configurados e faz o upload para a Amazon
– Utiliza-se os web services ou as ferramentas para configurar segurança, firewall,
iniciar, parar e monitorar instâncias de servidores
– Pode-se posicionar instâncias em múltiplas localizações (atualmente EUA e
Europa)
– O serviço é tarifado por horas de instância e volume de transferência
• A própria aplicação pode escalar automaticamente
• Cada instância pode ser remotamente acessada como administrador
• Exemplos de instâncias:
– Small Instance (Default) 1.7 GB of memory, 1 EC2 Compute Unit (1 virtual core
with 1 EC2 Compute Unit), 160 GB of instance storage, 32-bit platform
– Large Instance 7.5 GB of memory, 4 EC2 Compute Units (2 virtual cores with 2
EC2 Compute Units each), 850 GB of instance storage, 64-bit platform
– High-CPU Medium Instance 1.7 GB of memory, 5 EC2 Compute Units (2 virtual
cores with 2.5 EC2 Compute Units each), 350 GB of instance storage, 32-bit
platform
• EC2 Compute Unit (ECU) – One EC2 Compute Unit (ECU) provides the
equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor.
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 39 / 52 IME / USP
Exemplo de Cloud Computing
• Sistemas operacionais disponíveis:
• Red Hat Enterprise Linux , Windows Server 2003, Oracle Enterprise
Linux, OpenSolaris, openSUSE Linux, Ubuntu Linux, Fedora, Gentoo
Linux, Debian
• Aplicativos disponíveis:
• Banco de dados (Oracle, SQL Server, MySQL etc.), Web Server
(Apache, JBoss, IIS), Vídeo encoding e streaming (Wowza Media Server
Pro, Windows Media Server) etc.
• Tarifação
Fonte: http://aws.amazon.com/ec2
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 40 / 52 IME / USP
Outros serviços da Amazon
• Amazon Simple Storage Service (S3)
– Provê um banco de dados acessível via Web Services
• Amazon Simple Queue Service (SQS)
– Implementa uma fila de requisições. Facilita a implementação de sistemas distribuídos ($0.01
per 10,000 Amazon SQS Requests)
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 41 / 52 IME / USP
Distribuição de tarefas
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 42 / 52 IME / USP
O futuro da Web
• Lei de Moore (1965) – O poder do hardware dobra a cada dois anos,
enquanto o preço permanece o mesmo.
• Web Semântica
– RDF (Resource Description Framework) – padronizado pelo W3C. Representa
triplas do tipo X vinculante Y
– O projeto DBPedia.org visa codificar as informações presentes na Wikipedia. Já
conta com informações sobre 2,6 milhões de objetos conectadas em 274 milhões
de triplas possilitando queries semânticas
– OWL (Web Ontology Language) descreve ontologias
• Sistemas inteligentes
• Integração de mídias (texto, imagem, animação, vídeo, áudio,
ambiente 3D etc.) e dispositivos (Computador, Smart Phone, TV etc.)
• Microformatos
– Padronizam blocos de informações (exemplo: cartão pessoal, currículo, evento,
endereço, bookmarks etc.
– http://microformats.org/wiki/Main_Page
• Linguagens dinâmicas e DSL
• Rich Internet Application
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 43 / 52 IME / USP
Mais informações
• O’Reilly Media Web 2.0 Summit
• http://www.deitel.com/ResourceCenters/ResourceCenterList/ta
bid/56/Default.aspx
• http://web2.socialcomputingmagazine.com/
• http://www.techcrunch.com/2006/08/08/web-20-the-24-minute-
documentary/
• Deitel, P.J. & Deitel, H.M. (2008), Ajax, Rich Internet
Applications e Desenvolvimento Web para Programadores.
OBS: O primeiro capítulo está disponível em
http://www.deitel.com/Web2eBook/tabid/2478/Default.aspx
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 44 / 52 IME / USP
A Disciplina
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 45 / 52 IME / USP
A disciplina
• Unidades:
– Introdução ao Desenvolvimento Web
– Tecnologias para o Desenvolvimento Web
– Inteligência Coletiva e Web 2.0
• Perfil do aluno:
– Alunos de graduação (fim de curso) e pós-graduação em ciência da
computação
• São desejáveis conhecimento de orientação a objetos e Java
• Ter tempo extra-classe para se dedicar às atividades do curso (cerca de 4h
por semana).
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 46 / 52 IME / USP
Metodologia
• Enfoque da disciplina
– Entregar informação aos alunos (pizza delivery) x fazer os alunos aprenderem
• “Escutei e esqueci,
li e entendi,
fiz e aprendi.”
– Implementação
– Várias atividades
• Os alunos são tão ou mais responsáveis que o professor pelo
sucesso do curso
• Atividades em grupo realizadas de forma colaborativa
• Competências a serem exercitadas:
– Pesquisa
– Trabalho em grupo
– Apresentação em público
– Coordenação de equipe de desenvolvimento
– Avaliação e utilização de código produzido por terceiros
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 47 / 52 IME / USP
Os trabalhos
• Trabalho 1 – Implementação de um sistema Web utilizando
tecnologias básicas
• Trabalho 2 – Estudo e implementação no sistema de
tecnologias modernas de desenvolvimento
• Trabalho 3 – Implementação de algoritmos de inteligência
Coletiva e Web 2.0 no sistema.
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 48 / 52 IME / USP
Avaliação
• Graduação:
– Nota_Trabs = 0.2 * T1 + 0.4 * T2 + 0.4 * T3
– Nota_Provas = 0.5 * P1 + 0.5 * P2
– Se Min (Nota_Trabs, Nota_Provas) <= 5, NF = Min (Nota_Trabs,
Nota_Provas)
– Caso contrário, NF = 0.6 * Nota_Trabs + 0.4 * Nota_Provas
• Pós-Graduação:
– Nota_Trabs = 0.2 * T1 + 0.4 * T2 + 0.4 * T3
– Nota_Provas = 0.5 * P1 + 0.5 * P2
– Se Min (Nota_Trabs, Nota_Provas) <= 6, NF = Min (Nota_Trabs,
Nota_Provas)
– Caso contrário, NF = 0.6 * Nota_Trabs + 0.4 * Nota_Provas
– Conceito final:
• Se NF >= 9.0, nota A
• Se 7.5 <= NF < 9.0, nota B
• Se 6.0 <= NF < 7.5, nota C
• Se NF < 6.0, Reprovado
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 49 / 52 IME / USP
Cronograma
• 03/03 e 05/03 - Introdução ao curso e tecnologias básicas
• 10/03, 12/03 e 17/03 – Implementação em sala do Trabalho 1
• 19/03 a 30/04 – Apresentações Trabalho 2
• 05/05 – Prova 1
• 07/05 - Aula sobre inteligência coletiva e web 2.0
• 12/05 a 28/05 – Apresentações Trabalho 3
• 02/06 e 04/06 – Implementação em sala da versão final do
sistema
• 09/06 a 18/06 – Apresentação da versão final do sistema
• 23/06 – Prova 2
• * Sujeito a pequenas alterações
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 50 / 52 IME / USP
Bibliografia
• Unidade 1 – Introdução ao Desenvolvimento Web
– Basham, B., Sierra, K. & Bates, B. (2005), Use a Cabeça! Servlets &
JSP.
– Deitel, P.J. & Deitel, H.M. (2008), Ajax, Rich Internet Applications e
Desenvolvimento Web para Programadores.
• Unidade 2 – Tecnologias para o Desenvolvimento Web
– Google
– Revistas Mundo Java e Java Magazine
– Livros específicos
• Unidade 3 – Inteligência Coletiva e Web 2.0
– SEGARAN, T. (2007), Programming Collective Intelligence: Building
Smart Web 2.0 Applications, O’Reilly, ISBN 0596529325.
• OBS: Há uma versão traduzida do livro, de nome “Programando a
Inteligência Coletiva: Desenvolvendo Aplicativos Inteligentes Web 2.0”
– ALAG, S. (2009), Collective Intelligence in Action, ISBN 1933988312.
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 51 / 52 IME / USP
Questionário
1. Qual o seu curso e período?
2. Você está trabalhando no momento? Onde e com que?
3. Por que você está cursando esta disciplina?
4. O que você espera aprender nesta disciplina?
5. Qual o seu grau de familiaridade com as tecnologias abaixo (nota
de 0 a 5)?
1. Orientação a objetos
2. UML
3. HTML
4. Desenvolvimento para Web
5. Java
6. JSP
Tópicos Especiais em Desenvolvimento para Web
Marco A. Gerosa 52 / 52 IME / USP
Próximos passos
• Cadastrar-se em http://paca.ime.usp.br e
http://www.academos.com.br/aulas
• Escolher os temas dos trabalhos no site Academos
• Responder ao questionário no Academos
• Começar a trabalhar! O tempo é curto...

Mais conteúdo relacionado

Semelhante a Aula_1._Introducao_ao_curso.ppt

Seminario Web30 Universidade Fernando Pessoa
Seminario Web30 Universidade Fernando PessoaSeminario Web30 Universidade Fernando Pessoa
Seminario Web30 Universidade Fernando PessoaReinaldo Ferreira
 
Módulo 1 cultura digital
Módulo 1   cultura digitalMódulo 1   cultura digital
Módulo 1 cultura digitalThiago Skárnio
 
A Pesquisa em Ciências da Informação: Novas Perspectivas
A Pesquisa em Ciências da Informação: Novas PerspectivasA Pesquisa em Ciências da Informação: Novas Perspectivas
A Pesquisa em Ciências da Informação: Novas PerspectivasUniversidade Federal do Ceará
 
Web 2 0 Nas Organizacoes
Web 2 0 Nas OrganizacoesWeb 2 0 Nas Organizacoes
Web 2 0 Nas Organizacoesgoogle_docs
 
Web Semântica e Ontologias
Web Semântica e OntologiasWeb Semântica e Ontologias
Web Semântica e OntologiasDaniela Brauner
 
Introdução para Web 2.0 - by Mayara Peixoto
Introdução para Web 2.0 - by Mayara PeixotoIntrodução para Web 2.0 - by Mayara Peixoto
Introdução para Web 2.0 - by Mayara PeixotoMayara Peixoto
 
Web Based Simulation Ilan
Web Based Simulation IlanWeb Based Simulation Ilan
Web Based Simulation IlanIlan Chamovitz
 
Actualizado
ActualizadoActualizado
Actualizadomutume
 
SUPORTE TECNOLÓGICO PARA ESTUDO E PESQUISA
SUPORTE TECNOLÓGICO PARA ESTUDO E PESQUISA SUPORTE TECNOLÓGICO PARA ESTUDO E PESQUISA
SUPORTE TECNOLÓGICO PARA ESTUDO E PESQUISA mutume
 
Gestão em Ambientes Digitais - aula 2
Gestão em Ambientes Digitais - aula 2Gestão em Ambientes Digitais - aula 2
Gestão em Ambientes Digitais - aula 2Luiz Adolfo de Andrade
 
Laboratório Audivisual Hipermedia Aula2 07 03
Laboratório Audivisual Hipermedia Aula2 07 03Laboratório Audivisual Hipermedia Aula2 07 03
Laboratório Audivisual Hipermedia Aula2 07 03Pedro Tavares
 
O digital, a sustentabilidade e a viagem do open source ao open data
O digital, a sustentabilidade e a viagem do open source ao open dataO digital, a sustentabilidade e a viagem do open source ao open data
O digital, a sustentabilidade e a viagem do open source ao open dataLuis Borges Gouveia
 
Arquiteturade informaçaoo senac-planetaweb
Arquiteturade informaçaoo senac-planetawebArquiteturade informaçaoo senac-planetaweb
Arquiteturade informaçaoo senac-planetawebDan
 
Informática para Internet - Aula 03
Informática para Internet - Aula 03Informática para Internet - Aula 03
Informática para Internet - Aula 03Anderson Andrade
 
Curso T&T primeira parte
Curso T&T primeira parteCurso T&T primeira parte
Curso T&T primeira parteElis Monteiro
 

Semelhante a Aula_1._Introducao_ao_curso.ppt (20)

Seminario Web30 Universidade Fernando Pessoa
Seminario Web30 Universidade Fernando PessoaSeminario Web30 Universidade Fernando Pessoa
Seminario Web30 Universidade Fernando Pessoa
 
Cultura digital
Cultura digitalCultura digital
Cultura digital
 
Módulo 1 cultura digital
Módulo 1   cultura digitalMódulo 1   cultura digital
Módulo 1 cultura digital
 
A Pesquisa em Ciências da Informação: Novas Perspectivas
A Pesquisa em Ciências da Informação: Novas PerspectivasA Pesquisa em Ciências da Informação: Novas Perspectivas
A Pesquisa em Ciências da Informação: Novas Perspectivas
 
Web 2 0 Nas Organizacoes
Web 2 0 Nas OrganizacoesWeb 2 0 Nas Organizacoes
Web 2 0 Nas Organizacoes
 
Web Semântica e Ontologias
Web Semântica e OntologiasWeb Semântica e Ontologias
Web Semântica e Ontologias
 
Introdução para Web 2.0 - by Mayara Peixoto
Introdução para Web 2.0 - by Mayara PeixotoIntrodução para Web 2.0 - by Mayara Peixoto
Introdução para Web 2.0 - by Mayara Peixoto
 
Web Based Simulation Ilan
Web Based Simulation IlanWeb Based Simulation Ilan
Web Based Simulation Ilan
 
3 Web20
3 Web203 Web20
3 Web20
 
Aula01 midia digital
Aula01 midia digitalAula01 midia digital
Aula01 midia digital
 
Actualizado
ActualizadoActualizado
Actualizado
 
SUPORTE TECNOLÓGICO PARA ESTUDO E PESQUISA
SUPORTE TECNOLÓGICO PARA ESTUDO E PESQUISA SUPORTE TECNOLÓGICO PARA ESTUDO E PESQUISA
SUPORTE TECNOLÓGICO PARA ESTUDO E PESQUISA
 
Gestão em Ambientes Digitais - aula 2
Gestão em Ambientes Digitais - aula 2Gestão em Ambientes Digitais - aula 2
Gestão em Ambientes Digitais - aula 2
 
Laboratório Audivisual Hipermedia Aula2 07 03
Laboratório Audivisual Hipermedia Aula2 07 03Laboratório Audivisual Hipermedia Aula2 07 03
Laboratório Audivisual Hipermedia Aula2 07 03
 
Daw slide 01
Daw slide 01Daw slide 01
Daw slide 01
 
O digital, a sustentabilidade e a viagem do open source ao open data
O digital, a sustentabilidade e a viagem do open source ao open dataO digital, a sustentabilidade e a viagem do open source ao open data
O digital, a sustentabilidade e a viagem do open source ao open data
 
Aula 5 - Wikis
Aula 5 - WikisAula 5 - Wikis
Aula 5 - Wikis
 
Arquiteturade informaçaoo senac-planetaweb
Arquiteturade informaçaoo senac-planetawebArquiteturade informaçaoo senac-planetaweb
Arquiteturade informaçaoo senac-planetaweb
 
Informática para Internet - Aula 03
Informática para Internet - Aula 03Informática para Internet - Aula 03
Informática para Internet - Aula 03
 
Curso T&T primeira parte
Curso T&T primeira parteCurso T&T primeira parte
Curso T&T primeira parte
 

Aula_1._Introducao_ao_curso.ppt

  • 1. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 1 / 52 IME / USP Introdução ao Desenvolvimento para Web MAC0416 e MAC5855 Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa gerosa@ime.usp.br
  • 2. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 2 / 52 IME / USP Histórico • Ted Nelson concebe o hipertexto (1963) • Douglas Engelbart desenvolve o primeiro sistema de hipertexto (1966) • Surgimento da Web – Tim Berners-Lee (CERN - European Organization for Nuclear Research/Suiça) (1990/1991) • A CERN anuncia que a Web iria ser aberta e gratuita para todos. Como o protocolo do Gopher deixou de ser gratuito, ocorreu rápida migração para tecnologia Web (1993) • Surgimento do Mosaic – navegador Web (1993) • Estabelecimento do W3C (World Wide Web Consortium) (1994) • Netscape 1.0 primeiro browser comercial (Final de 1994) • O tráfego de Web na rede supera o de outros protocolos, como Telnet e FTP (1995) • Lançamento do Microsoft Internet Explorer (1995) • Liberação do código do Netscape Navigator (1998) • Estouro da Bolha Dot Com (2001) • Popularização da banda larga • Surgimento do termo Web 2.0 (O’Reilly Media) (2003)
  • 3. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 3 / 52 IME / USP História da Web dinâmica http://royal.pingdom.com/2007/12/07/a-history-of-the-dynamic-web/
  • 4. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 4 / 52 IME / USP Evolução da tecnologia • Processamento de dados Sistemas de Informação Sistemas de comunicação • Douglas Engelbart [1968] já previu • Software hoje é social.
  • 5. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 5 / 52 IME / USP As gigantes estão atentas “Rapid prototyping” “Social interactions”
  • 6. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 6 / 52 IME / USP As gigantes estão atentas “methods for harvesting the collective intelligence of groups of people”
  • 7. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 7 / 52 IME / USP As gigantes estão atentas “Humans are fundamentally social creatures.”
  • 8. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 8 / 52 IME / USP As gigantes estão atentas
  • 9. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 9 / 52 IME / USP Google
  • 10. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 10 / 52 IME / USP Evolução da Web • Hoje a Web é a plataforma padrão para execução de sistemas • Web Estática => Web Dinâmica => Web colaborativa! • Web 1.0 (read-only) x Web 2.0 (read-write) • Conteúdo criado por empresas e anunciantes (comunicação um-para-vários) => Conteúdo gerado, organizado, mesclado, criticado e atualizado por usuários organizados em comunidades e redes sociais (comunicação todos-todos) – Ex: MySpace, Flickr, YouTube, Wikipedia etc. Os sites são plataformas sem conteúdo que são alimentadas pelos usuários • Junção de informação, funcionalidade e colaboração • Wikis, blogs, redes sociais, online games, feeds etc. • A Web 2.0 não é uma revolução técnica, mas sim na forma como é encarada por usuários e desenvolvedores.
  • 11. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 11 / 52 IME / USP A Nova Economia da Web (Enterprise 2.0) • Modelo de negócio leve • Cenário de competição global • Rapidez na disseminação de informações • Potencial de rápida ascensão • Alta necessidade de escalabilidade • Baseada em software livre – menor custo e maior velocidade para iniciar um negócio e implantar uma idéia • Menor necessidade de investimento (pequena porcentagem do custo para desenvolver e manter um site se comparado com a década de 90) • Mercado para itens que não representam sucesso de vendas (grande quantidade de itens com baixo volume de vendas x pouca quantidade de itens com alto volume de vendas) – [Anderson, C. “The long tail: why the future of business os selling less of more. Hyperion, 2006] • Aumento de exposição de produtos menos conhecidos • Integração de serviços (Mashups) • O valor de um site está na sua quantidade de usuários e em seu banco de dados • Economia da atenção – “O problema não é a banda larga das telecomunicações, mas sim a banda larga humana”, Davenport & Beck em “The attention economy” – Volume abundante de fontes de informações e tempo limitado – Necessidade de localizar e filtrar informações rapidamente
  • 12. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 12 / 52 IME / USP A nova Web • “The new Web is a very different thing. It's a tool for bringing together the small contributions of millions of people and making them matter. Silicon Valley consultants call it Web 2.0, as if it were a new version of some old software. But it's really a revolution. (...) We're looking at an explosion of productivity and innovation, and it's just getting started, as millions of minds that would otherwise have drowned in obscurity get backhauled into the global intellectual economy. ” – “Time's Person of the Year: You” http://www.time.com/time/magazine/article/0,9171,1569514,00.html • A comunidade discute tópicos, constrói ambientes tri-dimensionais, revisão livros, gravam podcasts, comentas assuntos em blogs, gravam e compartilham vídeos, colocam tags em produtos, contribuem para projetos open source etc. • Os sites se tornam melhores à medida que mais pessoas usam – Lei de Metcalfe – o valor da rede é proporcional ao quadrado do número de usuários (http://pt.wikipedia.org/wiki/Lei_de_Metcalfe) – Exs: eBay, Amazon, redes sociais, sistemas de mensagem – Massa crítica de utilização
  • 13. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 13 / 52 IME / USP Inteligência Coletiva • Idéias “inteligentes” e informações úteis podem emergir da colaboração • Uso de informações produzidas socialmente direta ou indiretamente (número de links para uma página, compras similares, votos, comentários etc.) • Tagging, filtros colaborativos, sistemas de recomendação, sistemas de reputação, feeds etc. • Goldcorp inc., empresa de extração de ouro, liberou suas informações geológicas e ofereceu prêmios para quem ajudasse a empresa a usar estas informações para localizar ouro no solo. A comunidade ajudou a localizar 225 toneladas de ouro, aumentando em 90x o valor das ações da empresa. • O algoritmo PageRank da Google, os sistemas de recomendações da Amazon e do Last.fm, e os sistemas de reputação do eBay e MercadoLivre, a Wikipedia são produtos da inteligência coletiva • O livro “Wisdom of crowds” sugere que um grupo grande de pessoas, não necessariamente especialistas, pode ser mais inteligente que um pequeno grupo de especialistas.
  • 14. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 14 / 52 IME / USP Exemplos de sistemas da Web 2.0 • Netfix (locadora de filmes) – Além dos filmes populares, possui uma grande quantidade de itens “long tail” – possível visto que possui milhões de clientes e não tem restrições de espaço físico (lojas) – Uso da inteligência coletiva (sistema de recomendação) • CraigsList (classificados) – Anúncios em jornais vem decaindo – Conecta as necessidades únicas e às vezes incomuns dos usuários – Filtragem colaborativa para eliminar anúncios indevidos • del.icio.us (bookmark social) – Combina tagging, rede social, conteúdo gerado pelo usuário, sistemas de recomendação e disponibiliza serviços web
  • 15. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 15 / 52 IME / USP Exemplos de sistemas da Web 2.0 Compartilhamento de fotos Recomendação (o que outros compraram depois de ver o produto, produtos similares) Tagging Avaliação do produto Resenha Troca de mensagens Wiki (Amapedia) Mídia social Vídeos sendo vistos Avaliação Recomendação Compartilhar em redes sociais Comentário Sites com links para o vídeo
  • 16. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 16 / 52 IME / USP Aplicações na Web 2.0 • Busca • Compartilhamento de conteúdo • Blogging • Redes Sociais • Mídia social • Mashups • etc.
  • 17. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 17 / 52 IME / USP Busca • Estudo nos EUA [CNNMoney, 16 jul 2007]: – 8 bilhões de busca por mês – Google (49,5%), Yahoo! (25,1%), Microsoft (13,2%), Ask (5%), Time Warner (4,2%) • Economia da atenção ajuda aos mecanismos de busca ganharem popularidade • World Wide Web Wanderer (1993), criado por um estudante do MIT, foi o primeiro robot que percorria a web • Excite (Stanford University, 1993) foi o primeiro a utilizar análise estatística de palavras para melhorar os resultados • WebCrawler (1994) indexava todo o texto da página • Lycos (Carnegie Mellon University, 1994) indexava na época mais de 60 milhões de documentos • Alta Vista (Digital Equipment Corporation, 1995) possibilitava pesquisas em linguagem natural, em vários idiomas, tradutor, recursos avançados e busca em imagens e vídeos Fonte: http://www.hitwise.com/datacenter/main/dashboard-10133.html
  • 18. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 18 / 52 IME / USP Busca • Yahoo! – Fundado em 1994 por Jerry Yang e David Filho, estudantes de PHD de Stanford – Inicialmente era um diretório Web • Google – Fundado por Larry Page e Sergey Brin em 1997, quando eram estudantes de PHD na Stanford University) – Tão popular que o verbo “to google” foi adicionado ao Oxford English Dictionary” – O nome vem de googol (10100) – Sucesso atribuído ao algoritmo PageRank e à infra-estrutura distribuída de servidores (estima-se mais de 1 milhão de servidores) • MSN – Lançado em 1998, a Microsoft atribuiu alta prioridade para tentar alavancar seu serviço de busca • Sites de busca vertical (especializados em um assunto), como livros, músicas, empregos etc. Leitura adicional: - Battelle, J. “The search: how Google and its rivals rewrote the rules of business and transformed our culture” - Underwood, L. “A brief history of search engines” http://www.webreference.com/authoring/search_history
  • 19. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 19 / 52 IME / USP Conteúdo gerado pelos usuários • Geração de informação agregada (Amazon.com) • Bookmark social (del.icio.us, ma.gnolia, StumbleUpon) • Wikis (Wikipedia, wikis internos em empresas) • Blogs – Termo vem de Weblogs que eram utilizados originalmente para postar sites, com pequenos comentários ou manifestações. – Se tornou um fenômeno social, facilitando ter um “site pessoal” ou fazer jornalismo – Blogs competem com canais de informação tradicionais – As entradas permitem comentários, que geram debates e discussões – Jornalistas, executivos e empregados de empresas viraram blogistas (ex. blogs.sun.com) – Companhias anunciam suas novidades através de blogs
  • 20. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 20 / 52 IME / USP Redes sociais • Um estudo em 2006 mostrou que 1 em cada 20 visitas na Web foram a uma das 20 principais redes sociais – Frindster foi um dos primeiros sites (2002) – MySpace é uma das redes sociais mais populares – Facebook (175 milhões) comum principalmente entre os universitários norte- americados – LinkedIn (35 milhões) e Xing (7 milhões) mais voltado para contatos profissionais – Orkut (70 milhões) se tornou predominantemente brasileiro (no Brasil é o segundo site mais acessado, perdendo apenas para o Google) – fonte:http://www.alexa.com/site/ds/top_sites?cc=BR&ts_mode=country&lang=non e • Um estudo de 2005 mostrava que 85% dos estudantes das universidades americanas estavam no Facebook e que 60% deles acessavam o sistema diariamente • Second Life – Ambiente 3D • DodgeBall – Mobile Social Software • Gaia Online – Rede social voltada para games
  • 21. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 21 / 52 IME / USP Redes sociais Fonte: http://www.hitwise.com/datacenter/main/dashboard-10133.html
  • 22. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 22 / 52 IME / USP Redes Sociais http://www.orkut.com.br/Main#MembersAll.aspx * Em 2008, o Orkut passou para a Google Brasil
  • 23. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 23 / 52 IME / USP Redes Sociais • Algumas estatísticas do Facebook: http://static.ak.facebook.com/press/info.php?statistics
  • 24. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 24 / 52 IME / USP Mídia Social • Compartilhamento de filmes, fotos, música, notícias etc. • Impulsionado pela larga disponibilidade de dispositivos multimídia, como WebCams, telefones celulares, câmeras digitais etc. • YouTube (lançado no final de 2005) e menos de um ano depois adquirido pela Google por 1,6 bilhões de dólares • Digg – possibilita os usuários “cavar” ou “enterrar” notícias • Flickr – compartilhamento de fotos • Last.fm – Site de rádio com comunidades e recomendações • Podcasting – áudios acessados através dos feeds RSS • Potencial de sucesso imediato de algo dado o efeito viral de disseminação
  • 25. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 25 / 52 IME / USP RIA (Rich Internet Application) • Ajax (Asynchronous JavaScript and XML) • Dojo – componentes JavaScript • Flex – framework RIA para aplicações Flash • JavaFX – Produto da Sun para competir com o Flex e o Silverlight • Script.aculo.us – biblioteca para criação de efeitos visuais • JSF – componentes de interface em Java • ASP.Net Ajax • Adobe Integrated Runtime e Google Gears possibilita utilizar aplicações Web mesmo desconectado
  • 26. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 26 / 52 IME / USP Interoperabilidade e integração • Web Services • API (Application Programming Interface) – eBay, Amazon, Google, Yahoo!, Flickr etc. • Mashups – Combinação de serviços web, sites e RSS feeds • www.programmableweb.com • Exemplos – www.chicagocrime.com – combina Google Maps e dados sobre crimes do Citizen ICAM – www.feedmashr.com – combina dados de várias fontes para criar uma listagem das histórias mais populares – www.secretprices.com – combina Amazon, Epinions.com e Shopping.com para comparar preços
  • 27. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 27 / 52 IME / USP Widgets e Gadgets • Componentes de interface – São pequenas aplicações que rodam em uma plataforma específica (Web ou desktop) • http://www.widgipedia.com • Podem valer-se das APIs e serviços web para favorecer a integração de sistemas • Programadores casuais para plataformas sociais • Zembly
  • 28. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 28 / 52 IME / USP Programadores casuais • Não se identificam como engenheiros • Maioria composta de estudantes menores do que 30 • Muitas vezes são usuários avançados de tecnologia – Tem computador, banda larga, celular de ponta, blog, mensageiro, perfil em rede social etc. • Tem visões personalizadas do mundo, muitas idéias e não são presos a vícios e tradições da área • Massa muito grande de programadores casuais e canal de distribuição viral que pode atingir milhões de pessoas – Exemplo: iLife (widget do Facebook) lançado em 24 de maio de 2007 – 24 horas depois – 180 mil usuários – 2 semanas depois 680 mil usuários – 3 semanas depois 2 milhões de usuários (fonte Fast, T. Slides Java One 2008) • Grande potencial de criatividade e inovação • Agregação de serviços (desenvolvimento baseado em componentes) • Software se torna plataforma para construção de aplicativos – As aplicações enriquecem a plataforma
  • 29. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 29 / 52 IME / USP Aplicativos no Facebook • 57 mil aplicativos, 200 mil desenvolvedores. • Os aplicativos foram usados 34 milhões de vezes nas últimas 24h • Fonte: http://adonomics.com/
  • 30. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 30 / 52 IME / USP Espectro de aplicações
  • 31. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 31 / 52 IME / USP Força de trabalho
  • 32. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 32 / 52 IME / USP Outros Serviços • Serviços baseados em localização – Sistemas baseados em GPS e dispositivos móveis – Serviços de mapeamento (Google Maps, Google Warth, MapQuest etc.) – Com o uso de APIs estes serviços estão sendo mesclados às aplicações • VoIP
  • 33. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 33 / 52 IME / USP Aplicação desktop x Web Desktop Web Saída do programa Impressão direta na tela Renderizada em um navegador Arquitetura Centralizada Cliente-Servidor Portabilidade Sistemas operacionais Navegadores (Internet Explorer, Firefox, Chrome, Opera, Safari etc.) e suas múltiplas versões Abrangência limitadas à estação de trabalho ou a uma rede local de computadores Acessos providentes de qualquer lugar Interação Monousuário Colaborativa
  • 34. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 34 / 52 IME / USP Tecnologias • Lado Cliente – JavaScript – Java (applets) – Adobe Flash – Adobe Flex • Lado Servidor – Java (servets) – Porlets – ASP.Net – PHP – Ruby on Rails – Python
  • 35. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 35 / 52 IME / USP Qual linguagem usar? • Perl • Python • PHP • ColdFusion • ASP e ASP.NET • Java e JSP • Lasso • Ruby on Rails
  • 36. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 36 / 52 IME / USP Metodologia • KIS (Keep it simple; keep it small) – 37signals (empresa que desenvolveu aplicações colaborativas para Web 2.0 como Basecamp, Campfire, Backpack, Writeboard e Ta-da List e o framework Ruby on Rails): “We’re a privately-held Chicago-based company committed to building the best web-based software products possible with the least number of features necessary. Our products do less than the competition — intentionally.” http://gettingreal.37signals.com • Software as a Service (SaaS) – Aplicativos da Google, Microsoft Office Live • Beta perpétuo e desenvolvimento ágil • Open source http://pt.wikipedia.org/wiki/Orkut
  • 37. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 37 / 52 IME / USP Cloud computing • Plataform as a Service (PaaS) • A infra-estrutura é oferecida como serviço • Baseada em virtualização • Grandes vantagens são a escalabilidade, redução de custo, disponibilidade • Permite ajustar a capacidade de processamento para cima ou para baixo e o valor pago é o que é realmente usado • Vídeo explicativo sobre Cloud Computing - http://videos.techielife.com/what-is-cloud-computing/video- online/2008/11/13
  • 38. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 38 / 52 IME / USP Exemplo de Cloud Computing • Amazon Elastic Compute Cloud (Amazon EC2) • Para utilizar: – Cria-se uma Amazon Machine Image (AMI) ou utiliza-se um dos templates pré- configurados e faz o upload para a Amazon – Utiliza-se os web services ou as ferramentas para configurar segurança, firewall, iniciar, parar e monitorar instâncias de servidores – Pode-se posicionar instâncias em múltiplas localizações (atualmente EUA e Europa) – O serviço é tarifado por horas de instância e volume de transferência • A própria aplicação pode escalar automaticamente • Cada instância pode ser remotamente acessada como administrador • Exemplos de instâncias: – Small Instance (Default) 1.7 GB of memory, 1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit), 160 GB of instance storage, 32-bit platform – Large Instance 7.5 GB of memory, 4 EC2 Compute Units (2 virtual cores with 2 EC2 Compute Units each), 850 GB of instance storage, 64-bit platform – High-CPU Medium Instance 1.7 GB of memory, 5 EC2 Compute Units (2 virtual cores with 2.5 EC2 Compute Units each), 350 GB of instance storage, 32-bit platform • EC2 Compute Unit (ECU) – One EC2 Compute Unit (ECU) provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor.
  • 39. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 39 / 52 IME / USP Exemplo de Cloud Computing • Sistemas operacionais disponíveis: • Red Hat Enterprise Linux , Windows Server 2003, Oracle Enterprise Linux, OpenSolaris, openSUSE Linux, Ubuntu Linux, Fedora, Gentoo Linux, Debian • Aplicativos disponíveis: • Banco de dados (Oracle, SQL Server, MySQL etc.), Web Server (Apache, JBoss, IIS), Vídeo encoding e streaming (Wowza Media Server Pro, Windows Media Server) etc. • Tarifação Fonte: http://aws.amazon.com/ec2
  • 40. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 40 / 52 IME / USP Outros serviços da Amazon • Amazon Simple Storage Service (S3) – Provê um banco de dados acessível via Web Services • Amazon Simple Queue Service (SQS) – Implementa uma fila de requisições. Facilita a implementação de sistemas distribuídos ($0.01 per 10,000 Amazon SQS Requests)
  • 41. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 41 / 52 IME / USP Distribuição de tarefas
  • 42. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 42 / 52 IME / USP O futuro da Web • Lei de Moore (1965) – O poder do hardware dobra a cada dois anos, enquanto o preço permanece o mesmo. • Web Semântica – RDF (Resource Description Framework) – padronizado pelo W3C. Representa triplas do tipo X vinculante Y – O projeto DBPedia.org visa codificar as informações presentes na Wikipedia. Já conta com informações sobre 2,6 milhões de objetos conectadas em 274 milhões de triplas possilitando queries semânticas – OWL (Web Ontology Language) descreve ontologias • Sistemas inteligentes • Integração de mídias (texto, imagem, animação, vídeo, áudio, ambiente 3D etc.) e dispositivos (Computador, Smart Phone, TV etc.) • Microformatos – Padronizam blocos de informações (exemplo: cartão pessoal, currículo, evento, endereço, bookmarks etc. – http://microformats.org/wiki/Main_Page • Linguagens dinâmicas e DSL • Rich Internet Application
  • 43. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 43 / 52 IME / USP Mais informações • O’Reilly Media Web 2.0 Summit • http://www.deitel.com/ResourceCenters/ResourceCenterList/ta bid/56/Default.aspx • http://web2.socialcomputingmagazine.com/ • http://www.techcrunch.com/2006/08/08/web-20-the-24-minute- documentary/ • Deitel, P.J. & Deitel, H.M. (2008), Ajax, Rich Internet Applications e Desenvolvimento Web para Programadores. OBS: O primeiro capítulo está disponível em http://www.deitel.com/Web2eBook/tabid/2478/Default.aspx
  • 44. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 44 / 52 IME / USP A Disciplina
  • 45. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 45 / 52 IME / USP A disciplina • Unidades: – Introdução ao Desenvolvimento Web – Tecnologias para o Desenvolvimento Web – Inteligência Coletiva e Web 2.0 • Perfil do aluno: – Alunos de graduação (fim de curso) e pós-graduação em ciência da computação • São desejáveis conhecimento de orientação a objetos e Java • Ter tempo extra-classe para se dedicar às atividades do curso (cerca de 4h por semana).
  • 46. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 46 / 52 IME / USP Metodologia • Enfoque da disciplina – Entregar informação aos alunos (pizza delivery) x fazer os alunos aprenderem • “Escutei e esqueci, li e entendi, fiz e aprendi.” – Implementação – Várias atividades • Os alunos são tão ou mais responsáveis que o professor pelo sucesso do curso • Atividades em grupo realizadas de forma colaborativa • Competências a serem exercitadas: – Pesquisa – Trabalho em grupo – Apresentação em público – Coordenação de equipe de desenvolvimento – Avaliação e utilização de código produzido por terceiros
  • 47. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 47 / 52 IME / USP Os trabalhos • Trabalho 1 – Implementação de um sistema Web utilizando tecnologias básicas • Trabalho 2 – Estudo e implementação no sistema de tecnologias modernas de desenvolvimento • Trabalho 3 – Implementação de algoritmos de inteligência Coletiva e Web 2.0 no sistema.
  • 48. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 48 / 52 IME / USP Avaliação • Graduação: – Nota_Trabs = 0.2 * T1 + 0.4 * T2 + 0.4 * T3 – Nota_Provas = 0.5 * P1 + 0.5 * P2 – Se Min (Nota_Trabs, Nota_Provas) <= 5, NF = Min (Nota_Trabs, Nota_Provas) – Caso contrário, NF = 0.6 * Nota_Trabs + 0.4 * Nota_Provas • Pós-Graduação: – Nota_Trabs = 0.2 * T1 + 0.4 * T2 + 0.4 * T3 – Nota_Provas = 0.5 * P1 + 0.5 * P2 – Se Min (Nota_Trabs, Nota_Provas) <= 6, NF = Min (Nota_Trabs, Nota_Provas) – Caso contrário, NF = 0.6 * Nota_Trabs + 0.4 * Nota_Provas – Conceito final: • Se NF >= 9.0, nota A • Se 7.5 <= NF < 9.0, nota B • Se 6.0 <= NF < 7.5, nota C • Se NF < 6.0, Reprovado
  • 49. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 49 / 52 IME / USP Cronograma • 03/03 e 05/03 - Introdução ao curso e tecnologias básicas • 10/03, 12/03 e 17/03 – Implementação em sala do Trabalho 1 • 19/03 a 30/04 – Apresentações Trabalho 2 • 05/05 – Prova 1 • 07/05 - Aula sobre inteligência coletiva e web 2.0 • 12/05 a 28/05 – Apresentações Trabalho 3 • 02/06 e 04/06 – Implementação em sala da versão final do sistema • 09/06 a 18/06 – Apresentação da versão final do sistema • 23/06 – Prova 2 • * Sujeito a pequenas alterações
  • 50. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 50 / 52 IME / USP Bibliografia • Unidade 1 – Introdução ao Desenvolvimento Web – Basham, B., Sierra, K. & Bates, B. (2005), Use a Cabeça! Servlets & JSP. – Deitel, P.J. & Deitel, H.M. (2008), Ajax, Rich Internet Applications e Desenvolvimento Web para Programadores. • Unidade 2 – Tecnologias para o Desenvolvimento Web – Google – Revistas Mundo Java e Java Magazine – Livros específicos • Unidade 3 – Inteligência Coletiva e Web 2.0 – SEGARAN, T. (2007), Programming Collective Intelligence: Building Smart Web 2.0 Applications, O’Reilly, ISBN 0596529325. • OBS: Há uma versão traduzida do livro, de nome “Programando a Inteligência Coletiva: Desenvolvendo Aplicativos Inteligentes Web 2.0” – ALAG, S. (2009), Collective Intelligence in Action, ISBN 1933988312.
  • 51. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 51 / 52 IME / USP Questionário 1. Qual o seu curso e período? 2. Você está trabalhando no momento? Onde e com que? 3. Por que você está cursando esta disciplina? 4. O que você espera aprender nesta disciplina? 5. Qual o seu grau de familiaridade com as tecnologias abaixo (nota de 0 a 5)? 1. Orientação a objetos 2. UML 3. HTML 4. Desenvolvimento para Web 5. Java 6. JSP
  • 52. Tópicos Especiais em Desenvolvimento para Web Marco A. Gerosa 52 / 52 IME / USP Próximos passos • Cadastrar-se em http://paca.ime.usp.br e http://www.academos.com.br/aulas • Escolher os temas dos trabalhos no site Academos • Responder ao questionário no Academos • Começar a trabalhar! O tempo é curto...