Mai 2016

Band 31, Nummer 5

Dieser Artikel wurde maschinell übersetzt.

Microsoft Azure – Unternehmensanwendungsintegration (Enterprise Application Integration, EAI) mithilfe von Azure-Logik-Apps

Durch Srikantan Sankaran | Mai 2016

Business Process Management ist ein Bereich für viele Unternehmen und Integration in heterogene Systeme bildet den Kern der Automatisierung von Geschäftsprozessen. In diesem Kontext bezieht sich ein kritische Anwendungsfall, der entsteht auf Erfassung, Transformation und Weiterleiten von Daten über das Unternehmen und Microsoft Azure-Cloud. Den herkömmlichen Ansatz verwenden, um solche Enterprise Application Integration (EAI)-Szenarios zu implementieren ist sehr viel Zeit und Kosten verbunden – zu identifizieren und investieren Sie in einem Tool zum Erstellen von technischen Fachkenntnisse und Serverinfrastruktur zur Unterstützung der Szenarien End-to-End bereitzustellen. Eine Cloud-basierte verwaltete wie Azure-Logik-Apps diese Problembereiche behandelt.

Die Logik-Apps-Funktion von Azure Apps Service bietet visual bearbeiten, in denen Entwickler komplexe den Datenaustausch zwischen mehreren Systemen oder Datenquellen, die mithilfe einer Sammlung von Standard und Enterprise-integrationsconnectors erstellen können. Szenarios wie Handhabung von vorübergehenden Fehler, der mit cloudbasierten Architekturen und andere wie Bedingungsbasierte routing von Prozessabläufe und lang ausgeführte Transaktionen eindeutig ist, werden durch diesen Dienst problemlos implementiert.

Die Funktionen von Logik-Apps werden in diesem Artikel über ein Enterprise-Integration-Szenario veranschaulicht, in dem eine Organisation Verkäufer eine Bestellung erfassen System in Azure, in dem die Funktionen von Logik-Apps genutzt bereitgestellt hat. Diese Logik-App-Prozess übernimmt Aufträge von einem sicheren öffentlichen Endpunkt verfügbar gemacht, von einer Organisation Käufer, die dann über zahlreiche Schritte Data Capture Datentransformation aus, und vor der erste in der Back-End-System registriert routing übergeben wird. Eine Bestätigung-ID generiert und an den Käufer Organisation für die Aufträge registriert gesendet.

EAI-Prozessablauf

Abbildung 1 zeigt ein einfaches EAI-Szenario, die mithilfe von Logik-Apps implementiert wird.

Prozessablauf für Enterprise Application Integration
Abbildung 1 Enterprise Application Integration-Prozessablauf

Sortieren von Daten, Trigger, die die Integration von der Organisation Käufer in Form von Flatfiles hochgeladen wird, die über einen Endpunkt für SSH File Transfer Protocol (SFTP) über das Internet bereitgestellt werden. Zugriff auf den Endpunkt wird mit Anmeldeinformationen geschützt, die mit der Verkäufer Organisation freigegeben werden. Separate Ordner werden zum Löschen von Daten in und zum Empfangen von Bestätigungsnachrichten erstellt. Ein virtuellen Computers CentOS Linux dient als SFTP-Server, der den Endpunkt für die Datei Abholung und Drop hostet.

Ein Azure-SFTP-Connector wird verwendet, für die Verbindung mit dem SFTP-Endpunkt aus, in dem die Daten der übernommen wird, basierend auf einer Frequenz ausgelöst. Eine Instanz dieses Connectors wird in Azure-Portal aus dem Azure Marketplace erstellt und als API-App bereitgestellt. Die gleiche API-App-Instanz wird auch verwendet, wenn Daten der Bestätigung zurück an den SFTP-Endpunkt hochladen.

Hier werden wichtige Parameter in der Konfiguration der SFTP-Connector-Instanz, festgelegt werden, wenn die Logik-App-Datenfluss hinzugefügt:

  • Die Häufigkeit des Triggers: 2 Minuten, die die Implementierung des Szenarios
  • PICKUP-Pfad: Fügen Sie einen Pfad relativ zum Stammverzeichnis (z. B. /home/ < Sftpusername >), die weiter oben in der SFTP-Connector-Instanz konfiguriert; In diesem Fall: b2b/Orders
  • Wählen Sie die Datei löschen, nach dem Lesen-option

