eBizTalk - Berichten, Unterhalten, Weiterbilden
Ob Branchendiskurs, Fachartikel oder ein Blick hinter die Unternehmenskulissen: eBizTalk ist die Plattform, die uns auffordert, unsere Leser über Events und Projekte auf dem Laufenden zu halten. Und uns gegenseitig natürlich auch.

Integration@eBiz – Eine einfache Azure Logic App

Veröffentlicht am 31.05.2016 von André Dammeyer , Cloud , Integration , Windows Azure

Im letzten Artikel zu dem neuen Azure Dienst Logic Apps sind wir auf die Bedeutung und Einsatzzwecke im Zusammenhang mit dem BizTalk Server 2016 eingegangen. In diesem Artikel wollen wir eine kleine “hello world” Logic Apps-Anwendung erstellen und demonstrieren wie einfach und mächtig der Logic Apps Designer im Web bereits ist.

Unsere “hello world” Anwendung soll stündlich prüfen, ob es neue Tweets mit dem Hashtag “#ebizcon” gibt. Wenn es einen neuen solchen Tweet gibt, soll eine Mail mit dem Inhalt und dem Link zum Tweet gesendet werden.

Wie erstelle ich eine Logic App?

Man benötigt einen Zugang zum Azure Management Portal (https://portal.azure.com), in das man sich zunächst einloggen muss. Dort wählt man “NeuàWeb und mobil” aus, und gelangt zur Auswahlliste der verfügbaren Apps. Dort wählt man “Logic App” aus.

Es öffnet sich das Fenster “Create logic app”, in dem man den Namen (hier: MyLogicApp), das zugehörige Azure Abonnement und eine Resource Group auswählen muss. Es bietet sich an zusätzlich das Häkchen “An Dashboard anheften” auszuwählen, damit man nach der Erstellung schnell über das Dashboard des Azure Portals zur Logic App gelangt.

Wie erstelle ich den Workflow meiner Logic App?

Um in den Workflow Designer zu gelangen, muss man die Logic App im Azure Portal öffnen und dann z.B. die Schaltfläche “Edit” betätigen.

Zunächst muss man einen Trigger auswählen, der dafür sorgt, dass der Workflow gestartet wird. Für unser Vorhaben wollen wir erreichen, dass der Workflow stündlich gestartet wird. Dafür wählen wir “Reoccurence” aus. “Frequency” wird auf “Hour” gesetzt und “Interval” auf “1″. Die Frequenz kann man prinzipiell auf alles zwischen Sekunde und Tag setzen, jedoch hängt die Granularität vom eingesetzten Azure Abonnement ab.

Wenn man noch einen konkreten Startzeitpunkt angeben möchte, kann man dies im unteren Bereich des Reoccurence-Shapes unter Angabe der Zeitzone und einem Datums/Zeit-Wert (z.B. 2016-05-16T18:00:00) erreichen.

Nachdem wir den Trigger für den Workflow definiert haben, können Actions und Conditions durch betätigen der “+”-Schaltfläche hinzugefügt werden. Wir benötigen einen Zugriff auf Twitter und wählen deshalb die “Twitter – Search Tweet”-Action aus.

Als Parameter kann man der “Twitter – Search Tweet”-Action einen Suchtext (hier: #ebizcon) mitgeben.

Zu guter Letzt müssen wir noch den Mailversand konfigurieren. Da wir bei der eBiz Consulting GmbH ein Office 365-Kunde der ersten Stunde sind, wählen wir für den Mailversand die entsprechende Office 365-Action aus und konfigurieren sie. “Subject” und “Body” der Mail können jetzt aus den Eigenschaften zusammengesetzt werden, die in den zuvor ermittelten Tweets enthalten sind.

Geht es auch etwas technischer?

Wenn man etwas mehr Einblick in den Workflow bekommen möchte und evtl. auch das ein oder andere etwas direkter beeinflussen möchte, kann man im Designer in die “Code view” wechseln. Dort findet man die zuvor gemachten Eingaben nach “actions” und “triggers” strukturiert im JSON Format vor.

Fertig, und was nun?

Wenn man den Workflow fertiggestellt hat, muss man diesen noch mit Hilfe der Schaltfläche “Save” abspeichern und gelangt wieder zur Übersicht der gerade erstellten Logic App. Die Logic App ist bereits aktiviert und würde dann zum konfigurierten Zeitpunkt starten. Wenn man jetzt keine ganze Stunde warten möchte, kann man den Trigger auch manuell auslösen, in dem man “Start Triggeràreoccurence” auswählt. Sofern man einen neuen Tweet abgesetzt hat, der dem Suchbegriff entspricht würde dieser Tweet gefunden und per Mail versendet werden.

Zusammenfassung

Die hier erstellte “hello world” Logic App ist natürlich sehr trivial und setzt auf verfügbare Actions auf, zeigt jedoch wie einfach und intuitiv die Erstellung von Logic Apps ist. Logic Apps werden die BizTalk Services vereinen und stellen damit den Dreh- und Angelpunkt für Integrationsworkflows auf der Azure Plattform dar. Der Artikel “Integrate 2016 – Day 1” im Codit Blog gibt einen guten Überblick darüber, welche Features Microsoft Mitte Mai dazu angekündigt hat.

google_about_ebiz fb_about_ebiztwitter_about_ebizxing_about_ebiz
ebiz_consulting_expertise

Integration@eBiz – Was sind Azure Logic Apps?

Veröffentlicht am 17.05.2016 von André Dammeyer , Cloud , Integration , Windows Azure

Integration ist eine Kernkompetenz der eBiz Consulting GmbH. Obwohl mit dem Produkt BizTalk Server eine sehr beständige Integrationsplattform von Microsoft existiert, gibt es insbesondere im Cloud-Umfeld sehr viele neue und interessante Integrationsdienste, wie zum Beispiel die Microsoft Azure Logic Apps. In diesem kurzen Artikel stellen wir die Logic Apps kurz vor.

Unter http://azureplatform.azurewebsites.net findet man die obige Übersicht aktueller Azure Services. Innerhalb unserer Kompetenz Integration konzentrieren wir uns aktuell insbesondere auf die Bereiche Hybrid Integration und Web & Mobile.

Was sind Logic Apps?

Mit Logic Apps lassen sich Workflows erstellen, in denen SaaS und Enterprise Applications integriert werden können. Es können also Daten aus unterschiedlichen Datenquellen (z.B. Webservices, SQL Datenbanken, Social Media Plattformen) eingesammelt, in einfachen Workflows verarbeitet und wieder in unterschiedliche Datensenken (z.B. Mail, SQL Datenbanken, Social Media Plattformen) geschrieben werden. Für die Erstellung von Logic Apps gibt es heute die Möglichkeit den Designer oder Code View im Azure Portal zu nutzen. Microsoft hat angekündigt einen Logic Apps Designer für Visual Studio anzubieten, so dass mit einer noch komfortableren Erstellung von Logic Apps zu rechnen ist.

Logic Apps und BizTalk

Logic Apps sind noch relativ neu, werden aber gerade in Hybrid-Integrationsszenarien zukünftig eine wichtige Rolle spielen. Diese Einschätzung finden wir darin bestätigt, dass Microsoft erst kürzlich auf der INTEGRATE 2016 (http://www.biztalk360.com/integrate-2016) verkündet hat, dass es sowohl einen Logic Apps Connector in BizTalk 2016 als auch einen BizTalk Connector für Logic Apps geben wird. Auch wenn es natürlich bereits heute möglich ist beide Systeme zu integrieren (z.B. über RESTful Webservices), so kann man vermuten, dass die Integration damit noch einfacher wird. Dies ist also die Konkretisierung der Microsoft Integration Roadmap, die wir in unserem Artikel BizTalk Server für Q4 2016 angekündigt vorgestellt haben.

Weiterführende Informationen zu Logic Apps

Unter https://azure.microsoft.com/en-us/documentation/services/app-service/logic findet man einen recht guten Einstieg in die noch recht neuen Logic Apps. Außerdem lohnt es sich dem Blog https://blogs.msdn.microsoft.com/logicapps auf MSDN zu folgen. Und für diejenigen die lieber kurze Videos anschauen, kann ich Azure App Service Logic Apps with Josh Twist und Automate Business Process With Logic Apps (Deep Dive) empfehlen.

google_about_ebiz fb_about_ebiztwitter_about_ebizxing_about_ebiz
ebiz_consulting_expertise

Automatisiertes Anlegen von SQL Datenbanken in Windows Azure

Veröffentlicht am 25.04.2014 von André Dammeyer , Cloud , Windows Azure

Für die Entwicklung von Anwendungen auf Windows Azure werden wie in jeder Anwendung verschiedene Bestandteile (zum Beispiel Datenbanken) benötigt. Es gibt im Prinzip zwei Wege, um die benötigten Artefakte in Windows Azure anzulegen: Entweder wird es manuell im Windows Azure Management Portal vorgenommen, oder man nutzt die Windows Azure PowerShell cmdlets. Natürlich ist in Enterpriseprojekten der automatisierte Weg zu bevorzugen, während der manuelle Weg über das Management Portal für ad-hoc Projekte ebenfalls seine Berechtigung hat. In diesem Artikel stelle ich dar, wie einfach es mit den Windows Azure cmdlets ist, from scratch einen Datenbankserver und eine Datenbank in Windows Azure anzulegen.

Voraussetzungen

Neben den Systemvoraussetzungen sind grundsätzliche Kenntnisse im Umgang mit PowerShell Voraussetzung zum Nachvollziehen des Artikels. Zunächst beginnen wir mit den Systemvoraussetzungen, um mit den Windows Azure cmdlets zu arbeiten. Dazu müssen wir diese zunächst installieren und einrichten.

Installation der Windows Azure cmdlets

Man benötigt die Windows Azure cmdlets (Download unter …). Mit diesen cmdlets kann man das Deployment und Management von Windows Azure Artefakten realisieren. Die Installation der Windows Azure cmdlets lässt sich über den Microsoft Web Platform Installer durchführen. Nach der Installation kann man die cmdlets einfach über die “Windows Azure PowerShell Console” nutzen.

Einrichtung der Windows Azure cmdlets

Dafür muss die Windows Azure PowerShell Console gestartet und der Befehl “>Get-AzurePublishSettingsFile” ausgeführt werden. Es öffnet sich die Anmeldemaske zum Windows Azure Portal im Standard Browser.

image

Nach der Anmeldung wird das PublishingSettingsFile automatisch aus dem Windows Azure Portal heruntergeladen. Diese Datei muss im lokalen Dateisystem gespeichert werden. In der Datei ist ein sogenanntes Management Certificate mit den Credentials enthalten, welches man über den Befehl “>Import-AzurePublishSettingsFile” in die Windows Azure PowerShell Console importieren kann. Nachdem das PublishingSettingsFile importiert wurde, kann und sollte es aus dem lokalen Dateisystem wieder gelöscht werden und bei nur wenn nötig wieder neu importiert werden, damit die Datei nicht in falsche Hände gerät.

Hinweis: Um Informationen über die aktuell in der Windows Azure PowerShell console konfigurierte Windows Azure Subscription zu erhalten, einfach den Befehl “>Get-AzureSubscription” ausführen.

Hinweis: Wenn man mehrere Subscriptions auf die beschriebene Art und Weise importiert hat, kann man über den Befehl “>Select-AzureSubscription -SubscriptionName “XYZ”” die Subscription auswählen, mit der die Windows Azure PowerShell Console arbeiten soll.

Die eigentliche Arbeit kann beginnen…

Für die nächsten Schritte benötigen wir die SQL-cmdlets aus den Windows Azure cmdlets. Eine Übersicht über die verfügbaren Windows Azure SQL Database cmdlets bietet die Eingabe des Befehls “>help sql” in die Windows Azure PowerShell console.

image

Neuen Datenbankserver anlegen

Mit dem Befehl “>New-AzureSqlDatabaseServer” legen wir nun einen neuen Datenbankserver an. Dafür sind folgende Parameter notwendig, die dem Befehl übergeben werden:

  • Location: Gibt an, in welchem Windows Azure Rechenzentrum der Datenbankserver angelegt werden soll (z.B. “North Europe”).
  • AdministratorLogin: Gibt den Login-Namen des Administrators vom betreffenden Datenbankserver an.
  • AdministratorLoginPassword: Gibt das Passwort des Administrators vom betreffenden Datenbankserver an.

So wird zum Beispiel mit dem Befehl “>$Server=New-AzureSqlDatabaseServer -location “North Europe” -AdministratorLogin $Login -AdministratorLoginPassword $Password” ein neuer Datenbankserver im Windows Azure Rechenzentrum “North Europe” angelegt. Die Serverinformationen (ServerName, Location und AdministratorLogin) werden in der Variable “$Server” abgelegt.

Datenbankserver-Firewall-Regeln anpassen

Als nächstes werden mit dem Befehl “>New-AzureSqlDatabaseServerFirewallRule” die Firewall-Regeln für den Datenbankserver angepasst. Korrekte Firewall-Regeln sind Voraussetzung für den Zugriff auf die Datenbankserver. Wichtig ist zum Beispiel, dass der Zugriff von der aktuellen IP-Adresse des Rechners erlaubt ist, auf dem die Windows Azure PowerShell Console läuft, um mit dieser weitere Aktionen auf dem Datenbankserver durchzuführen. Der Einfachheit halber öffnen wir den Zugriff für den Test-Datenbankserver für alle IP-Adressen mit folgendem Befehl “>New-AzureSqlDatabaseServerFirewallRule -ServerName $Server.ServerName -RuleName “Open” -StartIPAddress “0.0.0.0″ -EndIPAddress “255.255.255.255″”, wobei dieses Vorgehen nicht empfohlen wird.

Neue Datenbank anlegen

Schließlich wird eine neue Datenbank angelegt. Zunächst muss man einen entsprechenden DatabaseServer-Kontext erstellen, bevor man die Datenbank anlegen kann. Dazu nutzt man den Befehl “>New-AzureSqlDatabaseServerContext” dem man Credentials bestehend aus dem Administratornamen und dem zugehörigen Passwort für den Datenbankserver mitgeben muss. Dazu erstellt man sich zuerst ein “PSCredential”-Objekt, das in etwa wie folgt aussieht:

“$ServerCredential = new-object System.Management.Automation.PSCredential($Login, ($Password | ConvertTo-SecureString -asPlainText -Force)) $Context = $Server | New-AzureSqlDatabaseServerContext -Credential $ServerCredential”

Im obigen Beispiel enthält die PowerShell-Variable “$Context” den Datenbankserver-Kontext, den man benötigt, um zum Beispiel eine neue Datenbank anzulegen. Die eigentliche Datenbank legt man mit dem Befehl “>New-AzureSqlDatabase” an. Dabei kann man einige Parameter mitgeben, der die Eigenschaft der Datenbank beeinflusst:

“New-AzureSqlDatabase -ConnectionContext $Context -DatabaseName $Database -Edition “Web” -MaxSizeGB 1 -Collation “SQL_Latin1_General_CP1_CI_AS””

Beispiel PowerShell Skript

Unter _createdb.ps1 finden Sie ein Beispiel PowerShell Skript, mit dem ein Datenbankserver sowie eine Datenbank wie beschrieben angelegt wird. Zusätzlich wird währenddessen ein PowerShell Skript generiert, mit dem die Datenbank und der Datenbankserver wieder entfernt werden können.

Zusammenfassung

Die hier dargestellte Vorgehensweise zum Anlegen von Windows Azure SQL Datenbanken ist prinzipiell auf jedes andere Artefakt in Windows Azure übertragbar. So können problemlos komplette Virtuelle Maschinen oder Websites automatisiert mit den Windows Azure cmdlets angelegt werden. Die Automatisierung solcher Aufgaben hilft dabei, Fehler zu vermeiden und Zeit einzusparen, weil sie häufiges manuelles Aufsetzen der Infrastruktur und dauernde Fehlersuche vermeidet, die falsch aufgesetzte Infrastrukturen leider bedingen.

google_about_ebiz fb_about_ebiztwitter_about_ebizxing_about_ebiz
ebiz_consulting_expertise