Embora a integração de aplicativos e Workflows tenham alguns recursos semelhantes, eles são direcionados para usos diferentes e fornecidos de maneira diferente.
Se você estiver integrando sistemas de negócios ou implementando um processo de negócios, use a Application Integration. Se você estiver orquestrando serviços para desenvolvimento de aplicativos, pipelines ou automação de infraestrutura, use o Workflows. Também é possível usar os dois juntos, por exemplo, para orquestrar um pipeline que atualiza um sistema de negócios integrado de terceiros.
As orientações, exemplos e diagramas baseados em casos de uso a seguir podem ajudar você a escolher uma solução.
Usar o Application Integration
Se você é um arquiteto empresarial, desenvolvedor de integração ou analista de negócios que precisa de uma maneira de conectar, mapear, transformar e integrar dados entre sistemas de negócios, como o Salesforce, o ServiceNow ou um banco de dados do Cloud SQL, faça o seguinte:
Application Integration é ideal para integrar aplicativos com estruturas de dados diferentes e para trocar dados. Ele oferece funções de transformação integradas que permitem converter os dados do aplicativo de origem para se ajustar ao esquema do aplicativo de destino.
Considere usar Application Integration para transações de negócios em tempo real ou processar transações de negócios em pequenos lotes. Ou se você já tem aplicativos do Google Cloud e está enfrentando desafios de conectividade devido a um grande número de aplicativos SaaS.
Application Integration oferece uma interface visual de arrastar e soltar que permite criar um fluxo de integração completo com pouco ou nenhum código. Os conectores também permitem chamar e executar operações em várias entidades.
Se você precisar de um conector que possa ser usado para integrar e mapear dados entre um serviço do Google Cloud, como o BigQuery, e um serviço de terceiros, como o ServiceNow:
- Um conector de integração de aplicativos oculta a complexidade de estruturas e protocolos de dados específicos do aplicativo. Ele fornece uma interface padrão para criar, ler, atualizar e excluir operações em dados de aplicativos.
- Por exemplo, uma conexão do Spanner permite inserir, ler, atualizar e excluir linhas em uma tabela do Spanner e usar a saída resultante em uma integração. Ou, com o conector do Oracle DB, você pode se conectar a uma instância de banco de dados Oracle e realizar as operações de banco de dados compatíveis.
- Consulte a lista de conectores compatíveis.
Exemplo: como usar a integração de aplicativos para mapear e extrair dados
O diagrama a seguir mostra um exemplo de como usar Application Integration para mapear e extrair dados de um sistema externo:
Um acionador do Salesforce está inscrito no canal de oportunidade do Salesforce. As alterações de dados na oportunidade do Salesforce invocam a Application Integration, que extrai o status da oportunidade do Salesforce. Se o status for fechado, a integração extrairá os detalhes da oportunidade e gravará os dados em uma instância do Cloud SQL usando um conector. Se houver uma mudança de dados, mas o status permanecer aberto, a integração vai enviar uma mensagem para um tópico do Pub/Sub usando um conector.
Usar fluxos de trabalho
Se você é um desenvolvedor, engenheiro de dados ou equipe de plataforma em nuvem que precisa de uma maneira de orquestrar serviços para criar aplicativos, automatizar processos ou implementar pipelines de dados e aprendizado de máquina:
Workflows são ideais se você quiser separar a lógica que encadeia e vincula seus serviços da lógica de negócios principal. Um fluxo de trabalho pode realizar uma sequência de operações em vários sistemas, aguardando a conclusão de todas elas, e pode ser orientado por eventos.
Considere usar os Workflows se você quiser escrever menos código para especificar a infraestrutura do aplicativo e executar serviços com acoplamento frouxo em uma ordem definida: um fluxo de trabalho. Esses fluxos de trabalho podem combinar os serviços de qualquer API baseada em HTTP, tornando as dependências de serviço explícitas e observáveis de ponta a ponta.
Um fluxo de trabalho é uma série de etapas descritas usando a sintaxe do Workflows, e pode ser gravado em YAML ou JSON. As funções da biblioteca padrão do Workflows e as variáveis de ambiente integradas permitem criar argumentos e processar respostas com facilidade. Os conectores podem ser usados para interagir com outros produtos do Google Cloud.
Se você precisar de um conector que possa ser usado para simplificar a chamada e a integração com outras APIs do Google Cloud, como funções do Cloud Run ou o Firestore em um fluxo de trabalho:
- O Workflows publica conectores leves e sem servidor que podem ser usados para se conectar a outras APIs do Google Cloud em um fluxo de trabalho e integrar seus fluxos de trabalho a esses produtos do Google Cloud. Eles simplificam os serviços de chamada porque processam a formatação das solicitações, fornecendo métodos e argumentos para que você não precise conhecer os detalhes de uma API Google Cloud.
- Por exemplo, é possível criar um fluxo de trabalho que use o conector da API Cloud Translation para traduzir arquivos para outros idiomas no modo em lote assíncrono e salvar os resultados em um bucket do Cloud Storage. Também é possível executar um fluxo de trabalho que execute vários jobs de consulta do BigQuery em série, um após o outro.
- Os conectores compatíveis incluem um conector para o Application Integration para que você possa usar os dois produtos juntos. Neste documento, consulte Usar o Application Integration e o Workflows juntos. Por exemplo, é possível criar um fluxo de trabalho que aciona e aguarda uma integração ou qualquer outra operação, como atualizar uma instância do Salesforce.
- Consulte a lista de conectores compatíveis.
Exemplo: como usar o Workflows para orquestração de serviços leves
O diagrama a seguir mostra um exemplo de como usar o Workflows para orquestrar serviços:
Quando um arquivo é enviado para um bucket do Cloud Storage, uma função do Cloud Run aciona o Workflows para executar um fluxo de trabalho: o texto é reconhecido usando a API Cloud Natural Language, as imagens e os vídeos são reconhecidos usando a API Cloud Vision e a API Cloud Video Intelligence, e as tags são salvas e gravadas no Firestore.
Usar a integração de aplicativos e Workflows juntos
É possível usar Application Integration e Workflows juntos para orquestrar aplicativos e serviços. O Workflows oferece suporte a um conector para a integração de aplicativos, para que você possa usar os dois produtos juntos. Por exemplo, é possível realizar uma ação em um sistema comercial de terceiros usando Workflows com Application Integration. Ou você pode se conectar com o desenvolvimento personalizado da Application Integration usando Workflows.
Exemplo: usar a integração de aplicativos e Workflows para realizar uma ação em um sistema comercial de terceiros
No diagrama a seguir, um reembolso de conteúdo digital é solicitado por um app para dispositivos móveis. Workflows removem o conteúdo e inicializam um processo de reembolso na Application Integration, usando métodos heurísticos e, possivelmente, aprovação humana. Com base no resultado da Application Integration, Workflows concedem um reembolso ou restauram o conteúdo.