Para entender mais sobre o que é um mashup, você deve olhar para as origens da palavra: ela vem da música pop, e um mashup é uma mistura de vocais e faixas instrumentais de duas músicas diferentes (geralmente pertencentes a gêneros novos diferentes). . No gênero Mashup, exploramos mashups populares.
1. Introdução
Um novo tipo de aplicação de integração de dados baseada na Web está surgindo gradualmente na Internet. Freqüentemente chamados pelo termo mashups, sua popularidade surge de uma ênfase semelhante à de Frankenstein no envolvimento interativo do usuário e na integração de dados de terceiros. Usamos a palavra brotar por uma razão; os sites de mashup são caracterizados por seu surgimento na Web, aproveitando conteúdo e funcionalidade de fontes de dados fora dos limites da organização.
A definição enigmática de mashup de integração de dados certamente não é muito rígida. Para entender mais sobre o que é um mashup, você deve olhar para as origens da palavra: ela vem da música pop, e um mashup é uma mistura de vocais e faixas instrumentais de duas músicas diferentes (geralmente pertencentes a gêneros novos diferentes). . Assim como aquelas músicas "pop bastardas", os mashups são combinações incomuns e inovadoras de conteúdo (muitas vezes derivado de fontes não relacionadas) que são sintetizadas por humanos (e não por computadores).
Então, como é um mashup? O site ChicagoCrime.org tem um exemplo muito intuitivo que explica o que é um mashup de mapa. Um dos primeiros mashups a se tornar amplamente popular foi um site que combinava registros criminais do banco de dados on-line do Departamento de Polícia de Chicago com mapas do Google Maps. Os usuários podem interagir com o site mashup, por exemplo, solicitando que ele exiba uma interface gráfica com um mapa contendo alfinetes mostrando detalhes de todas as invasões residenciais recentes no sul da Califórnia. O conceito e a apresentação são muito simples e os recursos de visualização fornecidos pela combinação de dados criminais e de mapas são muito poderosos.
No gênero mashup, exploramos mashups populares, incluindo mashups de mapas. É fornecida uma breve introdução ao panorama técnico relacionado à construção e operação de mashups. As seções de desafios técnicos e desafios sociais apresentam os principais desafios técnicos e desafios sociais que afetam os mashups, respectivamente.
2. Tipos de mashup
Nesta seção, apresentaremos brevemente algumas pesquisas sobre tipos de mashup bem conhecidos.
Mashup de mapas
Neste estágio da tecnologia da informação, as pessoas coletam uma grande quantidade de dados sobre coisas e comportamentos, ambos frequentemente contendo informações de anotação de localização. Todos esses diferentes conjuntos de dados contendo dados de localização podem ser apresentados graficamente de maneiras surpreendentes usando mapas. Uma das principais forças motrizes por trás do boom dos mashups é o lançamento público da API do Google Maps pelo Google. Isso abre a porta para que os desenvolvedores da Web (hobistas, desenvolvedores de patches e outros) possam incluir todos os tipos de dados em mapas (desde desastres de bombas atômicas até vacas CowParade de Boston). Para não ficarem atrás dos demais, Microsoft (Virtual Earth), Yahoo (Yahoo Maps) e AOL (MapQuest) também divulgaram rapidamente suas próprias APIs.
Mashups de vídeo e imagem
O surgimento de hosts de imagens e sites de redes sociais (como o Flickr, que usa sua própria API para compartilhar imagens) levou ao surgimento de muitos mashups interessantes. Como os provedores de conteúdo têm metadados associados às imagens que salvam (como quem tirou a foto, do que se trata a foto, quando e onde ela foi tirada, etc.), os designers de mashup podem combinar essas fotos e outras com os metadados. junto. Por exemplo, um mashup pode analisar uma música ou poema para unir fotos relacionadas ou exibir um gráfico de rede social com base nos mesmos metadados da foto (título, carimbo de data/hora ou outros metadados). Outro exemplo pode usar um site da Web (por exemplo, um site de notícias como a CNN) como entrada e apresentar o conteúdo da foto na forma de texto por meio da correspondência de fotos nas notícias.
Mashups de pesquisa e compras
Os mashups de pesquisa e compras já existiam muito antes do termo mashup ser cunhado. Antes do surgimento da API Web, havia algumas ferramentas de compras, como BizRate, PriceGrabber, MySimon e Froogle do Google, que usavam tecnologia B2B ou captura de tela para acumular dados de preços relevantes. Para facilitar o desenvolvimento de mashups e outras aplicações Web interessantes, sites de consumo como eBay e Amazon lançaram suas próprias APIs para acesso programático ao seu conteúdo.
Fontes de notíciasNews Mashup
(como New York Times, BBC ou Reuters) têm usado tecnologias de distribuição como RSS e Atom desde 2002 para publicar feeds de notícias sobre vários tópicos. Um mashup baseado em tecnologia de federação pode agregar o feed de um usuário e renderizá-lo na Web para criar um jornal personalizado, adaptado aos interesses exclusivos do leitor. Diggdot.us é um exemplo, mesclando conteúdo relacionado à tecnologia de Digg.com, Slashdot.org e Del.icio.us.
3. Desafios Técnicos
Como outros campos de integração de dados, o desenvolvimento de mashups também está repleto de muitos desafios técnicos que precisam ser resolvidos. À medida que os recursos e funções dos aplicativos de mashup são enriquecidos, esse desafio se torna mais grave. Esta secção apresenta brevemente alguns dos desafios, alguns dos quais podem agora ser resolvidos ou mitigados, enquanto outros permanecem por resolver.
Desafios da integração de dados: semântica e qualidade dos dados
Pesquisas de qualidade mostram que a principal preocupação da TI empresarial atual é a integração de dados em organizações virtuais empresariais. (Neste caso, usamos o termo organização virtual para nos referirmos a uma combinação de muitas unidades de negócios federadas, cada uma contida em seu próprio domínio administrativo.) Com muitas organizações que se encontram ocupadas integrando fontes de dados tradicionais, como gerentes de TI empresariais (por exemplo, criando painéis corporativos que refletem as condições atuais de negócios), os desenvolvedores de mashups enfrentam desafios semelhantes que surgem do compartilhamento de semântica entre conjuntos de dados heterogêneos. Portanto, para entender como os desenvolvedores de mashups estão se preparando para isso, basta compreender os desafios de integração enfrentados pela TI corporativa.
Por exemplo, temos que projetar sistemas de conversão entre modelos de dados. Ao converter dados em um formato comum, quando o mapeamento está incompleto (por exemplo, uma fonte de dados pode ter um modelo em que um tipo de endereço contém um campo de país, mas outro modelo não possui esse campo), devemos fazer algumas suposições razoáveis . Embora estes desafios tenham sido enfrentados, os desenvolvedores de mashups podem não ser especialistas no campo do modelo de dados de origem, porque estes modelos podem ser produtos de terceiros, e estas suposições razoáveis podem não ser intuitivas e claras, o que agrava a gravidade do desafio.
Além da falta de dados e do mapeamento incompleto, os projetistas de mashups podem descobrir que os dados que desejam integrar não são adequados para automação de máquinas, o que envolverá muito trabalho de higienização; Por exemplo, os registos de detenções policiais podem ser inconsistentes: os registos podem usar abreviaturas comuns para nomes (por exemplo, "mkt sqr" num registo e "Market Square" noutro), tornando não claro se, por exemplo, a inferência automática sobre o mesmo -o comportamento sexual torna-se muito difícil, mesmo com boas regras heurísticas. Tecnologias de modelagem semântica, como RDF, podem ajudar a simplificar o problema de raciocínio automático entre diferentes conjuntos de dados incorporados no meio de armazenamento de dados. Para fontes de dados tradicionais, geralmente são investidos muitos recursos humanos e materiais na análise e purificação de dados antes que possam ser usados na tecnologia de modelagem semântica.
Os desenvolvedores de mashup também podem ter que enfrentar alguns problemas que os gerentes de integração de TI não precisam enfrentar, um dos quais é a contaminação de dados. Como parte do design do aplicativo, muitos mashups exigem informações de usuários públicos. Pesquisas no campo de aplicações wiki mostram que esta é uma faca de dois gumes: pode ser muito poderosa porque permite contribuições abertas e a melhor inovação de dados da categoria, mas pode levar a itens de dados inconsistentes, incorretos ou enganosos . Este último pode comprometer a credibilidade dos dados, reduzindo, em última análise, o valor que o mashup traz.
Outro problema de integração que os desenvolvedores de mashups precisam enfrentar surge das técnicas de captura de tela que devem ser usadas para obter dados. Conforme discutido na seção anterior, a análise e aquisição de ferramentas e modelos de dados exigem muito trabalho relacionado à engenharia reversa. Na melhor das hipóteses, essas ferramentas e modelos podem ser criados, mas ainda há a questão de como o site de origem renderiza seu próprio conteúdo, o que pode interromper o processo de integração e causar erros na aplicação de mashup.
Desafios dos Componentes
Embora o modelo Ajax de desenvolvimento Web possa fornecer uma experiência de usuário mais rica e integrada do que as técnicas tradicionais de atualização de página inteira, ele também apresenta alguns desafios. Em seu nível básico, o Ajax requer o uso dos recursos de script do lado do cliente do navegador com seu próprio DOM para implementar um método de entrega de conteúdo que foi totalmente idealizado pelos designers do navegador. (Talvez a natureza hacker do Ajax aumente seu apelo.) No entanto, isso sujeita os aplicativos baseados em Ajax aos mesmos problemas de compatibilidade de navegador que têm atormentado os desenvolvedores da Web desde que a Microsoft desenvolveu o Internet Explorer. Por exemplo, o mecanismo Ajax usa um objeto XMLHttpRequst para trocar dados de forma assíncrona com o servidor remoto. No Internet Explorer 6, esse objeto é implementado usando ActiveX em vez de JavaScript nativo, que requer a ativação do ActiveX.
Um requisito mais básico é que o Ajax exija que o JavaScript esteja habilitado no navegador do usuário. Esta pode ser uma suposição razoável para a maioria das pessoas, mas para alguns usuários específicos, seu navegador ou ferramenta automatizada pode não suportar JavaScript ou pode não ter suporte a JavaScript ativado. Essas ferramentas incluem robôs, spiders e rastreadores da Web que coletam informações para mecanismos de pesquisa na Internet e na intranet. Sem concessões de funcionalidade, os aplicativos mashup baseados em Ajax também poderão perder alguma base de usuários e se tornar menos atraentes para os mecanismos de busca.
Usar JavaScript para atualizar o conteúdo de uma página de forma assíncrona também cria problemas de interface do usuário. Como o conteúdo não precisa mais estar vinculado ao URL na barra de endereço do navegador, os usuários podem não experimentar a funcionalidade do botão VOLTAR ou dos favoritos do navegador. Além disso, embora o Ajax possa reduzir a latência solicitando atualizações incrementais de conteúdo, um design deficiente pode ter um impacto negativo na experiência do usuário, por exemplo, quando a granularidade da atualização é muito pequena, o número e a carga de atualizações ocupam todos os recursos disponíveis. Além disso, também precisamos nos preocupar em como apoiar os usuários ao carregar a interface ou atualizar o conteúdo (por exemplo, usando tecnologia de feedback visual, como barras de progresso).
Como acontece com qualquer aplicativo distribuído entre domínios, existem questões de segurança que os desenvolvedores de mashups e os provedores de conteúdo precisam resolver. O conceito de identidade pode ser um assunto espinhoso, e a Web tradicional foi construída principalmente para acesso anônimo. O logon único é um recurso desejável, mas existem diversas tecnologias concorrentes (do Microsoft Passport à Liberty Alliance) que podem levar a uma confusão de namespaces de identidade que devemos integrar. Os provedores de conteúdo podem adotar modelos de autenticação e autorização em suas próprias APIs (que exigem o conceito de identidades seguras ou atributos confirmados seguros) para impor modelos de negócios que envolvam assinaturas pagas ou dados confidenciais. Os dados sensíveis também podem exigir um certo nível de confidencialidade (ou seja, criptografia), e devemos saber quando integrá-los a outros recursos sem introduzir riscos. A identidade também é importante para auditoria e conformidade regulatória. Além disso, como a integração de dados ocorre tanto no lado do servidor quanto no lado do cliente, a delegação de identidade e certificado do usuário para o serviço de mashup também pode se tornar um requisito.
4. Desafios Sociais
Além dos desafios técnicos apresentados na seção anterior, com a crescente popularidade dos mashups, alguns problemas sociais também surgiram (ou estão prestes a surgir).
Uma das questões sociais mais sérias que os desenvolvedores de mashups precisam enfrentar é encontrar um equilíbrio entre a proteção da propriedade intelectual e da privacidade do consumidor versus a publicidade e o livre fluxo de informações. Provedores de conteúdo desavisados (alvo de captura de tela), provedores de conteúdo que fornecem APIs para facilitar a recuperação de dados, podem precisar determinar se seu conteúdo está sendo usado por terceiros de uma forma que eles não aprovaram. Os aplicativos Web de mashup ainda estão em sua infância, com alguns amadores escrevendo mashups em seu tempo livre. Esses desenvolvedores podem não estar cientes (ou não se preocuparem com) questões como segurança. Além disso, os provedores de conteúdo estão apenas começando a ver o valor de fornecer APIs para acesso ao conteúdo baseado em máquina, e muitos não veem isso como uma preocupação comercial central. Tudo isto se combina para resultar hoje em software de baixa qualidade, uma vez que esforços como testes e garantia de qualidade são menos priorizados do que prova de conceito e inovação. Para promover a maturidade do processo de desenvolvimento de software, a comunidade deve trabalhar em conjunto como um todo para desenvolver padrões abertos e kits de ferramentas reutilizáveis.
Antes que os mashups possam passar de um brinquedo legal para uma aplicação programática, muito trabalho precisa ser feito para formular padrões, protocolos, modelos e kits de ferramentas altamente robustos. Para fazer isso, os principais pioneiros da indústria de desenvolvimento de software, provedores de conteúdo e empreendedores devem reconhecer o valor dos mashups como um modelo de negócios viável. Os provedores de API precisam determinar se cobrarão pelo seu conteúdo e, em caso afirmativo, como cobrar por ele (por exemplo, por assinatura ou por uso). Talvez eles forneçam diferentes níveis de qualidade de serviço. Alguns fornecedores de mercado, como eBay ou Amazon, podem descobrir que APIs gratuitas aumentarão o giro do produto. Os desenvolvedores de mashup podem querer buscar um modelo de receita baseado em publicidade ou criar aplicativos de mashup interessantes para obter reconhecimento.
Conclusão
Mashups são de fato uma aplicação Web relativamente nova. A combinação de técnicas de modelagem de dados derivadas da Web Semântica e protocolos de comunicação independentes de plataforma, fracamente acoplados e orientados a serviços, fornecerá, em última análise, a infra-estrutura necessária para desenvolver aplicações que possam explorar e integrar totalmente grandes quantidades de informações da Web. À medida que as aplicações mashup ganham cada vez mais atenção, é importante compreender como elas contribuirão para certas questões sociais (como a questão entre o uso público e a proteção da propriedade intelectual) e outras áreas de aplicação (integração de dados através das fronteiras organizacionais, como a Internet). ). Será interessante ver como isso impacta a computação em grade e o gerenciamento do fluxo de trabalho B2B.