Konfiguration

Die Einrichtung des best4Automic Service Portal erfolgt in mehreren Schritten. Die Basiskonfiguration ist in der Konfigurationsdatei config.js zu finden, die im Ordner config liegt. Anschließend sollte es bereits möglich sein das best4Automic Service Portal im Web-Browser zu öffnen.

Die weitere Konfiguration ist in der Automation Engine durchzuführen. Im Folgenden wird von der Beispielkonfiguration durch das b4A Package B4A.WEB ausgegangen um die Konfiguration zu veranschaulichen. Ab der Version 1.3.0 kann die Konfiguration auch über die Administrationsansicht im Service Portal selbst durchgeführt werden. Hierzu sind weitere Details im Kapitel Bedienung zu finden.

Basiskonfiguration

In der Datei config.js müssen einige Einstellungen vorgenommen werden, die von dem Ort der Installation des best4Automic Service Portal sowie der best4Automic RESTful API abhängen.

window.env = {
    restApiUrl: '<your REST API url>',
    baseUrl: '',
    title: 'Service Portal',
    logo: '/images/best4automic.svg',
    notification: {
          icon: 'logo512.png'
    },
    language: 'de',
    department: {
        defaultValue: '',
        optional: false
    }
}

Variable

Beschreibung

Beispiel

restApiUrl

Enthält die vollständige URL zur best4Automic RESTful API. Sollte der Web-Server nicht auf einem der Standard-Ports lauschen, dann muss dieser mit angegeben werden

https://rest.b4a.local/best4automic-api#v2/

baseUrl

legt den URL-Pfad fest unter der das best4Automic Service Portal auf dem Web-Server erreichbar ist. Bei einer URL https://b4a.local/service-portal wäre der folgende Wert anzugeben, welcher nicht mit einem Schrägstrich (/) enden soll.

/service-portal

title

Legt den Namen fest, der in der Web-Anwendung angezeigt wird.

Unser eigenes Service Portal

logo

Legt den URL-Pfad fest unter dem das Logo zu finden ist, welches in der Web-Anwendung angezeigt soll.

/images/mein-logo.svg

notification.icon

Legt das Symbol fest, das für Desktop-Benachrichtigungen genutzt werden soll.

logo512.png

language

Das best4Automic Service Portal wird immer in einerSprache pro Installation angezeigt. Hier sollte die Sprache gewählt werden in der auch die Services implementiert werden, die über das Portal zur Verfügung gestellt werden. Mögliche Werte sind de und en

de

department.defaultValue

Dieser Wert wird in der Anmeldemaske als Vorgabewert bei der Abteilung eingetragen

B4A

department.optional

Boolscher Wert der angibt, ob die Abteilung ein Pflichtfeld ist oder optional angegeben werden kann

false

Die Vorgabewerte für title, logo und language können belassen werden, da diese Werte bereits gültig sind. Dasselbe gilt für die Werte unterhalb von department.

Berechtigungen

Im best4Automic Service Portal werden die verfügbaren Services in Kategorien eingeteilt. Diese können auf Basis von Rollen, den Benutzern zugeteilt werden. Rollen wiederum werden den Gruppen in der Automation Engine zugeordnet. Diese Einstellungen werden in einer XML-Variable gespeichert. Das b4A Package B4A.WEB enthält ein Beispiel für solch eine Konfigurationsvariable.

Rollen

In dem Eintrag Roles werden die Rollen festgelegt. Dabei wird einerseits jeder Rolle eine Gruppe zugewiesen und andererseits wird jeder Rolle eine Menge von Kategorien zugewiesen. Im best4Automic Service Portal werden für die Rollen die Objekttitel der Gruppen angezeigt. Daher ist es wichtig, dass diese gepflegt sind und sprechende Namen enthalten.

