ERP-Systeme und Ethereum

Ich wollte den Integrationsstatus von ERP-Systemen (wie SAP) und Ethereum wissen.

Gibt es eine API, die es einem Smart Contract ermöglicht, Informationen von einem ERP abzurufen, um diese Daten zu speichern?

Danke im Voraus

Am besten!

darfchain.com Hybryd (Blockchain+DB-Layer auf BigchainDB + Offchain-ERP-Plattform auf Odoo)

Antworten (3)

Nicht speziell. Sie könnten jedoch Ihr eigenes serverseitiges Daemon-Programm schreiben, das im Grunde wie ein Orakel fungieren würde:

  1. Warten, bis entweder durch einen Timer (z. B. Chron Job) oder einen Smart Contract ausgelöst wird (in diesem Fall müsste der Vertrag überwacht werden)
  2. Verbinden Sie sich mit dem ERP-System und erhalten Sie die Daten zB SAP Netweaver
  3. Verarbeiten Sie die Daten, um die gewünschten Teile daraus zu extrahieren.
  4. Rufen Sie eine Funktion in Ihrem Vertrag auf, die die Daten festlegt. (Offensichtlich möchten Sie Ihre Funktion so sichern, dass nur autorisierte Parteien sie aufrufen können.)

Was das Erstellen des serverseitigen Daemons betrifft, gibt es mehrere Optionen für Schritt (3):

Sie sollten wahrscheinlich einen auswählen, für den eine gute SAP-Konnektorbibliothek existiert. Persönlich würde ich Python mit sapnwrfc ausprobieren

Zu beachten ist außerdem, dass das Speichern großer Datenmengen in der Blockchain teuer ist. Erwägen Sie daher, Daten auf SWARM oder IPFS hochzuladen und den Hash der Daten im Vertrag zu speichern.

Hi @JackWinters erstaunliche Antwort :) Zwei Fragen. Wenn Sie sagen, rufen Sie eine Funktion in Ihrem Vertrag auf, die die Daten festlegt. Sie meinen, das speichert die Daten im Smart Contract, richtig? Auch was meinst du als Hash der Daten. Metadaten? wie Abfrage, IP, Benutzer, Pass und Tabelle, die abgefragt werden soll?
In meinem Beispiel könnten Sie die Daten direkt in einer Funktion wie SetStockLevel (string sku, uint location, uint number) speichern, die einige Daten festlegt. Sie könnten auch einfach Update (Bytes Hash) ausführen, das Hash speichert, wobei Hash der Hash der Daten ist, die auf IPFS oder SWARM hochgeladen wurden
Schließlich könnten Sie die Blockchain verwenden, um Berechtigungen für einen Webdienst festzulegen. Aber das ist wirklich eine andere Frage. Siehe dieses Papier healthit.gov/sites/default/files/…
Entschuldigung @JackWinters, damit ich es besser verstehe. Im Beispiel von sku, location, number, hash), was würde der Hash speichern, der als Zeiger auf die in IPFS hochgeladenen Daten angesehen werden kann?
ipfs add( siehe ) gibt einen Hash zurück, z. B. QmbFMke1KXqnYyBBWxB74N4c5SBnJMVAiMNRcGu6x1AwQH, der verwendet werden kann, um alles abzurufen, was Sie zu IPFS hinzugefügt haben. Sie speichern dies in einer Bytes-Variablen im Vertrag, damit andere verwenden können , um ipfs object get QmbFMke1KXqnYyBBWxB74N4c5SBnJMVAiMNRcGu6x1AwQHdas zu erhalten, was Sie hinzugefügt haben.
eine wahre Meisterklasse! jegliche Lektüre dazu. Mit Beispielen wie dem, das Sie für SKU und Standorte erwähnen
Unter github.com/AdrianClv/ethereum-ipfs finden Sie ein Beispiel für die Verwendung von IPFS in einer Dapp (Sie müssen es für die Serverseite anpassen, aber das Prinzip ist dasselbe).
Übrigens, wenn Sie dies zum Laufen bringen, ziehen Sie bitte Open Source in Betracht und teilen Sie das Ergebnis mit der Community als Github-Projekt.

SAP ist eine komplexe Datenbank, aber diese Jungs von finlync haben die direkte Integration von SAP in Ethereum geschafft. schlage vor sie anzusprechen...

http://www.the-blockchain.com/2017/01/18/finlync-designs-erp-integration-distributed-ledger-blockchain/

Zunächst einmal können Sie in Blockchain nicht wirklich einen API-Aufruf machen, wie Sie es normalerweise in einer Python/Java/go/anderen Programmiersprache können. Sie müssen einen Anruf über ein Orakel wie Chainlink tätigen .

Sie können dann diese API-Aufrufe über diese Chainlink-Orakel durchführen. Sie können dies für jede API tun und sie in jede Plattform (wie SAP) integrieren.