Pular para o conteúdo

Desenhe o panorama de sistemas

Também em 28 idiomas

English · Español · 日本語 · Português (Brasil) · Français · Deutsch · Italiano · 한국어 · 简体中文 · 繁體中文 · Bahasa Indonesia · Türkçe · Polski · Tiếng Việt · ไทย · Nederlands · العربية · עברית · Українська · हिन्दी · Русский · Svenska · Dansk · Norsk bokmål · Suomi · Español (México) · Français (Canada) · Deutsch (Schweiz)

A hand-drawn map of a region in ink and watercolor, half finished: towns, roads, a river and a rail line on one side, faint pencil lines on bare paper on the other.
Imagem gerada com IA

Módulo 4 de 6 do capítulo Entender os dados empresariais, capítulo 4 do curso Data Architect. Cada módulo sustenta-se sozinho. Anterior: Os sistemas à volta do Salesforce · Próximo: A estratégia de orgs é uma decisão de panorama

A pergunta que este módulo responde: Como desenho um panorama que mostre para onde vão os dados?

Dê-me um cenário novo e um quadro branco vazio, e uma das primeiras coisas que vou desenhar é o panorama de sistemas. Não bonito, não cada API, ainda não o modelo de dados. Quero ver a empresa: quem são os utilizadores, que sistemas estão envolvidos, onde fica o Salesforce, o que o rodeia, de onde vêm os dados e para onde vão. E depois quero percorrer as setas. Um bom panorama não é um desenho de caixas. É uma forma de expor decisões de arquitetura.

Ponho os candidatos a CTA a praticar isto. Leia o cenário, depois comece a desenhar. Não espere até ter resolvido tudo na cabeça; o desenho ajuda-o a resolver. É por isso que o trabalho de casa depois do primeiro dia é começar o panorama antes de arriscar o modelo de dados. Desenhe primeiro o modelo de dados e já presumiu o que pertence ao Salesforce. Desenhe primeiro o panorama e consegue ver os sistemas que deveriam moldar essa decisão.

Comece pelo alto nível, depois desça: primeiro a empresa inteira, depois o detalhe onde ele importa.

O layout de panorama do Steve O layout de panorama de sistemas do Steve, ainda sem setas. À esquerda, de cima para baixo: utilizadores internos, utilizadores parceiros e clientes. No centro, o Salesforce a azul com uma nuvem, a org em torno da qual projetamos, com a Partner Community e a Customer Community encostadas a ele por baixo. Acima: um site público no canto superior esquerdo, um fornecedor de identidade dos colaboradores e um fornecedor de identidade dos parceiros sobre o Salesforce, e uma aplicação do AppExchange para assinatura eletrónica deslocada para a direita. À direita do Salesforce, a camada de integração, com o Data 360 abaixo dela na mesma coluna (próximo do núcleo: gerido no núcleo, alojado fora dele; os utilizadores nunca se ligam a ele, e ele chega a muitos sistemas de back-end), depois os sistemas internos: ERP, finanças, gestão de encomendas e o data warehouse. Em baixo: os canais do cliente, e-mail, formulários web, telefone e mensagens. No canto inferior direito, os dados que entram e saem: um arquivo histórico, cargas de dados, e dados externos que são referenciados em vez de copiados. Seis quadros de passos constroem-no: as zonas vazias, depois as pessoas, o Salesforce e as suas comunidades, a identidade acima, a integração e os sistemas internos, e por fim os canais e os dados. ACIMA: IDENTIDADE, APPEXCHANGE, WEB PESSOAS DIREITA: SISTEMAS INTERNOS ABAIXO: CANAIS DE CLIENTES ABAIXO À DIREITA: DADOS QUE ENTRAM E SAEM © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Passo 1 de 6: uma folha em branco. Só as zonas.

Há muitas formas de desenhar um panorama de sistemas. Esta é só a minha, uma que refinei ao longo de muitos anos, e partilho-a para que veja como montar um rapidamente. Uso este layout em todos os panoramas Salesforce, e lê-se como uma frase: as pessoas à esquerda chegam ao Salesforce no centro, com a confiança dada pelos sistemas acima dele, servidas pelos canais abaixo dele, e ligadas ao back office à direita.

As pessoas à esquerda, de cima para baixo: utilizadores internos, parceiros, clientes. Ainda não cada persona; o suficiente para responder quem está a tentar chegar a esta arquitetura? Cada grupo aponta para onde entra: os utilizadores internos para o Salesforce, os parceiros para a comunidade de parceiros, os clientes para a comunidade de clientes. Os sistemas não existem sozinhos. Alguém, ou algo, está a tentar usá-los.