<best4Automic version="5.0.0">
    <web>
        <roles>
            <role name="B4A.WEB.USRG.DEV">
                <category key="DEVELOPMENT"/>
                <category key="TESTING"/>
                <category key="EXAMPLES"/>
            </role>
            <role name="B4A.WEB.USRG.INFO">
                <category key="REPORTING"/>
            </role>
            <role name="B4A.WEB.USRG.BM">
                <category key="PROJECT"/>
                <category key="MARKETING"/>
                <category key="BACK_OFFICE"/>
                <category key="SALES"/>
            </role>
            <role name="B4A.WEB.USRG.ADMIN">
                <category key="DEVELOPMENT"/>
                <category key="TESTING"/>
                <category key="DEPLOYMENT"/>
                <category key="REPORTING"/>
                <category key="ADMIN"/>
            </role>
        </roles>
    </web>
</best4Automic>

Mit dem Element role wird eine neue Rollendefinition eingeleitet. Das Attribut name legt die Gruppe fest, die der Rollen zugeordnet wird. In der Rollendefinition können beliebig viele Kategorien referenziert werden, die der Rolle zugeordnet werden. Pro Kategorie wird dafür ein Element category genutzt. Das Attribut key legt dabei den Schlüssel fest über den die Kategorie später identifiziert wird. Der Schlüssel kann eine beliebige eindeutige Zeichenkette sein.

Services

In dem zweiten Eintrag Services in der XML-Variable werden den zuvor definierten Kategorien, die Services zugeordnet. Dafür wird der Kategorie-Schlüssel, der zuvor in der Rollendefinition festgelegt wurde, genutzt.

<best4Automic version="5.0.0">
    <web>
        <categories>
            <category key="DEVELOPMENT">
                <label>Development</label>
                <services>
                    <service object="B4A.PM.JOBP.INIT-PACKAGE">
                        <description>Initializes a new b4A Package by creating the basic folder structure in a selected base folder and a set of mandatory objects</description>
                    </service>
                    <service object="B4A.PM.JOBP.BUILD-PACKAGE">
                        <description>Builds a new major, minor or bugfix release of a selected b4A Package. The service includes a dependency and compliance check. If any fails the build process is cancelled.</description>
                    </service>
                    <service object="B4A.PM.JOBP.CHECK-COMPLIANCE">
                        <description>To ensure that all objects of a selected b4A Package follow a set of compliance rules this services checks the b4A Packages and sends a report to the developer</description>
                    </service>
                </services>
            </category>
            <category key="EXAMPLES">
                <label>Examples</label>
                <services>
                    <service object="B4AE.WEB.JOBP.SMOKE-TEST" taskFilter="none">
                        <description>Check if the configuration is correct and ensure that the communication between Automation Engine, b4A RESTful API and the b4A WebUI works</description>
                    </service>
                    <service object="B4AE.WEB.JOBP.USER-REQUEST-TEST">
                        <description>Starts a service with a request notification object</description>
                    </service>
                    <service object="B4AE.WEB.JOBP.ALL_PARAMS" taskFilter="none">
                        <description>Test Service with all possible parameter types</description>
                    </service>
                    <service object="B4AE.WEB.JOBP.FAILS">
                        <description>Checks if the Service Portal can handling failing services. It should show a notification with activating the service has failed.</description>
                    </service>
                    <service object="B4AE.WEB.JOBP.FAILS" isPassive="true" taskFilter="none">
                        <description>Daily processing of payments</description>
                    </service>
                    <service object="B4AE.WEB.JOBP.MAZE">
                        <description>Just a little maze.</description>
                    </service>
                </services>
            </category>
            <category key="ADMIN">
                <label>Administration</label>
                <services>
                    <service object="B4A.WEB.JOBP.SEND-SERVICE-CONFIG-RELOAD">
                        <description>The b4A RESTful API is requested to reload the service and category configuration</description>
                    </service>
                    <service object="B4A.WEB.JOBP.SEND-SERVICE-CACHE-RESET">
                        <description>The b4A RESTful API is requested to reset all object caches</description>
                    </service>
                </services>
            </category>
            <category key="MARKETING">
                <label>Marketing</label>
                <services>
                    <service object="B4A.DEMO.JOBP.SOCIAL-MEDIA-POSTING">
                        <description>Posts a new statement on LinkedIn, Xing and BBC Confluence</description>
                    </service>
                </services>
            </category>
            <category key="SALES">
                <label>Sales</label>
                <services>
                    <service object="B4A.DEMO.JOBP.INVITE-TO-TECHTALK">
                        <description>Sends out invitations to the next TechTalk</description>
                    </service>
                </services>
            </category>
        </categories>
    </web>
