O que são Cápsulas?

Cápsulas são uma nova e grande funcionalidade da Digibee, parte integrante da Plataforma Digibee HIP. As Cápsulas Digibee são componentes reutilizáveis que podem ser criados por qualquer usuário da Plataforma ao aplicar o mesmo modelo de desenvolvimento visual concebido na criação do pipeline, provendo uma lógica de negócio reutilizável, segura, validada e evolutiva.

Uma Cápsula permite que a integração de fluxos seja publicada na paleta de componentes para ser utilizada em outro momento, de maneira simplificada e ainda mais rápida.

É como se os componentes disponíveis na Plataforma fossem átomos e as Cápsulas fossem moléculas que agrupam os átomos em tarefas mais complexas para resolver um problema específico.

Por que usar Cápsulas?

A Cápsula é uma ferramenta poderosa na modularização de lógicas de negócios e, com isso, facilita o compartilhamento de conhecimento e a exposição de serviços dentro da sua empresa. Trata-se de um grande facilitador para os arquitetos de sistemas que trabalham com a Plataforma, uma vez que agora ficou mais fácil modularizar funções de negócios e padronizar o seu uso dentro do ambiente, reduzindo o tempo de construção e mantendo o padrão de qualidade.

As Cápsulas também abrem uma nova vertente de trabalho na Plataforma, já que essa funcionalidade vai permitir o desenvolvimento de um verdadeiro ecossistema e promover a troca de conhecimento e serviços entre as empresas.

Como usar Cápsulas?

Para utilizar a Cápsula dentro da Plataforma Digibee, basta acessá-la a partir do menu principal, clicar no botão CRIAR para criar uma nova Cápsula e assim construir uma lógica com a já conhecida interface da Plataforma Digibee.

Cápsula

A Cápsula é composta por alguns elementos que lhe dão apoio na construção, organização e visualização. São eles:

  • Header
  • Collection
  • Group
  • Capsule
  • Componentes
  • Test-Mode
  • Publicação
  • Versionamento
  • Arquivar

Exemplo:

Header

O header serve para armazenar previamente as opções de imagens a serem utilizadas na representação do componente da Cápsula no pipeline canvas.

Veja um exemplo de componente com o header:

O processo de criação de um header é realizado junto com o processo para salvar uma Coleção. Nesse momento, você pode selecionar um header a partir de uma lista ou optar por criar um header novo.

As permissões criadas para gerenciar e acessar o item são:

  • CAPSULE:CREATE:HEADER - permite o cadastro de novos headers a serem utilizados na criação de Coleções.
  • CAPSULE:READ:HEADER - permite a visualização e escolha de headers para o cadastro de uma nova Coleção.

Coleção

Coleção é o repositório onde as Cápsulas são armazenadas. Logo, todas as Cápsulas precisam de uma Coleção.

Curiosidade: durante a fase beta, percebemos que é comum que as Coleções sejam representadas por sistemas, como ERP, CRM, etc., ou por áreas de negócios.

É possível criar quantas Coleções você precisar ou desejar, mas recomendamos sempre verificar se existe alguma já disponível. Então, quando decidir criar uma Coleção nova, decida qual nome dará para ela. Por exemplo, em uma companhia as Coleções são definidas a partir de nomes de sistemas, mas para outra pode ser mais interessante definir o nome de uma Coleção com base na área de negócio.

O processo de criação de uma nova Coleção é realizado junto com o processo para salvar a sua Cápsula. Nesse momento, você pode selecionar uma Cápsula a partir de uma lista ou optar por criar uma Cápsula nova.

Se você optar por criar uma Coleção nova, o formulário abaixo será exibido:

A permissão criada para gerenciar e acessar o item é:

  • CAPSULE:CREATE - permite a criação de novas Coleções.

Grupo

Grupo é um organizador de Cápsulas dentro de uma Coleção.

Curiosidade: durante a nossa fase beta, percebemos a necessidade desse item organizacional. Por exemplo, uma Coleção de SAP pode ter muitas Cápsulas e elas podem ser organizadas a partir dos módulos desse sistema, assim como Sales, Financial, entre outros.

Grupos são itens organizacionais que vivem dentro de uma Coleção.

O processo de criação de um Grupo é realizado junto com o processo para salvar a sua Cápsula. Nesse momento, você pode selecionar um Grupo a partir de uma lista ou optar por criar um Grupo novo.

