Fizemos uma visão geral de alto nível do que está envolvido na criação de uma solução Customer 360 no Couchbase e de todo o raciocínio envolvido aqui…
Em seguida, aprofundou-se na parte de integração, trazendo dados de fontes diferentes e combinando-os no Couchbase, e como isso resulta em um processo de ETL aqui (desculpe-me enquanto vou lavar minha boca com sabão)...
Então, agora vamos analisar um aspecto do que você pode fazer com esse maravilhoso mundo de dados combinados.
Imagine, por exemplo, que você tem um executivo de contas...
Uma pessoa que realmente passe seu tempo interagindo com seus clientes...
Em vez de apenas passar o tempo no campo de golfe.
Bem, alguns passam o tempo interagindo com os clientes enquanto estão no campo de golfe...
OK, então vamos parar na parte "imagine que você tem um executivo de contas".
Como esse AE (executivo de contas) passará seu tempo se reunindo com vários clientes, não seria bom se ele tivesse todas as informações sobre esses clientes na ponta dos dedos?
Estou falando de disponibilidade imediata com alguns toques no telefone...
Todas as suas compras...
Todos os problemas de suporte...
Todos os workshops e interações com sua equipe de Serviços Profissionais...
Tudo no celular do AE...
Mesmo quando está no 7th verde, onde não há cobertura de celular...
Não estou falando de barras...
Nenhum!
Não consigo nem chamar o carrinho de bebidas para reabastecer...
Bem, temos uma solução para você!
Sincronização móvel off-line
Veja, nossa pilha móvel foi projetada com a atitude de que a conectividade é uma droga!
Ele nunca está lá quando você precisa dele...
O único momento em que você tem todas as cinco barras é quando algum robo-chamador quer lhe dar um toque...
No momento em que você está no meio da preparação para a sua tacada...
Momento perfeito para tirá-lo de seu ritmo...
Fazendo com que você acerte sua tacada na água...
Mas quando você quiser conversar com seu cliente sobre o último pedido...
Sem barras!
Nada além de rodas giratórias enquanto você espera por dados que nunca chegarão...
Mas e se, de volta ao campo, onde você tivesse cinco barras, seu telefone pudesse reunir silenciosamente todos os dados de que você precisa...
Assim, quando você precisar, não há nada para recuperar.
Sem espera!!!
E você não precisou fazer nada.
Até agora, todos os aplicativos móveis foram escritos usando algo chamado chamadas REST para recuperar dados.
REST?
Como se meu telefone estivesse tirando um cochilo?
Não é bem assim.
REST significa REpresentational State Transfer (Transferência de Estado Representacional).
Sim, um pouco de conversa fiada sobre tecnologia.
Não pergunte a seu nerd local o que isso significa.
Ele o colocará para dormir mais rápido do que você pode dizer "Representa...ZZZZ"
Oh, desculpe, onde eu estava?
Ah, sim, o descanso...
A resposta curta é que se trata de um site para aplicativos.
Vamos deixar isso para lá.
Em resumo, toda vez que o aplicativo em seu telefone precisava de dados, ele tinha que acessar um site para recuperá-los.
E todos nós já tentamos acessar sites da Web em nossos telefones...
Às vezes, eles carregam rapidamente...
E, às vezes, eles carregam s...l...o...w...
Isto é, se eles carregarem.
E no 7th verde, sem barras, adivinhe que tipo de resposta você receberá...
Sim, nenhum.
Assim, eliminamos a necessidade de chamadas REST em nossos aplicativos móveis.
Seu aplicativo apenas interage com um pequeno banco de dados carregado no telefone, e seus dados aparecem magicamente!
Bem, não é realmente mágico...
Apenas uma grande quantidade de informações técnicas em que o banco de dados extrai automaticamente os dados quando pode...
Portanto, ele já o tem quando você precisa dele.
É como se estivesse prevendo seu futuro, antecipando suas necessidades e desejos...
Sincronização automática de dados
Então, como isso funciona? O que está envolvido?
Se você olhar novamente o nosso diagrama de arquitetura de referência do Customer 360, verá que no canto superior direito há um retângulo chamado "Mobile" com algumas linhas que vão dos bancos de dados para algo chamado "Sync Gateway" e, em seguida, para a Couchbase Data Platform.

