Wiki source code of Entwicklung eines ACMP Connectors für die ISS
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | {{aagon.floatingbox/}} | ||
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. | ||
4 | |||
5 | = Entwicklungsumgebung = | ||
6 | |||
7 | Als Entwicklungsumgebung für die Umsetzung dieses Beispiel-Projekts benötigen Sie: | ||
8 | |||
9 | * Eine aktuelle Version von Visual Studio Code | ||
10 | * Eine installierte PowerShell-Erweiterung in Visual Studio Code | ||
11 | * Eine installierte AESB Shell | ||
12 | * Eine erreichbare AESB Console | ||
13 | |||
14 | === Entwicklungsumgebung einrichten === | ||
15 | |||
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]]. | ||
17 | |||
18 | Wenn Sie Visual Studio Code mit der PowerShell-Erweiterung installiert haben, können Sie die AESB Shell in Visual Studio Code einrichten: | ||
19 | |||
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. | ||
22 | 1. Wählen Sie im Kontextmenü den Eintrag //Mit Code öffnen //aus, damit direkt das richtige Verzeichnis geöffnet wird. | ||
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. | ||
28 | |||
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 | |||
41 | [[AESB Shell in Visual Studio Code einrichten>>image:Visual Studio Code einrichten.png||alt="AESB Shell in Visual Studio Code einrichten"]] | ||
42 | |||
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. | ||
44 | |||
45 | = Aufgabenteilung = | ||
46 | |||
47 | = Entwicklung der Microservices = | ||
48 | |||
49 | = Fehlerbehandlung = | ||
50 | |||
51 | = Orchestrierung = |