Ankündigung: Das Azure Blockchain Development Kit

Veröffentlicht am 15 November, 2018

Principal Program Manager, Blockchain Engineering

„Entwickler! Entwickler! Entwickler!“ Die Philosophie von Microsoft besteht seit jeher darin, neue Technologien gemeinsam zu entwickeln und Personen mit guten Ideen dazu zu ermutigen, diese in der Softwareentwicklung umzusetzen.

Über vier Jahrzehnte haben wir die Grenzen der Entwicklung mit Entwicklertools, Unternehmensintegration, DevOps, PaaS und SaaS immer wieder revidiert. Durch serverlose Angebote – von Azure Functions über Azure Logic Apps bis hin zu Azure DevOps und IoT Central – ist die Entwicklung in der Cloud problemlos möglich.

Wir freuen uns, heute die Veröffentlichung des Azure Blockchain Development Kit bekanntgeben zu können. Dieses Kit baut auf den serverlosen Technologien von Microsoft auf und integriert die Blockchain nahtlos in die besten SaaS-Dienste von Microsoft und Drittanbietern.

Dieses Kit erweitert die Funktionen der Blockchainentwicklervorlagen und von Azure Blockchain Workbench. Das Kit vereint Azure-Dienste zur Schlüsselverwaltung, Identitäten und Daten außerhalb der Chain und Überwachungs- und Messaging-APIs zu einer Referenzarchitektur, mit der blockchainbasierte Anwendungen im Handumdrehen erstellt werden können.

Diese Tools sind die erste Anlaufstelle für viele Organisationen, wenn sie ihr Unternehmen umstrukturieren und optimieren möchten. So wurden Apps zum Demokratisieren der Finanzierung der Lieferkette in Nigeria oder zum Sichern der Lebensmittelversorgung im Vereinigten Königreich erstellt. Bei den Anwendungsfällen waren bald wiederkehrende Muster zu erkennen. Anhand dieser Muster haben unsere Teams Möglichkeiten entwickelt, durch die Entwickler schneller mehr erreichen können.

Dieses erste Release konzentriert sich auf Funktionen im Zusammenhang mit drei Hauptaspekten: das Verbinden von Schnittstellen, das Integrieren von Daten und Systemen und das Bereitstellen sogenannter Smart Contracts und von Blockchainnetzwerken.

Verbinden

End-to-End-Blockchainlösungen für Unternehmensgruppen sind nur dann möglich, wenn Organisationen, Mitarbeiter und Geräte eine Verbindung mit Blockchain über unterschiedliche Benutzerschnittstellen herstellen können. Dafür ist der Entwickler zuständig.

Stellen Sie sich z.B. eine vollständige Lieferkette für Kakao vor.

  • Durch SMS- und Sprachschnittstellen können Kleinbauern in Afrika den Verkauf ihrer Ware abwickeln und am Anfang der Lieferkette nachverfolgen.
  • IoT-Geräte (Internet der Dinge) erfassen Sensorendaten, um den Zustand der Ware an unterschiedlichen Punkten auf dem Weg zum Markt zu erfassen. Sie erfassen die Feuchtigkeit in den Behältern, in denen die Bohnen auf die Temperatur der Eiscreme heruntergekühlt werden, zu der sie später verarbeitet werden.
  • Durch mobile Clients können Logistikunternehmen die Zuständigkeit für Produkte auf deren Weg vom Hersteller in den Verkauf annehmen oder weitergeben. Dafür können sie die Computeressourcen verwenden, die ihre Mitarbeiten in ihren Hosentaschen mit sich tragen. Mobile Geräte haben Sensoren wie GPS und Kameras, die weitere Daten erfassen, die Aufschluss darüber liefern können, welches Produkt wann wohin geliefert wird.
  • Back-End-Systeme und -Daten in Form von ERP-System wie z.B. Dynamics und SAP werden zur Verwaltung wichtiger Vorgänge für unterschiedlicher Teilnehmer eingesetzt. Diese Systeme werden durch Erweiterungen zu Clients und müssen mit Smart Contracts interagieren können, um belegbare Daten im Auftrag eines Unternehmens bereitstellen und empfangen zu können.
  • Durch Bots und Assistenten können Hersteller und Einzelhändler mit der Lieferkette interagieren. Sie können z.B. mit Smart Contracts für Bestellungen und Herkunftsorte mit natürlicher Sprache und belegbaren Daten aus der Blockchain interagieren, um Handlungen im Namen eines Benutzers anzuordnen.
  • Durch Webclients können Endbenutzer die Herkunft eines Produkts erfahren, das sie im Einzelhandel erworben haben, meistens eine Kombination aus Herkunftsort und Weg „vom Bauern auf den Tisch“.

Das Azure Blockchain Development Kit enthält Beispiele für all diese Szenarios: eingehende und ausgehende SMS, IVR-Systeme, IoT Hub und IoT Central, der mobile Xamarin-Client für iOS und Android, Dynamics-Integration über Common Data Service (CDS), Bots und Assistenten (Cortana, Alexa, Google Assistant) und Benutzerfunktionen im Web.

Integrieren