Essa é uma parte do molho mágico que fica entre o banco de dados do seu telefone e a nossa plataforma de dados Couchbase.
Molho mágico?
Sim, é a chave para nosso banco de dados móvel, que chamamos de Couchbase Lite, recuperando dados do cluster do Couchbase em segundo plano.
Veja, a última coisa que você quer fazer é tentar enviar todos os dados do cluster do Couchbase para o seu telefone.
Ele simplesmente não se encaixa.
Sem mencionar a enorme quantidade de largura de banda pseudo-5-G que seria necessária.
Portanto, precisamos de alguma forma de designar quais dados vão para qual usuário.
Ou melhor, para o telefone deles.
Tradicionalmente, isso seria feito com algum tipo de consulta, que teria sido executada como parte da chamada REST mencionada acima...
Algo como...
|
1 2 3 4 5 |
SELECT * DE Cliente360 ONDE ContaExec = "Eu"; |
E, em seguida, a roda giraria à medida que todos esses dados fossem coletados e retornados ao telefone.
Espero que não esteja com pressa...
Temos uma maneira melhor...
O que fazemos é organizar os dados em "canais" e, em seguida, atribuir os canais aos usuários.

E fazemos essa organização quando os dados são gravados no banco de dados.
Por quê? Por que não esperar?
Bem, porque isso permite que o nosso produto Sync Gateway olhe para frente e coloque em fila todas as atualizações de dados que cada usuário precisará.
Isso significa que, quando seu telefone passa de zero para cinco barras, o Sync Gateway já tem os dados prontos para serem recebidos.
Não há execução de nenhuma consulta para selecioná-lo.
Como um cachimbo de cerveja para dados...
Parece que passei do campo de golfe para as férias de primavera em Daytona Beach...
Ou isso ou o carrinho de bebidas é diferente de todos os que já vi...
Isso poderia explicar todos os vídeos ruins de direção de carrinhos de golfe que todos nós já vimos...
Enfim, voltemos ao funcionamento do Sync Gateway...
Portanto, o que fazemos é colocar a organização de seus dados em suas mãos.
O Sync Gateway tem o que chamamos de função "sync", escrita em JavaScript.
E você pode modificá-lo para usar qualquer lógica (ou a falta dela) para atribuir documentos aos canais.
|
1 2 3 4 5 6 7 8 9 |
função(doc){ se (doc.tipo == "Customer360") { canal(doc.acct_exec); } } |
É simples, não é?
Bem, pelo menos até que alguém o transforme no equivalente em JavaScript de Guerra e Paz...
Portanto, agora, como seu executivo de contas tinha cinco barras no primeiro tee, ele tem os dados de que precisa para discutir os problemas do cliente quando tiver zero barras no 7th verde...
Mantendo as coisas simples
Portanto, tenho algumas regras pelas quais tento codificar...
Passei a maior parte de minha vida profissional...
Pelo menos, desde que isso foi martelado em minha cabeça por um chefe antigo...
Mantenha as coisas o mais simples possível.
Quanto mais simples eu mantiver qualquer coisa que eu construa, mais fácil será mantê-la e atualizá-la...
Quanto menos bugs ele tiver...
E mais fácil é minha vida.
Torna mais fácil marcar meus horários de saída...
E é isso que buscamos aqui na Couchbase...
Para não chegar a tempo...
Para manter as coisas o mais simples possível.
Veja, quanto mais sistemas você tiver que conectar para criar a Customer 360 Solution, mais complexa será a solução.
Quanto mais dores de cabeça você tiver...
Quanto menos tee times você fizer...
Quero dizer, com nossa pesquisa de texto completo integrada, análise, eventos, consultas N1QL e serviço de dados de chave/valor, com cache de dados integrado, tudo isso já vem pré-integrado.
Mantém sua vida simples.
Afinal de contas, não podemos deixar nossos executivos de contas sozinhos no campo de golfe...
Isso simplesmente não seria correto.