Der heutige Artikel kommt von Joel, einem befreundeten Automic-Experten aus der Schweiz, der vor einem Jahr schon einmal hier im Blog einen Artikel veröffentlicht hat.

Er erzählt uns heute vom ApplicationInterface, von Powershell und seinem neuen E-Learning, in dem Sie lernen, beides zusammen zu benutzen.

Als Automation Engineer arbeite ich Tag ein Tag aus mit JOBS Objekten. Täglich sehe und erstelle ich Lösungen mit AE Script, Windows CMD, Perl, Bash und Powershell. Manchmal sind es einfache Aufgaben, manchmal komplexere. Fakt ist: Scriptsprachen begleiten mich Tag für Tag und meine Kenntnisse dazu machen einen großen Teil meines Wertes in der Arbeitswelt aus.

Daher hat es mich immer geärgert, dass meine täglichen Tätigkeiten mit der Automation Engine – also Objekte erstellen, kopieren, ändern etc. – nicht mittels mir bekannter Scriptsprachen automatisiert werden konnten.

Ahnen Sie schon worauf ich hinaus möchte? Das ApplicationInterface ist die Automic eigene Java Library, mit welcher der «alte» Fatclient implementiert wurde. Wenn Sie am Marketplace nach Automationslösungen für die Automation Engine selbst suchen, finden sie fast ausschließlich in Java implementierte Programme.

Das ist doch kalter Kaffee

Nun habe ich mit Java so meine Probleme.

Ich bin ein Scripter. Ich mag transparente Lösungen, die schnell entwickelt werden und keine Entwicklungsumgebung in der Grösse einer Oracle-Installation benötigen. Selbst wenn ich darüber hinwegsehe und meine Scripts um die Java Programme schreibe – ich habe einen Bruch in der Programmiersprache. Dieser Bruch äußert sich spätestens wenn man neue Anforderungen hat.

Wenn das Programmieren des ApplicationInterfaces in Java das Handwerk des langwierigen Kaffeebrauens ist, dann ist die Implementation in Powershell der Nespresso.
Bildquelle: coffeegeek.tv

Nehmen wir als Beispiel folgende fiktive Unterhaltung zwischen Joe Jobbauer und einer Mitarbeiterin mit Java KnowHow, Jasmin Java:

Joe Jobbauer: “Ich will alle Objekte exportieren die in der Datei objekte.txt stehen.”

Jasmin Java: “Okay, nutze mytool.jar mit dem Parameter -f objekte.txt”

Joe Jobbauer: “… könnten wir noch einen Datumsfilter einbauen? Nur die Objekte der letzten 12h?”

Jasmin Java: “Okay, habe den -h Parameter hinzugefügt. ”

Joe Jobbauer: “… und wenn’s nur die sein sollen die auf dem Mandanten 2000 nicht drin sind?”

Jasmin Java: “Phew… -C ”

Joe Jobbauer: “Cool. Kann das Programm eigentlich auch importieren?”

Jasmin Java: “…!!!!”

Kennen Sie das? Wünschen Sie sich auch, mit einer Scriptsprache flexible Lösungen selber zu schreiben? Bei PhilippElmer.com gibt es jetz ein E-Learning, in dem Sie lernen, wie Sie mit Windows Powershell das ApplicationInterface API ansprechen können.

E-Learning: Der WorkflowCommander Core

Mit dem E-Learning erhalten Sie:

  • Den WorkflowCommander Core – ein Powershell Modul mit über 20 vorgefertigten Cmdlets für den Zugriff und die Arbeit mit der AE
  • Beschreibung der einzelnen Cmdlets inklusive Beispielen
  • Tipps und Tricks rund um den Einsatz des ApplicationInterface API in der Powershell
  • Workshops mit praktischen und unterhaltsamen Beispielen
  • Sechs Monate Zugriff auf die Schulungsunterlagen inklusive Updates in dem Zeitraum.

Beispiel gefällig? Hier habe ich Ihnen ein paar Zeilen Beispielcode für Powershell eingefügt.

$ae = New-aeConnection -profile client1000

# Titel von JOB.WINDOWS anpassen
$obj = Open-aeObject -ae $ae -name JOB.WINDOWS -readwrite
$obj.header().setTitle("Neuer Objekttitel")
Save-aeObject -ae $ae -object $obj -close

# Neuen Ordner erstellen und Objekt reinschieben
New-aeFolder -ae $ae -path /DEMO/WFC_DEMO_OBJEKT -title "Mich gibts fuer den Blog."
Move-aeObject -ae $ae -name JOB.WINDOWS -path /DEMO/WFC_DEMO_OBJEKT

# Prüfen ob Objekt noch da ist 
$objectinfo = Get-aeObjectProperties -ae $ae -name JOB.WINDOWS
if ($objectinfo) {
  Write-Host "Wir sollten aufraeumen! Folgende Objekte sind noch in dem Ordner:"
  Search-aeObject -ae $ae -path $objectinfo.path -NonRecursiveSearch
}

# Objekt exportieren und löschen..
Export-aeObject -ae $ae -name JOB.WINDOWS -file C:\temp\backup.xml
Remove-aeObject -ae $ae -name JOB.WINDOWS
Remove-aeObject -ae $ae -path /DEMO/WFC_DEMO_OBJEKT 

# ...und tschüss!
$ae.bye()