O layout de panorama do Steve O layout de panorama de sistemas do Steve, ainda sem setas. À esquerda, de cima para baixo: utilizadores internos, utilizadores parceiros e clientes. No centro, o Salesforce a azul com uma nuvem, a org em torno da qual projetamos, com a Partner Community e a Customer Community encostadas a ele por baixo. Acima: um site público no canto superior esquerdo, um fornecedor de identidade dos colaboradores e um fornecedor de identidade dos parceiros sobre o Salesforce, e uma aplicação do AppExchange para assinatura eletrónica deslocada para a direita. À direita do Salesforce, a camada de integração, com o Data 360 abaixo dela na mesma coluna (próximo do núcleo: gerido no núcleo, alojado fora dele; os utilizadores nunca se ligam a ele, e ele chega a muitos sistemas de back-end), depois os sistemas internos: ERP, finanças, gestão de encomendas e o data warehouse. Em baixo: os canais do cliente, e-mail, formulários web, telefone e mensagens. No canto inferior direito, os dados que entram e saem: um arquivo histórico, cargas de dados, e dados externos que são referenciados em vez de copiados. Seis quadros de passos constroem-no: as zonas vazias, depois as pessoas, o Salesforce e as suas comunidades, a identidade acima, a integração e os sistemas internos, e por fim os canais e os dados. ACIMA: IDENTIDADE, APPEXCHANGE, WEB PESSOAS DIREITA: SISTEMAS INTERNOS ABAIXO: CANAIS DE CLIENTES ABAIXO À DIREITA: DADOS QUE ENTRAM E SAEM Utilizadores internos vendas, atendimento, operações Utilizadores parceiros Clientes pessoas © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Passo 2 de 6: quem está a tentar chegar a esta arquitetura?

O Salesforce no centro. Uma caixa simples. Não porque o Salesforce seja o centro da empresa (acabámos de passar três módulos a dizer que não é), mas porque é o sistema à volta do qual estou a projetar. É a âncora.

As comunidades logo abaixo dele, encostadas. Uma comunidade de parceiros e uma comunidade de clientes são pontos de acesso separados, por isso têm as suas próprias caixas. Mas ficam encostadas ao Salesforce, porque nada precisa de ser integrado para chegar a elas: correm na mesma org.

O layout de panorama do Steve O layout de panorama de sistemas do Steve, ainda sem setas. À esquerda, de cima para baixo: utilizadores internos, utilizadores parceiros e clientes. No centro, o Salesforce a azul com uma nuvem, a org em torno da qual projetamos, com a Partner Community e a Customer Community encostadas a ele por baixo. Acima: um site público no canto superior esquerdo, um fornecedor de identidade dos colaboradores e um fornecedor de identidade dos parceiros sobre o Salesforce, e uma aplicação do AppExchange para assinatura eletrónica deslocada para a direita. À direita do Salesforce, a camada de integração, com o Data 360 abaixo dela na mesma coluna (próximo do núcleo: gerido no núcleo, alojado fora dele; os utilizadores nunca se ligam a ele, e ele chega a muitos sistemas de back-end), depois os sistemas internos: ERP, finanças, gestão de encomendas e o data warehouse. Em baixo: os canais do cliente, e-mail, formulários web, telefone e mensagens. No canto inferior direito, os dados que entram e saem: um arquivo histórico, cargas de dados, e dados externos que são referenciados em vez de copiados. Seis quadros de passos constroem-no: as zonas vazias, depois as pessoas, o Salesforce e as suas comunidades, a identidade acima, a integração e os sistemas internos, e por fim os canais e os dados. ACIMA: IDENTIDADE, APPEXCHANGE, WEB PESSOAS DIREITA: SISTEMAS INTERNOS ABAIXO: CANAIS DE CLIENTES ABAIXO À DIREITA: DADOS QUE ENTRAM E SAEM Utilizadores internos vendas, atendimento, operações Utilizadores parceiros Clientes Partner Community Customer Community Salesforce a org em torno da qual projetamos Salesforce uma comunidade pessoas © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Passo 3 de 6: o Salesforce no centro, as comunidades logo abaixo dele.

A identidade acima. Os fornecedores de identidade vão no topo, aqueles de que os programadores se esquecem: um para os utilizadores internos, talvez outro para os parceiros. Os pacotes do AppExchange também vão lá para cima, deslocados para a direita, porque são capacidades trazidas para dentro da org, e não sistemas de back office a trocar dados com ela. Os sites públicos ficam no canto superior esquerdo.

O layout de panorama do Steve O layout de panorama de sistemas do Steve, ainda sem setas. À esquerda, de cima para baixo: utilizadores internos, utilizadores parceiros e clientes. No centro, o Salesforce a azul com uma nuvem, a org em torno da qual projetamos, com a Partner Community e a Customer Community encostadas a ele por baixo. Acima: um site público no canto superior esquerdo, um fornecedor de identidade dos colaboradores e um fornecedor de identidade dos parceiros sobre o Salesforce, e uma aplicação do AppExchange para assinatura eletrónica deslocada para a direita. À direita do Salesforce, a camada de integração, com o Data 360 abaixo dela na mesma coluna (próximo do núcleo: gerido no núcleo, alojado fora dele; os utilizadores nunca se ligam a ele, e ele chega a muitos sistemas de back-end), depois os sistemas internos: ERP, finanças, gestão de encomendas e o data warehouse. Em baixo: os canais do cliente, e-mail, formulários web, telefone e mensagens. No canto inferior direito, os dados que entram e saem: um arquivo histórico, cargas de dados, e dados externos que são referenciados em vez de copiados. Seis quadros de passos constroem-no: as zonas vazias, depois as pessoas, o Salesforce e as suas comunidades, a identidade acima, a integração e os sistemas internos, e por fim os canais e os dados. ACIMA: IDENTIDADE, APPEXCHANGE, WEB PESSOAS DIREITA: SISTEMAS INTERNOS ABAIXO: CANAIS DE CLIENTES ABAIXO À DIREITA: DADOS QUE ENTRAM E SAEM Utilizadores internos vendas, atendimento, operações Utilizadores parceiros Clientes Site público IdP dos colaboradores single sign-on IdP dos parceiros single sign-on Aplicação do AppExchange assinatura eletrónica Partner Community Customer Community Salesforce a org em torno da qual projetamos Salesforce uma comunidade pessoas identidade, aplicações, web © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Passo 4 de 6: a identidade acima, a caixa de que os programadores se esquecem.

