Dando continuidade à série técnica do Sync Gateway, veremos especificamente como configurar a função Sync por meio do uso de Canais para executar a orquestração de dados. No vídeo abaixo, temos a participação de Chris Anderson que abordará um exemplo de como fazer o roteamento de dados. Falamos anteriormente sobre controles de acesso e os canais fornecem acesso de leitura aos usuários entre o cliente móvel e o banco de dados remoto. O exemplo é pegar perguntas do Stackoverflow e carregá-las no Sync Gateway, onde somente perguntas específicas e, portanto, tags específicas de tópicos nos quais o usuário está interessado serão sincronizadas. A partir das tags, os nomes dos canais podem ser gerados. É assim que os subconjuntos de dados são sincronizados com o celular de acordo com o interesse do usuário.

Canais

As tags são usadas como a chave do tipo de documento e são uma forma de controle de acessibilidade em documentos específicos no banco de dados. Para isso, usamos uma função JavaScript criada dentro do Sync Gateway, na qual podemos fazer com que cada documento seja encaminhado para o canal específico ao qual pertence. Podemos passar a matriz de tags para a função de canal para criar os nomes dos canais dinamicamente. 

O arquivo de configuração JSON do Sync Gateway incluirá a função de sincronização em que a matriz de tags é passada para a função de canal.

No console de administração do Couchbase, o canal de diferentes tags é exibido com o respectivo conteúdo que é capturado. Esse console ajuda a desenvolver a lógica da função de sincronização e a reunir as informações relevantes que você está tentando definir.

Replicação

Um cliente móvel pode então sincronizar o conteúdo relevante do usuário usando o Couchbase Lite integrado replicação API. Abaixo está um exemplo de código Objective-C que trata da configuração do tópico de interesse do usuário no lado do cliente para extrair dados relevantes. O replicador saberá então como interagir com os dados nos canais. Primeiro, criamos uma replicação Pull

O replicador interagirá com os nomes de canais específicos para transferir os dados para os dispositivos móveis. Se os canais específicos não forem definidos, todos os dados existentes serão extraídos do Sync Gateway. É aqui também que podemos ter uma experiência assíncrona para os usuários que estão off-line. Quando a conexão estiver disponível, a sincronização de novos dados dessas tags de canal será retomada.

Isso é feito por meio da API de feed de alterações, db/_changes do Sync Gateway, onde o feed é composto por metadados desses documentos. Os identificador de revisão _rev é usado pelo cliente para pular a retirada de documentos de versões específicas que ele já possui, de modo a permitir uma reconexão eficiente. O que impulsiona a sincronização é o número de sequência, que é usado pelo cliente para informar ao Sync Gateway em qual sequência específica retomar o novo conteúdo. O "última_seq" é um número inteiro que representa a última alteração que o cliente sincronizou.

A partir da série de blogs do Sync Gateway, podemos validar tipos de documentos além de proporcionar segurança por meio de Autorização de usuários no sync gateway. Para saber mais sobre como desenvolver e solucionar problemas de canais no Sync Gateway, não deixe de ler a seção guias de treinamento para obter mais informações.

Autor

Postado por William Hoang, defensor do desenvolvedor móvel, Couchbase

William foi um defensor do desenvolvedor na equipe de engenharia móvel/experiência do desenvolvedor na Couchbase. Seu amor por café e código o levou ao mundo dos dispositivos móveis, ao mesmo tempo em que apreciava as experiências presenciais off-line. Antes disso, William trabalhou na equipe de relações com desenvolvedores do Twitter, BlackBerry e Microsoft, além de ter sido engenheiro de GPS incorporado a software na Research In Motion. William se formou na McGill University em Engenharia Elétrica de Software

Deixar uma resposta