In diesem Best Practice möchten wir Ihnen anhand der Entwicklung eines ACMP Connectors aufzeigen, wie Sie PowerShell-Microservices für Ihre eigenen Projekte entwickeln und nutzen können. Als Beispiel-Projekt wird zur Veranschaulichung ein Connector entwickelt, mit dem die aktuellen Informationen zur Internationalen Raumstation (ISS) aus der öffentlichen REST API https://wheretheiss.at abgerufen und über die ACMP Public API als Asset im ACMP angelegt bzw. aktualisiert werden. Ziel ist es, die Positions- und Statusdaten der ISS regelmäßig zu synchronisieren und damit immer auf die aktuellen Informationen im System zugreifen zu können.
Entwicklungsumgebung
Als Entwicklungsumgebung für die Umsetzung dieses Beispiel-Projekts benötigen Sie:
- Eine aktuelle Version von Visual Studio Code
- Eine installierte PowerShell-Erweiterung in Visual Studio Code
- Eine installierte AESB Shell
- Eine erreichbare AESB Console
Entwicklungsumgebung einrichten
Sofern Sie Visual Studio Code mit der PowerShell-Erweiterung noch nicht installiert haben, befolgen Sie zunächst die Installationsanleitung von Microsoft.
Wenn Sie Visual Studio Code mit der PowerShell-Erweiterung installiert haben, können Sie die AESB Shell in Visual Studio Code einrichten:
- Legen Sie einen neuen Ordner im Datei-Explorer an.
- Klicken Sie mit einem Rechtsklick auf den neuen Ordner, um das Kontextmenü zu öffnen.
- Wählen Sie im Kontextmenü den Eintrag Mit Code öffnen aus, damit direkt das richtige Verzeichnis geöffnet wird.
- Erstellen Sie eine neue Datei mit der Endung .psm1 (z.B. Microservice.psm1). Bei dieser Datei handelt es sich um ein PowerShell-Modul, in dem nun die Businesslogik implementiert werden kann.
- Geben Sie im Terminal den Befehl code $profile ein und bestätigen Sie mit der Eingabetaste. Nun öffnet sich die Datei Microsoft.VSCode_profile.ps1, mit der Sie das verwendete PowerShell-Profil anpassen können.
- Fügen Sie den nachfolgenden Code in die Datei Microsoft.VSCode_profile.ps1 ein. Beachten Sie, dass der angegebene Pfad für die AESB Shell korrekt ist.
- Drücken Sie Strg + S, um die Datei zu speichern.
- Starten Sie Visual Studio Code anschließend neu.
2
3
4
5
6
7
8
9
$aesbShellPath = "C:\Program Files (x86)\Aagon\AESB Shell"
[System.Environment]::CurrentDirectory = $aesbShellPath
Import-Module "$aesbShellPath\Aagon.Shell.Core.dll", "$aesbShellPath\Aagon.Sis.Sics.Powershell.Cmdlets.dll" -Prefix AESB -Force -Global
New-AESBShell
}
catch {
Write-Error "No AESBShell installed!"
}
Als Ergebnis wird in Visual Studio Code nun direkt die AESB Shell geladen. So können Sie ab jetzt einfach und effektiv neue Module entwickeln, um diese später in den Microservices zu nutzen.