Erstellen eines Diensts

www.altova.com Alle erweitern/reduzieren Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Server-Dienste >

Erstellen eines Diensts

Ein Dienst wird auf dieselbe Art und Weise wie eine Lösung erstellt. Sie können Seitenquellenstrukturen erstellen, damit im Dienst Daten aus diesen Strukturen verwendet werden können. Da ein Dienst jedoch auf dem Server ausgeführt wird (und daher keine Benutzeroberfläche hat), sind alle Steuerelemente deaktiviert und es können auch keine neuen Seiten (weder Toplevelseiten noch Unterseiten) hinzugefügt werden. Bei den Diensten, die auf dem Server ausgeführt werden können, handelt es sich um serverseitige Aktionen wie z.B. das Senden einer E-Mail vom Server aus oder die Aktualisierung eines Node einer Seitenquelle. Sie können daher eine Gruppe solcher Aktionen als Aktionen eines Diensts definieren; andere Aktionen sind deaktiviert.

 

So erstellen Sie einen neuen Dienst:

1.Klicken Sie auf Datei | Neuer Dienst, um eine Designdatei für den Dienst zu öffnen. Daraufhin wird ein neues Dienst-Design erstellt und es wird automatisch eine $MT_SERVICE-Seitenquelle erstellt. Die MobileTogether Designer-Benutzeroberfläche sieht wie die einer Lösung aus. Der einzige sofort ersichtliche Unterschied ist, dass keine Benutzeroberfläche für einen Client erstellt werden kann, da alle Steuerelemente deaktiviert sind. Stattdessen müssen alle gewünschten Aktionen für den Dienst auf dem Register des Projektereignisses BeiGestartetemDienst definiert werden.
2.Wenn Seitenquellen verwendet werden müssen, fügen Sie diese zum Fenster "Seitenquellen" hinzu. In der Abbildung unten wurde eine XML-Seitenquelle namens $XML1 hinzugefügt.
3.Öffnen Sie das Dialogfeld "Aktionen" des Diensts (oder die Dienstaktionsstruktur siehe Abbildung unten) auf eine der folgenden Arten: (i) Klicken Sie auf die Schaltfläche Dienst-Aktionsstruktur in der Mitte des Design-Fensters; oder (ii) klicken Sie im Fenster "Stile & Eigenschaften" auf die Schaltfläche "Zusätzliches Dialogfeld" der Eigenschaft Dienstaktionen.

MTDServicesActions01

4.Im linken Bereich des Dialogfelds (in der Abbildung oben nicht sichtbar) werden alle für Dienste verfügbaren Aktionen angezeigt. Aktionen, die nicht zur Verfügung stehen, sind deaktiviert (und sind ausgegraut). Ziehen Sie die Aktionen, die als Dienst ausgeführt werden sollen, auf das Register BeiGestartetemDienst. In der Abbildung oben wurden zwei Aktionen hinzugefügt: (i) Aus Datei laden lädt die MobileTogether Server-Log-Datei in die Seitenquelle $XML1 und (ii) E-Mail senden sendet E-Mails an drei Empfänger, wobei die $XML1-Struktur des MobileTogether Server-Log als Anhang angehängt wird.
5.Klicken Sie auf OK, um die Erstellung der Aktionen des Diensts fertig zu stellen.
6.Speichern Sie die Datei (Strg+S) unter einem passenden Namen für den Dienst und mit dem Dateityp .mtd.

 

Anmerkung:Sie können für jeden Dienst nur eine Gruppe von Aktionen erstellen. Wenn Sie den Befehl Datei | Neuer Dienst ein zweites Mal auswählen, wird eine neue leere Dienstdatei erstellt.

 

Die $MT_SERVICE-Seitenquelle

Die $MT_SERVICE-Seitenquelle wird automatisch bei der Erstellung des Dienst-Designs erstellt. In der Abbildung unten und im Codefragment unterhalb davon sehen Sie die Struktur der Seitenquelle.

MTDMTServicesStructure

Click to expand collapseStruktur der $MT_SERVICES-Seitenquelle

<<Root>

   <Triggers>

      <File name="" filename="" reason=""/>

      <URL name="" url=""/>

      <Timer name=""/>

   </Triggers>

</Root>

 

Zur Laufzeit werden vom Server Daten zu den Triggern, die für den Dienst eingestellt wurden, an die Seitenquelle übergeben und in den entsprechenden Nodes der Seitenquelle gespeichert. So wird z.B. der Name der Datei, die einen Dateisystem-Trigger aktiviert, im Node //File/@filename der Seitenquelle gespeichert. Wenn diese Nodes durch XPath-Ausdrücke von Dienst-Aktionen aufgerufen werden, so können die in diesen Nodes gespeicherten Laufzeitinformationen von den XPath-Ausdrücken verwendet werden. So kann etwa der Name der Datei, die eine Dienst-Aktion ausgelöst hat, in einer E-Mail senden an-Aktion zusammen mit dem Grund für die Auslösung des Triggers (neue Datei erstellt, Datei geändert oder Datei gelöscht - alle diese Informationen sind im Vorhinein nicht bekannt, sondern erst zur Laufzeit) gesendet werden.

 

Da die entsprechenden Nodes der Seitenquelle automatisch zur Laufzeit befüllt werden, müssen Sie in Bezug auf die Erstellung der $MT_SERVICE-Seitenquelle oder das Befüllen ihrer Nodes nichts weiter tun. Sie dient Ihnen nur als Quelle für (zusätzliche) Laufzeitinformationen zu serverseitigen Triggern. Sie können diese Informationen über XPath-Ausdrücke aufrufen und diese Informationen verwenden: (i) um Dienstaktionen vom Wert der Information abhängig zu machen und/oder (ii) um diese als Daten zu verwenden, die in einer Dienst-Aktion übergeben werden.

 

Anmerkung:Sie können Daten in eine $MT_SERVICE-Seitenquelle eingeben, die ausschließlich für Simulationen verwendet wird. Mit Hilfe dieser Daten werden die zur Laufzeit erhaltenen Daten simuliert. Eine Anleitung zur Erstellung einer $MT_SERVICE-Seitenquelle für Simulationen finden Sie im Kapitel Dienst-Trigger-Simulationen.

 

Diensteigenschaften

Im Fenster "Stile & Eigenschaften" (siehe Abbildung oben) können Sie ein Datenabrufs-Timeout (in Sekunden) für den Dienst definieren. Wenn bis zum Ablauf des Timeout keine Daten auf dem Server abgerufen werden können, wird die Aktion ausgeführt, die in der Einstellung Bei Fehler der Aktion definiert wurde (siehe Abbildung oben).

 

Dies ist die Zeitspanne, die der Server wartet, bis die Daten von einer externen Quelle aus (z.B. einer DB oder URL) auf dem Server abgerufen werden.  Der Wert ist ein Ganzzahlwert in Sekunden, der eingegeben oder aus der Dropdown-Liste der Auswahlliste ausgewählt werden kann. Der Standardwert ist 10 Sekunden. Bei Überschreitung dieses Werts wird eine Fehlermeldung angezeigt. Eine Ausnahme bildet der Fall, wenn bei Ladeaktionen die Einstellungen Bei Fehler auf Fortfahren gesetzt ist. In diesem Fall werden die "Bei Fehler"-Aktionen der Fortfahren-Einstellung dieser Aktion ausgeführt.

 


© 2019 Altova GmbH