</best4Automic>

Jedes Element category muss das Attribut key enthalten was einen Kategorie-Schlüssel enthält, der zuvor bei den Rollendefinitionen genutzt wurde. Für die Anzeige im best4Automic Service Portal wird der Text des Elementes label genutzt. Für jeden Service, der in dieser Kategorie angezeigt werden soll muss ein Element service angelegt werden, das einen Attribut object hat. Der Wert dieses Attributes muss der Objektname des Workflows sein, der sich hinter dem Service verbirgt. Ein zusätzliches optionales Attribut ist taskFilter, das festlegt, welche Ausführungen eines Services im best4Automic Service Portal angezeigt werden. Standardmäßig werden nur diejenigen Ausführungen angezeigt, die keinen Parent haben, also direkt von einem Benutzer gestartet wurden. Dies entspricht dem Wert no_parent, welcher nicht explizit angegeben werden muss. Sollen jedoch auch diejenigen Ausführungen angezeigt werden, die beispielsweise durch einen darüber liegenden Workflow oder Scheduler gestartet wurden, muss dies explizit mit none angegeben werden. Mit dem optionalen bool’schen Attribute isPassive kann festgelegt, dass ein Service ausschließlich im Monitoring auftauchen sollen, aber nicht startbar ist. Dies kann genutzt werden, um Benutzer zu ermöglichen vollautomatische Prozesse im best4Automic Service Portal zu überwachen. Unterhalb dieses Elementes ist ein weiteres Element mit dem Namen description zu definieren, dass eine textuelle Beschreibung der Funktion des Services enthält. Dieser Text soll den potenziellen Nutzern beschreiben welche Funktion dieser Service erfüllt.

Automation Engine

Die zuvor beschriebenen Berechtigungen beziehen sich auf die Ansicht im best4Automic Service Portal und nicht auf die notwendigen Rechte in Automic Automation. Hierfür ist folgendes zu beachten:

  • Für das Ausführen von Services ist es notwendig, dass der Benutzer die Rechte hat, den Workflow selbst auszuführen.

  • Auf Services, die als „passiv“ konfiguriert sind, benötigt der Benutzer keine Ausführungsrechte.

  • Alle Aktionen in der Administration-Ansicht werden mit dem zentralen technischen Benutzer der best4Automic RESTful API durchgeführt. Daher braucht der Benutzer in der Automation Engine keine Rechte an der Konfigurationsvariable

b4A Packages

Eine Funktionalität der best4Automic RESTful API ist die Möglichkeit Nachrichten an Sitzungen des best4Automic Service Portal zu senden. Dies kann über einen Endpoint in der best4Automic RESTful API erreicht werden. Um die Nutzung dieser Funktion so einfach wie möglich zu gestalten werden folgende b4A Packages bereitgestellt:

  • BBC.SHARED – Sammlung von Hilfsfunktionen

  • B4A.BASE – Basis Integration der best4Automic Solution auf Basis von Actions

  • B4A.WEB – Actions zur Kommunikation mit der best4Automic RESTful API

Solche Nachrichten bestehen aus einem Typ (Information, Warnung oder Fehler) und einem Text. In dem Text können HTML-Elemente genutzt werden um strukturierte Informationen anzuzeigen. Des weiteren können so auch Links in die Nachrichten integriert werden.

Weitere ausführliche Informationen zu den einzelnen Packages sind auf best4Automic Dokumentation zu finden.