A integração, depois o back office, à direita. A camada de integração, um ESB ou iPaaS (ou o MuleSoft, quando é referido), é uma barra alta logo à direita do Salesforce. Os sistemas internos ficam atrás dela: os ERPs, as finanças, a gestão de encomendas, os sistemas legados, o data warehouse. Agora a página lê-se da esquerda para a direita: pessoas, Salesforce, integração, back office.

O layout de panorama do Steve O layout de panorama de sistemas do Steve, ainda sem setas. À esquerda, de cima para baixo: utilizadores internos, utilizadores parceiros e clientes. No centro, o Salesforce a azul com uma nuvem, a org em torno da qual projetamos, com a Partner Community e a Customer Community encostadas a ele por baixo. Acima: um site público no canto superior esquerdo, um fornecedor de identidade dos colaboradores e um fornecedor de identidade dos parceiros sobre o Salesforce, e uma aplicação do AppExchange para assinatura eletrónica deslocada para a direita. À direita do Salesforce, a camada de integração, com o Data 360 abaixo dela na mesma coluna (próximo do núcleo: gerido no núcleo, alojado fora dele; os utilizadores nunca se ligam a ele, e ele chega a muitos sistemas de back-end), depois os sistemas internos: ERP, finanças, gestão de encomendas e o data warehouse. Em baixo: os canais do cliente, e-mail, formulários web, telefone e mensagens. No canto inferior direito, os dados que entram e saem: um arquivo histórico, cargas de dados, e dados externos que são referenciados em vez de copiados. Seis quadros de passos constroem-no: as zonas vazias, depois as pessoas, o Salesforce e as suas comunidades, a identidade acima, a integração e os sistemas internos, e por fim os canais e os dados. ACIMA: IDENTIDADE, APPEXCHANGE, WEB PESSOAS DIREITA: SISTEMAS INTERNOS ABAIXO: CANAIS DE CLIENTES ABAIXO À DIREITA: DADOS QUE ENTRAM E SAEM Utilizadores internos vendas, atendimento, operações Utilizadores parceiros Clientes Site público IdP dos colaboradores single sign-on IdP dos parceiros single sign-on Aplicação do AppExchange assinatura eletrónica Partner Community Customer Community CAMADA DE INTEGRAÇÃO (ESB) ERP encomendas, faturas Finanças pagamentos Gestão de encomendas Data warehouse análise Salesforce a org em torno da qual projetamos Salesforce uma comunidade pessoas identidade, aplicações, web um sistema interno a camada de integração © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Passo 5 de 6: a integração, depois o back office.

Os canais abaixo. Tudo o que tem uma linha direta com os clientes: email-to-case, web-to-lead, telefone, mensagens.

Dados que entram e saem, no canto inferior direito. Fontes de dados externas, arquivos históricos, cargas de dados.

O Data 360 à direita, abaixo da camada de integração. Os utilizadores nunca se ligam a ele, e o seu tenant liga-se a muitos sistemas de back-end, por isso fica com a canalização, onde essas linhas ficam curtas: ao lado dos sistemas internos, do data warehouse e dos dados no canto inferior direito. As equipas de dados abrem, sim, os seus ecrãs, mas esses ecrãs ficam na org: o Data 360 é próximo do núcleo (near-core), gerido no núcleo e alojado fora do núcleo (módulo 1). Uma linha de volta para o Salesforce mostra quem o gere. O lugar onde põe a caixa deve contar a história do que ela faz.

Nada desta geometria é sagrado. O valor de uma convenção é que não reinvento a linguagem visual de cada vez, e quem já viu um dos meus diagramas lê o seguinte mais depressa.

O layout de panorama do Steve O layout de panorama de sistemas do Steve, ainda sem setas. À esquerda, de cima para baixo: utilizadores internos, utilizadores parceiros e clientes. No centro, o Salesforce a azul com uma nuvem, a org em torno da qual projetamos, com a Partner Community e a Customer Community encostadas a ele por baixo. Acima: um site público no canto superior esquerdo, um fornecedor de identidade dos colaboradores e um fornecedor de identidade dos parceiros sobre o Salesforce, e uma aplicação do AppExchange para assinatura eletrónica deslocada para a direita. À direita do Salesforce, a camada de integração, com o Data 360 abaixo dela na mesma coluna (próximo do núcleo: gerido no núcleo, alojado fora dele; os utilizadores nunca se ligam a ele, e ele chega a muitos sistemas de back-end), depois os sistemas internos: ERP, finanças, gestão de encomendas e o data warehouse. Em baixo: os canais do cliente, e-mail, formulários web, telefone e mensagens. No canto inferior direito, os dados que entram e saem: um arquivo histórico, cargas de dados, e dados externos que são referenciados em vez de copiados. Seis quadros de passos constroem-no: as zonas vazias, depois as pessoas, o Salesforce e as suas comunidades, a identidade acima, a integração e os sistemas internos, e por fim os canais e os dados. ACIMA: IDENTIDADE, APPEXCHANGE, WEB PESSOAS DIREITA: SISTEMAS INTERNOS ABAIXO: CANAIS DE CLIENTES ABAIXO À DIREITA: DADOS QUE ENTRAM E SAEM Utilizadores internos vendas, atendimento, operações Utilizadores parceiros Clientes Site público IdP dos colaboradores single sign-on IdP dos parceiros single sign-on Aplicação do AppExchange assinatura eletrónica Partner Community Customer Community Data 360 próximo do núcleo: gerido no núcleo, alojado fora dele CAMADA DE INTEGRAÇÃO (ESB) ERP encomendas, faturas Finanças pagamentos Gestão de encomendas Data warehouse análise E-mail email-to-case Formulários web web-to-lead Telefone centro de contacto Mensagens SMS, chat Arquivo histórico casos antigos Cargas de dados migração Dados externos referenciados, não copiados Salesforce a org em torno da qual projetamos Salesforce uma comunidade pessoas identidade, aplicações, web um sistema interno um canal de clientes dados que entram e saem a camada de integração tracejado: ainda não ativo, ou referenciado © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Passo 6 de 6: o layout inteiro, ainda sem setas. Todos os panoramas posteriores mantêm estas posições.