Der BizTalk FlatFile-Encoder dient die Flatfile-Datei aus der SFTP-Connector-API-App gelesen und in einem schemagebundenen XML-Dokument zu konvertieren. Der FlatFile-Encoder steht als Teil der Enterprise Integration Connectors für Logik-Apps. Eine Instanz von diesem Connector aus dem Azure Marketplace erstellt und als eine API-App vor dem Verbrauch im Datenfluss Logik-App bereitgestellt. Während der FlatFile-Encoder für komplexere Anforderungen, die im Zusammenhang mit mehreren untergeordneten Datensätzen, z. B. in diesem Szenario verwendeten einfachen XSD-Schema-Generierung von Flatfiles und JSON-Dokumenten unterstützt das Schema sind generiert mithilfe von Visual Studio 2012 und BizTalk-Dienste SDK. Die XSD-Schema-Dokumenten werden dann in der BizTalk FlatFile Encoder-Connector-API-App hochgeladen.

Der BizTalk-Transformation Services-Connector konvertiert das XML-Dokument mit den Bestelldaten in eine XML-Nutzlast für das Einfügen in der Order-Datenbank erfassen. Er verwendet eine Transformation-Karte, die mithilfe von Visual Studio 2012 und BizTalk-Dienste SDK erstellt wird. In der Instanz von diesem Connector, der als API-App bereitgestellt wird, werden die Zuordnungsdateien, für die Registrierung für die Reihenfolge und den Fluss Bestätigung hochgeladen. Die Schemadateien in der Zuordnung verwendet keinen dieser API-App hochgeladen werden.

Die SQL-Datenbank-Connector-API-App-Instanz nutzt die Nutzlast des XML-Dokuments aus dem vorherigen Schritt, und die Bestelldaten in Azure SQL-Datenbank eingefügt. Das Schema zum Generieren der XML-Nutzlast für den Einfügevorgang kann in Visual Studio 2012 mit BizTalk-Diensten, basierend auf einer XML-Dokumentinstanz oder mithilfe der BizTalk-WCF-LOB-Adapter für SQL Server generiert werden. Die Azure SQL-Datenbank-Connector-API-App selbst unterstützt jedoch jetzt die Generierung des Schemas für alle Vorgänge in einer Datenbank, direkt von der API-App-Konfiguration in der Azure-Portal. Dies durch die Notwendigkeit für die zusätzlichen Tools wie die BizTalk-WCF-LOB-Adapter oder andere Lösungen von Drittanbietern, die andernfalls für lokale Bereitstellungen erforderlich gewesen wäre vermieden.

Abbildung 2 zeigt einige der wichtigsten Parameter in der Azure SQL-Datenbank-Connector festlegen.

Connectorkonfiguration für Azure SQL-Datenbank
Abbildung 2 Azure SQL-Datenbank-Connector-Konfiguration

Erfolgreiche beim Einfügen von Daten wird die Antwort von der Datenbank-Connector mithilfe der BizTalk Transform Service Connector-API-App konfiguriert, die in den vorhergehenden Schritten, ein Array von Auftrags-ID Zahlen in eine durch Trennzeichen getrennte Liste von transformiert.

Der Azure-Speicher BLOB-Connector-API-App-Instanz wird in den Fluss der Logik-App verwendet, die Fehlermeldungen zu speichern, wenn die Datenbank einfügen im vorherigen Schritt ein Fehler auftritt.

Die Bestellnummern in der Antwort generiert werden mithilfe der zuvor konfigurierten SFTP-Endpunkt der Käufer Organisation SFTP-Connector hochgeladen.

Der Prozessablauf der Logik-App nach Abschluss des Vorgangs sieht wie in dargestellt Abbildung 3.

Vollständige Logik-App-Fluss
Abbildung 3 vollständige Logik-App-Fluss

Zu diesem Zeitpunkt die Standardversion für das Schema, das verwendet wird, beim Erstellen einer neuen Logik-App 2015-08-01-Vorschau, die noch die Fähigkeit zum Hinzufügen von Enterprise-Connectors bietet keine. Um das aktuelle EAI-Szenario zu implementieren, sollte daher diese Schemaversion 2014-12-01-Preview ersetzt werden. Dies kann in der Codeansicht der Logik-App erfolgen durch direktes Bearbeiten des JSON-Codes.

Denken Sie daran, Änderungen zu speichern, schließen Sie den Logik-App-Editor neu geladen wird, damit die Änderungen wirksam werden können.

Wenn Sie Ressourcen in der Logik-App-Fluss wie alle Connectors, Azure SQL-Datenbank-Speicher-Verbindungen usw. hinzufügen, ist es empfiehlt sich, alle unter einer einzelnen Ressourcengruppen für einfache Handhabung und Einfachheit der Bereitstellung zu gruppieren. Außerdem ist es wünschenswert, dass die Ressourcen in der gleichen Region (Azure-Rechenzentrum) bereitgestellt werden um die Latenz zu minimieren während der Ausführung der Fluss.

