Wiki source code of Entwicklung eines ACMP Connectors für die ISS
Hide last authors
| author | version | line-number | content |
|---|---|---|---|
| |
1.1 | 1 | {{aagon.floatingbox/}} |
| 2 | |||
| |
1.2 | 3 | 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>>url: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. |
| |
1.1 | 4 | |
| |
1.2 | 5 | = Entwicklungsumgebung = |
| |
1.1 | 6 | |
| |
1.3 | 7 | Als Entwicklungsumgebung für die Umsetzung dieses Beispiel-Projekts benötigen Sie: |
| |
1.2 | 8 | |
| |
1.3 | 9 | * Eine aktuelle Version von Visual Studio Code |
| |
2.3 | 10 | * Eine installierte PowerShell-Erweiterung in Visual Studio Code |
| |
1.3 | 11 | * Eine installierte AESB Shell |
| |
2.3 | 12 | * Eine erreichbare AESB Console |
| |
1.3 | 13 | |
| |
1.4 | 14 | === Entwicklungsumgebung einrichten === |
| 15 | |||
| |
2.3 | 16 | Sofern Sie Visual Studio Code mit der PowerShell-Erweiterung noch nicht installiert haben, befolgen Sie zunächst [[die Installationsanleitung von Microsoft>>https://learn.microsoft.com/de-de/powershell/scripting/dev-cross-plat/vscode/using-vscode?view=powershell-7.4#install-vs-code-and-the-powershell-extension]]. |
| |
2.1 | 17 | |
| |
2.3 | 18 | Wenn Sie Visual Studio Code mit der PowerShell-Erweiterung installiert haben, können Sie die AESB Shell in Visual Studio Code einrichten: |
| 19 | |||
| |
1.4 | 20 | 1. Legen Sie einen neuen Ordner im Datei-Explorer an. |
| 21 | 1. Klicken Sie mit einem Rechtsklick auf den neuen Ordner, um das Kontextmenü zu öffnen. | ||
| |
3.1 | 22 | 1. Wählen Sie im Kontextmenü den Eintrag //Mit Code öffnen //aus, damit direkt das richtige Verzeichnis geöffnet wird. |
| |
4.1 | 23 | 1. 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.{{aagon.infobox}}Das Erstellen dieser Datei ist notwendig, damit eine PowerShell-Session mit dem Terminal in Visual Studio Code geöffnet wird.{{/aagon.infobox}} |
| 24 | 1. Geben Sie im Terminal den Befehl //{{code language="PowerShell"}}code $profile{{/code}} //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. | ||
| 25 | 1. 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. | ||
| 26 | 1. Drücken Sie Strg + S, um die Datei zu speichern. | ||
| 27 | 1. Starten Sie Visual Studio Code anschließend neu. | ||
| |
1.4 | 28 | |
| |
4.1 | 29 | {{code language="PowerShell" layout="LINENUMBERS" title="**Code für Microsoft.VSCode_profile.ps1**"}} |
| 30 | try { | ||
| 31 | $aesbShellPath = "C:\Program Files (x86)\Aagon\AESB Shell" | ||
| 32 | [System.Environment]::CurrentDirectory = $aesbShellPath | ||
| 33 | Import-Module "$aesbShellPath\Aagon.Shell.Core.dll", "$aesbShellPath\Aagon.Sis.Sics.Powershell.Cmdlets.dll" -Prefix AESB -Force -Global | ||
| 34 | New-AESBShell | ||
| 35 | } | ||
| 36 | catch { | ||
| 37 | Write-Error "No AESBShell installed!" | ||
| 38 | } | ||
| 39 | {{/code}} | ||
| 40 | |||
| |
5.1 | 41 | [[AESB Shell in Visual Studio Code einrichten>>image:Visual Studio Code einrichten.png||alt="AESB Shell in Visual Studio Code einrichten"]] |
| |
4.1 | 42 | |
| |
5.1 | 43 | Als Ergebnis wird in Visual Studio Code im Terminal-Bereich 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. |
| |
4.1 | 44 | |
| |
1.1 | 45 | = Aufgabenteilung = |
| 46 | |||
| 47 | = Entwicklung der Microservices = | ||
| 48 | |||
| 49 | = Fehlerbehandlung = | ||
| 50 | |||
| 51 | = Orchestrierung = |