Mantenha a notação simples. Cada sistema é um cartão: o seu nome, o seu papel e um pequeno ícone que diz que tipo de coisa é: um ERP, uma base de dados, um fornecedor de identidade, um grupo de pessoas. As regiões que acabei de descrever são desenhadas como zonas suaves e rotuladas, para que o próprio layout fique visível. Uma legenda em baixo diz o que cada ícone e cada linha significam.

Não ponha coisas a mais dentro de uma caixa. Só num panorama muito complicado é que abro o Salesforce nas suas partes (Sales Cloud e Service Cloud dentro da org, com setas entre elas). E não invente quinze formas, a menos que cada uma diga algo ao leitor. Quero que alguém olhe para o panorama durante trinta segundos e comece a entender a arquitetura. Enfeites não ajudam. A clareza ajuda.

Não espere pelo design detalhado para pensar no volume. Uma seta que transporta 500 produtos por noite e uma que transporta 200 mil leituras de GPS por dia podem parecer exatamente iguais no panorama. Não são o mesmo problema. Por isso, antes de desenhar uma única seta, conte o que se move. Comece o inventário por trás do desenho com as contagens: uma linha por conjunto de dados importante, com o seu volume. Os zeros talvez nunca apareçam nas setas, mas precisa de saber quando entra em números altos: milhares ou milhões numa hora, centenas de milhares de transações, até dezenas a centenas de transações por segundo.

Esses números determinam o mecanismo. Algumas centenas de registos por noite são um lote (batch). Uma chamada pela qual alguém espera pode ser síncrona, se o volume o permitir. Dezenas a centenas por segundo podem precisar de eventos, como os platform events, em vez de uma chamada por registo. A seta vai parecer a mesma; o volume decide o que a transporta, por isso registe-o no inventário, onde o mecanismo é escolhido.

O mecanismo pode até mudar o sentido da seta. Envie um ou dois registos por minuto, e o Salesforce pode simplesmente fazer uma chamada de saída: a seta começa no Salesforce. Envie muito mais, e o Salesforce pode, em vez disso, publicar eventos no barramento de eventos; o sistema externo subscreve-os e chama o Salesforce para os ir buscar, por isso agora a seta começa na outra ponta. Maior ainda, digamos uma sincronização noturna de milhões de registos, e é um processo em lote. Por isso, conheça as suas contagens cedo, quando começar a projetar os mecanismos, porque as contagens podem redesenhar as setas.

O volume importa em dois lugares, por dois motivos. Num modelo de dados, preciso dele para vigiar os grandes volumes de dados e planear o arquivamento; a Parte 2 aprofunda isso. Num panorama de sistemas, os números grandes do inventário determinam a escolha do padrão e do mecanismo de integração. O módulo 6 põe zeros reais no panorama da Steve Trucking e no seu inventário. Com as contagens na mão, desenhe as setas.

Com os sistemas no lugar, ligue-os, e o panorama torna-se arquitetura. Uma caixa é um sistema; a seta mostra quem inicia a ligação. Começa no sistema que abre a ligação e aponta para aquele que ele chama: do cliente para o servidor. O rótulo diz o que se move, e em que sentido.

Esta regra vale para os panoramas de sistemas, onde sistemas falam com sistemas. Num diagrama de fluxo de dados, a seta segue os dados, como seria de esperar. Não leve a regra do panorama para outros diagramas; só acrescenta confusão.