Unternehmen verwenden die Blockchain und Smart Contracts, um Prozesse mit mehreren beteiligten Parteien zu vereinfachen. Die Blockchain ermöglicht außerdem den entsprechenden Parteien Echtzeiteinblicke in den Status und die Ereignisse dieser Contracts.

End-to-End-Blockchainlösungen erfordern die Integration von Daten, Software und Medien, die sich außerhalb der Chain befinden. Externe Aktualisierungen und Ereignisse können Aktionen in Smart Contracts auslösen. Ereignisse und Statusänderungen in Smart Contracts können dann Aktionen und Datenaktualisierungen in Systemen und Daten außerhalb der Chain auslösen. Diese externen Systeme und die KI müssen auch belegbare Daten aus Smart Contracts abfragen können, um entsprechende Maßnahmen einzuleiten.

Hier gibt es zwei Bereichen, in denen für die Integration Anweisungen besonders wichtig sind:

Dokumente und Medien: Dokumente und Medien gehören nicht in die Chain. Unternehmensvorgänge involvieren jedoch häufig Bilder, Videos, Audioaufnahmen, Office-Dokumente, CAD-Dateien für 3D-Drucker und andere Dateitypen.

Eine gängige Lösung ist das Generieren eines Hashs der Medien und der Metadaten, die sie beschreiben. Diese Hashes werden dann in einer öffentlichen oder privaten Chain platziert. Wenn die Echtheit einer Datei zweifelhaft ist, können die Dateien außerhalb der Chain zu einem späteren Zeitpunkt wieder mit einem Hash versehen werden. Dieser Hash kann dann mit dem Hash in der Blockchain verglichen werden. Wenn die Hashes übereinstimmen, beweist das die Echtheit des Dokuments. Wenn jedoch nur ein Pixel oder ein Buchstabe in einem Dokument verändert wurde, stimmen die Hashes nicht mehr überein. Dadurch wird eindeutig, dass Änderungen vorgenommen wurden.

Heute veröffentlichen wir mehrere Logik-Apps zum Hashen von Dateien und dateibezogener Metadaten. Des Weiteren sind Smart Contracts für Dateien und eine Dateiregistrierung enthalten, in der die Hashes in der Chain gespeichert werden.

Diese Logik-Apps wurden im Hinblick auf diese Funktionen für Dateien entwickelt, die den beliebtesten Quellen für Dokumente und Medien hinzugefügt wurden. Zu diesen Quellen zählen u.a. Azure Storage, OneDrive, OneDrive for Business, SharePoint, Box, Adobe Creative Cloud und FTP.

Dokumente und Medien

Interaktion im Rahmen des Smart Contract: Der Weg der Blockchain von der Planung in die Produktion bedeutet, dass Sie entscheiden müssen, wie die unterschiedlichen Parteien miteinander interagieren können. Das bedeutet auch, dass die Integration von Enterprise-Systemen nicht ganz unkompliziert ist.

Microsoft hat jahrzehntelange Erfahrung in diesem Bereich vorzuweisen und weiß diese bei der Blockchain einzusetzen. Die Veröffentlichung von BizTalk Server vor fast zwei Jahrzehnten markiert den Beginn unserer Arbeit mit der Integration von Enterprise-Systemen. Seit der Entwicklung von Open Database Connectivity (ODBC) in den 1990ern konzentrieren wir uns auf die Datenbankintegration. Wir haben alle unsere Erfahrungen in Azure-Dienste einfließen lassen, sodass nun jeder davon profitieren kann. Dazu zählen über 200 Connectors in Azure Logic Apps und Microsoft Flow sowie die leistungsfähigen Funktionen unserer Datenplattform.

Interaktion im Rahmen des Smart Contract

Das Azure Blockchain Development Kit umfasst Workbench-Integrationsbeispiele aus den folgenden Bereichen:

Logic Apps-Connectors für die Blockchain

Heute kündigen wir außerdem die Veröffentlichung mehrerer neuer Logic Apps- und Flow-Connectors an. Diese werden diese Beispiele u.a. auf Ledgers wie Ethereum, Corda und Bitcoin erweitern.

„Wir bei R3 möchten sicherstellen, dass Entwickler CorDapps so schnell, so einfach und so sicher wie möglich bereitstellen können. Durch das Azure Blockchain Development Kit erhalten unsere Unternehmenskunden Tools zur Integration mit Anwendungen, Software und Geräten, die Sie jeden Tag verwenden (Outlook, Alexa, SMS und Webfunktionen). Die Blockchain verlässt die Testphase und erhält Einzug in Anwendungen, die Unternehmen täglich nutzen.“

– Mike Ward, Head of Product Management, R3

Der Ethereum-Blockchain-Connector ist ab heute verfügbar. Mit diesem Connector können Benutzer Smart Contracts bereitstellen, Aktionen des Contract einleiten, den Status des Contract abfragen und andere Logik-Apps basierend auf Ereignissen des Ledgers auslösen.

Logik-Apps

Bereitstellen

Mit dem Einzug der Blockchaintechnologie in die Unternehmenssoftwareentwicklung werden auch Forderungen nach Handlungsempfehlungen für das Implementieren von DevOps bei Smart Contracts und Blockchainprojekten laut.

