Dieser Blogpost ist ein Artikel in einer Serie von Artikeln zu dem im Dezember 2019 erschienenen Buch „Blockchain mit SAP“ (Rheinwerk Verlag, Bonn, ISBN 978-3-8362-6914-8). In diesem Blogpost geht es um das siebte Kapitel aus dem Buch, in dem die Daten aus einer Hyperledger Fabric Blockchain mit einer SAP HANA-Datenbank kombiniert werden, um strukturierte Abfragen zu ermöglichen.
Eines der Highlights unseres Buches „Blockchain mit SAP“ ist die Integration von gesammelten Transaktionsdaten aus einer Blockchain in eine SAP HANA-Datenbank, um etwa Abfragen in SQL zu formulieren oder die Blockchaindaten mit anderen Bestandsdaten zu aggregieren.
Das generelle Vorgehen dabei ist, dass die Daten aus den Blöcken einer Blockchain über einen Adapter in eine SAP HANA Datenbankinstanz als virtuelle Tabellen eingeblendet werden, von wo sie weiter verarbeitet werden können.
Der Blockchain Application Enablement Dienst
Grundlage für die Integration von Blockchaindaten in eine SAP HANA Datenbank ist der Dienst Blockchain Application Enablement. Dieser bietet eine standardisierte Schnittstelle zur Abfrage der Daten aus der Blockchain für andere Anwendungen. In Kombination mit dem SAP HANA Blockchain Service wird die Zusammenführung der Blockchaindaten und einer SAP HANA Datenbank ermöglicht.

Der SAP HANA Blockchain Service besteht aus zwei Komponenten,
- dem SAP HANA Blockchain Adapter sowie
- dem SAP HANA Integration Service
Der SAP HANA Blockchain Adapter ist ein SDI-Konnektor (Smart-Data-Integration) für die HANA Datenbank. Er verbindet sich mit dem SAP HANA Integration Service und bringt die Daten aus der Blockchain in das HANA Datenbankformat.

Aktivieren des Blockchain Application Enablement
Der Blockchain Application Enablement Service kann im Service Marketplace ausgewählt werden.

Es gibt ihn für verschiedene Servicepläne, darunter auch die Blockchain-Hana-Integration.

Nach Erstellung der neuen Service-Instanz muss diese konfiguriert werden – konkret ist dies die Einrichtung der sogenannten Meldungsstrukturen. Das sind die Datenstrukturen, die die auszulesenden Daten aus der Blockchain für die SAP HANA Zieldatenbank beschreiben:

Dazu muss ein zuvor selbstdefinierte Datenmodell im Chaincode in zu definierende Meldungsstrukturen übersetzt werden. So war ein ProductOffering des dezentralen Energiemarktes im Go-Programmcode wie folgt definiert worden:
type ProductOffering struct { ObjectType string `json:"docType"` //docType is used to distinguish the various types of objects //in state database ProductName string `json:"productName"` Description string `json:"description"` OfferorID string `json:"offerorId"` BuyerID string `json:"buyerId"` Price float32 `json:"price"` Status int `json:"status"` Timestamp string `json:"timestamp,omitempty"` }
Überführt in die Welt der Meldungsstrukturen für die SAP HANA Datenbank ergibt dies:

Die einzelnen Attribut-Namen sind beibehalten worden, lediglich ihr Typ wurde an die SAP HANA Datentypen angepasst.
Die Architektur der Anbindung sieht wie folgt aus

SAP HANA Integration
Als letzter Schritt wird der SDI-Adapter für die Blockchain-Daten in die SAP HANA Datenbank eingebunden und als externe Datenquelle eingebunden:


Über die Credentials, respektive das Access token stellt die Datenbank über den Adapter die Verbindung zur Blockchain her. Untenstehend ein Screenshot.

Das Ergebnis sind virtuelle Tabellen mit den Daten aus der Blockchain, die unter verschiedenen Aspekten eingegliedert werden können (reine Nutzdatenansicht, nur Metadaten, gemischte Ansicht). Untenstehend ein Screenshot der ProductOfferings Tabelle aus der Blockchain mit den Daten der angebotenen Produkte.

Diese Tabelle kann nun in SAP HANA mittels SQL abgefragt und ausgewertet werden.
Weitere Artikel dieser Serie finden sie hier:
- Was ist eine Blockchain und wie funktioniert sie?
- Blockchain-as-a-Service-Angebote der SAP Cloud Platform
- Cloud Computing von SAP: Die SAP Cloud Platform
- Blockchain mit SAP – Geschäftliche Anwendungsszenarien für Blockchains
- Blockchain mit SAP – Erste Schritte zur eigenen Blockchain
- Blockchain mit SAP – Blockchain-Anwendungen mit Hyperledger Fabric entwickeln
- Blockchain mit SAP – Blockchain-Anwendungen mit Hyperledger Fabric entwickeln
- Blockchain mit SAP – MultiChain Anwendungen
- Blockchain with SAP: MultiChain Applications
- Blockchain mit SAP – Hybride Netzwerkarchitektur und Camelot Hypertrust Plattform
- Blockchain mit SAP – Zusammenfassung und Ausblick
Wollen Sie mehr über die Möglichkeiten von Hyperledger Fabric für Ihr Unternehmen erfahren? In unserem Buch „Blockchain mit SAP“ erläutern wir Ihnen ausführlich die Vorteile der Hyperledger Fabric Blockchain Intergation mit SAP HANA. Eine ausführliche Leseprobe zum Buch stellt der Verlag online bereit.