O panorama com as suas setas O mesmo panorama de antes, agora com setas; cada uma começa no sistema que abre a ligação, e o seu rótulo diz o que se move e em que sentido. Os utilizadores internos chegam ao Salesforce, os utilizadores parceiros à Partner Community, os clientes à Customer Community. Cada fornecedor de identidade e o Salesforce partilham um certificado, mostrado como uma linha verde pontilhada com um certificado em cada ponta: confiança, não uma chamada direta, porque o início de sessão passa pelo navegador do utilizador como redirecionamentos. O fornecedor de identidade dos colaboradores também envia atualizações de utilizadores ao Salesforce. O Salesforce envia documentos para a aplicação de assinatura eletrónica do AppExchange, e encomendas para a camada de integração, que envia produtos para o Salesforce. A camada de integração envia encomendas para o ERP e traz produtos dele; o ERP envia o estado da encomenda para a camada de integração; a camada de integração traz pagamentos das finanças. O Data 360, abaixo da camada de integração, abre as suas ligações: dados do CRM a sair do Salesforce, zero copy com o data warehouse, e uma referência aos dados externos. De baixo, o e-mail traz casos e os formulários web trazem leads para o Salesforce; o Salesforce envia casos antigos para o arquivo histórico; as cargas de dados trazem registos. ACIMA: IDENTIDADE, APPEXCHANGE, WEB PESSOAS DIREITA: SISTEMAS INTERNOS ABAIXO: CANAIS DE CLIENTES ABAIXO À DIREITA: DADOS QUE ENTRAM E SAEM Utilizadores internos vendas, atendimento, operações Utilizadores parceiros Clientes Site público IdP dos colaboradores single sign-on IdP dos parceiros single sign-on Aplicação do AppExchange assinatura eletrónica Partner Community Customer Community Data 360 próximo do núcleo: gerido no núcleo, alojado fora dele CAMADA DE INTEGRAÇÃO (ESB) ERP encomendas, faturas Finanças pagamentos Gestão de encomendas Data warehouse análise E-mail email-to-case Formulários web web-to-lead Telefone centro de contacto Mensagens SMS, chat Arquivo histórico casos antigos Cargas de dados migração Dados externos referenciados, não copiados Salesforce a org em torno da qual projetamos certificado partilhado atualizações de utilizadores certificado partilhado documentos saem encomendas saem produtos entram encomendas saem, produtos entram estado da encomenda entra pagamentos entram dados do CRM saem zero copy referenciado casos entram leads entram casos antigos saem registos entram Salesforce uma comunidade pessoas identidade, aplicações, web um sistema interno um canal de clientes dados que entram e saem a camada de integração tracejado: ainda não ativo, ou referenciado parte do sistema que abre a ligação; o rótulo diz o que se move um certificado partilhado: confiança, sem chamada direta © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

As setas chegaram. Cada caixa está onde estava; cada seta começa no sistema que abre a ligação, e o seu rótulo diz o que se move e em que sentido.

Por isso, se a camada de integração empurra produtos para o Salesforce, a seta vai da camada de integração para o Salesforce, rotulada produtos entram. Se o Salesforce faz a chamada para os ir buscar, a seta começa no Salesforce, ainda rotulada produtos entram. Os mesmos dados, uma conversa diferente, e essa diferença diz-me quem precisa das credenciais e quem tem de lidar com a falha. O Salesforce envia a encomenda pela camada de integração: encomendas saem. O processamento do ERP volta: estado da encomenda entra. Agora consigo ver quem começa cada conversa, onde os dados entram no Salesforce e onde saem, que fluxos atravessam fronteiras, onde provavelmente está a propriedade, e onde preciso de perguntar mais.

E lembre-se do módulo 1: sempre que vejo um só fluxo, fico preocupado. Ao nível alto, uma seta de encomendas saem depende de fluxos de retorno: clientes entram, produtos entram, preços. Olhe ainda mais a fundo e lá está a viagem de volta: aceitação, rejeição, estado, um número de fatura, um cancelamento. As setas dão-me algo concreto para questionar.

É aqui que o panorama deixa de ser arte de PowerPoint. No painel de revisão, qualquer seta pode atrair três perguntas, e quero que tenha as respostas:

  • Como se autentica? OAuth, um certificado, uma credencial nomeada, outra coisa?
  • É síncrona ou assíncrona? O Salesforce espera pelo ERP, ou publica e segue em frente? Com que rapidez precisa o negócio do resultado?
  • Qual é o mecanismo? Uma chamada REST, um evento, um ficheiro, uma fila de mensagens, pelo MuleSoft ou direto?

E depois: o que acontece quando o outro lado está em baixo? Cada seta precisa de um mecanismo. Se não o consegue explicar, a linha é decoração.

E «fire and forget» (dispare e esqueça) não é resposta. Normalmente significa «não projetei o que acontece depois do disparo». Chegou? Foi aceite? Falhou? Vai tentar de novo? Quem sabe que encravou? E se a mesma mensagem chegar duas vezes? Nada disto vai no panorama, que ficaria ilegível. Mas a seta deve fazê-lo saber que estas perguntas existem.

Aproxime o zoom de qualquer seta e há um cliente e um servidor, e cada um é dono da sua metade. O cliente abre a ligação: precisa do endpoint e da porta, obtém primeiro um token do servidor de autenticação, chama o protocolo e o contrato que o servidor define, e escolhe se vai esperar. Só o cliente vê a viagem de ida e volta inteira, por isso só o cliente pode tentar de novo. O servidor escuta, define o protocolo, o contrato e o payload, valida o que chega, e vê só a sua própria parte. Quando desenho uma seta, já sei qual ponta é qual, e isso diz-me quem é dono de cada uma destas perguntas.