As permissões criadas para gerenciar e acessar o item são:

  • CAPSULE:CREATE:GROUP - permite cadastrar novos Grupos a serem utilizados na criação de Cápsulas.
  • CAPSULE:READ:GROUP - permite a visualização e escolha de um Grupo para o cadastro de uma nova Cápsula.

Configurações - Parâmetros

Os parâmetros de entrada são apresentados durante a utilização da Cápsula no pipeline canvas.

Dica: os parâmetros de entrada são semelhantes aos campos já apresentados em componentes core. Por exemplo, a URL do REST ou a condição do Choice.

Com esse recurso, o desenvolvedor tem total liberdade para definir quais são os parâmetros e também para documentar as orientações de uso da Cápsula.

Os parâmetros de entrada são o seu contrato de uso, ou seja, quais parâmetros podem e devem ser passados para atender os requisitos solicitados pela Cápsula e utilizados em qualquer componente presente na Cápsula.

Ao acessar o menu de configurações, é possível encontrar as definições dos parâmetros de entrada.

Dica: o formulário exibido nesse momento é apenas um exemplo de preenchimento que deixamos disponível para facilitar o seu entendimento e aprendizado. Recomendamos que você faça uma breve análise do exemplo, apague as informações e insira os seus próprios dados.

Veja abaixo um exemplo com 4 tipos diferentes de configurações (TEXT, SELECT TOGGLE e TAGS).

Observe o item “Prévia do Formulário” que aparece à direita. Esse recurso ajuda muito na criação do formulário de parâmetros, pois ele é atualizado em tempo real enquanto você adiciona, altera e organiza as suas escolhas.

Como utilizar os parâmetros declarados nessa seção nos componentes do canvas?

Na imagem acima, o campo “Property” foi preenchido com os valores id, productType, status e tags.

Veja como utilizar expressões em Double Braces para acessar esses valores:

{{ capsule.id }} 
{{ capsule.productType }}
{{ capsule.status }}
{{ capsule.tags }}

Dica: todas as opções possíveis em Double Braces valem para esse novo recurso {{ capsule... }}. Utilize-as combinando com as funções. Clique aqui para ler o nosso artigo sobre o tema.

Configurações - Accounts

Account é uma funcionalidade utilizada por componentes core (por exemplo, o REST) para realizar autenticação nos endpoints. Para utilizar uma Account, basta encontrar a lista de Accounts na tela pipeline canvas, que vem direto do Realm e são gerenciados no menu Configurações > Accounts.

Nas Cápsulas, essa funcionalidade possui uma pequena diferença em relação ao pipeline que irá utilizá-la, já que nem sempre Accounts e pipelines estão no mesmo Realm de construção. Por isso, é necessário definir previamente uma lista de Placeholder de Accounts. Essa lista pode ser definida na tela de Cápsulas clicando em:

Configurações na tela > aba Accounts

Na tela descrita acima serão definidas as Accounts com Label e a descrição para orientar sobre o tipo de Account que deve ser selecionado dentro do pipeline canvas.

No exemplo da tela acima, o SAP Account é o placeholder apresentado ao usuário da Cápsula que, por sua vez, deve escolher uma Account que possua informações válidas para acesso ao SAP. Dessa forma, as credenciais ficam fora da Cápsula, trazendo mais segurança na sua utilização.

Veja abaixo como fica o componente core quando é configurado dentro da Cápsula e como é o formulário de visualização no test-mode:

Test-mode

Configurações - Documentação

Essa é uma área interna da Cápsula e deve ser utilizada para registrar informações detalhadas e relevantes sobre o seu funcionamento e para futuras manutenções.

O conteúdo é restrito aos desenvolvedores de Cápsulas do seu Realm. Portanto, não é apresentado para o usuário da Cápsula.

Para acessar essa área, clique na aba “Documentação”, que fica dentro de “Configurações”.

Dica: essa é uma área de texto livre, mas recomendamos o uso do sistema de formatação em markdown.

Configurações - Contrato

Contrato é uma configuração criada para garantir que a estrutura dos dados resultante da execução da Cápsula será sempre correspondente ao JSON Schema definido pelo seu desenvolvedor.

Essa configuração é obrigatória para a publicação. Então, é necessário definir o JSON Schema correspondente às saídas da Cápsula. Um JSON Schema bem definido traz mais confiabilidade a quem utilizar a Cápsula.

