{
 "id": 36977,
 "slug": "2020-06-12_ligar-o-lemmid-store-as-cozinhas",
 "url": "https://agents.willem.com/pt/posts/2020-06-12_ligar-o-lemmid-store-as-cozinhas/",
 "source_url": "https://willem.com/pt/2020-06-12_ligar-o-lemmid-store-as-cozinhas/",
 "language": "pt",
 "date": "2020-06-12",
 "published": "2020-06-12T00:00:00+02:00",
 "created": "2025-06-26T22:09:58.524000+02:00",
 "updated": "2026-10-20T09:19:33.593000+02:00",
 "title": "Ligar o Lemmid Store às cozinhas",
 "subtitle": "Integrar sistemas externos que não controlas",
 "summary": "No âmbito da app de pedidos de comida que estou a construir, precisei de desenhar uma forma fiável de ligar a app a sistemas externos. Estes sistemas externos estão fora do meu controlo direto e incluem diferentes caixas registadoras, sistemas de gestão de cozinha e impressoras de talões. Lê até ao fim para saberes mais sobre como desenhar para o desconhecido e o pouco fiável.",
 "topics": [
  "data",
  "design",
  "lemmid-store",
  "networking",
  "programming",
  "server",
  "work"
 ],
 "author": {
  "name": "Willem L. Middelkoop",
  "url": "https://willem.com"
 },
 "provenance": {
  "kind": "model",
  "method": "Claude Sonnet, two passes (translation, then proofreading) against a glossary and hunspell (pt_PT)",
  "date": "2026-10-20",
  "reviewed_by_native_reader": false,
  "language": "pt",
  "source_language": "en"
 },
 "translations": [
  {
   "language": "en",
   "title": "Linking Lemmid Store with kitchens",
   "url": "https://agents.willem.com/en/posts/2020-06-12_linking-lemmid-store-with-kitchens/",
   "source_url": "https://willem.com/en/2020-06-12_linking-lemmid-store-with-kitchens/"
  },
  {
   "language": "nl",
   "title": "Lemmid Store koppelen met keukens",
   "url": "https://agents.willem.com/nl/posts/2020-06-12_lemmid-store-koppelen-met-keukens/",
   "source_url": "https://willem.com/nl/2020-06-12_lemmid-store-koppelen-met-keukens/"
  },
  {
   "language": "de",
   "title": "Lemmid Store mit Küchen verknüpfen",
   "url": "https://agents.willem.com/de/posts/2020-06-12_lemmid-store-mit-kuchen-verknupfen/",
   "source_url": "https://willem.com/de/2020-06-12_lemmid-store-mit-kuchen-verknupfen/"
  },
  {
   "language": "es",
   "title": "Conectando Lemmid Store con cocinas",
   "url": "https://agents.willem.com/es/posts/2020-06-12_conectando-lemmid-store-con-cocinas/",
   "source_url": "https://willem.com/es/2020-06-12_conectando-lemmid-store-con-cocinas/"
  },
  {
   "language": "fr",
   "title": "Relier Lemmid Store aux cuisines",
   "url": "https://agents.willem.com/fr/posts/2020-06-12_relier-lemmid-store-aux-cuisines/",
   "source_url": "https://willem.com/fr/2020-06-12_relier-lemmid-store-aux-cuisines/"
  },
  {
   "language": "it",
   "title": "Collegare Lemmid Store alle cucine",
   "url": "https://agents.willem.com/it/posts/2020-06-12_collegare-lemmid-store-alle-cucine/",
   "source_url": "https://willem.com/it/2020-06-12_collegare-lemmid-store-alle-cucine/"
  },
  {
   "language": "pap",
   "title": "Konektá Lemmid Store ku kushina",
   "url": "https://agents.willem.com/pap/posts/2020-06-12_konekta-lemmid-store-ku-kushina/",
   "source_url": "https://willem.com/pap/2020-06-12_konekta-lemmid-store-ku-kushina/"
  },
  {
   "language": "fy",
   "title": "Lemmid Store keppelje oan keukens",
   "url": "https://agents.willem.com/fy/posts/2020-06-12_lemmid-store-keppelje-oan-keukens/",
   "source_url": "https://willem.com/fy/2020-06-12_lemmid-store-keppelje-oan-keukens/"
  }
 ],
 "image": "https://willem.com/global/images/26932b5ea8be.webp",
 "image_width": 2560,
 "images": [
  {
   "url": "https://willem.com/global/images/e4dce3b523ff.webp",
   "description": "Lemmid Store: uma app para pedir comida para levar",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_36977_images-1.jpg"
  },
  {
   "url": "https://willem.com/global/images/2c395cf2f419.webp",
   "description": "Talão impresso, através de uma ligação externa, com dados detalhados do pedido, como os modificadores de produto (as escolhas do cliente por produto)",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_36977_images-2.jpg"
  },
  {
   "url": "https://willem.com/global/images/a1d4ad9cd8a3.webp",
   "description": "Integrar sistemas externos na tua app é como montar peças de terceiros num motor: tens de pensar com cuidado no encaixe e na fiabilidade (imagem de um motor de combustão, domínio público)",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_36977_images-3.jpg"
  },
  {
   "url": "https://willem.com/global/images/2e9aca708f2b.webp",
   "description": "Separar o servidor backend principal dos sistemas externos com um \"servidor conector\" feito de propósito",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_36977_images-4.png"
  }
 ],
 "text": "App de pedidos de comida\nA app que estou a construir chama-se Lemmid_Store (https://lemmid-store.com), é uma app fácil de usar que permite às pessoas fazer (e pagar) pedidos de comida para levar. Podes encontrar todos_os_artigos_sobre_o_Lemmid_Store_aqui (https://willem.com/blog/lemmid-store/).\nSistemas externos\nA necessidade de ligar a sistemas externos nasce do desejo de integrar a app de pedidos nos processos de negócio do serviço de entrega de comida. Pensa em coisas como:\n- recolher os dados dos pedidos em registos administrativos (por exemplo, a contabilidade)\n- encaminhar os pedidos para as cozinhas, onde as refeições são preparadas e embaladas\n- dar acesso fácil a informação de rotas, mostrando onde a comida deve ser entregue\n- agendar pedidos de comida destinados a entregas posteriores\nDesafios de ligar a sistemas externos\nPode ser que não te apercebas, mas ligar a sistemas externos pode ser complicado. Se pensares na app de pedidos como uma espécie de \"motor\" (como no teu carro), no fundo queres integrar este motor com peças externas. Como podes imaginar, nem todas as peças servem igualmente bem debaixo do capot, por assim dizer. Para tornar as coisas ainda mais difíceis: não sabes ao certo quão fiáveis são as peças externas. Tens de desenhar a tua integração de forma a que diferentes peças externas se possam ligar com facilidade e a que o desempenho não dependa da fiabilidade dessas peças.\nTal como num motor de combustão, tens de pensar no encaixe e na fiabilidade quando integras o teu software com sistemas externos. Não podes assumir que o software externo:\n- encaixa na perfeição\n- é sempre consistente\n- está sempre disponível / presente\n- é de confiança\nPara desenhar tendo em conta esta visão bastante sombria das ligações externas, achei boa ideia deixar o servidor principal (backend) da minha app de pedidos delegar a responsabilidade de ligar a sistemas externos num \"servidor conector\" feito de propósito. O servidor conector liga-se então, de forma independente, ao sistema externo. Assim, o servidor principal só comunica com peças e sistemas \"de primeira mão\", o que minimiza os riscos de encaixes falhados e de possíveis períodos de inatividade.\nNa prática, isto significa que o \"servidor conector\" é, na verdade, uma máquina diferente, com a sua própria pilha de software. Esta segmentação tem algumas vantagens importantes:\n- segurança: o servidor conector não guarda um registo completo de todos os pedidos, apenas os pedidos que têm de ser encaminhados para um sistema externo ficam temporariamente em memória. Um possível problema de segurança num sistema externo só expõe uma quantidade mínima de dados.\n- encaixa em tudo: o servidor conector pode acomodar muitos protocolos e formas diferentes de ligar a sistemas externos. Adicionar ligações a sistemas externos é um pouco como o servidor \"aprender uma nova língua\". Como já é um \"poliglota\", acrescentar um novo dialeto ou língua costuma ser fácil. Ligar a diferentes APIs é mais simples quando tens todos os blocos de construção prontos para (re)estruturar dados.\n- acomodar a falta de fiabilidade: um mecanismo simples de filas no servidor conector permite-lhe lidar com elegância com possíveis períodos de inatividade e problemas nas ligações externas. Ao registar e pôr em fila por serviço externo, é possível minimizar o impacto nas outras peças e ligações quando um serviço falha.\nConclusão\nPor mais tentador que seja acrescentar à tua app peças novas e vistosas, tens de pensar com cuidado na tua configuração para garantir que funciona de forma fiável.\nDesenhar software de servidor backend para ligar a APIs externas é um desafio. Tens de esperar o melhor, mas desenhar para o pior!",
 "word_count": 590,
 "markdown_url": "https://agents.willem.com/pt/posts/2020-06-12_ligar-o-lemmid-store-as-cozinhas/post.md"
}