Cada seta precisa de um mecanismo Uma seta do panorama, vista de perto. O Salesforce, o cliente, com a sua Named Credential (credencial nomeada) e a sua External Credential (credencial externa), envia encomendas para o ERP, o servidor, que tem uma External Client App (aplicação cliente externa) e um utilizador de integração só de API. Uma linha tracejada, obrigatória para o OAuth, mostra o cliente a ir primeiro a um servidor de autenticação que emite o token. Abaixo, linha a linha, o que o cliente trata e o que o servidor define. Onde: o cliente precisa do endpoint e da porta; o servidor escuta num URL ou num endereço IP e numa porta. Autenticação: o cliente obtém primeiro um token, trata a expiração e volta a entrar, com o endpoint numa Named Credential e a autenticação na sua External Credential; o servidor confia nos tokens do seu servidor de autenticação, e a sua External Client App e o utilizador de integração decidem o que o cliente pode fazer. Protocolo e contrato: o cliente chama-os; o servidor define-os. Payload: o cliente serializa e lê; o servidor define JSON, XML ou binário. Tempo: o cliente escolhe esperar, continuar ou correr num horário programado; o servidor tem de dar conta. Rastreio: o cliente vê a viagem de ida e volta inteira; o servidor, só a sua própria parte. Erros e indisponibilidade: o cliente trata todo o tipo de erro, volta a tentar e sabe quando ficou bloqueado; o servidor valida o que chega e não pode voltar a tentar. Por baixo: nada disto vai para o panorama, mas cada seta tem isto. obrigatório para OAuth Servidor de autenticação emite o token encomendas saem CLIENTE Salesforce SERVIDOR ERP Named Credential External Credential External Client App Utilizador de integração (só API) O CLIENTE TRATA DE O SERVIDOR DEFINE Onde Precisa do endpoint (um URL ou um endereço IP) e da porta para se ligar. Escuta num URL ou num endereço IP, numa porta (por exemplo, 443). Autenticação Obtém primeiro um token do servidor de autenticação; trata a expiração e volta a entrar. Uma Named Credential guarda o endpoint, e a sua External Credential, a autenticação. Confia nos tokens do seu servidor de autenticação; uma External Client App e um utilizador de integração só de API decidem o que o cliente pode fazer. Protocolo e contrato Chama o protocolo, os métodos e os verbos certos (no SOAP, importa o WSDL). Define o protocolo (REST, SOAP, gRPC) e o contrato: métodos, verbos, parâmetros, retornos. Payload Serializa o pedido e lê a resposta no formato acordado. Define o payload: JSON, XML ou binário. Tempo Escolhe: espera pela resposta (síncrono), continua (assíncrono) ou corre num horário programado (lote). Tem de dar conta: responde a cada chamada quando ela chega, ou recebe o lote quando ele vem. Rastreio Vê a viagem de ida e volta inteira: o que saiu, o que voltou, quanto tempo levou. Vê só a sua própria parte: a chamada a chegar, o seu processamento, a resposta a sair. Erros e indisponibilidade Trata erros de ligação, de autenticação, do servidor e da resposta; volta a tentar, e sabe quando ficou bloqueado. Valida o que chega e comunica os seus próprios erros; não vê a viagem de ida e volta, por isso não pode voltar a tentar. Nada disto vai para o panorama, mas cada seta tem isto. © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Uma seta, vista de perto: o cliente trata, o servidor define. Nada disto vai para o panorama, mas cada seta tem isto.

Agora inverta a seta. Quando o ERP chama o Salesforce, o Salesforce é o servidor: define as APIs, corre o seu próprio servidor de autorização, e decide, através de uma External Client App (aplicação cliente externa) e de um utilizador de integração, o que quem chama pode fazer. As mesmas perguntas, do outro lado.

O Salesforce como servidor A mesma seta invertida. O ERP, o cliente, com um client ID e um segredo ou um certificado, envia o estado da encomenda para o Salesforce, o servidor, que o executa como um utilizador de integração só de API. Uma linha tracejada, obrigatória para o OAuth, mostra o ERP a ir primeiro ao próprio servidor de autorização do Salesforce, que emite o token para a External Client App (aplicação cliente externa). Abaixo, linha a linha, o que o cliente trata e o que o Salesforce define. Onde: o cliente precisa do URL do My Domain da org e da versão da API; o Salesforce escuta no My Domain por HTTPS. Autenticação: o cliente obtém um token de acesso através da External Client App e volta a entrar quando ele expira; o Salesforce confia nos seus próprios tokens, e as políticas da aplicação e as permissões do utilizador de integração decidem o que o cliente pode fazer. Protocolo e contrato: o cliente chama a API REST, SOAP ou Bulk; o Salesforce define as APIs, e os objetos e campos da org são o contrato. Payload: JSON ou XML, CSV para a Bulk. Tempo: o cliente espera, continua ou carrega em lotes; o Salesforce tem de dar conta dentro dos limites de API da org. Rastreio: o cliente vê a viagem de ida e volta inteira; o Salesforce, só a sua própria parte. Erros e indisponibilidade: o cliente trata erros de ligação, de autenticação, de limite e da resposta, e volta a tentar; o Salesforce valida o que chega e devolve os seus erros, e não pode voltar a tentar. Por baixo: nada disto vai para o panorama, mas cada seta tem isto. obrigatório para OAuth Servidor de autorização do Salesforce emite o token para a External Client App estado da encomenda entra CLIENTE ERP SERVIDOR Salesforce Client ID e um segredo, ou um certificado Utilizador de integração (só API) O CLIENTE TRATA DE O SERVIDOR DEFINE Onde Precisa do URL do My Domain da org e da versão da API. O Salesforce escuta no My Domain da org, por HTTPS (porta 443). Autenticação Obtém um token de acesso do servidor de autorização do Salesforce, através da External Client App; trata a expiração e volta a entrar. Confia nos seus próprios tokens; as políticas da External Client App e as permissões do utilizador de integração decidem o que o cliente pode fazer. Protocolo e contrato Chama a API que o Salesforce define: REST, SOAP ou Bulk (no SOAP, importa o WSDL). O Salesforce define as APIs e as suas versões; os objetos e campos da org são o contrato. Payload Serializa o pedido da forma que a API espera, e lê a resposta. Define o payload de cada API: JSON ou XML, CSV para a Bulk. Tempo Escolhe: espera pela resposta (síncrono), continua (assíncrono) ou carrega em lotes (Bulk API). Tem de dar conta, dentro dos limites de API da org. Rastreio Vê a viagem de ida e volta inteira: o que saiu, o que voltou, quanto tempo levou. Vê só a sua própria parte: a chamada a chegar, a gravação e a sua automação, a resposta a sair. Erros e indisponibilidade Trata erros de ligação, de autenticação, de limite e da resposta; volta a tentar, e sabe quando ficou bloqueado. Valida o que chega (regras de validação, campos obrigatórios, partilha) e devolve os seus erros; não pode voltar a tentar. Nada disto vai para o panorama, mas cada seta tem isto. © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