IMPORTANTE: alterações no JSON Schema que causam quebra de contrato fazem com que a Cápsula mude automaticamente de versão e, consequentemente, garante que os pipelines não sejam afetados. Leia mais sobre versionamento na seção correspondente desta documentação.

Componentes

Os componentes que podem ser utilizados na implementação das Cápsulas são apresentados tanto na paleta à direita do canvas como na tela de pipelines.

Apenas componentes core são suportados. Dentre eles, não são suportados:

  • Object Store
  • Digibee Storage
  • Relation

Test-Mode

Essa é uma funcionalidade muito utilizada na construção de pipelines, por meio da qual os dados de entrada para a realização de testes são informados e onde os resultados das execuções são visualizados.

Na Cápsula é apresentada uma coluna adicional na qual é solicitado o preenchimento dos parâmetros definidos na área de configurações. Como os testes representam uma execução válida, o desenvolvedor da Cápsula tem a mesma experiência que o futuro usuário terá no pipeline canvas.

Publicação

O processo de construção de uma Cápsula é sofisticado. Por isso, para tornar algo reutilizável, temos mais responsabilidades e cuidados a serem tomados.

Criamos um ciclo de vida para apoiar a construção e manutenção, garantindo total liberdade ao desenvolvedor e não afetando o usuário do mesmo pipeline.

Esse ciclo é gerenciado por 2 status:

  • Desenvolvimento - onde todas as Cápsulas nascem. Enquanto uma Cápsula estiver nesse status, nenhum usuário visualiza a sua versão.
  • Publicada - para uma Cápsula entrar nesse status, o desenvolvedor deve concluir todos os requisitos obrigatórios e executar a ação de publicação.

Para realizar essa ação, siga estes passos:

  • Acesse o Menu Cápsula;
  • Clique no ícone do foguete ou na tela de Capsule Canvas;
  • Clique no botão Publicar;

Exemplo de Cápsula que não teve todos os requisitos atendidos e não pode ser publicada:

Exemplo de Cápsula que teve todos os requisitos atendidos e pode ser publicada:

Obs.: se nenhuma das opções acima for exibida, consulte o gestor de acesso de sua empresa e solicite a inclusão da permissão CAPSULE:UPDATE:PUBLISH.

Versionamento

Para garantir confiabilidade nas atualizações das Cápsulas, a Digibee adotou um controle de versionamento composto por 3 níveis. Quando as versões precisam ser atualizadas, a Plataforma Digibee HIP analisa uma Cápsula automaticamente e determina quais serão os valores dos níveis.

Estes são os 3 níveis de versionamento:

  • Major: versão da Cápsula quando um item de configuração (entrada ou saída) é removido ou se torna obrigatório. Essa versão também se aplica quando o contrato da Cápsula é totalmente modificado. O direcionamento para essa versão é feito automaticamente pela própria Plataforma.
  • Minor: versão da Cápsula quando um item de configuração (entrada ou saída) é acrescentado ou se torna opcional. Essa alteração ainda não é considerada “Major”.
  • Fix: versão da Cápsula quando ocorrem alterações nada impactantes para os pipelines que a utilizam. Essa alteração não é considerada “Major” nem “Minor”.

É importante saber que essas alterações serão realizadas somente se a versão passando por alteração tiver sido publicada anteriormente. Por exemplo, se você criar uma Cápsula, ela receberá inicialmente a versão "1.0.0". Enquanto não for publicada, essa versão nunca será modificada quando forem feitas atualizações nela.

Após a publicação da Cápsula, a versão “1.0.0” será definida como não editável. Então, quando uma nova atualização for realizada na mesma Cápsula, a Plataforma irá analisar o que foi alterado para determinar se o número da versão será acrescido na versão Major, Minor ou Fix.

A apresentação das versões é semelhante a do pipeline:

Arquivar

Quando necessário, é possível arquivar as Cápsulas por meio do ícone “Arquivar” apresentado na lista de Cápsulas. Veja abaixo:

Para visualizar a lista de Cápsulas arquivadas, utilize o filtro “Arquivado” na barra de busca:

O arquivamento de uma Cápsula publicada e que está sendo utilizada em um pipeline não afeta o seu funcionamento. Isso apenas impede que novos usuários utilizem a Cápsula.

Encontrou sua resposta?