Die folgenden Fragen werden besonders häufig gestellt:

  • Meine Unternehmenslogik und mein Datenschema für diese Logik wird in Smart Contracts widergespiegelt. Smart Contracts werden in Sprachen geschrieben, mit denen ich mich nicht ausreichend auskenne (z.B. Solidity für Ethereum, Kotlin für Corda oder Go für Hyperledger Fabric).  Mit welchen Tools kann ich diese entwickeln?
  • Wie kann ich Unittests und Debugging für Smart Contracts durchführen?
  • Viele Blockchainszenarios spiegeln Transaktionen mit mehreren Parteien und Unternehmensworkflows wider. Diese Workflows umfassen signierte Transaktionen mehrere Parteien, die in einer bestimmten Reihenfolge vonstatten gehen. Was muss ich in diesem Kontext bei den Daten für Testumgebungen bedenken?
  • Smart Contracts werden immer in der Blockchain bereitgestellt. Was muss ich bei Aspekten wie Infrastructure-as-Code, lokalem Entwickeln und Testen, Upgraden von Contracts usw. beachten?
  • Die Blockchain ist eine Datentechnologie, die von mehreren Organisationen in einer Unternehmensgruppe verwendet wird. Wie wirkt sich das auf die Quellcodeverwaltung, Build- und Releasepipelines in einer globalen Umgebung mit mehreren Parteien aus?

Es gibt unterschiedliche Feinheiten bei diesem Ansatz. Er unterscheidet sich jedoch kaum von anderen Arten der Lösungsentwicklung und kann deshalb leicht in einem DevOps-Modell umgesetzt werden.

DevOps-Modell

Wir freuen uns, heute die Veröffentlichung des Whitepaper zum Thema DevOps für Smart Contracts in der Blockchain bekanntgeben zu können.

„Wir freuen uns, gemeinsam mit Microsoft an einem einheitlichen DevOps-Modell für Blockchain Engineers zu arbeiten. Unser Whitepaper „DevOps for Blockchain Smart Contracts“ (DevOps für Smart Contracts in der Blockchain) geht ausführlich auf alle Details ein und enthält Beispiele für das Entwickeln von Blockchainanwendungen in Hinblick auf CI/CD in Umgebungen mit Unternehmensgruppen.“

– Tim Coulter, Gründer von Truffle

Das Whitepaper wird durch einen Implementierungsleitfaden vervollständigt, der im Azure Blockchain Development Kit enthalten ist. In diesem Leitfaden wird erklärt, wie Sie CI/CD für Smart Contracts und Infrastructure-as-Code mithilfe von Visual Studio Code, GitHub, Azure DevOps und OSS über Truffle implementieren.

Eine nützliche Plattform für die Entwicklung von Blockchainanwendungen

Durch das Azure Blockchain Development Kit wird es nun leichter für Personen mit Ideen, End-to-End-Blockchainanwendungen schnell und kostengünstig zu erstellen. Das Kit baut auf unseren Investitionen in die Blockchain auf und ist mit den Compute-, Daten-, Messaging- und Integrationsdiensten in Azure und der weiter gefassten Microsoft Cloud verknüpft. Es enthält alle Tools, die Entwickler zur Verwirklichung ihrer Visionen benötigen.

Azure Logic Apps und Microsoft Flow liefern eine Umgebung für Grafikdesign mit mehr als 200 Connectors, die die Entwicklung von End-to-End-Blockchainlösungen deutlich vereinfachen. Durch Azure Functions kann benutzerdefinierter Code im Handumdrehen integriert werden.

Ein serverloser Ansatz minimiert zudem die Kosten und den Verwaltungsaufwand. Sie müssen keine VMs verwalten, die Skalierbarkeit ist integriert und die Preisen sind erschwinglich. Deshalb kann das Azure Blockchain Development Kit von allen Entwicklern genutzt werden – egal ob Hobbyentwickler, unabhängiger Softwareentwickler oder Unternehmensentwickler.

Lösungen werden nur mit online verfügbaren visuellen Workflowdesignern und Visual Studio Code geschrieben. Visual Studio Code bietet eine integrierte Entwicklungsumgebung, die Sie kostenlos für Windows, Mac und Linux herunterladen können.

Die entstehenden Anwendungen werden in einem Netzwerk mit höherer Cloudleistung als bei anderen Großanbietern ausgeführt. Dadurch können Identitäten mit Azure Active Directory den beteiligten Parteien zugewiesen werden. Azure bietet mehr Regionen und Zertifizierungen für diese Anwendungen als jeder andere Cloudanbieter.

Wir freuen uns auf Ihre Lösungen, während wir weiter an der Vereinfachung des Prozesses und an einem dezentralisierten Modell arbeiten.

Weitere Informationen zur Entwicklung und Erweiterung von Blockchainanwendung erhalten Sie in unseren Block Talk-Videos auf Channel 9.

Folgen Sie uns außerdem auf Twitter @MSFTBlockchain, um immer die neuesten Informationen von Azure Blockchain zu erhalten.