Im Datenfluss Handhabung vorübergehender Fehler

Azure-Logik-Apps bieten die Möglichkeit zum Einbinden einer Wiederholungslogik, um vorübergehende Fehler erledigen, die cloudbasierten Architekturen eindeutig sind. Dies umfasst ein JSON-Codefragment hinzufügen, wie Sie, indem der hervorgehobene Code in sehen können Abbildung 4.

Abbildung 4 Behandlung vorübergehende Fehler

"b2bmicrosoftsqlconnector": {
  "type": "ApiApp",
  "inputs": {
    "apiVersion": "2015-01-14",
    "host": {
      },
    "operation": "XMLInsertOnordersax",
    "parameters": {
      "requestMessage": {
        "InputXml": "@{body('transformservice').OutputXml}"
      }
    },
    "retryPolicy" : {
      "type": "fixed",
      "interval": "PT30S",
      "count": 2
    },
  },

Wenn sich Ausfälle oder konnektivitätsausnahmen bei der Ausführung der Reihenfolge in der Azure SQL-Datenbank Einfügevorgang, die Connector-API-App die Anforderung zweimal wiederholt, bis ein Fehler zurückgegeben.

Logik-Apps unterstützen auch die Möglichkeit zum Hinzufügen von Funktionen wie rufen Sie die wiederholte Ausführung, bis eine vordefinierte Bedingung erfüllt ist, warten Sie Aktionen implementiert, andere Workflows und so weiter aufzurufen.

Bedingte Logik-App-Datenfluss-Ausführungsplan

Innerhalb eines Datenflusses Logik-App kann zum Definieren von Aktionen, die abhängig vom Ergebnis des vorherigen Vorgangs. Die Option zum Definieren einer Bedingung kann entweder im Bereich "Konfiguration" im Designer oder in der Codeansicht der Logik-App festgelegt werden.

Z. B. in den aktuellen Vorgang wird ist das Ergebnis beim Einfügen Bestellung in Azure SQL-Datenbank erfolgreich ist, klicken Sie dann die Antwortnachricht vor dem Hochladen auf den SFTP-Endpunkt in der Organisation Käufer transformiert.

Im Falle eines Fehlers wird eine Fehlermeldung auf den Azure-Speicher mit dem Azure Blob-Speicher-Connector hochgeladen. Die Logik-App-Benutzeroberfläche zeigt visuell die alternative Flüsse daher konfiguriert. Finden Sie unter Abbildung 6 die zeigt, wie bedingte Aktionen definiert werden kann und wie die Logik-App visuell Datenfluss dargestellt, die diese beinhaltet.

Visuelle Darstellung der bedingten Aktionen
Abbildung 6 visuelle Darstellung der bedingten Aktionen

Arbeiten mit XSD-Schema-Dokumenten

Entwicklungstools, die Entwickler verwendet haben, deren Elemente für BizTalk Server-basierte Enterprise Integrationslösungen erstellen können für die Verwendung in Logik-Apps auch erweitert werden. BizTalk-Dienste SDK, zusammen mit Visual Studio 2012 bietet zusätzliche Projektvorlagen ermöglichen, der Entwickler generieren oder XSD-Schemas und die Transformation zu erstellen ordnet. Es sind integrierte Assistenten, die mit diese aus Flatfiles und aus XML-Dokumentinstanzen generiert werden konnte. Die Ausgabe XSD-Schemadokumenten generierte in Visual Studio 2012 können direkt in der FlatFile-Encoder-Instanz in der Logik-App verwendet hochgeladen werden.

Sehen Sie eine Beispiel-XML-Datei, die verwendet wurde, generiert das XSD-Schema für das Azure SQL-Datenbank Reihenfolge Daten einfügen, die mithilfe des Schemagenerierungs-Assistenten in Visual Studio 2012 in Abbildung 5.

Abbildung 5 XML-Datei, die zum Generieren von XSD-Schema für Azure SQL-Datenbank Reihenfolge Daten einfügen

<Insert xmlns="https://schemas.microsoft.com/Sql/2008/05/TableOp/dbo/ordersax ">
  <Rows>
  <ordersax xmlns="https://schemas.microsoft.com/Sql/2008/05/Types/Tables/dbo">
    <orderidsap>sap0101</orderidsap>
    <orderdate>2016-02-03</orderdate>
    <supplierid>sail001</supplierid>
    <orderamount>25000</orderamount>
    <currency>INR</currency>
    <discount>12</discount>
    <delvydate>2016-06-03</delvydate>
    <contract>C001</contract>
    <contact>Mr</contact>
  </ordersax>
  <ordersax xmlns="https://schemas.microsoft.com/Sql/2008/05/Types/Tables/dbo">
    <...>
  </ordersax>
... and more records ...
  </Rows>
</Insert>

Die Wiederverwendung von solche Artefakte, die für die lokale Bereitstellung von EAI-Lösungen, die mit BizTalk Server verwendet werden bietet Unternehmen erweiterte Wert auf ihre Azure als Option für die Bereitstellung ihrer Projektmappen-Explorer. Zusammen mit, dass gibt es zusätzliche Vorteile wie schnelle Bereitstellung, erleichterte Bereitstellung der Infrastruktur, die problemlose Verwaltung und Überwachung der Lösung Dauer.

Arbeiten mit Zuordnungen

Azure BizTalk Transform Service Connector verwendet BizTalk-Transformation Zuordnungen zum Transformieren von XML-Dokumenten. Um diese Zuordnungen zu erstellen, ist jedoch Visual Studio 2012 mit BizTalk-Dienste SDK erforderlich. Wie bei den XSD-Schemas können die Map-Transformationsdateien einmal generiert hier direkt in Azure-Logik-Apps importiert werden.

Bestellen Sie in den Prozessablauf betrachtet, ordnen Sie den eingehenden XML dem Einfügen von XML-Schema und zum Durchlaufen aller Datensätze in das eingehende Dokument Funktoids MapEach-Schleife verwendet wird, wie in dargestellt Abbildung 7.

Zuordnen von Auftrag Insert-Bestätigung
Abbildung 7-Zuordnung der Reihenfolge einfügen-Bestätigung

Um die Reihenfolge Erstellung Response-Nachricht der ausgehenden Nachricht zuzuordnen, muss das Array von Bestellnummern generiert aus SQL Server-Datenbank in durch Trennzeichen getrennte Werte in ein einzelnes Element konvertiert werden. Um dies zu erreichen, wird das Funktoid Kumulative Verkettung verwendet.

Ausführen des Szenarios

Um die hier beschriebenen Szenario zu testen, löschen Sie die Datei orderssap.csv /home/ < Sftpusername >/b2b Aufträge im Ordner mit dem Tool WinSCP/entspricht.

Überwachen Sie den Status der Logik-App-Connector-Trigger Protokolle um sicherzustellen, dass tatsächlich der Trigger ausgelöst hat.

Es sind keine Fehler, eine Datei, bzw. XML, würde in den /home/ < Sftpusername >/b2b Resp Ordner, der die Reihenfolge durch Trennzeichen getrennte-ID-Werte aus dem Order Processing System in Azure generiert, enthält abgelegt werden.

Jetzt, bewegen Sie die Datei orderssap.csv wieder in denselben Ordner, ohne Änderungen zu speichern. Der Datenbank-Connector löst eine Ausnahme wegen eines Fehlers Verletzung der eindeutigen Einschränkung aus der Datenbank. Eine Fehlermeldung wird in Azure Blob-Speicher hochgeladen werden, in den Container "Orders"..

Logik-App-Ausführung – verfolgen und überwachen

Verwenden Sie die Kachel Vorgänge zum Überwachen der Ausführung der Logik-App übertragen. Es gibt auch ein separates Protokoll für die triggerereignisse in der Logik-App. Drilldown in jede von ihnen, und zeigen Sie eine Aufschlüsselung der Ausführung jeder Connector im Datenfluss, der das Ergebnis der Ausführung und Dauer.

Erweitern Sie das Szenario für die standortübergreifende-Integration

In diesem Szenario verbrauchte die SQL-Datenbank in Azure bereitgestellt wird, wäre es genauso einfach für die Integration von SQL Server-Datenbank, die in einem Unternehmensnetzwerk ausgeführt. Der Logik-Apps ein Teil ist die Azure App Services-Infrastruktur bietet ein Feature namens Hybrid-Verbindungen. Implementierung dieser Funktion beinhaltet die Installation von einem Hybrid Connection Manager auf einem Server hinter der Firewall im Unternehmensnetzwerk, über dem die Logik-App in dieser Datenbank integriert. Abgesehen von SQL Server sind andere Datenbanken, die mithilfe von hybridverbindungen zugegriffen werden können, Oracle, DB2 und Informix.

Mithilfe von hybridverbindungen, kann die Verwendung von BizTalk Enterprise-Connectors erweitert werden, um Line-of-Business (LOB)-Systemen wie SAP und SharePoint in Unternehmensnetzwerken bereitgestellt. REST-Diensten und Webdiensten, die lokal bereitgestellt, können Sie auch erweitert werden.

Zum Implementieren dieses Szenarios der erforderlichen Software

Abgesehen von ein Azure-Abonnement, das erforderlich ist Implementierung dieses Szenarios beschrieben ist, die folgenden Entwicklungstools sowie zusätzliche Software ebenfalls erforderlich:

  • Visual Studio 2012 zusammen mit der BizTalk-Dienste SDK unter Windows 8/8.1/10 oder Windows Server 2012 R2 ist erforderlich.
  • SQL Management Studio für SQL Server 2014 oder höher erstellen und mit der Azure SQL-Datenbank herstellen. Sie verwenden Visual Studio 2012 / oder höher Tools für SQL Server.
  • WinSCP oder ein vergleichbares Tool, um mit dem SFTP-Server verbinden, erstellen den Ordner "Senden" und "empfangen" und zu löschen und Empfangen von Nachrichten.

Elemente, die zum Download zur Verfügung

Die folgenden Artefakte, die zum Implementieren dieses Szenarios stehen zum Download aus dem GitHub-Repository auf bit.ly/1poJPgs:

  • Azure SQL-Datenbank erstellen script–ordersax.sql
  • Beispiel Reihenfolge Daten file–orderssap.csv
  • XSD-Schemas:
    • dbinsert_sampledata.xsd: SQL-Insert-schema
    • dbinsert_sampledata1.xsd: Teil, und in das oben genannte Schema verwiesen wird.
    • orderssap.xsd: das Schema für das eingehende Dokument der Bestellung
    • orderresponse.xsd: SQL-Insert-Antwort
    • orderresponse1.xsd: Teil, und im Antwortschema SQL Insert verwiesen wird.
    • ordersaxresp.xsd: die ausgehende Antwortnachricht für den XML-Schema
  • Karten:
    • Orders.trfm: Zuordnen von eingehenden Nachricht zu SQL-Insert-schema
    • ordersaxtosap.trfm: Ausgehende Nachrichtenschema zuordnen Antwortschema SQL Insert

Die folgenden Verweise können nützlich sein, bei der Implementierung der Lösung in diesem Szenario behandelt:

  • Softwarekomponenten zum Entwickeln von Schemas und Zuordnungen, die in der Lösung verwendet: bit.ly/1R3RzvH
  • Mit Visual Studio 2012 zum Generieren von Schemas aus Flatfiles: bit.ly/1nP6qBy
  • Konfigurieren eines SFTP-Connectors in Azure: bit.ly/254QfC2

Nachbereitung

Azure-Logik-Apps bietet eine Plattform zum Implementieren der End-to-End-EAI-Szenarios. Die umfassende Standardconnectors und Enterprise-Connectors ermöglicht die Integration mit zahlreichen konzerneigenen LOB-Systeme und Software-as-a-Service-Anwendung in der Cloud. Sie können Artefakte für lokale Bereitstellungen von EAI-Lösung mithilfe von BizTalk Server 2013, wie Schemas und Zuordnungen nahtlos zu nutzen. Dies bietet eine Option zum Wiederverwenden von ihren aktuellen Investitionen und Potenzial ihrer Implementierung Szenarios in der Cloud nutzen die Vorteile der hohe Verfügbarkeit, Zuverlässigkeit und einfache Satz von der Infrastruktur, die Azure bietet Unternehmen. Mit hybridverbindungen unterstützen in Logik-Apps kann aktuelle Investitionen in LoB-Systemen bereitgestellt lokal, durch Öffnen der Verkaufschancen, damit sie in der Cloud Integrationsszenarios teilnehmen zusätzlicher Wert abgeleitet werden.

Tipp!

Eine schnelle Methode zum Einstieg in die Entwicklung der Elemente in der Lösung ist das Image-Galerie im Azure-Verwaltungsportal verwenden, die BizTalk Server 2013 Standard Edition ausgeführt wird. Installieren von Visual Studio 2012 und BizTalk-Dienste SDK auf dem virtuellen Computer dauerte nicht mehr als 30 Minuten.


Srikantan Sankaranist leitender Technologieexperte aus dem DX-Team in Bangalore ansässige Indien. Er arbeitet mit zahlreichen ISVs in Indien und unterstützen sie bei der Planung und ihre Lösungen auf Microsoft Azure bereitstellen. Sie erreichen ihn unter sansri@microsoft.com.

Vielen Dank an den folgenden technischen Experten von Microsoft für die Überprüfung dieses Artikels: Sandeep Alur
Sandeep Alur – ist die führen Evangelist für DX-Indien und Out Bangalore basiert.