{
 "id": 36977,
 "slug": "2020-06-12_lemmid-store-mit-kuchen-verknupfen",
 "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": "de",
 "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": "Lemmid Store mit Küchen verknüpfen",
 "subtitle": "Anbindung an externe Systeme, die du nicht kontrollierst",
 "summary": "Für die Bestell-App für Essen, die ich gerade baue, brauchte ich einen verlässlichen Weg, die App mit externen Systemen zu verbinden. Diese Systeme liegen außerhalb meiner Kontrolle, zum Beispiel verschiedene Kassen, Küchenverwaltungssysteme und Bondrucker. Lies weiter, wenn du wissen willst, wie man für das Unbekannte und Unzuverlässige plant.",
 "topics": [
  "data",
  "design",
  "lemmid-store",
  "networking",
  "programming",
  "server",
  "work"
 ],
 "author": {
  "name": "Willem L. Middelkoop",
  "url": "https://willem.com"
 },
 "provenance": {
  "kind": "model",
  "method": "Gemini translation (2025), reviewed and corrected by Claude Sonnet (20 Oct 2026) against a glossary and hunspell",
  "date": "2026-10-20",
  "reviewed_by_native_reader": false,
  "language": "de",
  "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": "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": "pt",
   "title": "Ligar o Lemmid Store às 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": "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: eine App zum Bestellen von Essen zum Mitnehmen",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_36977_images-1.jpg"
  },
  {
   "url": "https://willem.com/global/images/2c395cf2f419.webp",
   "description": "Gedruckter Bon über eine externe Verbindung, mit detaillierten Bestelldaten wie Produktvarianten (die Wahl des Kunden pro Produkt)",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_36977_images-2.jpg"
  },
  {
   "url": "https://willem.com/global/images/a1d4ad9cd8a3.webp",
   "description": "Externe Systeme in deine App einzubinden ist, als würdest du Fremdteile in einen Motor einbauen: Du musst Passform und Zuverlässigkeit sorgfältig prüfen (Bild eines Verbrennungsmotors, gemeinfrei)",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_36977_images-3.jpg"
  },
  {
   "url": "https://willem.com/global/images/2e9aca708f2b.webp",
   "description": "Der Haupt-Backend-Server wird durch einen eigens gebauten \"Connector-Server\" von den externen Systemen getrennt",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_36977_images-4.png"
  }
 ],
 "text": "Bestell-App für Essen\nDie App, an der ich arbeite, heißt Lemmid_Store (https://lemmid-store.com). Sie ist eine benutzerfreundliche App, mit der man Essen zum Mitnehmen bestellen (und bezahlen) kann. Hier findest du alle_Beiträge_zu_Lemmid_Store (https://willem.com/blog/lemmid-store/).\nExterne Systeme\nDie Anbindung externer Systeme ist nötig, weil die Bestell-App in die Geschäftsabläufe des Lieferdienstes passen soll. Denk zum Beispiel an:\n- Bestelldaten in die Verwaltung übernehmen (z. B. in die Buchhaltung)\n- Bestellungen an die Küchen weitergeben, wo die Gerichte zubereitet und verpackt werden\n- Routeninformationen bereitstellen, die zeigen, wohin das Essen geliefert werden soll\n- Bestellungen für spätere Lieferungen einplanen\nDie Tücken der Anbindung externer Systeme\nVielleicht ist dir das nicht klar, aber die Anbindung externer Systeme kann knifflig sein. Stell dir die Bestell-App als eine Art \"Motor\" vor (wie in deinem Auto). Diesen Motor willst du mit externen Teilen verbinden. Wie du dir denken kannst, passen nicht alle Teile gleich gut unter die sprichwörtliche Motorhaube. Dazu kommt: Du weißt nicht sicher, wie zuverlässig die externen Teile sind. Du musst die Anbindung so bauen, dass sich unterschiedliche externe Teile leicht anschließen lassen und die Leistung nicht von deren Zuverlässigkeit abhängt.\nWie bei einem Verbrennungsmotor musst du bei der Anbindung externer Systeme auf Passform und Zuverlässigkeit achten. Du kannst nicht davon ausgehen, dass externe Software:\n- perfekt passt\n- immer konsistent ist\n- immer verfügbar / vorhanden ist\n- vertrauenswürdig ist\nAngesichts dieser eher düsteren Sicht auf externe Verbindungen fand ich es klug, die Verantwortung dafür vom Haupt-Backend-Server meiner Bestell-App an einen eigens gebauten \"Connector-Server\" abzugeben. Der Connector-Server verbindet sich dann selbstständig mit dem externen System. So spricht der Hauptserver nur mit \"First-Party\"-Teilen und -Systemen, und das Risiko von Inkompatibilitäten und Ausfällen sinkt.\nIn der Praxis heißt das: Der \"Connector-Server\" ist eine eigene Maschine mit eigenem Software-Stack. Diese Trennung hat ein paar wichtige Vorteile:\n- Sicherheit: Der Connector-Server speichert nicht alle Bestellungen. Nur die Bestellungen, die an ein externes System weitergegeben werden müssen, liegen vorübergehend im Speicher. Ein mögliches Sicherheitsproblem in einem externen System legt dadurch nur ein Minimum an Daten offen.\n- Passt zu allem: Der Connector-Server kann viele verschiedene Protokolle und Verbindungswege unterstützen. Eine neue Verbindung hinzuzufügen ist, als würde der Server \"eine neue Sprache lernen\". Da er schon \"mehrsprachig\" ist, ist ein neuer Dialekt oder eine neue Sprache oft schnell erledigt. Die Anbindung an verschiedene externe APIs fällt leichter, wenn du alle Bausteine zum Umstrukturieren von Daten schon hast.\n- Mit Unzuverlässigkeit umgehen: Eine einfache Warteschlange im Connector-Server hilft ihm, Ausfälle und Probleme bei externen Verbindungen elegant abzufangen. Wenn du pro externem Dienst protokollierst und in eine Warteschlange stellst, bleiben die Folgen für andere Teile und Verbindungen klein, wenn ein Dienst ausfällt.\nFazit\nSo verlockend es ist, einfach neue, schicke Teile an deine App zu schrauben: Du musst deinen Aufbau sorgfältig durchdenken, damit alles zuverlässig läuft.\nBackend-Software zu entwickeln, die sich mit externen APIs verbindet, ist eine Herausforderung. Du musst auf das Beste hoffen, aber für das Schlimmste planen!",
 "word_count": 486,
 "markdown_url": "https://agents.willem.com/de/posts/2020-06-12_lemmid-store-mit-kuchen-verknupfen/post.md"
}