AJ12 Web 2.0

Embed Size (px)

Citation preview

  • 8/9/2019 AJ12 Web 2.0

    1/40

    Web 2.0 na Empresa

    Distribuio eficiente desoftware por meio deplataformas de entregade servios

    Comunicao segura

    de domnio cruzado nonavegador

    Um modelo orientadoa aplicativo paradados relacionais

    Perfil do ArchitectureJournal: Pat Helland

    Segurana dos Dadosna Web

    Arquitetura para a Web

    Add-ins gerenciados:controle de verses ehospedagem confivel

    Aprenda a disciplina,busque a arte e contribuacom idias no:

    Recursos nos quais vocpode confiar.

    www.ArchitectureJournal.net

    Journal 1

    THE

    JOURNALARCHITECTURE

    Idias para melhores resultado

  • 8/9/2019 AJ12 Web 2.0

    2/40

    THE

    JOURNALARCHITECTURE

    Idias para melhores resultad

    Sumrio

    Recursos nos quais voc pode confiar. www.architecturejournal.net

    Journal 1

    por Simon GuestApresentao 1

    Descubra os elementos de tecnologia, dados e pessoas de uma arquitetura Web 2.0 e como podem ser usados dentroe fora da empresa.

    Web 2.0 na Empresapor Michael Platt

    2

    7

    Os navegadores atuais trabalham com eficincia atravs de vrios domnios. Conhea uma tcnica nova para desenvolversites da Web que podem compartilhar informaes.

    Comunicao segura de domnio cruzado no navegadorpor Danny Thorpe

    14

    Existem muitos padres para a troca de dados pela Web. Saiba quais as recomendaes e ciladas a evitar, conhecendovrias experincias.

    Segurana dos dados na Web

    por Peter Hammond

    30

    Conhea alguns dos conceitos arquiteturais avanados do prximo lanamento do .NET Framework, compatvelcom um modelo add-in flexvel e confivel.

    Add-ins gerenciados: controle de verses e hospedagem confivelpor Jesse Kaplan

    33

    Com freqncia, o formato dos dados de um banco de dados no corresponde ao aplicativo que deve interagir com elVeja como um modelo conceitual pode ser usado para superar essa questo.

    Um modelo orientado a aplicativo para dados relacionaispor Michael Pizzo

    19

    Pat Helland um arquiteto da equipe do Visual Studio da Microsoft. Saiba tudo sobre sua carreira e o que ele pentornar-se um arquiteto.

    Perfil do Architecture Journal: Pat Helland 26

    Explore o uso de uma plataforma de entrega de servios que permite a distribuio eficiente de software para a Web.

    Distribuio eficiente de software por meio de plataformas deentrega de serviospor Gianpaolo Carraro, Fred Chong e Eugenio Pace

  • 8/9/2019 AJ12 Web 2.0

    3/40

    Bem-vindo Edio 12 do Jornal. Nesta oportunidade, o tema Web". Estou certo, no preciso dizer-lhes qual o nvel de impoWeb para os arquitetos, nos ltimos anos, em quase todas as organidepois de falar com muitos sobre projetos para a Web, surge umaa necessidade de adaptar, adotar princpios arquiteturais de bom resulrefator-los para a Web. Assim, tentei manter essa informao em martigos para esta edio.

    Liderando a edio com o tpico do Web 2.0 na empresa temos oMichael Platt. Michael discute alguns dos princpios relativos tecnopessoas do Web 2.0, colocando esses dados em um mapa para sabe

    utilizados, dentro e fora da empresa. Depois do artigo do Michael,Fred Chong e Eugenio Pace apresentam o conceito de uma plataformservios. Continuando com o trabalho realizado no espao do SaaS,Servio, eles abordam o que necessrio para concretizar a distribusoftware pela Web, atualmente. Danny Thorpe da equipe do Windowscom um artigo que explora algumas das complexidades da comunicacruzado no navegador. Utilizando uma analogia original, Danny analisatcnicas que podem ser usadas para superar esse desafio. Temos ainde Michael Pizzo sobre um modelo orientado a aplicativo para dadodados representando uma parte considervel de muitos aplicativos danos leva a conhecer alguns dos desafios atuais dos esquemas de baaplicativos, apresentando um framework para melhor integrar esses doi

    Na introduo que fiz para a ltima edio, mencionei um ex-colega

    esta edio, encontrei-me com Pat, que recentemente voltou para a Marquiteto da equipe do Visual Studio. Perguntei ao Pat sobre a fundesempenhar e, tambm, sobre alguns de seus pitorescos pensamentossignifica tornar-se um arquiteto. Depois da entrevista com Pat, temospor Peter Hammond. O texto do Peter nos permite percorrer os ltianalisando algumas questes sobre dados, vividas por muitas pessoas,tambm, uma tcnica atual para a troca de dados confivel pela Weedio, temos o privilgio de ter um artigo escrito por Jesse Kaplanatravs de algumas das consideraes arquiteturais do prximo lanamFramework e apresenta um modelo para criao de add-ins confiveis

    Bem, isto completa outra edio. Falando em adaptaes, aqui no ThJournal estamos sempre tentando novas coisasmuitas delas aprendidastiver comentrios ou idias para futuros temas e artigos, no deixe

    melhorarmos esta publicao para voc. Nosso endereo [email protected].

    Simon Gue

    Caro Arquiteto,

    Fundador

    Editor-chefe

    Conselho Editorial Microsoft

    Editor

    Design, impresso e distribuio

    Diagramao, finalizao e impresso (BR)

    Arvindra SehmiMicrosoft Corporation

    Simon GuestMicrosoft Corporation

    Gianpaolo CarraroJohn deVadossNeil HutsonEugenio PaceJaved SikanderPhilip TealeJon Tobey

    Lisa SlouffmanMicrosoft Corporation

    CMP Technology EditoraChris Harding, diretor administrativoAngela Duarte, gerente de publicaoLisa Broscritto, gerente de projetoKellie Ferris, diretor corporativo deservios criativosJimmy Pizzo, diretor de produo

    Arthria Comunicao & Multimdiawww.artheria.com.br

    Apresentao

    As informaes contidas neste The Architecture Journal (Jornal)tm finalidade informativa, apenas. As matrias do Jornal noconstituem a opinio da Microsoft Corporation (Microsoft) nemda CMP Media LLC ("CMP") e, tampouco, so recomendaes daMicrosoft ou da CMP; assim sendo, voc no deve confiar emnenhuma das matrias deste Jornal sem solicitar o aval de umconsultor independente. A Microsoft e a CMP no fazemdeclaraes nem oferecem garantias quanto exatido ouadequao para determinada finalidade de qualquer matria desteJornal e, em nenhuma circunstncia, nem a Microsoft, nem a CMPaceitar responsabilidade de qualquer tipo, inclusiveresponsabilidade por negligncia (salvo em caso de danos fsicosou morte) com relao a quaisquer tipos de perdas ou danos(incluindo, mas no se limitando, aos casos de perda de negcios,de receita, de lucros ou prejuzo imprevisto) resultantes do uso dasinformaes deste Jornal. O Jornal pode ter imprecises tcnicas eerros tipogrficos. O Jornal pode ser atualizado periodicamente e,s vezes, poder estar desatualizado. A Microsoft e a CMP no seresponsabilizam pela atualizao das informaes deste Jornalnem por deixar de faz-lo. Este Jornal contm matriasencaminhadas e criadas por terceiros. At o mximo permitidopela lei aplicvel, a Microsoft e a CMP isentam-se de todas asresponsabilidades por qualquer ilegalidade decorrente de erro,omisso ou impreciso deste Jornal; alm disso, a Microsoft e aCMP no se responsabilizam pelas matrias recebidas de terceiros.As marcas comerciais a seguir so marcas comerciais registradas

    da Microsoft Corporation: BizTalk, Microsoft, SharePoint, SQLServer, Visual Studio, Windows, Windows NT e Windows Server.Quaisquer outras marcas comerciais so de propriedade de seusrespectivos proprietrios.Todos os direitos autorais e outros direitos de propriedadeintelectual das matrias publicadas no Jornal pertencem Microsoft Corporation ou esto a ela licenciados. Copiar,reproduzir, transmitir, armazenar, adaptar ou modificar o layout ouo contedo deste Jornal so aes proibidas, a no ser que hajaautorizao prvia, por escrito, da Microsoft Corporation e de cadaum dos seus autores.

    Copyright 2007 Microsoft Corporation. Todos os direitosreservados.

    Journal 12 www.architecturejournal.netTHE JOURNALARCHITECTURE

  • 8/9/2019 AJ12 Web 2.0

    4/40

  • 8/9/2019 AJ12 Web 2.0

    5/40

    Essa distribuio da funcionalidade de software pela Internet Existem tambm conjuntos de tecnologiascomumente denominada Software como Servio (SaaS) e, hoje em dia,aumentando o valor da experincia do usurio em reserve de base para a maior parte dos sistemas da Web 2.0.comunicaes, voz e vdeo. A troca de mensagens ins

    intensamente usada nos aplicativos Web 2.0 para forneQuando consideramos a Internet como uma plataforma, podemos vercomunicaes instantneas e existe uma ampla gama dque ela deve fornecer uma quantidade de elementos importantes deopes de distribuio disponveis para os sistemas IMplataforma como a independncia do dispositivo, interface de usuriovoz sobre IP (VoIP) permitem a comunicao por vozrica e comum, interface de programao comum, a implantao de

    software ou servio e mecanismo de gesto. pela Internet como parte da experincia do usurio. Efornecimento de vdeo transmitido e armazenado em teSoftware acima do nvel de um nico dispositivoa experincia do cliente.Conhecemos muito bem o software em um servidor fornecendo

    servios ao software em um PC (em Windows ou em um navegador), oAs amplitude, riqueza e flexibilidade fornecidas por esqual, ento, consome ou exibe esses servios. Embora este seja umlevam a interface do usurio para alm de uma IUmodelo com o qual estamos familiarizados, ele no cobre vrios casosexperincia audiovisual totalmente interativa com novascomuns, como os sistemas P2P ou a distribuio para dispositivos no-formas de interao das pessoas com sistemas e entrePC como players de msica, celulares ou dispositivos de navegao.exploradas.Precisamos de um modelo que inclua esses casos e absorva um nvel

    Modelos leves de programaode servio superior ao bsico HTTP para conect-los: preciso abordarNa Web 2.0, os modelos de programao, os conceitoos conceitos de um servio de msica como os iTunes, Napster ou umso significativamente diferentes daqueles que tm sidoservio de telefonia como o Skype. Precisamos ter um modelo queempresa. Embora tenham os servios como base e aptrate do software acima do nvel de dispositivo ou servio nico masconceito de troca de mensagens, utilizam protocolos REque inclua servios ricos, de alto nvel, interconectando uma malha de(Representational State Transfer) e tm como ponto cenvrios tipos de dispositivos, de modo simtrico. simplicidade e a facilidade de uso.Provavelmente, o melhor exemplo desse tipo de servio de alto nvel A programao da Web 2.0 baseia-se no conceito deo Xbox Live: os servios relativos ao jogo so fornecidos entreinteresses, usando um modelo de baixo acoplamento, bdispositivos de hardware especializados, operando de modo ponto atroca de mensagens, na parte superior de um conjuntoponto. Este modelo o caso de computao baseada em servio deprotocolos de comunicao baseados em Internet (HTTPuso geral, denominado pela Microsoft como modelo de computao

    Software + Servios. freqentemente, chamada de programao RESTful (trsossegada, em ingls). Implica atos de distribuio e cRica experincia do usurioquais os servios so fornecidos sem conhecimento doO valor da experincia rica e imersiva do usurio foi bem entendida nomuito diferente de um sistema convencional orientadomundo do PC desde o advento do Windows e tem sido, h muitostransacional e fortemente acoplado. Possui um conjuntoanos, o enfoque dos aplicativos baseados em navegador, combenefcios como flexibilidade e rapidez na implementaJavaScript e DHTML apresentados como formas leves de fornecimentocomo integridade e gerenciamento.de capacidade de programao do lado do cliente e enriquecendo a

    experincia do usurio no que comumente denominado aplicativosAs linguagens (como Perl, Python e Ruby) e os framricos para a Internet (RIA). Web 2.0 so simples e dinmicos, facilitando a entrad

    em alta produtividade. Os frameworks tm suportes intA habilidade da Web para fornecer essa funcionalidade RIA foimostrada pela primeira vez pelo Outlook Web Access (OWA) que usavapadres comuns de projeto, como o MVC (Model VieJavaScript e DHTML para fornecer interatividade plena no navegador,metodologias como o gil desenvolvimento de software.tipo Windows. A coleo de tecnologias usada para fornecer essesaprendizado e uso fcil, e possibilitam produtividade imsistemas baseados em navegador, ricos e dinmicos, foi denominadaOs aplicativos da Web 2.0 so, em essncia, passveisAjax, acrnimo de Asynchronous JavaScript and XML. O Ajax no aceitam elementos compostos, pois so construdos comuma tecnologia simples, nem mesmo um conjunto de novasleves de programao e servios baseados em padres;tecnologias mas, sim, vrias tecnologias usadas em conjunto, de novasaplicativos podem ser criados por composio ou "agreformas eficientes, para fornecer a funcionalidade RIA. O Ajax inclui:

    aplicativos e servios atuais. Os mashups acontecem no" apresentao baseada em padres, usando XHTML e CSS; aplicativos e servios so compostos na IU; a compos" exibio e interao dinmicas, usando o modelo de objeto de

    geral de servios sendo reutilizados, mas ambos so fdocumento; suportados na programao da Web 2.0." intercmbio e manipulao de dados usando XML e XSLT;Fim dos ciclos de lanamento e implantao de software" recuperao assncrona de dados, usando o objeto XMLHttpRequest;Os conceitos que do suporte Web 2.0 revelam um" entre controle/facilidade administrativa de sistemas centraJavaScript como a metfora de programao.

    flexibilidade/capacitao do usurio com relao aos sistO Ajax o componente-chave da maioria dos aplicativos Web 2.0 edistribudos. Por natureza, os aplicativos Web so implaest fornecendo a possibilidade de criar aplicativos Web to ricos emodo centralizado e, assim, os servios centralizados pdinmicos como os aplicativos baseados em Windows - na verdade,aplicativos e desktops completos, automaticamente. O Saestamos vendo, agora, o advento dos aplicativos baseados em Ajax quenesse conceito para apresentar a idia de entrega depodem trabalhar enquanto desconectados da Internet fornecendo,servios pela Internet. A Web 2.0 baseia-se no SaaSassim, funcionalidade offline similar aos clientes baseados em

    Windows, como o Outlook. servios sociais e de contedo atravs do mecan

    Journal 12 www.architecturejournal.netTHE JOURNALARCHITECTURE

    Web 2.0 na Empre

  • 8/9/2019 AJ12 Web 2.0

    6/40

    4

    Este uso do Saas pela Web 2.0 como metodologia de implantao elanamento proporciona todas as vantagens bastante conhecidas doSaas: implantao simples, gerenciamento e administraominimizados e, provavelmente o mais importante, atualizaoininterrupta. Assim, uma das caractersticas mais desejadas da Web 2.0(e do Saas) o conceito de que o sistema est em constanteatualizao e aprimoramento, quase sempre em tempo real,respondendo s solicitaes do usurio. Obviamente, o problema

    desta condio de "beta perptuo" que a comunidade da Web 2.0ainda precisa compreender o que acontece aos aplicativos ouservios de downstream/offline quando os servios ou dadosfornecidos por um aplicativo da Web 2.0 dos quais passaram adepender, desaparecem ou sofrem alteraes.

    A segunda rea importante da Web 2.0 o enfoque nos dados e nocontedo, particularmente a capacidade de as pessoas criarem einteragirem com contedo complexo, em lugar de apenas consumi-lo.Se a Internet original fornecia acesso de leitura de dados, a Web 2.0trata, sobretudo, de proporcionar acesso de leitura e escrita a dadosde qualquer origem. Esta capacidade que permite a qualquer pessoacriar material publicvel motivou uma exploso de disponibilidade de

    contedo, vindo de todos os lados (com todos os tipos de qualidade)e, ao mesmo tempo, criou todo um conjunto novo de questes sobrevandalismo, propriedade intelectual e integridade de dados.Como a disponibilidade de banda larga para o usurio final aumentacontinuamente, a riqueza de contedo que pode ser enviada pelaInternet tambm aumenta. A questo da Internet original erasobretudo, texto; A Web 2.0 comeou com msica e imagens e passoupara voz e vdeo. Agora, TV e filmes so as reas de contedoinvestigadas como parte da Web 2.0.Nesse tempo em que as pessoas e as organizaes fizeram pesquisas,uploads e downloads de todos esses dados e contedo "explcitos" naWeb, criaram, ao mesmo tempo, um vasto volume de dados implcitossobre o que fazem e qual ser o seu destino. Esses dados implcitos ou

    de informao de ateno da Web 2.0 podem ser utilizados paraprever o comportamento futuro ou fornecer novos recursos baseadosnessas informaes de ateno. Assim como trabalham os principaismecanismos de pesquisa: monitoram as consultas feitas pelas pessoase utilizam esses dados para prever qual segmento apresentar melhorprobabilidade no futuro. Por certo, a coleta, o armazenamento e o usodesses dados implcitos levanta questes instigantes sobrepropriedade, privacidade e propriedade intelectual (IP), as quais aindaprecisam ser analisadas de modo satisfatrio.Outra questo com o gigantesco volume de dados da Web comolocalizar o que se procura e os meios de se navegar pelos dados. Osmecanismos de busca utilizam dados implcitos (ou avaliaes depginas) para localizar dados textuais, mas isso no funciona muitobem com imagens ou dados de udio. Alm disso, em muitos casos, omecanismo de busca talvez no tenha informaes contextuaissuficientes para fornecer um resultado vlido. Nesses casos, amarcao dos dados torna-se uma forma valiosa de ajudar nanavegao pelos dados. Os aplicativos da Web 2.0 utilizam muito amarcao e as nuvens de tags (tag clouds) como forma de localizar enavegar atravs do vasto volume de dados disponvel na Web.Os dados de marcao (tag data) tratam de dados sobre dados oumetadados e um dos principais problemas com dados e contedo naWeb aquele causado pela falta de normas para metadados eesquemas. impossvel cortar-colar algo to simples como umendereo da Web porque no existe um formato-padro paraendereos.

    A Web que l e escreve

    Precisamos entender os vrios nveis de metadados eo que so os metadados para liberar dados na Webpara permitir que aplicativos combinem dados. Esta pametadados na Web o que a organizao Microformafornecer.

    O terceiro elemento-chave dos sistemas Web 2.0 oredes sociais, comunidade, colaborao e discusso. Natpessoas desejam se comunicar, compartilhar e discutir;comunicao uma parte primordial do entendimento,aprendizado e da criatividade. O elemento original queso as redes de comunicaes sociais e comunitriasmodo geral, viabilizam-se pelos blogs, grupos de discuWeb 2.0, a escala abrupta e o nmero de pessoas numa "arquitetura participativa" na qual a interao entrcria informaes e sistemas que ficam melhor na medmais usados e mais pessoas os utilizam. Esta canalizainteligncia coletiva cria sistemas que possuem mais einformaes do que qualquer pessoa poderia gerar: ofe"sabedoria das multides".Existem vrios tipos de colaborao que podem ocorreWeb 2.0:

    Os trs tipos de colaborao so compatveis com sis

    As organizaes de todos os tipos e portes, das inicicitadas pela Fortune 100 e de todos os setores verticpresenciado o crescimento dos sites sociais e comunitnos espaos de consumidores como MySpace, YouTubesites da Web 2.0. As empresas testemunharam os movprincipais participantes da Web como Amazon, eBay, LYahoo para incluir elementos sociais e comunitrios, ainteresse e a demanda que isso criou. No momento,investigando e, em muitos casos, construindo novos poem comunidades e negcios para suas prprias organiz2.0 est entrando na empresa.As organizaes esto interessadas em usar as tcnicasduas reas, principalmente: dentro da organizao, paraeficincia e a produtividade, e da organizao para osaprimorar a receita e a satisfao do cliente. O usombito das organizaes denomina-se Enterprise 2.0 e,provavelmente, esta ser a primeira rea que usar ada Web 2.0 pelas empresas para fazer a interface comconsumidores similar atividade B2C (do negciomas com um enfoque social e comunitrio e, por issB2C 2.0 (do negcio para a comunidade). O interesse"comunidade como um cliente" cresce rapidamente.

    A Enterprise 2.0 ou Web 2.0 na empresa um termProfessor MacAfee da Harvard Business School, em 2descrever o uso das tcnicas da Web 2.0 no mbitocom o intuito de aprimorar a produtividade e a efici

    A Web social e colaborativa

    Web 2.0 na empresa

    Enterprise 2.0

    " baseadas em contedo.As pessoas se renem e colaborauma notcia ou contedo, tipicamente em um blog o"espao";

    " baseadas em grupos. As pessoas se renem volta deinteresse, como um passa-tempo, discutindo-o em fru

    " baseadas em projetos. As pessoas trabalham juntas em uprojeto comum, como um projeto de desenvolvimentoat mesmo algo to grande como uma enciclopdia,wikis.

    Journal 12 www.architTHE JOURNALARCHITECTURE

    Web 2.0 na Empresa

  • 8/9/2019 AJ12 Web 2.0

    7/40

    Pela adoo das tcnicas da Web 2.0, os information workers, como organizaes volta das questes soessas barreiras no so abordadas pelas tecnologias dasuas contrapartes consumidoras, podem controlar suas prprias

    experincias de usurio com menos orientao do pessoal de TI eassim, no fica claro se a Web 2.0 possibilitar a gassim, criar para eles mesmos um ambiente de trabalho mais intuitivodo conhecimento nas organizaes.e eficiente. O resultado final produtividade, moral e satisfaoConcluindo, muitas tcnicas da Web 2.0 podem ser usaprimorados para a o information worker. Entendidos e implantadosorganizaes, em reas como a do desenvolvimento rpde modo adequado, as tecnologias, os mtodos e os padres da Webaplicativos utilizando mashups e gesto de conheciment2.0 podem ser usados na empresa para um grande efeito, estimulando

    blogs e wikis.toda produtividade e eficincia globais da organizao. Nesta seo,analisamos alguns dos elementos da Web 2.0 que possibilitam isso.Rica experincia do usurio Pelas perspectivas organizacional e de receitas, as rea

    que tm o maior impacto em potencial para uso daProporcionar aos usurios uma experincia nica para todas as suasque fazem interface com o cliente; possvel dizer qnecessidades aumenta a produtividade, minimiza os custos dedos contatos com o cliente, as vendas e o ciclo CRtreinamento e incentiva adoo e uso mais intensos. Isso inclui omodificados com o uso das tcnicas da Web 2.0. Emacesso s informaes e aos aplicativos, quer conectados ouoportunidade de fornecer mdia rica e interativa, almdesconectados, utilizando um dispositivo mvel ou laptop ou, ainda,interatividade mais prxima do cliente por meio de wquer estejam usando um thin ou smart client. O suporte ricaoferecer novas formas de contato e seduo para clieexperincia do usurio fornecido pelo Ajax e pelos subsistemasprospectivos. Em vendas, o uso de dispositivos agentesgrficos, como o Silverlight, permitem a rica experincia do usurionovas, como celulares, para interagir com o cliente duesperada pelas pessoas dos sistemas atuais.processo de venda outra rea importante para novos

    Modelos leves de programao desenvolvimentos. No atendimento ao cliente, o uso de

    Um dos princpios da Web 2.0 o conceito dos aplicativos criadosda comunidade para ajudar na resoluo de problemasgrupos de discusso, cria modelos de suporte totalmentpelo usurio ou mashupsde aplicativos gerados pelo usurio, commodelos leves de programao. Estes prometem uma mudanarazes para tal interesse so:dramtica dos gargalos e restries associados aos aplicativos geradospor TI. Com as tcnicas da Web 2.0, os usurios podem facilmentecriar aplicativos especficos para suas prprias necessidades.Entretanto, muitas estratgias atuais de aplicativos compostos deixama desejar, concentrando-se em aplicativos que apenas fazem orefaceamento de uma IU do Ajax e deixando de fornecer a verdadeiracapacitao do usurio. Para capitalizar a oportunidade do aplicativodirigido ao usurio, as empresas precisam fornecer departamentos eusurios com um ambiente gerenciado e ferramentas familiares quelhes permitam, facilmente, personalizar ou criar solues e espaos detrabalho prprios.

    Fim dos ciclos de lanamento e implantao de softwareO uso subjacente da Internet como uma plataforma na Web 2.0permite a distribuio simples, rpida e flexvel de aplicativos e dadosem toda a organizao, tirando o usurio dos ciclos de atualizao deTI, fixos e inflexveis, e permitindo um novo nvel de suporteorganizacional e de capacidade de resposta para o usurio.

    A Web que l e escreve

    Dados e documentos so crticos para qualquer organizao e ossistemas baseados em servios, como a Web 2.0, permitem criar,modificar e trocar dados e documentos com complexidade bastantereduzida e facilidade de uso aprimorada. A proviso de dados, ogerenciamento de contedo e os sistemas colaborativos que podemsuportar as tcnicas social e de formato do rico contedo da Web 2.0so crticos para o uso da Web que l e escreve na empresa.

    Web colaborativa

    As empresas com bancos de dados de grande porte de funcionrios,parceiros e clientes h muito conhecem o valor do conhecimento quereside nas mentes dos funcionrios, nos bancos de dados e nosdocumentos no estruturados encontrados em toda a organizao. Nopassado, tentativas de coletar essas informaes nos sistemas degesto de conhecimento foram feitas, com vrios nveis de sucesso,mas as tecnologias da Web 2.0, como blogs, wikis e o empenho daempresa em descobrir pessoas e dados podero facilitar a gesto de

    Existem cinco reas nas quais as tcnicas da Web 2.conhecimento e fornecer uma nova plataforma de colaborao paratarefas complexas e criativas. Entretanto, deve-se notar que autilizadas no trabalho com comunidades de clientes paverdadeira barreira para a gesto do conhecimento ergue-se nas B2C 2.0, conforme descrito abaixo:

    B2C 2.0 (do negcio para a comunidade)

    " receita e crescimentoNovos fluxos de receitas podem ser construdos e epodem apresentar um aumento por meio da integracomunitria. Especificamente, o contedo do custo dosanos revelou o interesse do lado do negcio em crreceita baseados na inovao. O rpido crescimento eespao da Web 2.0 so vistos como algo que as eimitar;

    " economias de escala baseadas na WebAs empresas percebem que podem cortar radicalmente

    bens de capital e recursos humanos, utilizando um mentrega baseado na Web para as comunidades e osempresas B2C 2.0 tm planos para dar suporte a dde clientes, com apenas algumas centenas de funcion

    " modelos de contratao flexvel O uso de pessoal contratado e temporrio para a enflexibilidade e agilidade. O pessoal temporrio e o cser considerado uma outra comunidade especializada eapoio das tcnicas de Web 2.0, da mesma forma qu

    " criao de comunidades como evangelismo e suporteOs clientes so o que de melhor tem um negciovendas, marketing, suporte e desenvolvimento. A criacomunidades terceiriza, efetivamente, esses centros dezero. Na verdade, com a incluso de publicidade dircomunidade, muitos dos atuais centros de custo podecentros de lucro;

    " vantagem do lder da comunidadeA dinmica da comunidade tal que a primeira, bede longe, a mais poderosa; e a organizao proprietcomunidade controla o espao. Se os concorrentes daforem os primeiros no espao da comunidade, terocompetitiva muito significativa.

    Journal 12 www.architecturejournal.netTHE JOURNALARCHITECTURE

    Web 2.0 na Empre

  • 8/9/2019 AJ12 Web 2.0

    8/40

    6 Journal 12 www.architTHE JOURNALARCHITECTURE

    mensagens instantneas e de bate-papo para suporte emInovao e desenvolvimento de novos produtospara os produtos. Depois, o uso de captura de imageUm grande percentual de inovaes e idias para novos produtos nascomunicao e resoluo de problemas. O uso de espeorganizaes advm de fornecedores e clientes e no de pesquisaprodutos baseados em comunidade e grupos de discussinterna e organizaes de desenvolvimento. Essas idias para novosajuda a terceira e mais importante rea: a auto-ajudprodutos geradas pelos clientes tm maior probabilidade de seremmuito bem em comunidades e um meio de fornecebem-sucedidas pois vieram dos usurios finais do produto.qualidade e de custo muito baixo. Contudo, como acoObviamente, as organizaes que podem construir um sistema quemaioria dos sistemas baseados em sociedade, a mecniextrai essas idias pode obter benefcios significativos. O uso degrupos de auto-ajuda no simples e exige raciocniocomunidades de clientes e fornecedores baseadas na Web 2.0, comoTreinamento e educaofruns e grupos de discusso de idias e incubao de novos produtos,

    representa uma tcnica poderosa para coletar idias de modo simplesProvavelmente, o treinamento e a educao so os usoe econmico. Muitas organizaes esto efetivamente estudando o usoexplorados da Web 2.0 na empresa. A disponibilidadede fruns comunitrios e grupos de discusso no processo devdeo de alta qualidade oferece um custo muito baixodesenvolvimento de produtos. simples de proporcionar treinamento e materiais de dem

    Esse contedo rico, quando integrado aos especialistasUm benefcio adicional deste desenvolvimento de novos produtoscomunidade e nos grupos de discusso ativos oferecebaseado na comunidade que os clientes conseguem ter umtreinamento e educao poderoso e simples. Embora atentendimento melhor do produto ou servio entregue quando estohavido relativamente pouca atividade na rea de treinamenvolvidos nos respectivos processos de gestao e, dessa forma, a suaeducao, esta sem dvida crescer muito no futuro.percepo do produto ser significativamente aprimorada.As organizaes esto aprendendo a ver seus clientesMarketingcomo comunidades com as quais mantm relaes onliCertamente, a aplicao mais conhecida das tcnicas da Web 2.0 nasum ciclo multifacetado de vendas baseado na comunidaorganizaes est nos departamentos de marketing como marketingespecializada de varejo pode realizar uma palestra, profviral. So muitos os exemplos de comunidade e contedo complexo,especialista nacional, que cria uma comunidade onlinecomo o vdeo, usado para gerar e disseminar novidades sobretpico de interesse, moderado por esse especialista. Coprodutos e servios. Existem dois elementos para este marketing viral:discusso online, os membros da comunidade visitam agerao do interesse inicial e, em seguida, a disseminao viral. Aconhecer itens de interesse especfico e, em seguida, fgerao do interesse inicial melhor realizada utilizando imagem,desses itens online, no mbito de um esquema de prvdeo e filmes inovadores; no difcil registrar-se milhes decomunidade.downloads de um vdeo criativo aps poucas horas ou dias do

    lanamento e o interesse contnuo em um produto pode sersustentado pela incluso de um elemento informativo ou explicativoResumindo, hoje em dia, as reas da Web 2.0 de codo contedo. A disseminao desse material feita pela comunidadecontedo complexo esto sendo utilizadas com sucessoda Internet utilizando, quase sempre, mensagens instantneas, e-mailorganizaes, internamente para captura de conhecimentoou fruns comunitrios. Novamente, essa disseminao pode ser muitoreutilizao e, externamente para criar comunidades derpida e abundante. O vdeo cativante de um produto ou servio novoEmbora grande parte do atual interesse esteja na captupode ser transmitido a milhes de pessoas em horas e aparecer emconhecimento e reutilizao, ainda h problemas significmdia comercial, como TV ou jornal, em dias. culturais e sociais, para a implementao bem-sucedida

    sistemas, os quais no so resolvidos pelas tcnicas dContudo, existem algumas limitaes sobre o marketing viral: emmenos explorada do uso das comunidades de clientesprimeiro lugar, o pblico-alvo precisa ser bem compreendido e,promessa muito maior para a organizao, mas tambmmesmo assim, o material talvez no desperte o interesse daprprios concomitantes sobre IP e vandalismo, os quaiscomunidade. Em segundo lugar, as organizaes no podem controlardiscutidos.a disseminao ou o uso dos materiais; o uso de tcnicas de marketing

    viral pela comunidade de formas imprevistas bem documentado eNo geral, o uso das tcnicas da Web 2.0 na emprespode criar problemas significativos para uma organizao. efeitos profundos e extensos sobre como as organiza

    interna e externamente, criando formas poderosas e comVendasnovas para a movimentao, as vendas e o suporte a

    Em geral, o custo de vendas representa uma parte significativa de todocomunidades.o custo de um produto ou servio. Em uma organizao B2C 2.0, acomunidade age como um vendedor e, assim, o custo de vendas ficaacentuadamente reduzido e, em muitos casos, chega a zero. Osprprios clientes agem como representantes e vendedores da

    Michael Platt diretor de estratgia de arquitetura Weborganizao. No h necessidade de grande presso, nem de umamesma denominao da Microsoft Corp. em Redmond,organizao de vendas de alto custo nos negcios baseados nalarga experincia em arquitetura Web e em aplicativoscomunidade; em muitos casos, contraproducente e, na verdade, vaipara empresas multinacionais de grande porte, e pertoobstruir as vendas. experincia no setor de TI. Michael trabalha na MicroSuporte j ocupou vrias cargos de gerncia, estratgia, pr-ven

    consultoria. licenciado (Honours Degree) em engenharO suporte a segunda rea mais conhecida para o uso das tcnicas daeltrica e j publicou diversas dissertaes e patentes.Web 2.0. Primeiramente, as organizaes usam as tcnicas de

    Concluso

    Sobre o autor

    Web 2.0 na Empresa

  • 8/9/2019 AJ12 Web 2.0

    9/40

    Resumo

    A distribuio de software como servio (SaaS) temganho muita fora. Uma das razes que o modelo um-para-muitos atraente pois fomenta novas economiasde escala. Mesmo assim, a economia de escala noacontece automaticamente: precisa ser explicitamentearquitetada na soluo. Um padro arquitetural tpicoO FLUXO DESCENDENTE DAS CAPACIDADEque favorece a economia de escala o tipo "instnciaHORIZONTAIS DAQUILO QUE PODEMOS CHAnica, locao mltipla" e, muitos fornecedores de"ENCANAMENTOS" DOS ISVs PARA FRAMEWsoftware independente (ISVs) que oferecem SaaS

    E, EM SEGUIDA, PARA PLATAFORMAS CENT"mudaram-se" para esta arquitetura, obtendo vriosPODE SER AINDA MAIS GENERALIZADO, PAnveis de sucesso. ABRANGER OS CENRIOS DE SOFTWAREEntretanto, h outros meios de aprimorar a eficincia,DISTRIBUDO COMO SERVIO. NESSE SENTI

    UMA SDP TORNA-SE UM "SISTEMA OPERACadotados pelos ISVs com o mesmo entusiasmo: usar umaDE ENTREGA DE SERVIO".plataforma de entrega de servio (SDP). A adoo tem

    sido lenta principalmente porque as plataformas deentrega de servios, otimizadas para a entrega deaplicativos de linha de negcio, esto ainda nos seusprimrdios. Mas os dois atores do espao dehospedagem, novos e existentes, esto construindo,muito rapidamente, capacidades imprescindveis. Esteartigo explora metas, capacidades e motivaes quelevam adoo de uma SDP e descreve a tecnologia e osprocessos relativos distribuio eficiente de softwarepor meio dessa plataforma.Economias de escala e arquitetura do aplicativo

    prprio agendador e gerenciador de memria. Mas, estasbastante especficas so exatamente as excees e no aAs empresas e os ISVs fatoram continuamente os compde suas solues em frameworks aplicativos horizontaisframeworks oferecem componentes (e procedimentos) maiscomuns, compartilhados, que elevam a reutilizao, aumenprodutividade e, em geral, proporcionam desenvolvimentooperacional mais previsveis.

    O problema que existe na construo de frameworksquase sempre, eles no contribuem diretamente para osoftware em si. Eles so o "mal necessrio" pois facde longo prazo do aplicativo e, assim, os ISVs e asprefeririam no ser os seus proprietrios. Este fato rede ganho mtuo na qual os "encanadores" podem convender funcionalidades verticais para que os "especializ

    domnio" possam se concentrar nas funcionalidades "vera proposio de valor para o comprador maior. Sejningum compra uma soluo s porque ela tem ummelhor para tratar as excees.Como ilustrado na Figura 1, existe um processo naturextrao e generalizao de funcionalidade dos aplicativframeworks e, destes, para os componentes da platafor

    Os sistemas operacionais evoluram como uma forma de simplificar oaumentar o volume de elementos compartilhados, estedesenvolvimento, as operaes e o gerenciamento de aplicativos. Emas economias de escala.lugar de exigir que cada aplicativo (re)crie toda a pilha de subsistemasO fluxo descendente das capacidades horizontais vindonecessrios para a sua execuo, com os nveis de qualidade esperados,

    podemos chamar "encanamentos" dos ISVs para os fraos sistemas operacionais oferecem uma infra-estrutura na qual osseguida, para plataformas centrais, pode ser ainda maisservios dos aplicativos comuns, de uso geral, so codificados epara abranger os cenrios de software distribudo comoreutilizados.sentido, uma SDP torna-se um "sistema operacional" dQuase sempre, esses servios so tecnicamente complexos e exigem oservio, especializada nas caractersticas e exigncias hodesenvolvimento de destreza e habilidades especializadas. Os ISVsaplicativos distribudos como SaaS.rapidamente entenderam a proposio de valor de um sistemaEmpresas tradicionais de hospedagem so candidatas naoperacional e padronizaram o seu desenvolvimento sobre um ou doisimplementar e oferecer uma SDP dado o seu histricosistemas operacionais. Ao aproveitar a infra-estrutura, comum econjunto de habilidades e base instalada. Entretanto, ousubjacente, eles tiveram mais tempo para dedicar parte especfica detambm poderiam analisar a sua entrada nesse espaodomnio do aplicativo a qual, afinal, o que os usurios de software

    compram. ISVs que hospedam as prprias solues SaaS poderiamonetizao desse ambiente de auto-hospedagem que coExistem casos em que as necessidades especficas de um aplicativo vopara si, oferecendo-o como um ambiente de distribuialm do que oferece um sistema operacional de uso geral. Nessauso geral. Os integradores de sistema que j obtiveramcircunstncia, partes do sistema operacional so substitudas poroperacional de classe internacional por meio de suasmdulos desenvolvidos especificamente, oferecendo o nvel de suportenegcio-processo-terceirizao, poderiam aproveitar essedesejado. Por exemplo, os bancos de dados quase sempre escrevem os

    prprios sistemas de arquivo e, no caso do Microsoft SQL Server, oconhecimento no espao de SaaS, que cresce a olhos

    Distribuio eficiente desoftware por meio de plata-formas de entrega de serviospor Gianpaolo Carraro, Fred Chong e Eugenio Pace

    Journal 12 www.architecturejournal.netTHE JOURNALARCHITECTURE

  • 8/9/2019 AJ12 Web 2.0

    10/40

    O PONTO PRINCIPAL QUE A EFICINCIA DE UMASDP DEPENDE EXTREMAMENTE DO ARQUTIPOSERVIDO. QUANTO MAIS A SDP CONHECER OAPLICATIVO, MAIOR SER A SUA CAPACIDADE DEAUMENTAR A EFICINCIA DE EXECUT-LO E OPER-LO, E MAIOR SER O NVEL DECOMPARTILHAMENTO".

    Arqutipo do aplicativo: um tamanho de SDP serve para tFatores de sucesso de uma SDP

    a ponta, que cobre cada etapa do ciclo de vida dedistribudo como SaaS (vide Figura 2), apesar de tersuperficial em algumas capacidades; outra, profunda, quapenas em determinados estgios, mas que oferece recusofisticados para eles. A mesma pesquisa tambm indiatributo "facilidade de uso" ainda no est inteiramentenas ofertas pois, muitas delas, dependem de processosintensivos e especficos.

    Os aplicativos de negcio podem ser classificados emO nvel de sucesso de uma SDP ser determinado pelos seguintesdiferentes, com base em suas caractersticas e exignciatributos: exemplos desses arqutipos so:" sistemas OLTP (Online transaction processing ou proc

    transaes em tempo real):caracterizados pela baixa latncielevado de resposta, integridade dos dados, workflowspredefinidos. As instncias deste arqutipo so sites dsistemas de e-banking, sistemas CRM.

    " sistemas de anlise - OLAP (Online analytic processi processamento analtico em tempo real): caracterizados por suhabilidade de produzir consultas analticas complexaspersonalizveis em conjuntos de dados multidimensionaporte, com respostas de baixa latncia. Os sistemasclassificados nessa categoria.

    " sistemas de lote: capazes de executar eficientemente operconjuntos de dados de grande porte, coordenando trab

    maximizar a utilizao da CPU com diretivas de recocorram excees.Essas famlias de aplicativos tm, cada qual, seus prcaractersticas e padres de projeto ideais, que podempara resolver os desafios especficos que apresentam.Com muita freqncia, esses desafios tm metas confliexemplo: o OLTP otimizaria a baixa latncia, mas latde lote no importante. O OLTP escala melhor noe se beneficia de uma arquitetura stateless (sem estadObserve que os quatro atributos acima no se destinam a representar

    um modelo de maturidade. Se observarmos as ofertas de SDPque os sistemas de lote escalam verticalmente e tendeexistentes, veremos que atualmente abrangem duas estratgias: uma(estado conversacional). A infra-estrutura e os serviosampliada, otimizada para fornecer uma plataforma abrangente, ponta a cada uma delas , conseqentemente, b

    1. Capacidades operacionais centrais: habilidade de fornecercontratos de nvel de servio (SLAs) bem estruturados com relaos exigncias no funcionais como disponibilidade (tolerncia afalhas e tempo de processamento), escalabilidade e recuperaode desastres e, tambm, recursos de servios genricos comopresena em vrias geografias, suporte ao cliente 24x7 esegurana fsica multicamada;2. Profundidade dos servios: o nvel de sofisticao dos serviosque fornece como, por exemplo, suporte ao faturamento paravrias opes de pagamento;3. Extenso dos servios: a completude da plataforma; em outraspalavras, o suporte para os diferentes estgios do ciclo de vida deum aplicativo distribudo como SaaS, por exemplo, servio defaturamento, homologao do aplicativo, servios de

    planejamento de capacidade ou mtodos para consertar ouatualizar aplicativos;4. Facilidade de uso: usabilidade pela perspectiva do ISV; emoutras palavras, o custo de aprender e usar os servios fornecidospela SDP. SDPs fceis de usar no exigem longo aprendizado, tmdocumentao completa, interfaces e SDKs bem planejados,cdigo de amostragem, modelos, assistentes e contedo detreinamento.

    8

    Figura 1:Fatorando semelhanas em uma plataforma reutilizvel

    Journal 12 www.architTHE JOURNALARCHITECTURE

    Um Aplic

    Um Aplic

    HW HW HW

    SOSO

    .... .... ....

    Outro Aplic

    Um Aplic

    UI+ Lgica Neg+Infra-estrutura aplic

    Armaze-namento

    Armaze-namento

    Armaze-namentoSegurana Segurana Segurana

    UI+ Lgica Neg

    UI+ Lgica Neg UI+ Lgica Neg

    UI+ Lgica NegUI+ Lgica Neg

    Infra-estruturaaplic

    Infra-estruturaaplic

    Outro Aplic

    Framework AplicativoComum

    P l a t a f o r m a d e

    U S o G e r a l

    E s p e c i a l i z a o

    d a A b s t r a o

    Distribuio Eficiente de Software

  • 8/9/2019 AJ12 Web 2.0

    11/40

    Neste cenrio bsico, aplicativos de ISimplantados usam os prprios padresarquitetura do aplicativo e muito poucexposto ao hoster ou por este conEspera-se que os ISVs desenvolvam eprpria infra-estrutura de gerenciamentovrias locaes, infra-estrutura de segu

    gerenciamento de locatrios, etc.Quase sempre, os pedidos de serviosestrutura como, por exemplo, registrardomnio, diretrio virtual ou site naum novo banco de dados, alocararmazenamento, so realizados manualmautomatizados com script personalizado.

    A instalao e a implantao da soluque o ISV fornea ao hoster instrudetalhadas de configurao e instalaodiversos, no padronizados, tambm snecessrios (como os arquivos de conpara tratamento de XML, chaves decaminhos de arquivo, strings de conexpouco da arquitetura do aplicativo ou fica exposta ao hoster. Esses procespecficos impedem o hoster de escaprocedimentos a milhares de aplicativotem de tratar cada um como uma ex

    Cada aplicativo uma "caixa preta"componentes possivelmente conflitantes,competindo inadequadamente por recurs

    compartilhados (e limitados), motivo pelo qual muitos

    servidores dedicados que garantiro o completo isolameoutros aplicativos. Entretanto, o uso de servidores dedidiretamente contra a meta de eficincia atravs da infcompartilhada.

    O hoster s pode observar e agir sobre indicadores amonitorar a soluo. Estes conseguem medir apenas codesempenho gerais e amplos, como CPU e cargas dememria, banda larga, conteno de SQL e tambm acontadores de desempenho especfico do aplicativo que"conforme necessrio". Existem poucos (ou nenhum) mpadro acordados de gerenciamento refinado do aplicativ

    muito interessante constatar-se que, mesmo com pouconhecimento do que faz o aplicativo, os hosters, emconseguem dar informaes detalhadas ao ISV sobre odo banco de dados. Isso acontece porque os artefatosdados so comuns a todos os ISVs (os aplicativos pprocedimentos armazenados, ndices, acionadores, visualize a plataforma em que esses artefatos so instanciadoservidor do banco de dados, como o SQL Server) nvel de abstrao. Os hosters podem, portanto, fornecdetalhada, bloqueio, relatrios de desempenho e at suaprimoramentos sobre esses artefatos.

    O ponto principal que a eficincia de uma SDP dependente

    extremamente do arqutipo servido. Quanto mais a SDP conhecer oaplicativo, maior ser a sua capacidade de aumentar a eficincia deexecut-lo e oper-lo, e maior ser o nvel de compartilhamento.

    A Figura 2 ilustra o ciclo de vida de um tpico aplicativo distribudocomo SaaS. Cada estgio do ciclo de vida caracterizado por umnmero de atividades executado pelo ISV, pelo hoster e por outrosparticipantes que se tornaro mais relevantes na medida em queaumentar o grau de sofisticao das SDPs (integradores de sistemas,revendedores de valor agregado, por exemplo)Os quatro cenrios abaixo descrevem as capacidades e as experinciaspossibilitadas por SPDs cada vez mais sofisticadas.

    As capacidades da SDP mais simples so essencialmente aquelas oraoferecidas pela maioria dos hosters tradicionais. Esses serviosconcentram-se principalmente em componentes de infra-estruturacentrais, bastante genricos, como: CPU, acesso rede, recursos desegurana de Internet e armazenamento (discos e bancos de dados)geralmente denominados em ingls "ping, power, and pipe", ou seja,os itens bsicos.Neste cenrio, a economia de escala fica limitada aocompartilhamento dos nveis mais baixos da infra-estrutura: aconstruo da central de dados e da infra-estrutura de TI, comoservidores e equipamentos de rede.

    As capacidades de uma plataforma de distribuio de servio

    Cenrio A: plataforma bsica de distribuio de servio

    Journal 12 www.architecturejournal.netTHE JOURNALARCHITECTURE

    Construo

    Implantao

    Uso

    Atualizaodo Servio

    Venda

    "

    O ISV desenvolve um novo aplicativo em uma SDP, define SLAs e parmetrosoperacionais" O hoster confirma a compatibilidade com as polticas da SDP" O hoster instala o aplicativo na central de dados" O hoster fornece APIs, ferramentas e programadores para que os ISVs

    desenvolvam seus aplicativos de acordo com a SDP

    " O ISV desenvolve, testa, confirma um aplicativo distribudo como SaaS" O hoster fornece APIs, ferramentas e programadores para que os ISVs

    desenvolvam seus aplicativos de acordo com a SDP

    " O cliente descobre o aplicativo no mercado do hoster" O cliente conhece o aplicativo" O cliente experimenta e compra o aplicativo do ISV" O agregador rene o aplicativo com outros produtos" O revendedor o renomeia como um aplicativo sem marca

    " O ISV atualiza o aplicativo" O ISV conserta o aplicativo" O hoster atualiza e conserta a SDP

    " O cliente usa o aplicativo" O cliente personaliza um aplicativo" O integrador do sistema personaliza uma soluo para o cliente" O hoster monitora e gerencia o aplicativo para cumprir os termos do SLA" O Hoster informa e escala incidentes para o ISV

    Figura 2: Ciclo de vida tpico de um aplicativo distribudo como SaaS e atividades associadas

    Distribuio Eficiente de Softwar

  • 8/9/2019 AJ12 Web 2.0

    12/40

    10

    MESMO SE HOUVER POUCO OU NENHUMCONHECIMENTO SOBRE O QUE FAZ O APLICATIVO,OS HOSTERS, EM GERAL, CONSEGUEM FORNECERAO ISV INFORMAES DETALHADAS SOBRE ODESEMPENHO DO BANCO DE DADOS PORQUE OS

    ARTEFATOS DO BANCO DE DADOS SO COMUNS ATODOS OS ISVs E A PLATAFORMA EM QUE ESSESARTEFATOS SO INSTANCIADOS INSTRUMENTADA NO NVEL DE ABSTRAO. Cenrio B: aprimorar a eficincia por meio do conheciment

    mais profundo da arquitetura do aplicativo

    exemplo, voc talvez encontre servios de terminal hodistribudos pelo aplicativo VB6, um aplicativo para avrios frameworks e componentes de tempo de execuEm outras palavras, a exceo a regra.Este cenrio principalmente caracterizado por um comde infra-estrutura operacional. Em resumo, as economianeste cenrio ficam limitadas a componentes de nveldos principais fatores que afetam a eficincia da SDPheterogeneidade dos aplicativos hospedados.

    Destaca-se um ponto: esses artefatos existem em todos os aplicativosbaseados em banco de dados, independentemente de o ISV t-loQuantidade maior de componentes compartilhados levacriado. Comparativamente, usando um aplicativo para Web comoaltos de eficincia e, assim, temos a pergunta: quaisexemplo, o nico artefato compartilhado entre vrios ISVs a "pginamais naturais a serem "extrados" dos aplicativos na SWeb", identificada pelo URL, elemento de pouca granularidade paracandidatos bvios so aqueles citados nos servios deser gerenciado de modo eficiente. Questes como qual parte dado aplicativo: configurao do aplicativo, tratamento epgina demora mais para carregar, quais componentes so relatrios de exceo de tempo de execuo, registroinstanciados atravs de uma pgina especfica ou qual dessesauditoria, rastreamento, caching, acesso aos dados. Todo

    componentes dependentes est causando conteno ou problemas deaplicativos precisam deles e, ainda assim, so freqenttempo de execuo (run time), exigem inspeo de cdigo, uso deuma vez e repetidos pelos ISVs.ferramentas avanadas e/ou profundo conhecimento de como oUm exemplo de framework de infra-estrutura de aplicaaplicativo construdo, procedimentos que, por natureza, no sopadro, largamente adotado, o Enterprise Library daescalados para milhares de aplicativos. expor esses servios bsicos publicamente, a SDP temAtualizar tudo (exceto sistema operacional principal, equipamentos demuito grande de automatizar procedimentos comuns erede e outras infra-estruturas bsicas) exige procedimentos manuaiscapacidades de gerenciamento operacional avanado. Assou especficos e interaes humanas (e-mails, telefonemas) entre osdisponveis ajuste fino, personalizao e diagnstico. Obespecialistas do ISV e os hosters. hoster no precisa entender detalhadamente o que faz

    mas, em lugar disso, como faz (por exemplo, onde eOs aplicativos SaaS que operam neste ambiente bsico so geralmenteimplementados utilizando uma grande variedade de pilhas e os strings de conexo com o banco de dados? Como

    notificadas as excees de tempo de execuo?).bibliotecas de tecnologia, no necessariamente compatveis. Por

    Figura 3: Dirigindo economias de escala atravs de uma infra-estrutura compartilhada maior

    Journal 12 www.architTHE JOURNALARCHITECTURE

    IU + Lgica Neg

    Aplic A ISV

    Hardware

    Servidores

    Servios do Negcio

    S e r v i o s o p e r a c

    i o n a

    i s

    G e r e n t e O p e r a c

    i o n a

    l

    Aplic A ISV

    Faturamento Medio

    Arquitetura Aplic

    ExceesCachePerfil

    Faturamento Medio

    Arquitetura Aplic

    ExceesCachePerfil

    Central de dados

    H o s t e r

    I S V

    H o s t e r

    I S V

    Execuo SeguranaServiosde rede

    Tolernciafalhas

    Ferram.infra-estr.

    Monitora-o central

    Execuo Segurana

    SO & Infra-estrutura Central

    TolernciaFalhas

    Servidores Discos Rede P l a n e j . C a p a c

    i / /

    M o n i t o r .

    S L A

    E s c a

    l .

    i n c i

    d e n t e s

    S e r v i o s o p e r a c

    i o n a

    i s

    Arquitetura de Aplicativos

    Identif marca

    Aplic B ISVAplic A ISV Aplic C ISV

    Central de dados

    M o n i t o r .

    S L A

    E s c a

    l .

    I n c i

    d e n t e s

    Discos Rede

    IU + Lgica NegIU + Lgica NegIU + Lgica NegIU + Lgica Neg

    Servios do Negcio

    G e r e n t e O p e r a c

    i o n a

    l

    Medio MercadoFaturamento

    Registroem log

    Trat. deExcees

    Vincul.Dados

    Vincul.Dados

    Servios do Negcio

    SO & Infra-estrutura Central

    Bancode Dados

    FerramInfra-estr

    Monitora-o Central

    Serviosde rede

    Banco dedados

    Armaze-namentoArmaze-namento

    Hardware

    P l a n e j . C a p a c

    i / /

    Distribuio Eficiente de Software

  • 8/9/2019 AJ12 Web 2.0

    13/40

    servios sofisticados de aplicativo, comoprovisionamento avanado de infra-estrutura, srelativos segurana (perfis e funes depersonalizao) e novos servios do negcioexemplo: eventos de negcio, medio e fataplicativo e inteligncia de uso.Como os contratos entre servios e aplicativser bem definidos, os SLAs podem, agora,estabelecidos no nvel de servios. SLAs convel macro (por exemplo, "tempo de proce"banda larga" e "utilizao de CPU") so nno suficientes. SLAs com ajustes muito mpodem ser negociados e comercializados. Porum SLA que estabelea "provisionamento delocatrio em menos de X minutos" pode smonitorado e aplicado.O SDP SDK pode ser ainda mais aprimoraos novos servios fornecidos, com implemenindependentes dos servios que permitem odesenvolvimento offline. Por exemplo, bast

    improvvel que o hoster compartilhe todo ofaturamento com o ISV apenas para fins ddesenvolvimento. O ISV, provavelmente, farcodificao com base em um "servio de fsimulado" com interfaces e contratos equivalimplementao mnima simulada. Aqui, o obum ambiente de desenvolvimento que imitecapacidades da SDP com dependncias mnimqualquer implementao concreta. Esse procedComo os ISVs estariam criando produtos com base nessas APIs, o

    tambm evita a exposio desnecessria dos componenthoster obrigado a publicar um kit de desenvolvimento de softwareSDP e da propriedade intelectual ao pblico. Para darda plataforma de entrega de servio (SDP SDK) que incluicenrio, preciso haver integrao e interao muitodocumentao, amostras e at mesmo algumas ferramentas bsicasentre o hoster e o prprio ciclo de vida do desenvopara download e uso dos ISVs. Neste cenrio, os hosters podem

    software (SDLC).escalar substancialmente os procedimentos operacionais bsicos poistodos so comuns e, em casos excepcionais... bem,tornam-se excees. Os aplicativos que nocumprem os padres podem, sem dvida, darocasio a ofertas premium para elevar os fluxos dereceita. Alm disso, os hosters podem oferecermaior gama de servios diferenciados com outrosesquemas de monetizao. Por exemplo, o hostersabe que todos os aplicativos registraro exceesde tempo de execuo, utilizando polticas eprocedimentos idnticos e, assim, o registro e aemisso de relatrios bsicos de exceo de tempode execuo poderiam ser oferecidos no pacotebsico de hospedagem, e o registro, a notificao ea escalao de excees de tempo de execuoavanados poderiam tornar-se uma oferta premium.(Vide Figura 5.) Observe-se que nesta abordagem, oaplicativo de ISV no modifica o painel de controleporque toda essa lgica ("encanamentos") fica nolado da SDP.

    Nitidamente, o cenrio B representa uma melhoriaem relao ao cenrio A, mas a SDP pode seraprimorada ainda mais, com a adio de outros

    Cenrio C: a SDP alm do gerenciamentooperacional

    IU + Lgica Neg

    Um Aplic

    IU + Lgica Neg

    Um Aplic

    Registro em log Registro em logSDP

    A n

    l i s e e

    n o t i f i c a

    o

    Painel de contr

    Oferta bsica Oferta premium

    Visualizadorde registros

    1 Journal 12 www.architecturejournal.netTHE JOURNALARCHITECTURE

    Aplic. B ISV

    Execuo Segurana

    SO & Infra-estrutura central

    Serviosde rede

    UsuriosFerram.

    infra-estr.

    Aplic. A ISV

    H o s t e r

    I S V s

    Aplic. C ISV

    Ger.usurios

    Monitoraocentral

    Hardware

    Servidores Discos Rede

    IU + Lgica Neg IU + Lgica Neg IU + Lgica Neg

    Tratamentode excees

    Central de dados

    Configurao

    Infra-estrutura de aplicativo

    ValidaoRegistroem log

    Armaze-namento

    Banco dedados

    Figura 4: Maior reutilizao atravs de uma infra-estrutura de aplicativo

    Figura 5: Exemplo de ofertas diferenciadas para a mesma funo

    Distribuio Eficiente de Softwar

  • 8/9/2019 AJ12 Web 2.0

    14/40

    12

    CONTROLE DE VERSES, GERENCIAMENTOINTEGRADO DE INCIDENTES, HOMOLOGAO EPROMOO DE VERSO ENTRE AMBIENTES DEHOMOLOGAO SO OFERECIDOS PELA SDPESTA INFRA-ESTRUTURA PERMITE A EXECUODE PROGRAMAS COMO TESTADORES BETA EMREGIES CONTROLADAS DA SDP, COLETANDOINFORMAES, PADRES DE USO E RESOLUO

    DE PROBLEMAS, ANTES DE OS RECURSOSSEREM REUNIDOS NA VERSO FINAL.

    Cenrio D: a mais moderna SDP

    Na produo, devido ao conhecimento mais profundo daplicativo trabalha, a SDP pode oferecer capacidades eautomticos para o gerenciamento de recursos. SDPs mpodem atribuir novas mquinas de modo dinmico, adium cluster, atribuir maior largura de banda de comunquaisquer outras infra-estruturas necessrias para manternos termos dos SLAs estabelecidos.Como os aplicativos so totalmente instrumentados, osoferecer inteligncia sobre padres de uso e anlise mrefinada sobre o desempenho e o funcionamento do aessas informaes so devolvidas, comentadas, (possivelmum servio premium) no pipeline de planejamento de

    Alm disso, neste cenrio, a implantao de solues na SDP feitaEm decorrncia dos procedimentos de garantia de qualpor meio de procedimentos muito automatizados, com um mnimo deimplantao, altamente automatizados, os ISVs tm a ointerveno manual. Estes procedimentos incluem recursos avanadosoferecer aprimoramentos de produtos com base na intepara validao e configurao automticas das necessidades docoletada, quase em tempo real, e de aprimorar seusaplicativo (pr-requisitos, locais de servidor, strings de conexo, porconstantemente, com base em comentrios mais precisoexemplo).

    Vender, atribuir marca, agrupar e agregar aplicativos sA implementao na SDP vai alm do cdigo e dos scripts deque podem ser executadas por meio de regras de comconfigurao e inclui os SLAs negociados, requisitos operacionaisdefinidas e, portanto, o hoster pode criar ofertas agrupcomo gerenciamento automtico de capacidade e escalao deservios comuns em vrias solues (como SSO ou gincidentes, parametrizao de faturamento. funo comum). Alm disso, a atribuio sem marcaA SDP tambm pode fornecer ambientes de homologao, nos quaisagregadores e terceiros para criar ofertas especializadaso aplicativo pode ser executado e confirmado antes de ser levado personalizadas, com a mesma base de cdigo.produo. Os ambientes de homologao permitem simulao defaturamento, criao de locatrios, falhas, etc., para permitir

    A mais moderna SDP ainda no existe. O texto destmodelagem mais complexa de cenrios do mundo real. Estes podemser vistos como "testes de unidades" para os SLAs firmados entre opouco de extrapolao e um pouco de especulao. Nhoster e o ISV. (Vide Figura 6.) avanado, alm de todos os recursos descritos acima,

    servios para gerenciamento completo do ciclo de vidaCuriosamente, isso resulta em uma nova gerao de servios a serempermitindo melhor integrao entre desenvolvimento, conoferecidos alm do tempo de execuo: por exemplo, simulao deverses, implantao, gerenciamento, operaes e suportefalhas, testes de carga, anlise de desempenho e otimizao poderiamsoluo distribuda como SaaS, permitindo que um ecoestar disponveis para os ISVs. ISVs de menor porte poderiam terestendido contribua e colabore para gerar solues espacesso a recursos temporrios, pois a compra destes seria muito cara.

    Journal 12 www.architTHE JOURNALARCHITECTURE

    IU + Lgica Neg

    SLA +Manisfesto de implantao

    +

    Aplic C ISV

    IU + Lgica Neg

    Aplic C ISV

    +Promoo

    Trat. deexceesInfra-estrutura aplic.

    Servidores Discos Rede

    Execuo Segurana Ger.usurios

    SO & Infra-estrutura central

    Pr-Produo Produo

    Hardware

    Serviosde rede

    Ferram.infra-estr

    Monitcentral Usurios

    Trat. deexceesInfra-estrutura aplic.

    Servidores Discos Rede

    Execuo Segurana Ger.usurios

    SO & Infra-estrutura central

    Hardware

    Serviosde rede

    Ferram.infra-estr

    Monitcentral Usurios

    Registroem log

    Registroem log

    Banco dedados

    Banco dedados

    Armaze-namento

    Armaze-namento

    Figura 6: A implantao inclui a definio de cdigo e tempo de execuo

    Distribuio Eficiente de Software

  • 8/9/2019 AJ12 Web 2.0

    15/40

    Descoberta, aprendizado, tentativa, desenvolvimento, extenso,controle de verses, ajuste so casos de uso suportados pela SDP. Esta uma integrao completa do ciclo de vida do desenvolvimento desoftware (SDLC) do ISV com o ciclo de vida das operaes de software(SOLC) da SDP. Neste cenrio, os aspectos do desenvolvimento desoftware so oferecidos como um servio em si: rastreamento deerros, controle de verses de software, testes de desempenho, etc.(Figura 7.)Todas as capacidades da SDP so expressas em formatos legveis pormquina. Modelos de componentes de software e as capacidades daSDP so totalmente integrados nas ferramentas. Verificao, anlise esimulao desses modelos podem ser executadas por membrosindependentes do ecossistema: ISVs, terceiros, agregadores, empresase outros colaboram na criao de sistemas complexos.Metadados de aplicativos incluem no apenas parmetrosoperacionais, mas tambm informaes necessrias para divulgar oaplicativo no mercado da SDP (equivalente ao registro de aplicativoAdicionar novo software encontrado no Windows), oferece ocontedo para saber mais, contedo de orientao, documentao,treinamento, valor adicional por servios profissionais agregados, etc.

    Controle de verses, gerenciamento integrado de incidentes,homologao e promoo de verso entre ambientes dehomologao so oferecidos pela SDP; esses recursos permitem aosISVs, agregadores, integradores de sistema desenvolver, personalizar eatualizar diferentes ofertas simultneas. Esta infra-estrutura permite aexecuo de programas como "testadores beta" e "early adopters" emregies controladas da SDP, coletando comentrios, padres de uso eresoluo de erros, antes de os recursos serem reunidos na versofinal.O servio de mercado fornecido pela SDP oferece um mecanismopara descobrir, aprender e tentar novas ofertas, disponvel por meiodos metadados que acompanham cada aplicao.

    Como j mencionado, vai levar algum tempo para que essas SDPsavanadas tornem-se populares.

    Concluso

    Referncias

    Sobre os autores

    As SDPs representam uma nova e estimulante oportunhosters tradicionais criem ofertas diferenciadas, de valofacilitando a entrada de um nmero maior de ISVs psolues com nveis operacionais de classe internacionadesta nova categoria de mercado atrairo muitos ISVs,aqueles de nichos ou segmentos de pequeno e mdio

    quais, por motivos econmicos, no podem hospedar adevido s suas qualidades ou viabilidade financeirade negcio.A equipe de estratgia de arquitetura da Microsoft esdiligentemente no desenvolvimento de um guia arquitetajudar ISVs, hosters e empresas a concretizar os benesoftware e dos servios, alavancando a plataforma Mic

    MSDN Architecture Development Centerhttp://msdn.microsoft.com/architectureSaaS Section on MSDN Dev Centerhttp://msdn.microsoft.com/architecture/saasLitwareHR A sample SaaS-delivered application developed byMicrosoft Architecture Strategy Teamhttp://www.codeplex.com/litwarehr

    Gianpaolo Carraro , diretor de entrega de servio, estratgarquitetura da Microsoft, dirige a liderana de pensammelhores prticas arquiteturais da Microsoft. AnteriormeMicrosoft, Gianpaolo foi co-fundador e arquiteto-chefede desenvolvimento de SaaS; foi membro da equipe t

    Laboratories. Gianpaolo autor publicado e palestranteprincipais conferncias internacionais de TI. Para sabervisite o blog do Gianpaolo: http:// blogs.msdn.com/gian

    Fred Chong, arquiteto da equipe de estratgia de arquitMicrosoft, reconhecido pelo setor como um especialarquitetura de SaaS. Anteriormente, ele projetou e impprotocolos de segurana e componentes de rede parasolues de cliente da Microsoft. Fred tambm realizoT.J. Watson Research Center da IBM e na Universidaem San Diego. O endereo do blog do Fred http://blogs.msdn.com/fred_chong

    Eugenio Pace, arquiteto da equipe de estratgia de arqu

    da Microsoft, responsvel pelo desenvolvimento de uarquitetural no espao SaaS. Antes de ingressar na eqtrabalhou como gerente de produto na equipe de padrda Microsoft e, nesse perodo, foi responsvel pela elguia de arquitetura, lado do cliente, inclusive clientesclients e clientes mveis. Foi nesse perodo que suaComposite UI Application Block e trs fbricas de soclients mveis e de desktop e, tambm, para o desenWeb. Antes de ingressar na equipe de padres e prcomo arquiteto na Microsoft Consulting Services ondedesenvolvimento de vrias solues corporativas em todO endereo do blog do Eugenio http://blogs.msdn.

    1 Journal 12 www.architecturejournal.netTHE JOURNALARCHITECTURE

    SLDC SOLC

    HosterISV

    Figura 7:Integrao do SDLC do ISV com o ciclo de vida operacionaldo hoster na mais moderna SDP

    Distribuio Eficiente de Softwar

  • 8/9/2019 AJ12 Web 2.0

    16/40

    14

    Resumo

    Um consumidor pode entrar em praticamente qualquer lojae fazer uma compra apresentando apenas um carto deplstico e uma identidade com foto. O comprador e olojista sequer precisam trabalhar com a mesma moeda, falaro mesmo idioma ou ter a mesma nacionalidade. Elesrealmente precisam compartilhar um sistema global decomunicaes e uma rede global de bancos que permitamao comprador carregar consigo, para qualquer lugar, osseus servios bancrios, e que forneam apoio de infra-estrutura ao lojista. E se a Internet pudesse fornecerprotees e servios similares para que usurios eadministradores de sites da Web pudessem compartilharinformaes?

    D

    ligariam a mnima e declarariam "No sabemos o quede fotos poderia fazer com os seus dados. Como nsnem confiamos nesse outro editor de fotos, voc tambno, ns no o deixaremos usar as suas fotos comsomos ns que lhe fornecemos o espao de armazenaverdade, as suas fotos so parcialmente nossas".Voc no conseguiria nem localizar as suas fotos, asoubesse, primeiramente, em qual aplicativo elas forameditor de fotos usei para fotografar o aniversrio doconsigo localiz-las!"E, o que acontece quando aquele editor de fotos desupermoderno, falir e desaparecer? Todas as suas fotoscom ele!J viu esse filme antes? Acontece com todos ns, tousando sites e aplicativos Web. O isolamento de domvoc use as suas listas de msica para comprar canuma loja online independente (desvinculada do fabricanesenvolver aplicativos que residem no navegador da Web player) ou em um quiosque de uma loja de varejo.muito parecido com olhar as vitrines da Main Street: muitas lojas

    onde comprar, milhares de coisas lindas para serem admiradas nasO isolamento de domnio tambm dificulta muito a cvitrines de cada loja, mas impossveis de adquirir. Frau Browser, a suaaplicativos Web leves de infra-estrutura baixa que retacruel madrasta alem, puxa a sua coleira sempre que voc pensa emdividem dados extrados dos vrios servidores de dadchegar mais perto do vidro. Ela diz que para o seu prprio bem, mascorporativa. Um subdomnio "foo.bar.com" de sua redevoc comea a desconfiar que a guia da coleira, assim curta, maisinterna "bar.com" to isolado da "bar.com" e "bee.bpara a comodidade dela do que para sua segurana. seus endereos externos, por exemplo, xyz.com.

    Os navegadores Web isolam pginas que residem em vrios domniosNo entanto, ningum pensa em abrir completamente supara evitar que fiquem espiando as informaes, umas das outras,sair distribuindo flores... As ameaas aos dados e sobre o usurio final. Nos primeiros momentos da Internet, esseque a rgida poltica de isolamento de domnio do nmodelo de isolamento era adequado porque poucos eram os sites que real e maldosa. Com reflexo e infra-estrutura cuidaadicionavam lgica de aplicativo significativa no cliente do navegadorhaver um meio bom que proporcione maior benefcioe, mesmo aqueles que o faziam estavam apenas acessando dados domantendo, ao mesmo tempo, as prticas de seguranaprprio servidor. Cada servidor Web era o seu prprio silo, s comusurios devem ter controle sobre quando, o qu e qvnculos HTML para contedo externo. informaes esto disponveis para um determinado site

    se trata de liberar o fluxo das informaes em todasIsso no a Internet de hoje. A experincia da Internet evoluiu parade dar liberdade aos usurios para usar os prprios dagregar dados de vrios domnios. Esta agregao dirigida pelano momento em que isso atender aos seus objetivos,personalizao de sites pelo usurio, assim como sites que adicionamindependentemente do local de residncia dos dados.valor agrupando as combinaes de diversas fontes de dados. Neste

    mundo, o modelo de isolamento de domnio do navegador WebPrecisa-se de um meio para que o navegador suportetorna-se um enorme obstculo, impedindo o desenvolvimento dolegtimo aos dados da travessia entre domnios, sem caplicativo Web do lado do cliente. Para evitar esse obstculo, ossegurana e o controle de dados do usurio final.programadores de aplicativos Web esto, cada vez mais, transferindoUm grande passo nessa direo a proposta de deselgica de aplicativo para os seus servidores Web, sacrificando apadresa, organizada por Ian Hickson, com o objetivoescalabilidade do servidor, apenas para fazer o que precisa ser feito.xmlHttpRequest para dar suporte s conexes da traveEnquanto isso, o terminal burro de 2GHz e 2GB do usurio estdomnios utilizando opt-in/opt-out baseado em domnioinativo. solicitado no momento. (Vide referncias.) Se esse pro

    sobreviver reviso dos colegas e for implementadoSe os PCs fossem construdos como um navegador Web, seria possveldos navegadores, haver esperana de se diminuir a bgravar os dados no disco, mas seria impossvel usar esses arquivos comtravessia entre domnios para usos legtimos e, ainda,qualquer outro aplicativo da mquina ou na mquina de qualquerproteo contra usos ilegtimos. Realisticamente, todavia,outra pessoa. Se voc decidisse trocar para outro produto editor depassar antes da implementao desta proposta pela mafotos, no poderia editar nenhuma das fotos antigas. Se vocnavegadores de todo o setor.reclamasse com os fabricantes do seu editor de fotos anterior, eles no

    Comunicao segura natravessia entre domniosno navegadorpor Danny Thorpe

    Journal 12 www.architTHE JOURNALARCHITECTURE

  • 8/9/2019 AJ12 Web 2.0

    17/40

    contedo que o iframe exibe, no momentofazer com que o iframe exiba outra coisaCada vez que um novo URL atribudosrc do iframe, este passar por todas asde carregamento de uma pgina, inclusiveevento onLoad.Temos agora todas as peas necessrias pdados do host para o iframe no URL. (pgina host do domnio foo.com pode colpacote de dados codificado em URL ao fURL de documento existente no domniodados podem ser carregados no URL comparmetro de consulta usando o caractere(http://bar.com/receiver.html?datadatadata) ou cum marcador, usando o caractere #(http://bar.com/receiver.html#datadatadata). Existuma enorme diferena entre esses dois tipque discutiremos logo a seguir.

    Agora, o que se pode fazer? Existem padres de comportamentocompatveis com todos os navegadores que aceitam cdigo JavaScript

    residente em um contexto de domnio de navegador, para observar asalteraes feitas pelo JavaScript residente em outro contexto dedomnio, no mbito da mesma instncia de navegador. Por exemplo,as mudanas feitas na propriedade largura ou altura de um iframe soobservveis nas partes interna e externa do iframe. Outro exemplo apropriedade iframe.src. O cdigo externo ao iframe no pode ler apropriedade src URL do iframe, mas pode escrever nela. Dessa forma,o cdigo externo ao iframe pode enviar dados para dentro do iframepor intermdio do URL do iframe.Esta tcnica de URL tem sido usada por programadores Web desde a

    A pgina host atribui este URL propriedade src doprimeira introduo dos iframes no HTML, mas os usos socarrega a pgina e dispara a rotina de tratamento dotipicamente primitivos, construdos para um fim especfico eda pgina. A rotina de tratamento do evento onLoadagrupados sem critrio. E o que pior, transferir dados por iframe srciframe pode procurar seu prprio URL, localizar o paURL pode criar um vetor exploit, permitindo que cdigos maliciosos

    integrado e decodific-lo para decidir o que deve sercorrompam o estado do seu aplicativo Web, jogando lixo no seuiframe. Qualquer cdigo, em qualquer contexto do navegador, podeIsto resume a tcnica de transferncia de dados do Uescrever na propriedade src do iframe e o iframe receptor no saberforma mais simples. O host constri um string URLqual a origem dos dados do URL. Na grande parte das situaes,documento conhecido + carga de dados, faz a sua atnunca possvel confiar em dados de origem desconhecida.propriedade src do iframe, o iframe "acorda" na rotinEste artigo explorar as questes e as solues tcnicas do canaldo evento onLoad e recebe a carga de dados. O qseguro de dados da travessia entre domnios do lado do cliente,poderia querer?desenvolvido pelo grupo da Windows Live Developer Platform.Na verdade, muito mais. Esta tcnica simples traz em

    limitaes:Um iframe um elemento HTML que encapsula e exibe umdocumento HTML, completo, dentro de si mesmo, permitindo aousurio exibir um documento HTML dentro de outro. Vamos chamar apgina externa ou a pgina host de pai do iframe e a pgina interna,

    de contedo do iframe. A pgina interna do iframe especificadaatribuindo-se uma URL propriedade src do iframe.Quando o URL fonte do iframe tem o mesmo nome de domnio doexterno, pgina host, o JavaScript da pgina host pode navegar peloDOM interno do iframe e visualizar todo o seu contedo.Inversamente, o iframe pode navegar at sua cadeia pai e visualizartodos os seus irmos DOM na pgina host e as respectivaspropriedades. Entretanto, quando o URL fonte do iframe tem umdomnio diferente daquele da pgina host, o host no pode visualizaro contedo do iframe e este no pode visualizar o contedo dapgina host.Mesmo que o host no possa ler a propriedade src do elementoiframe, ele ainda poder escrever nele. A pgina host no conhece o

    Tcnica IFrame URL

    O ISOLAMENTO DE DOMNIODIFICULTA MUITO A CONSTRUO DE

    APLICATIVOS WEB LEVES E DE INFRA-ESTRUTURA BAIXA, QUE RETALHAM E DDADOS EXTRADOS DOS VRIOS SERVIDODADOS DE UMA REDE CORPORATIVA. NOENTANTO, NINGUM PENSA EM ABRIRCOMPLETAMENTE SUAS DEFESAS E SAIRDISTRIBUINDO FLORES".

    " nenhuma confirmao de recebimento. A pgina host no siframe recebeu os dados, com sucesso;

    " substituio de mensagens. O host no sabe quando o i

    o processamento da mensagem anterior e, assim, no seguro enviar a prxima mensagem;" limites de capacidade. O URL no pode ser infinitament

    limite de comprimento varia de acordo com a famlO Firefox compatvel com URLs de at 40k, maIE define o limite em menos de 4k. Qualquer ocorser truncada ou ignorada;

    " dados de origem desconhecida. O iframe no sabe quemdados no seu URL. Os dados podem vir de umaamigvel, como no nosso caso, foo.com ou podemmaliciosos da evil.com na bar.com, esperando que qu'pegue ou estoure';

    Figura 1:transferncia de dados do iframe URL

    Journal 12 www.architecturejournal.netTHE JOURNALARCHITECTURE 1

    Host page (foo.com/main.html)

    function sendData() {iframe.src = bar.com/receiver.html#data_here;

    }

    http://

    Hidden iframe (bar.com/receiver.html)

    window.onLoad = function () {data = window.location.hash;

    }

    Comunicao Segura na Travessi

  • 8/9/2019 AJ12 Web 2.0

    18/40

    16

    " sem respostas.No possvel ter um script no iframe que devolvadados para a pgina host;

    " perda de contexto.Como a pgina recarregada a cada mensagem,a pgina interna do iframe no pode atualizar o estado global emtodas as mensagens.

    COMO OS NAVEGADORES TRATAM OS UFOREM UTILIZADOS PARMETROS DE COOU URLS COM MARCADORES.

    Ocultar dados em marcadores

    DEVEMOS USAR ? OU # PARA VINCULAR DADOSAO FINAL DO IFRAME URL? EMBORA BASTANTEINCUAS NA SUPERFCIE, EXISTEM, DE FATO,ALGUMAS DIFERENAS SIGNIFICATIVAS SOBRE

    Os URLs http://bar.com/page.html#one, http://bar.com/page,html#two e http://bar.com/page.html#three so consideradoDevemos usar ? ou # para vincular dados ao final do iframe URL?

    navegador equivalentes ao cache de http://bar.com/page.hEmbora bastante incuas na superfcie, existem, de fato, algumasparmetros de consulta tiverem sido utilizados, o navediferenas significativas sobre como os navegadores tratam os URLs seURLs diferentes e trs viagens pela rede. Contudo, seforem utilizados parmetros de consulta ou URLs com marcadores.

    Dois URLs com o mesmo caminho de base, mas parmetros demarcadores teremos, no mximo, uma viagem pela redconsulta diferentes so tratados como URLs diferentes. Aparecerosolicitaes subseqentes sero preenchidas a partir doseparadamente na lista de histrico do navegador, sero entradasnavegador. (Vide Figura 2.)separadas no cache da pgina do navegador e geraro solicitaes de

    Para os casos em que precisamos enviar grande volumtrabalho separadas em toda a rede.pelo iframe URL usando o mesmo URL de base, osOs marcadores URL foram projetados para fazer referncia a tags-perfeitos. As cargas de dados na poro do marcadorncora especialmente marcados em uma pgina. O navegadoraparecero no histrico do navegador, nem no cacheconsidera dois URLs com o mesmo caminho de base, mas com texto

    de marcador diferente aps o caractere #, como o mesmo URL no queainda mais: as cargas de dados nunca atravessaro ase refere ao histrico e aos caches do navegador. Os marcadorescarga da pgina inicial estiver no cache!diferentes esto apenas apontando para partes diferentes da mesmaOs dados transferidos entre a pgina host e o iframepgina (URL), mas, apesar de tudo, a mesma pgina.

    visualizados por quaisquer outros elementos DOM daporque o iframe est em um contexto de domnio dida pgina host. Os dados no aparecem no cache doatravessam a rede; assim, faz sentido dizer que os pso apenas observveis pelo iframe receptor ou por oservidas pelo domnio bar.com.

    Journal 12 www.architTHE JOURNALARCHITECTURE

    Navegador

    http://bar.com/page.html?two

    Cache fill

    http://bar.com/page.html?three

    Solicitao

    Solicitao

    Solicitao

    http://bar.com/page.html?oneSolicitao Cache

    Solicitao

    Solicitao

    http://bar.com/page.html#one

    http://bar.com/page.html#two

    http://bar.com/page.html#three

    Histrico doNavegador

    Cache doNavegador

    fillAdicionarhistrico

    Cachehit

    hitCache

    Internet

    Web Server

    Figura 2:Equivalncia cache de URLs de marcador

    Comunicao Segura na Travessia

  • 8/9/2019 AJ12 Web 2.0

    19/40

    Identificao do remetente

    Destinatrio stateful

    Envio para o remetente

    Talvez o maior problema de segurana com asimples tcnica de transferncia de dados para oiframe URL seja a dvida sobre a origem dos dados.Incorporar o nome do remetente ou alguma formade ID do aplicativo no resolve, pois isso pode serfacilmente copiado por fraudadores. preciso teruma forma para que a mensagem, implicitamente,identifique o remetente de modo a no serfacilmente copiada.Para muitas pessoas, a primeira soluo que vem mente seria usar um tipo de criptografia, com chavescuja posse ficasse apenas com o remetente e odestinatrio. Este procedimento seria eficiente, mas uma soluo extremamente manual, especialmentequando existe o envolvimento do JavaScript.Existe uma outra forma, que aproveita a importnciacrtica da identidade do nome do domnio noambiente do navegador. Se eu posso enviar umamensagem secreta para voc usando o seu nome de

    domnio e se, mais tarde, eu receber esse segredocomo parte de um pacote de dados, podereideduzir, razoavelmente, que o pacote de dados temorigem no seu domnio.A nica forma do segredo vir de um domnio E ento, como o iframe pode voltar a se comunicardiferente ser se o seu domnio ou o navegador do usurio estiveremhost? No indo para cima, mas para baixo. O iframecomprometidos ou se o meu DNS estiver comprometido. Todas asa nada em seu pai porque os dois residem em contapostas estaro erradas se o seu domnio ou navegador estiver

    diferentes. Mas o iframe bar.com (A) pode conter outcomprometido. Se a contaminao do DNS uma preocupao real,pode atribuir um URL propriedade src de 'B' no dpode-se usar https para constatar se as solicitaes de resposta dohost (foo.com). A pgina host foo.com contm o iframservidor para um determinado nome de domnio so, de fato, doque contm o iframe foo.com (B).servidor legtimo.timo, mas o que aquele iframe interno pode fazer?Se o remetente fornecer o segredo ao destinatrio, o destinatrio

    fornecer o segredo ao remetente e os dois segredos forem seu pai, o iframe bar.com. Mas, suba um nvel e votransportados em todos os pacotes de dados transmitidos pelo canalo pai do pai de 'B' a pgina host em foo.com.de dados do iframe URL, as duas partes podero ter confiana quantofoo.com, B.parent.parent est em foo.com e, assim, 'B' origem de cada mensagem. Cdigos maliciosos includos pora tudo na pgina host e chamar as funes do Javaevil.com podem ser facilmente reconhecidos e descartados. A troca deda pgina host.segredos inspirada pelo protocolo de trs fases SSL/https.

    A pgina host pode transferir dados para o iframe 'AEsses segredos no precisam ser complexos, nem criptografados, jURL em uma propriedade src de 'A'. 'A' pode proceque os pacotes de dados enviados pelo canal de dados do iframe URL

    enviar uma confirmao para o host escrevendo um Uno so visveis a terceiros. Nmeros randmicos funcionam bempropriedade src de 'B'. 'B' acorda em seu evento onLquando usados como segredos, com um porm: o gerador de nmeromensagem at o seu pai do pai, a pgina host. Pronrandmico do JavaScript (Math. random()) no robusto em termosde ida e volta de uma srie de pipes unidirecionaisde criptografia e, portanto, um risco na produo de seqncias de

    nmeros previsveis. O Firefox fornece um gerador de nmerode tal forma que, provavelmente, seria muito divertidorandmico robusto para esse fim (crypto.random()), mas o IE no.o matemtico e faz-tudo.Assim sendo, em nossa implementao optamos por gerar nmerosrandmicos robustos no servidor Web, enviando-os para o cliente,

    Para manter o estado global no contexto de bar.comconforme necessrio.vrias mensagens enviadas para o iframe, use dois ifrpginas de bar.com. Use um dos iframes como um d

    A maioria dos problemas associados tcnica de transferncia demensagem stateless, recarregando e perdendo o seu estdados do iframe URL fica reduzida na gerao de respostas. Confirmartodas as mensagens recebidas. Coloque a lgica do apo recebimento de pacotes exige que o destinatrio envie uma resposta

    do lado bar.com em outro iframe. Reduza a lgica dao remetente. Trocar segredos exige respostas bidirecionais. Controlarmensageiro ao essencial exigido para transferir os dadoo fluxo das mensagens e quebrar grandes volumes de dados em vriasiframe stateful bar.com.mensagens menores exige confirmao de recebimento.

    1 Journal 12 www.architecturejournal.netTHE JOURNALARCHITECTURE

    Host page (foo.com/main.html)

    function sendDataToBar() {iframe.src = bar.com/receiver.html#data_here;

    }http://

    window.onLoad = function () {data = window.location.hash;

    }function sendDataToFoo(){

    iframe2.src = foo.com/receiver.html#data_here;http://

    Hidden iframe (bar.com/receiver.html)

    iframe2 (foo.com/receiver.html)

    window.onLoad = function () {window.parent.parent.receiveFromBar(

    window.location.hash);}

    Figura 3: mensagem em uma garrafa de Klein

    Comunicao Segura na Travessi

  • 8/9/2019 AJ12 Web 2.0

    20/40

    SE EU POSSO ENVIAR UMA MENSAGEMSECRETA PARA VOC USANDO O SEU NOME DEDOMNIO E SE, MAIS TARDE, EU RECEBER ESSESEGREDO COMO PARTE DE UM PACOTE DEDADOS, PODEREI DEDUZIR, RAZOAVELMENTE,QUE O PACOTE DE DADOS TEM ORIGEM NO SEU

    DOMNIO. SE A CONTAMINAO DO DNS UMAPREOCUPAO REAL, PODE-SE USAR HTTPSPARA CONSTATAR SE AS SOLICITAES DERESPOSTA DO SERVIDOR PARA UMDETERMINADO NOME DE DOMNIO SO, DE FATO,DO SERVIDOR LEGTIMO.

    Agradecimentos

    Aplicao de idias

    Referncias

    Sobre o autor

    Capacitao do usurio

    grande banco, em uma grande cidade, para fazer o cmoeda local. Cheques de outra praa eram raramentecrdito direto da loja era oferecido apenas aos residenHoje, consumidores e lojistas compartilham sistemas dee redes de bancos globais que permitem ao compradoos servios bancrios aonde quer que v, e ajuda ovendas as quais, de outra forma, poderia perder. A r

    tambm fornece suporte de infra-estrutura ao lojista, ajcmbio, dando cobertura contra o risco de crdito eprejuzos decorrentes de fraude.Agora, por que a Internet no pode fornecer proteesimilares ao usurio itinerante da Web, assim como sestrutura para administradores de sites na Web? Levarexperincia consigo enquanto passa de um site para oforma que um carto de dbito oferece os seus serviUm iframe no pode enumerar os filhos de seu pai para localizarvoc durante as compras), revelando informaes aos aoutros irmos de bar.com, mas pode procurar um iframe irmode sites apenas a seu critrio. A Internet vai chegarusando window.parent.frames[], se ele souber o nome do iframe

    irmo. Cada vez que recarregado para receber novos dados no URL,questo de tempo e qualidade.o iframe mensageiro pode procurar o seu iframe irmo statefulbar.com utilizando window.parent.frames[] e chamar uma funo do

    Obrigado a Scott Issacs pelo conceito original da traniframe stateful para transferir os dados da nova mensagem para odados do iframe URL. Meus agradecimentos a Yaroniframe stateful. Assim, o contexto do domnio bar.com na memria doZissimopoulos por suas importantes contribuies s prinavegador pode acumular pedaos de mensagem, de vriasimplementaes e depurao do cdigo de canal emensagens, para reconstruir uma carga de dados superior aoCorverra e Koji Kato pelo trabalho nas iteraes maiscomprimento mximo do URL do navegador. absolutamente insano, mas at pode ser que funcio

    A equipe da Windows Live Developer Platform desenvolveu essasidias em uma biblioteca de "canal" do JavaScript. Esses canais de

    XMLHttpRequest 2, Ian Hicksontravessia entre domnios so usados na implementao dos controleshttp://www.mail-archive.com/[email protected]/msg00341Web de Windows Live Contacts e Windows Live Spaces (http://dev.live.http://lists.w3.org/Archives/Public/public-webapi/2006Jun/0012.com), destinados a residir em pginas Web de terceiros, mas

    executados em um iframe seguro no contexto do domnio live.com.Weblog de Anne van Kesteren:

    Os controles fornecem aos sites de terceiros acesso controlado dehttp://annevankesteren.nl/2007/02/xxxusurios aos dados do Windows Live como, por exemplo, a lista decontatos do usurio ou lbuns de fotos do Space. O objeto (canal) compatvel com o envio arbitrrio de grandes volumes de dados pelas

    Danny Thorpe desenvolvedor da equipe da Windowsfronteiras de domnio do iframe com confirmao de recebimento,Developer Platform. Est escrito no seu crach: Principcontrole de fluxo de mensagens, partio de mensagens, identificaoprefere Windows Live Quantum Mechanic j que gado remetente e tudo isso acontece de modo oculto.tempo persuadindo com pacincia pequenos bits teimosNossa meta cuidar para que este cdigo de canal seja umapor barreiras impenetrveis. Em outras vidas, ele trababiblioteca reutilizvel, disponvel a todos os parceiros internos da"tecnologia de navegador no divulgada" na Google e,Microsoft e tambm de desenvolvedores Web de terceiros. O cdigocientista-chefe na Borland e arquiteto-chefe do compilad

    est sendo bem executado em seus contextos atuais mas, ainda assim,Borland, teve a boa sorte de trabalhar com Anders Htemos de executar alguns trabalhos nas reas de auto-diagnstico eJazdzewski, Eli Boling e muitas outras lendas da Borlocalizao de defeitos - se as pontas deste canal estiverem

    mentores. No se lembra dos acontecimentos anterioresconfiguradas corretamente, ele trabalha muito bem, mas pode ser umna Borland, porque era muito jovem. Visite o seu blgrande pesadelo descobrir o que no est muito certo, no momentohttp://blogs.msdn.co