O Salesforce como servidor: as mesmas perguntas, com o Salesforce a responder pela metade do servidor.

É aqui que os arquitetos estragam um bom diagrama: fazem um artefacto responder a tudo. O panorama ganha nomes de API, payloads, novas tentativas, filas de erro, transformações, cada callback, e em pouco tempo ninguém o consegue ler. Não faça isso. O panorama é o quadro geral: os sistemas e os fluxos importantes entre eles.

Quando preciso de explicar uma interação, desenho um segundo diagrama, mas não para cada integração. Se o sistema A envia algo para B, ou até pergunta e recebe uma resposta, a seta rotulada basta. Quero uma raia (swim lane) quando o processo se torna uma conversa: A chama B, B consulta C, C responde, B cria algo e volta a chamar A, uma pessoa aprova, outro sistema continua. A minha regra prática: mais do que uma ou duas idas e voltas, e a sequência ganha a sua própria raia. Setas no panorama; a conversa na raia.

E repare que uma seta significa outra coisa ali. No panorama, uma seta é uma ligação: quem a abre, e o que se move. Numa raia, cada seta é uma mensagem numa conversa, lida por ordem: um pedido vai num sentido, uma resposta volta no outro, e o passo seguinte vem a seguir.

Setas no panorama, a conversa numa raia Os mesmos três sistemas mostrados de duas formas. No topo, como no panorama: o Salesforce envia encomendas para a camada de integração, que envia números de encomenda para o Salesforce, e a camada de integração envia encomendas para o ERP. Abaixo, cada sistema passa a ser uma raia, e a conversa desce pela página em seis passos numerados: 1, o Salesforce envia a encomenda para a camada de integração; 2, a camada de integração responde, aceite, com uma referência; 3, a camada de integração pede ao ERP que crie a encomenda; 4, o ERP cria a encomenda; 5, o ERP responde à camada de integração com o número da encomenda; 6, a camada de integração chama o Salesforce para atualizar a encomenda. As respostas são mais claras. Por baixo: no panorama, uma seta é uma ligação; numa raia, cada seta é uma mensagem, por ordem. NO PANORAMA: QUEM SE LIGA E O QUE SE MOVE NUMA RAIA: A CONVERSA, EM ORDEM Salesforce Camada de integração ERP encomendas saem números de encomenda entram encomendas saem enviar a encomenda 1 aceite: uma referência 2 criar a encomenda 3 cria a encomenda 4 o número da encomenda 5 atualizar a encomenda 6 No panorama, uma seta é uma ligação. Numa raia, cada seta é uma mensagem, por ordem. © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Três setas no panorama; seis passos na raia. No panorama, uma seta é uma ligação; numa raia, cada seta é uma mensagem, por ordem.

Quando o panorama parecer quase pronto, percorra-o, seta a seta. ERP para Salesforce: o que se está a mover, quem é o dono, como se autentica, qual é o mecanismo, síncrono ou assíncrono, quão atual tem de estar? Depois a seta seguinte, e a seguinte. É aqui que as lacunas aparecem. «Ah, nunca descobrimos como o parceiro envia realmente aquilo.» «Enviamos as encomendas para o ERP, mas não projetámos como voltam as rejeitadas.» Ótimo. Encontrou isso no quadro branco em vez de em produção.

O desenho tem de continuar legível, por isso os pormenores vão para o inventário por trás dele. Começou-o com as contagens; agora termine-o, uma linha por conjunto de dados ou fluxo importante:

ColunaO que quero saber
Conjunto de dadosCliente, produto, encomenda, entrega, fatura
TipoMestre, de referência, transacional, analítico, não estruturado
DonoQuem é dono do seu significado e do seu ciclo de vida?
Sistema de registoOnde está a versão com autoridade?
Carga de trabalhoOperacional, analítica, streaming
VolumeO Número de Zeros
OrgQue org Salesforce, se houver várias?
AutenticaçãoComo a conexão estabelece confiança?
Mecanismo e tempoAPI, evento, ficheiro, federação; síncrono, assíncrono, lote
AbordagemCopiar, referenciar ou federar?

Agora há dois artefactos: o panorama deixa-me ver a arquitetura, e o inventário deixa-me interrogá-la.

O inventário por trás do desenho O inventário por trás do panorama, uma linha por fluxo, com as colunas de volume e de mecanismo coloridas em conjunto. Produtos entram: o dono é o ERP, cerca de 500 alterações por noite, um lote noturno pela camada de integração, uma External Client App e um utilizador de integração, copiados. Encomendas saem: o dono é o Salesforce, cerca de 2 mil por dia, algumas por minuto, quase em tempo real, com o Salesforce a chamar pela camada de integração, com uma chamada de saída de Apex ou Flow e uma Named Credential, copiadas. Estado da encomenda entra: o dono é o ERP, cerca de 16 mil por dia em rajadas, de forma assíncrona, com o ERP a enviar para a camada de integração, que atualiza o Salesforce pela REST API, copiado. Pagamentos entram: o dono são as finanças, cerca de 1.500 por dia, um lote de hora a hora pela Bulk API 2.0, copiados. Dados do CRM saem: o dono é o Salesforce, milhões de registos, com o Data 360 a ingerir da org num horário programado, próximo do núcleo, copiados para o Data 360. Zero copy: os cinco anos de histórico do data warehouse, centenas de milhões de linhas, consultados no local, federados. Referenciado: um fornecedor externo, uma consulta de cada vez, lido quando alguém precisa, referenciado. Por baixo: as setas parecem iguais no panorama; o volume decide o que transporta cada uma. FLUXO NO PANORAMA DONO VOLUME MECANISMO E TEMPO AUTENTICAÇÃO COPIAR, REFERENCIAR OU FEDERAR Produtos entram ERP ~500 alterações por noite Lote: a camada de integração carrega-os todas as noites External Client App, utilizador de integração Copiar Encomendas saem Salesforce ~2 mil por dia, algumas por minuto Quase em tempo real: o Salesforce chama pela camada de integração, com uma chamada de saída de Apex ou Flow Named Credential Copiar Estado da encomenda entra ERP ~16 mil por dia, em rajadas Assíncrono: o ERP envia para a camada de integração, que atualiza o Salesforce pela REST API External Client App, utilizador de integração Copiar Pagamentos entram Finanças ~1.500 por dia Lote: de hora a hora, pela camada de integração e pela Bulk API 2.0 External Client App, utilizador de integração Copiar Dados do CRM saem Salesforce Milhões de registos, todos eles O Data 360 ingere da org em horário programado Próximo do núcleo: gerido na org Copiar para o Data 360 Zero copy Data warehouse Cinco anos de histórico, centenas de milhões de linhas Consultado no local quando necessário Uma ligação do Data 360 ao data warehouse Federar Referenciado Fornecedor externo Uma consulta de cada vez Lido quando alguém precisa Uma ligação do Data 360 Referenciar As setas parecem iguais no panorama. O volume decide o que carrega cada uma. © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

O inventário por trás do ED-D42. As setas parecem iguais no panorama; o volume decide o que transporta cada uma.

É por isso que gosto deste artefacto: ajuda-me a pensar. «Como vamos fazer relatórios que cruzem Salesforce e ERP?» É a pergunta do módulo 3: qual dos meus diagramas resolve isto lindamente? O panorama. Se está tudo no núcleo, relatórios padrão. Se os dados estão no ERP e no data warehouse, vê-se isso de imediato. «Onde deve ser mestre este atributo do cliente?» Veja que sistemas o usam e qual já é dono do cliente. «O Salesforce precisa de cada leitura de GPS?» Quem a produz, quem a consome, qual é a carga de trabalho? Talvez o Salesforce precise da posição atual e outra plataforma guarde o histórico. O panorama não lhe entrega a resposta. Dá-lhe a visão certa do problema.

Mais uma disciplina. Numa empresa existente, desenhe o que existe, não o que gostaria que existisse. A folha de cálculo enviada por e-mail todas as sextas: desenhe-a. O CSV do parceiro num servidor SFTP: desenhe-o. A integração que contorna o ESB por razões históricas: desenhe-a. Pessoas a voltar a escrever dados entre dois sistemas: mostre-o. Não limpe a realidade enquanto a documenta. Precisa do panorama atual antes de projetar o panorama-alvo, e é isso que fazemos com a Steve Trucking no módulo 6.

Além do exame: o que a IA muda. O panorama está a tornar-se um mapa de agentes. Se um agente responde «onde está a minha entrega?», o panorama tem de dizer se a resposta vem do Salesforce, de um sistema de parceiro, da telemetria, do ERP ou de uma mistura. Os agentes não eliminam as fronteiras entre sistemas; tornam ainda mais importante saber que sistema tem autoridade, e como chegar a ele com segurança.

  • Que sistemas e populações de utilizadores pertencem ao panorama, e como a sua posição mostra o seu papel.
  • Que fluxos atravessam fronteiras entre sistemas, em que direção, e o que volta.
  • Como cada ligação se autentica, que mecanismo a transporta, e se é síncrona, assíncrona, em lote ou federada.
  • Quando uma seta rotulada basta e quando uma interação precisa da sua própria raia.
  • O que o inventário por trás do desenho registra: dono, carga de trabalho, volume, org, tempo, autenticação, e copiar, referenciar ou federar.

O panorama não é algo que desenho depois de a arquitetura estar pronta. É a forma como encontro a arquitetura. E quando achar que terminou, não fique a admirá-lo. Percorra-o. Cada seta que ainda não consegue explicar mostra onde está o trabalho.