Konfiguration von Web Services zur Ausführung von Jobs

Größe: px
Ab Seite anzeigen:

Download "Konfiguration von Web Services zur Ausführung von Jobs"

Transkript

1 Web Services Konfiguration von Web Services zur Ausführung von Jobs JOB SCHEDULER Tutorial März 2006 Software- und Organisations-Service GmbH Giesebrechtstr. 15 D Berlin Telefon (030) Telefax (030)

2 Konfiguration von Web Services zur Ausführung von Jobs 2 Impressum Software- und Organisations-Service GmbH Giesebrechtstr. 15 D Berlin Telefon (030) Telefax (030) Mail Web Letzte Aktualisierung: 11. März 2006

3 Konfiguration von Web Services zur Ausführung von Jobs 3 Inhaltsverzeichnis 1 Einleitung Einsatz des Job Schedulers für Web Services Web Service Fähigkeit für eigene Programme und Skripte Orchestrierung von Jobs mit Web Services Routing von Web Service Requests Ablauf eines asynchronen Web Service Ablauf eines synchronen Web Service Einfache Web Service Steuerung Starten eines Jobs Erzeugen eines Auftrags Konfiguration eines asynchronen Web Service Bereitstellen einer Job-Kette als asynchronen Web Service Das request_xslt_stylesheet Das response_xslt_stylesheet Das forward_xslt_stylesheet Konfiguration eines synchronen Web Service Erstellen von Jobs für synchrone Web Services Anhang A: execute_file_request.xslt Anhang B: execute_file_response.xslt Anhang C: execute_file_forward.xslt

4 Einleitung 4 1 Einleitung Der Job Scheduler bietet eine Schnitstelle um Jobs und Job-Ketten als Web Services zur Verfügung zu stellen. Hierbei wird zwischen zwei Verfahren unterschieden: Asynchrone Web Services: Mit Hilfe von XSLT-Stylesheets kann die Annahme von Web Service Anfragen, sowie deren Beantwortung konfiguriert werden. Der Job Scheduler ist oberhalb von HTTP auf kein spezielles Protokoll (z.b. SOAP) festgelegt. Die Implementierung dieses Protokolls ist nicht im Job Scheduler enthalten, sondern wird in den Stylesheets vorgenommen. Mit dieser Methode können vorhandene Job-Ketten zur Verwendung als Web Service angepasst werden. Das Ergebnis nach der Auftragsverarbeitung kann bei dieser Technik nur asynchron weitergeleitet werden. Es gibt zwar auch bei dieser Methode eine synchrone Antwort, diese dient aber nur der Quittierung, dass ein Auftrag angenommen wurde. Synchrone Web Services: Wird eine synchrone Antwort benötigt, in der das Ergebnis der Job-Verarbeitung enthalten ist, so müssen Jobs dazu entsprechende Schnittstellen implementieren. Die sychrone Antwort wird von einem Job mittels Job Scheduler API verschickt. Die Interpretation der Web Service Anfrage erfolgt im Job. Es werden keine Stylesheets verwendet, stattdessen wird konfiguriert, welche Job-Kette den Web Service beantworten soll. Für das Verständnis dieses Tutorials gelten folgende Voraussetzungen: Kentnisse über den Aufbau von SOAP Nachrichten Verständnis von Jobs und Job-Ketten im Job Scheduler Grundlegende Kenntnisse der XML-Kommandos des Job Schedulers Grundlegende XSLT Kenntnisse. (Für asynchrone Web Services) Kenntnisse der Job Scheduler Java API für die Job Implementierung. (Für synchrone Web Services)

5 Einsatz des Job Schedulers für Web Services 5 2 Einsatz des Job Schedulers für Web Services Mit dem Job Scheduler können Jobs automatisch als Web Services bereitgestellt werden. Nachstehend einige Beispiel für Einsatzgebiete dieser Schnittstelle. 2.1 Web Service Fähigkeit für eigene Programme und Skripte Beliebige ausführbare Programme und Shell Skripte werden automatisch als Web Services verfügbar. Ihre Applikationen steuern mittels Web Service Aufrufen beliebige Jobs, die ausführbare Programme, Shell Skripte oder Java-Klassen starten.

6 Einsatz des Job Schedulers für Web Services Orchestrierung von Jobs mit Web Services Eigene Programme und Skripte können mit dem Job Scheduler Web Service in das Business Process Management eingebunden werden. Der Job Scheduler liefert synchrone und asynchrone Antworten an Ihre BPM Engine.

7 Einsatz des Job Schedulers für Web Services Routing von Web Service Requests Der Job Scheduler kann Web Service Requests vom Internet in das Intranet routen. Die Requests werden empfangen, authentifiziert und validiert. Valide Requests werden zur Weiterverarbeitung an einen weiteren Job Scheduler im Intranet übertragen.

8 Ablauf eines asynchronen Web Service 8 3 Ablauf eines asynchronen Web Service A n a l o g z u m n a c h f o l g e n d e n B e i s p i e l s e i i m J o b S c h e d u l e r f ü r d i e U R L ein Web Service konfiguriert. Ein Client schickt per HTTP POST an den Job Scheduler (Host und TCP Port des Job Schedulers) einen Web Service Aufruf. Den ankommenden Aufruf kann der Job Scheduler so nicht verstehen. Er verwendet daher das für den Web Service konfigurierte request_xslt_stylesheet, um den unbekannten Aufruf in ein für ihn verständliches XML-Kommando zu transformieren. Das transformierte XML-Kommando führt der Job Scheduler aus. Die HTTP-Verbindung wird währenddessen offengehalten. Das Ausführen eines XML-Kommandos im Job Scheduler liefert eine XML-Antwort. Beispielsweise liefert der Job Scheduler auf einen erfolgreichen <kill_task> Befehl die XML-Antwort: <spooler> <answer> <ok/> </answer> </spooler> Der (SOAP-)Client am anderen Ende der offenen HTTP-Verbindung erwartet eine (synchrone) Antwort, würde jedoch die Antwort des Job Schedulers nicht verstehen, da sie noch keine SOAP-Nachricht ist. Deswegen transformiert der Job Scheduler mit Hilfe des response_xslt_stylesheet die XML-Antwort in eine Antwort, die vom Client verstanden wird. Diese Antwort schickt der Job Scheduler an den Client und schließt die HTTP-Verbindung. Diese synchronen Antworten beinhalten in der Regel nur sehr einfache Informationen, zum Beispiel, ob ein Auftrag erfolgreich übergeben wurde, und welche ID er erhalten hat. Möchte man jedoch einen Web Service bereitstellen, dessen Antwort das Ergebnis der Ausführung eines Auftrags beinhaltet, so erfordert dies eine asynchrone Antwort, falls die Ausführung des Auftrags längere Zeit in Anspruch nimmt. Dazu werden die (beim Durchlaufen der Job-Kette veränderten) Parameter des Auftrags mit dem forward_xslt_stylesheet transformiert. Das Ergebnis wird als asynchrone Antwort mit einer neuen HTTP Verbindung zurück an den (SOAP-)Client (oder an einen anderen Empfänger) geschickt.

9 Ablauf eines asynchronen Web Service 9

10 Ablauf eines synchronen Web Service 10 4 Ablauf eines synchronen Web Service Für die URL sei ein Web Service konfiguriert. Dieser verwendet eine Job-Kette, um Web Service Anfragen synchron zu beantworten. Ein Client schickt per HTTP POST an den Job Scheduler (Host und TCP Port des Job Schedulers) einen Web Service Aufruf. Der Job Scheduler versucht nicht, diese Anfrage zu verstehen, sondern erzeugt für die konfigurierte Job-Kette einen neuen Auftrag, der die Anfrage enthält. Jobs in dieser Job-Kette haben die Möglichkeit, diese Anfrage aus dem Auftrag zu lesen und zu beantworten. Ein Job in der Kette muss die Anfrage mit der Web_service_response.send() Methode beantworten.

11 Einfache Web Service Steuerung 11 5 Einfache Web Service Steuerung Die Job Scheduler Distribution enthält zwei Standard Stylesheets, um Grundlegende Funktionen des Job Schedulers per SOAP bereitzustellen. Per default ist dieser Standard Web Service jedoch abgeschaltet. Um ihn zu aktivieren, müssen in der Datei config/scheduler.xml die XML-Kommentare um das <web_services>... </web_services> Element entfernt werden. Nach einem Neustart des Job Schedulers steht dann ein Web Service unter der url bereit. 5.1 Starten eines Jobs Z u m S t a r t e n e i n e s J o b s w i r d d i e S O A P M e t h o d e s t a r t J o b i m N a m e s p a c e zur Verfügung gestellt. Diese kennt folgende Parameter, die als Kind Elemente von <startjob> gesendet werden müssen: job: Jobname name: Name für die Task (optional) after: Eine Anzahl Sekunden, nach deren Ablauf erst die Task gestartet werden soll (optional) at: Zeitpunkt, zu dem die Task gestartet werden soll (optional) Außderdem können beliebig viele <param> Elemente gesendet werden, um Job Parameter zu setzen. <param> hat die Kind-Elemente <name> und <value>. Beispiel: startjob für Job scheduler_check_sanity <?xml version="1.0" encoding="utf-8"?> <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <startjob xmlns="http://www.sos-berlin.com/scheduler"> <job>scheduler_check_sanity</job> <at> :05:00</at> </startjob> </soapenv:body> Als Antwort kommt ein SOAP Dokument zurück, das die vom Job Scheduler vergebene Task Id enhält. Beispiel: SOAP Antwort auf startjob <?xml version="1.0" encoding="utf-8"?> <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <sos:taskid xmlns:sos="http://www.sos-berlin.com/scheduler">112491</sos:taskid> </soapenv:body>

12 Einfache Web Service Steuerung Erzeugen eines Auftrags Zum Erzeugen eines Auftrags wird die SOAP Methode addorder zur Verfügung gestellt. Diese kennt folgende Parameter, die als Kind Elemente von <addorder> gesendet werden müssen: jobchain: Jobkette des Auftrags id: ID des Auftrags (optional) title: Titel des Auftrags(optional) Außderdem können beliebig viele <param> Elemente gesendet werden, um Auftrags Parameter zu setzen. Beispiel: addorder für die Jobkette database_reports (aus dem Managed Jobs Paket) <?xml version="1.0" encoding="utf-8"?> <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <addorder xmlns="http://www.sos-berlin.com/scheduler"> <jobchain>database_reports</jobchain> <title>soaptest</title> <param> <name>command</name> <value>select * FROM SCHEDULER_MANAGED_ORDERS</value> </param> <param> <name>database_connection</name> <value>scheduler</value> </param> <param> <name>scheduler_order_report_mailto</name> </param> <param> <name>scheduler_order_report_asbody</name> <value>1</value> </param> <param> <name>scheduler_order_report_subject</name> <value>webservice_test 1</value> </param> </addorder> </soapenv:body> Als Antwort kommt ein SOAP Dokument zurück, das die vom Job Scheduler vergebene Order Id enhält. Beispiel: SOAP Antwort auf addorder <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <sos:orderid xmlns:sos="http://www.sos-berlin.com/scheduler">16120</sos:orderid> </soapenv:body>

13 Konfiguration eines asynchronen Web Service 13 6 Konfiguration eines asynchronen Web Service Damit der Job Scheduler die im folgenden Kapitel erstellten Stylesheets für einen Web Service verwendet, muss dieser zunächst in der Konfigurationsdatei scheduler.xml konfiguriert werden. Wenn noch nicht vorhanden, muss nach dem Element </process_classes> ein neues Element <web_services> eingefügt werden. Innerhalb von <web_services> wird für jeden Web Service ein <web_service> Element erstellt. Für das hier vorgestellte Beispiel wird die Konfiguration des Web Service wie folgt vorausgesetzt: <web_service debug = "yes" request_xslt_stylesheet = "samples/config/execute_file_request.xslt" response_xslt_stylesheet = "samples/config/execute_file_response.xslt" forward_xslt_stylesheet = "samples/config/execute_file_forward.xslt" name = "execute_file" url_path = "/execute_file" /> Der Parameter debug="yes" bewirkt, dass die Ergebnisse der XSL Transformationen im Verzeichnis logs des Job Schedulers abgelegt werden. Dies ist hilfreich, um zu prüfen, ob die Transformationen wie erwartet durchgeführt werden, sollte aber im produktiven Betrieb abgeschaltet werden, da sonst sehr viele Dateien entstehen. Die Verzeichnisangaben sind an die Verzeichnisse anzupassen, in denen die Stylesheets abgelegt wurden. Nachdem die Datei scheduler.xml geändert wurde, muss der Job Scheduler neu gestartet werden.

14 Bereitstellen einer Job-Kette als asynchronen Web Service 14 7 Bereitstellen einer Job-Kette als asynchronen Web Service Das folgende Beispiel setzt eine Installation des Job Schedulers mit dem Paket Managed Jobs voraus. Im Paket Managed Jobs ist eine vorkonfigurierte Job-Kette executable_files vorhanden. Diese enthält den Job JobSchedulerManagedExecutableJob, der auf dem Host des Job Schedulers vorhandene ausführbare Dateien startet. Das Managed Jobs Paket ist keine Voraussetzung für Web Services im Job Scheduler, sondern nur für dieses Beispiel. Für diese Job-Kette, soll eine SOAP-Schnittstelle bereitgestellt werden, die es ermöglicht, Executables auf dem Host des Schedulers aufzurufen. Als Beispielaufruf wird ein Unix "ls"-kommando übergeben, welches den Inhalt des Arbeitsverzeichnisses in die Standardausgabe (stdout) schreibt. Optional soll eine asynchrone Antwort möglich sein, die diese Ausgaben des Executable Files enthält. Die kompletten Quelltexte für die Stylesheets befinden sich im Anhang. 7.1 Das request_xslt_stylesheet Für die Entwicklung des Stylesheets, das die SOAP-Anfrage entgegennimmt und in ein für den Job Scheduler verständliches XML-Kommando umwandelt, gehen wir zunächst von der SOAP-Anfrage aus. Die SOAP-Schnittstelle benötigt eine Methode executefile mit einem Parameter file, der den Aufruf angibt. Beispiel: SOAP Anfrage Methode executefile <?xml version="1.0" encoding="utf-8"?> <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:header> <wsa:to xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"> </wsa:to> </soapenv:header> <soapenv:body> <executefile xmlns="http://www.sos-berlin.com/scheduler"> <file>ls</file> </executefile> </soapenv:body> Bevor der Job Scheduler den Aufruf transformiert, bettet er ihn in ein <service_request> Dokument ein, das weitere Meta-Informationen über die Anfrage transportiert.

15 Bereitstellen einer Job-Kette als asynchronen Web Service 15 Beispiel: service_request <?xml version="1.0" encoding="utf-8"?> <service_request url="http://localhost:4444/execute_file"> <web_service name="execute_file" url_path="/execute_file" request_xslt_stylesheet="samples/config/execute_file_request.xslt" response_xslt_stylesheet="samples/config/execute_file_response.xslt" debug="1"/> <content> <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">... </content> </service_request> Daher muss das Stylesheet von einer Wurzel <service_request> ausgehen: <xsl:template match="/service_request"> <xsl:apply-templates select="content/soapenv:envelope/soapenv:body"/> <xsl:template match="soapenv:body"> <xsl:apply-templates select="*" mode="soapbody"/> Das zweite Template selektiert noch nicht die erwartete Methode executefile, sondern alle Elemente im Mode "soapbody". Zum einen könnte es sein, dass man mit einem Stylesheet (und einem Web Service) unterschiedliche Methoden behandeln möchte. Dann würde man für jede Methode ein separates Template mit dem Mode "soapbody" schreiben. Zum anderen erlaubt es dieses select, für gültige SOAP Requests, die eine unbekannte Methode aufrufen, einen SOAP Fehler zurückzugeben. Dazu später mehr. In diesem Beispiel wird ein Template benötigt für <execute_file> Elemente. <xsl:template match="sos:executefile" mode="soapbody" priority="2"> <add_order job_chain="executable_files"> <xsl:attribute name="web_service"> <xsl:value-of </xsl:attribute> <params> <param name="command"> <xsl:attribute name="value"> <xsl:value-of select="sos:file"/> </xsl:attribute> </param> </params> </add_order> Das Template generiert einen <add_order> Befehl für die Job-Kette executable_files. Des weiteren erhält der <add_order> Befehl ein Attribut web_service, das den Namen (siehe Konfiguration) des aufgerufenen Web Service enthält: <?xml version="1.0" encoding="utf-8"?> <add_order job_chain="executable_files" web_service="execute_file"> <params> <param name="command" value="ls"/> </params> </add_order>

16 Bereitstellen einer Job-Kette als asynchronen Web Service 16 Die Übergabe des Web Service Namens an den Auftrag ist Voraussetzung, um später eventuell eine asynchrone Antwort oder Weiterleitung zu durchführen zu können. In <params> werden die Auftragsparameter gesetzt. Der Job JobSchedulerManagedExecutableJob kennt einen Parameter command, der den auszuführenden Befehl (in diesem Fall "ls") enthält. Für die Fehlerbehandlung gibt es ein weiteres Template. Dieses gilt für alle Methodenaufrufe, die nicht schon von einem anderen Template behandelt wurden. In diesem Fall also alle Methoden außer executefile. <xsl:template match="*" mode="soapbody" priority="0.5"> <!-- SOAP-Fehlermeldung an Web Service generieren --> <service_response> <content> <soapenv:envelope> <soapenv:body> <soapenv:fault> <faultcode>soap-env:client</faultcode> <faultstring>unknown command: <xsl:value-of select="name(.)"/> </faultstring> </soapenv:fault> </soapenv:body> </content> </service_response> Dieses Template erstellt das Scheduler Kommando <service_response>. Dieses schickt den Inhalt des Elements <content> als Antwort zurück. Damit wird für alle unbekannten Methodenaufrufe eine SOAP Fehlermeldung erzeugt. 7.2 Das response_xslt_stylesheet Nachdem der Job Scheduler den Auftrag angenommen hat, gibt er eine Antwort, die das Element <OK> und weitere Informationen über den neuen Auftrag enthält, oder das Element <ERROR> im Fehlerfall. Beispiel: Antwort vom Job Scheduler <?xml version="1.0" encoding="iso "?> <spooler> <answer time=" :19:46.342"> <ok> <order order="3823" id="3823" state="0" initial_state="0" job_chain="executable_files" job="scheduler_managed_executable_file" priority="0" created=" :19:46.342" web_service="execute_file"> <log level="debug9"/> </order> </ok> </answer> </spooler> Diese Antwort des Job Schedulers wird vom response_xslt_stylesheet umgewandelt, und als synchrone Antwort an den Client zurückgeschickt. Dafür muss ein <service_response> Kommando für den Job Scheduler generiert werden: <xsl:template match="/spooler/answer"> <service_response> <content>

17 Bereitstellen einer Job-Kette als asynchronen Web Service 17 <soapenv:envelope> <soapenv:body> <xsl:apply-templates select="error ok"/> </soapenv:body> </content> </service_response> Im Erfolgsfall kann dann z.b. die ID zurückgegeben werden, die an den neuen Auftrag vergeben wurde: <xsl:template match="ok[order]" priority="2"> <sos:orderid><xsl:value-of Es sind auch andere Rückgaben denkbar, wie zum Beispiel ein boolscher Wert, der über den Erfolg des Kommandos Auskunft gibt. 7.3 Das forward_xslt_stylesheet Nachdem ein Auftrag durchlaufen ist, ist es möglich mit einer weiteren XSLT-Transformation asynchron ein Ergebnis zu liefern beziehungsweise an einen anderen Emfänger weiterzuleiten. Transformiert wird in diesem Fall entweder ein <order> oder ein <task> Element, je nachdem, ob der Web Service ein add_order oder ein start_job ausgeführt hat. Das <order> Element enthält Informationen über den Auftrag inclusive der Auftragsparameter. Der Job JobSchedulerManagedExecutableJob setzt nach der Ausführung einen neuen Auftragsparameter std_out_output, der die Ausgaben des ausgeführten Kommandos (stdout) enthält. Diese Ausgaben soll das Stylesheet zu einer SOAP Antwort transformieren. <xsl:template match="order"> <service_request url="http://localhost:5555/webservice"> <content> <soapenv:envelope> <soapenv:body> <xsl:apply-templates "/> </soapenv:body> </content> </service_request> Es wird zunächst ein <service_request> Element erstellt. Dieses benötigt einen Parameter url für die Antwortadresse, da für die asynchrone Antwort eine neue Verbindung aufgebaut werden muss. In diesem Beispiel ist die Antwort URL fest im Stylesheet eingetragen. Diese ist nur dann sinnvoll, wenn die Antwort tatsächlich immer an dieselbe Adresse weitergeleitet werden soll. In der Praxis kommt es jedoch oft vor, dass die Antwortadresse bereits in der Anfrage an den Web Service enthalten ist. In diesem Fall müsste das request_xslt_stylesheet die Antwortadresse in einen Auftragsparameter schreiben, aus dem sie dann vom forward_xslt_stylesheet wieder ausgelesen werden kann. Das Template selektiert den Paramter mit dem Namen "std_out_output" und schreibt den Inhalt in ein neues Element der Antwort:

18 Bereitstellen einer Job-Kette als asynchronen Web Service 18 <xsl:template <sos:stdout> <xsl:value-of </sos:stdout> Dadurch kann der Inhalt der Standard-Ausgabe (stdout) von einer Anwendung weiterverarbeitet werden, die diese Antwort empfängt. Diese muss beachten, dass die Newlines im <sos:stdout> Element tatsächlich als Newlines und nicht als Whitespace zu interpretieren sind. Beispiel: Asynchrone Antwort des Web Service <?xml version="1.0"?> <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:body> <sos:stdout xmlns:sos="http://www.sos-berlin.com/scheduler">bin config jobs lib logs mail web </sos:stdout> </soapenv:body>

19 Konfiguration eines synchronen Web Service 19 8 Konfiguration eines synchronen Web Service Damit der Job Scheduler den im folgenden Kapitel vorgestellten Job für einen Web Service verwendet, muss dieser zunächst in der Konfigurationsdatei scheduler.xml in einer Job-Kette konfiguriert werden. Wenn noch nicht vorhanden, muss nach dem Element </jobs> ein neues Element <job_chains> eingefügt werden. Innerhalb von <job_chains> wird für jede Job-Kette ein <job_chain> Element erstellt. Für das im nächsten Kapitel vorgestellte Beispiel wird die Job-Kette wie folgt vorausgesetzt: <job_chain name="web_service_test"> <job_chain_node state="1" job="web_service_test_job" next_state="100" error_state="999" /> <job_chain_node state="100"/> <job_chain_node state="999"/> </job_chain> Job-Ketten bestehen oft aus mehreren Jobs, diese Beispiel verwendet eine Job-Kette mit nur einem Job web_service_test_job, der im <jobs> Abschnitt wie folgt konfiguriert wird: <job name = "web_service_test_job" order = "yes"> <script language = "java" java_class = "sos.scheduler.service.webservicetestjob"/> </job> Damit diese Job-Kette als synchroner Web Service verwendet werden kann, wird im <web_services> Element (siehe Konfiguration asynchroner Web Services) ein neuer Web Service angelegt: <web_service name="test" job_chain="web_service_test" url_path="/test"/> Nachdem die Datei scheduler.xml geändert wurde, muss der Job Scheduler neu gestartet werden.

20 Erstellen von Jobs für synchrone Web Services 20 9 Erstellen von Jobs für synchrone Web Services In diesem Kapitel wird gezeigt, wie neue Jobs implementiert werden können, die eine Web Service Anfrage auslesen und eine synchrone Antwort zurückschicken. Die Interpretation möglicher Protokolle (z.b. SOAP) ist Aufgabe des Jobs. Dieser erhält den Inhalt des Requests als String oder binär. Damit das Beispiel einfach bleibt, wird hier kein XML interpretiert, da dadurch der Code länger und komplizierter ausfallen würde. Die Verwendung von DOM ist nicht Gegenstand dieses Tutorials. Der folgende Job gibt daher nur den Inhalt des Requests im Protokoll aus und sendet einen String zurück, der seine Task ID enthält. Beispiel: WebServiceTestJob.java package sos.scheduler.service; import sos.spooler.job_impl; import sos.spooler.order; import sos.spooler.web_service_operation; import sos.spooler.web_service_request; import sos.spooler.web_service_response; public class WebServiceTestJob extends Job_impl { public boolean spooler_process() throws Exception { Order order = spooler_task.order(); Web_service_operation operation; try { operation = order.web_service_operation(); } catch (Exception e){ spooler_log.info("there is no Web Service operation attached to this order"); return true; } // read request Web_service_request request = operation.request(); spooler_log.info("content of Web Service Request:\n"+request.string_content()); // send reply Web_service_response response = operation.response(); } response.set_string_content("task ID: "+spooler_task.id()); response.send(); return true; } Zu Beginn der Job-Implementierung fällt auf, dass der Aufruf web_service_operation() in einem try-catch-block steht. Es kann sein, dass ein Job einen Auftrag zu verarbeiten hat, der in einem vorherigen Lauf des Job Schedulers angelegt aber noch nicht verarbeitet wurde. In diesem Fall würde der Job Scheduler beim Neustart den Auftrag aus der Datenbank laden, nur die HTTP Verbindung des Clients wäre inzwischen beendet. Dadurch gäbe es kein Web_service_operation Objekt mehr. Der Job sollte diesen Fehler abfangen und entscheiden, wie er den Auftrag behandelt. Aus dem Web_service_request Objekt wird der Inhalt der Anfrage gelesen und ins Protokoll geschrieben. Am Web_service_response Objekt wird die Antwort gesetzt und mit send() synchron an den Client zurückgegeben.

21 Erstellen von Jobs für synchrone Web Services 21 In der Praxis muss es nicht der gleiche Job sein, der das Web_service_request liest und die Web_service_response setzt. Es ist z.b. möglich eine Job-Kette zu erstellen, in der der erste Job das Web_service_request Objekt liest, auswertet und einige Parameter aus dem Request in die Payload des Auftrags schreibt. Die folgenden Jobs verarbeiten die Payload des Auftrags und nur der letzte Job schreibt in das Web_service_response Objekt und ruft die send() Methode auf. Im Samples Paket der Job Scheduler Distribution ist dieser Job auch in Javascript, VBScript und Perlscript Versionen im Verzeichnis samples/jobs enthalten unter unter den Dateinamen: web_service_test_job.js web_service_test_job.vbs web_service_test_job.pl In den Beispielkonfigurationsdateien des Samples Pakets werden dazu auch Jobketten und Web Services angelegt.

22 execute_file_request.xslt 22 Anhang A: execute_file_request.xslt <?xml version="1.0" encoding="iso "?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sos="http://www.sos-berlin.com/scheduler" exclude-result-prefixes="soapenv sos" version="1.0"> <xsl:output method="xml" indent="yes"/> <xsl:template match="/service_request"> <xsl:apply-templates select="content/soapenv:envelope/soapenv:body"/> <xsl:template match="soapenv:body"> <xsl:apply-templates select="*" mode="soapbody"/> <xsl:template match="*" mode="soapbody" priority="0.5"> <!-- SOAP-Fehlermeldung an Web Service generieren --> <service_response> <content> <soapenv:envelope> <soapenv:body> <soapenv:fault> <faultcode>soap-env:client</faultcode> <faultstring>unknown command: <xsl:value-of select="name(.)"/> </faultstring> </soapenv:fault> </soapenv:body> </content> </service_response> <xsl:template match="sos:executefile" mode="soapbody" priority="2"> <add_order job_chain="executable_files"> <xsl:attribute name="web_service"> <xsl:value-of </xsl:attribute> <params> <param name="command"> <xsl:attribute name="value"> <xsl:value-of select="sos:file"/> </xsl:attribute> </param> </params> </add_order> </xsl:stylesheet>

23 execute_file_response.xslt 23 Anhang B: execute_file_response.xslt <?xml version="1.0" encoding="iso "?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sos="http://www.sos-berlin.com/scheduler" exclude-result-prefixes="soapenv sos" version="1.0"> <xsl:output method="xml" indent="yes"/> <xsl:template match="/spooler/answer"> <service_response> <content> <soapenv:envelope> <soapenv:body> <xsl:apply-templates select="error ok"/> </soapenv:body> </content> </service_response> <xsl:template match="error"> <soapenv:fault> <faultcode>soap-env:client</faultcode> <faultstring><xsl:value-of </soapenv:fault> <xsl:template match="ok[order]" priority="2"> <sos:orderid><xsl:value-of </xsl:stylesheet>

24 execute_file_forward.xslt 24 Anhang C: execute_file_forward.xslt <?xml version="1.0" encoding="iso "?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sos="http://www.sos-berlin.com/scheduler" exclude-result-prefixes="soapenv sos" version="1.0"> <xsl:output method="xml" indent="yes"/> <xsl:template match="order"> <service_request url="http://localhost:5555/replyurl"> <content> <soapenv:envelope> <soapenv:body> <xsl:apply-templates ]"/> </soapenv:body> </content> </service_request> <xsl:template <sos:stdout> <xsl:value-of </sos:stdout> </xsl:stylesheet>

Tutorial Job Implementierung

Tutorial Job Implementierung Software- und Organisations-Service GmbH JOB SCHEDULER Tutorial Job Implementierung Technische Dokumentation 29.November 2004 Software- und Organisations-Service GmbH Giesebrechtstr. 15 D-10629 Berlin

Mehr

Web-Anwendungsentwicklung mit dem Delivery Server

Web-Anwendungsentwicklung mit dem Delivery Server Web-Anwendungsentwicklung mit dem Delivery Server Java-Framework auf Basis der Open API Bernfried Howe, Webertise Consulting GmbH WEBertise Consulting Dipl. Informatiker (Wirtschaftsinformatik) 2001-2010

Mehr

Asynchrone Webservices mit Axis 1.x in Java

Asynchrone Webservices mit Axis 1.x in Java Asynchrone Webservices mit Axis 1.x in Java 1. Übersicht Architektur Da Webservices nach relativ kurzen Timeouts Anfragen abgearbeitet haben müsse, sind komplexe Anfragen wie sie in der Bioinformatik üblich

Mehr

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli 2005. MySQL-Job-Automation

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli 2005. MySQL-Job-Automation MySQL-Job-Automation Managed User Jobs JOB SCHEDULER Dokumentation Juli 2005 Software- und Organisations-Service GmbH Giesebrechtstr. 15 D-10629 Berlin Telefon (030) 86 47 90-0 Telefax (030) 861 33 35

Mehr

Themen. Web Service - Clients. Kommunikation zw. Web Services

Themen. Web Service - Clients. Kommunikation zw. Web Services Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur

Mehr

Duale Zustellung. Standardprofile. Version 1.0.0, 14.08.2007. DI Arne Tauber arne.tauber@egiz.gv.at

Duale Zustellung. Standardprofile. Version 1.0.0, 14.08.2007. DI Arne Tauber arne.tauber@egiz.gv.at www.egiz.gv.at E-Mail: post@egiz.gv.at Telefon: ++43 (316) 873 5514 Fax: ++43 (316) 873 5520 Inffeldgasse 16a / 8010 Graz / Austria Duale Zustellung Version 1.0.0, 14.08.2007 DI Arne Tauber arne.tauber@egiz.gv.at

Mehr

check_cisco_voice Dokumentation

check_cisco_voice Dokumentation check_cisco_voice Dokumentation Inhaltsverzeichnis 1. Vorbereitung...2 2. Verwendung...3 2.1 Usage / Parameter...3 2.2 Modi...5 2.2.1 Lern-Modus...5 2.2.2 Interface-Modus...6 2.2.3 Gesamtstatus...8 2.2.4

Mehr

Installationshandbuch für den sedex-client V4.0.4.

Installationshandbuch für den sedex-client V4.0.4. Eidgenössisches Finanzdepartement EFD Bundesamt für Informatik und Telekommunikation BIT Lösungszentrum E-Government Sedex Webservice-Proxy: Benutzerhandbuch zum Personenidentifikations-Service (eumzugch)

Mehr

VVA Webservice Online Lieferbarkeits-Abfrage

VVA Webservice Online Lieferbarkeits-Abfrage Version 1.0 Dateiname VVA_OLA_Schnittstellenbeschreibung_2012.docx Erstellt am 30.05.2010 Seitenanzahl 5 arvato media GmbH Historie der Dokumentversionen Version Datum Autor Änderungsgrund / Bemerkungen

Mehr

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 WebSphere Application Server Teil 4 Leistungsverhalten el0100 copyright W. G. Spruth,

Mehr

Auszug aus Axis2 Übungen

Auszug aus Axis2 Übungen Auszug aus Axis2 Schulung -1- Auszug aus Axis2 Übungen Version 1.1 Dieses Dokument ist ein Auszug aus unserem Übungsskript zur Axis2-Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen.

Mehr

Spezifikationen und Voraussetzung

Spezifikationen und Voraussetzung Projekt IGH DataExpert Paynet Adapter Spezifikationen Voraussetzungen Datum : 21.07.08 Version : 1.0.0.2 21.07.2008 Seite 1 von 7 Inhaltsverzeichnis 1 Einleitung... 3 2 Architektur... 3 2.1 Grundsätze

Mehr

JobScheduler - Job Execution and Scheduling System Software Open Source

JobScheduler - Job Execution and Scheduling System Software Open Source JobScheduler - Job Execution and Scheduling System März 2015 März 2015 Seite: 1 Impressum Impressum Software- und Organisations-Service GmbH Giesebrechtstr. 15 D-10629 Berlin Germany Telefon +49 (0)30

Mehr

Start des Programms mit zwei Parametern: 1. XML-Datei mit den zu verarbeitenden Eingabedaten, 2. XML-Datei mit der Programmkonfiguration

Start des Programms mit zwei Parametern: 1. XML-Datei mit den zu verarbeitenden Eingabedaten, 2. XML-Datei mit der Programmkonfiguration Whitepaper 09/2010 Seite 1 Aufgabenstellung Aus einer vorgegebenen XML-Datei sollen Daten in eine AS/400-Tabelle übertragen werden. Bei der Übertragung besteht die Möglichkeit Daten per Mapping zu prüfen,

Mehr

Spezifikationen und Voraussetzung

Spezifikationen und Voraussetzung Projekt IGH DataExpert Yellowbill Adapter Spezifikationen Voraussetzungen Datum : 22.08.2013 Version : 1.0.0.2 22.08.2013 Seite 1 von 7 Inhaltsverzeichnis 1 Einleitung...3 2 Architektur...3 2.1 Grundsätze

Mehr

ESB. Open Source ESB: Mule Flightreservation. Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus]

ESB. Open Source ESB: Mule Flightreservation. Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus] ESB Open Source ESB: Mule Flightreservation Res Gilgen Hochschule Luzern [Wählen Sie das Datum aus] Inhalt 1. Open Source ESB: Mule... 2 1.1. Überblick... 2 1.1.1. Das Beispiel Zeigt:... 2 1.2. Installationsanleitung...

Mehr

Dokumentation zum Projekt Mail-Adapter in SAP PI. 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696

Dokumentation zum Projekt Mail-Adapter in SAP PI. 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696 Dokumentation zum Projekt Mail-Adapter in SAP PI 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696 Inhalt 1. Einleitung... 2 2. Vorgehen... 3 1. Datentyp für die Mail einrichten... 3 2. Message Typen

Mehr

Java - Webapplikationen

Java - Webapplikationen Java - Webapplikationen Bestandteile (HTTP,, JSP) Aufbau (Model View Controller) Datenverwaltung (Java Beans, Sessions) Entwicklung (Projektstruktur, Sysdeoplugin für Eclipse) 17. Januar 2006 Jan Hatje

Mehr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 25. 10. 2013 Kennnr. Matrikelnr. Familienname Vorname

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 25. 10. 2013 Kennnr. Matrikelnr. Familienname Vorname Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 25. 10. 2013 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 100 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden

Mehr

Die XML-Schnittstelle von FreelancerWelt.de Projektimport

Die XML-Schnittstelle von FreelancerWelt.de Projektimport Die XML-Schnittstelle von FreelancerWelt.de Projektimport Die Schnittstelle ermöglicht es neue IT Projekte auf FreelancerWelt.de automatisch einzustellen, bestehende zu aktualisieren oder zu löschen. Wenn

Mehr

Python CGI-Skripte erstellen

Python CGI-Skripte erstellen Python CGI-Skripte erstellen CGI (Common Gateway Interface)... ist eine Schnittstelle, um Scripte im Web bereitzustellen. ist eine Schnittstelle zwischen einem HTTP-Server und ausführbaren Programmen.

Mehr

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de Das Build Tool Ant Sebastian Mancke, mancke@mancke-software.de Grundlagen Motivation Bei der Übersetzung und Pflege von Software treten viele, gleich bleibende Arbeitsschritte auf. Übersetzen des Codes

Mehr

Der MyCoRe-URI-Resolver

Der MyCoRe-URI-Resolver by Thomas Scheffler, Wiebke Oeltjen, Jens Kupferschmidt 2015-06-16 Der URI-Resolver in MyCoRe ist eine Erweiterung des Standard-URI-Resolvers und gestattet innerhalb der MyCoRe- Anwendung den einfachen

Mehr

ZEUS Energiebuchhaltung Salzburg Automatische Zählerstandanlieferung: E-Mail-Schnittstelle

ZEUS Energiebuchhaltung Salzburg Automatische Zählerstandanlieferung: E-Mail-Schnittstelle ZEUS Energiebuchhaltung Salzburg Automatische Zählerstandanlieferung: E-Mail-Schnittstelle Version: 1.0.0 Datum: 2013-11-20 Autor: Bernd Ennsfellner, Renate Pinggera gizmocraft, design and technology GmbH

Mehr

JAXM Java API for XML Messaging

JAXM Java API for XML Messaging JAXM Java API for XML Messaging Ein Referat von Daniel Kalkowski Felix Knecht Berno Löwer Matthias Maschke Christian Saga Gliederung - Einleitung o Konzept o Unterschiede der Nachrichtenarten o Standalone

Mehr

SOAP Schnittstelle von SHAB/Simap/KAB ZH. Version 3.0

SOAP Schnittstelle von SHAB/Simap/KAB ZH. Version 3.0 SOAP Schnittstelle von SHAB/Simap/KAB ZH Version 3.0 Inhaltsverzeichnis 1 Einleitung... 4 2 Beschreibung... 5 2.1 Voraussetzung für die Benutzung des Webservice... 5 2.2 Der Soapserver... 5 2.3 Aufruf

Mehr

IT-Zertifikat: Daten- und Metadatenstandards. Transformation von XML-Dokumenten mit XSLT (und XPATH) XSLT kurz und knackig. XSLT und die Praxis

IT-Zertifikat: Daten- und Metadatenstandards. Transformation von XML-Dokumenten mit XSLT (und XPATH) XSLT kurz und knackig. XSLT und die Praxis IT-Zertifikat: Daten- und Metadatenstandards Transformation von XML-Dokumenten mit XSLT (und XPATH) XSLT kurz und knackig I. Was ist XSLT? XSL Transformation (XSLT) ist eine Programmiersprache zur Transformation

Mehr

Web Service Entwicklung mit Java. Sven Lindow

Web Service Entwicklung mit Java. Sven Lindow Web Service Entwicklung mit Java Sven Lindow 22.11.2006 Agenda Einleitung SOAP, REST, WSDL, UDDI Web Services mit Java JWSDP JAX-RPC, JAX-WS 2.0 AXIS, AXIS2 Web Services nutzen Google, Ebay Web Services

Mehr

Icinga Teil 2. Andreas Teuchert. 25. Juli 2014

Icinga Teil 2. Andreas Teuchert. 25. Juli 2014 Icinga Teil 2 Andreas Teuchert 25. Juli 2014 1 Nagios-Plugins Programme, die den Status von Diensten überprüfen können liegen in /usr/lib/nagios/plugins/ werden von Icinga aufgerufen, geben Status über

Mehr

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging Servlet Debugging Markus Völter, voelter@acm.org, www.voelter.de Bei der Arbeit mit Servlets kommt man recht schnell an den Punkt, an dem man Servlets vernünftig testen oder debuggen will. Mit Hilfe des

Mehr

Timer-Dienst (070212)

Timer-Dienst (070212) Timer-Dienst (070212) Timer-Dienst (070212)...1 Voraussetzungen...1 Installation...1 Dienst konfigurieren...4 Dienst für mehrere Instanzen und / oder mehrere Datenbanken konfigurieren...5 Eventlog-Einträge

Mehr

Definition Web Service

Definition Web Service Gliederung Einführung Definition Web Service Drei Schhichtenmodell Architectural Model System Model Web Service Standards SOAP WSDL UDDI Types of Web Services Programmatic Web Services Interactive Web

Mehr

TimeMachine. Time CGI. Version 1.5. Stand 04.12.2013. Dokument: time.odt. Berger EDV Service Tulbeckstr. 33 80339 München

TimeMachine. Time CGI. Version 1.5. Stand 04.12.2013. Dokument: time.odt. Berger EDV Service Tulbeckstr. 33 80339 München Time CGI Version 1.5 Stand 04.12.2013 TimeMachine Dokument: time.odt Berger EDV Service Tulbeckstr. 33 80339 München Fon +49 89 13945642 Mail rb@bergertime.de Versionsangaben Autor Version Datum Kommentar

Mehr

AJAX SSL- Wizard Referenz

AJAX SSL- Wizard Referenz AJAX SSL- Wizard Referenz Version 1.0.2+ - 04.04.2011 Präambel Die vorliegende Dokumentation beschreibt den AJAX basierten SSL- Wizard der CertCenter AG. Der SSL- Wizard kann mit wenigen Handgriffen nahtlos

Mehr

Scripting Framework PowerShell Toolkit Quick-Install a Workplace for Packaging and Test

Scripting Framework PowerShell Toolkit Quick-Install a Workplace for Packaging and Test Scripting Framework PowerShell Toolkit Quick-Install a Workplace for Packaging and Test Windows Client Management AG Alte Haslenstrasse 5 CH-9053 Teufen wincm.ch 1 Quick Install - Scripting Framework Workplace...3

Mehr

Proseminar: Website-Management-Systeme

Proseminar: Website-Management-Systeme Proseminar: Website-Management-Systeme Thema: Web: Apache/Roxen von Oliver Roeschke email: o_roesch@informatik.uni-kl.de Gliederung: 1.) kurze Einleitung 2.) Begriffsklärung 3.) Was ist ein Web? 4.) das

Mehr

Verteilte Systeme: Übung 4

Verteilte Systeme: Übung 4 Verteilte Systeme: Übung 4 WSDL und SOAP Oliver Kleine Institut für Telematik https://www.itm.uni-luebeck.de/people/kleine SOAP Nachrichten Serialisierung in XML Root-Element einer SOAP Nachricht ist

Mehr

Zeiterfassung für Projekte. SOAP-Schnittstelle. Juli 2013 Version 4.7

Zeiterfassung für Projekte. SOAP-Schnittstelle. Juli 2013 Version 4.7 Weil Zeit Geld ist Zeiterfassung für Projekte SOAP-Schnittstelle Juli 2013 Version 4.7 provantis IT Solutions GmbH Siemensstr. 1 71254 Ditzingen Tel. +49 (0)7156/43623-0 Fax. +49 (0)7156/43623-11 zep@provantis.de

Mehr

Projektseminar "Texttechnologische Informationsmodellierung"

Projektseminar Texttechnologische Informationsmodellierung Projektseminar "Texttechnologische Informationsmodellierung" Analyse mit XSLT Ziel diese Sitzung Nach dieser Sitzung sollten Sie: Einen ersten Überblick über Funktionen in XPath haben Stylesheets und Templates

Mehr

Web 2.0 Software-Architekturen

Web 2.0 Software-Architekturen Web 2.0 Software-Architekturen Servlets als Controller einer MVC Web Architektur Prof. Dr. Nikolaus Wulff HTTP und HTML Das HyperText TransferProtokoll (HTTP) beschreibt eine einfache verbindungslose Kommunikation,

Mehr

IT in der Arztpraxis Technisches Handbuch zum Kodierassistenten

IT in der Arztpraxis Technisches Handbuch zum Kodierassistenten Technisches Handbuch zum Kodierassistenten [KBV_ITA_AHEX_Handbuch_Kodierassistent] Dezernat 6 Informationstechnik, Telematik und Telemedizin 10623 Berlin, Herbert-Lewin-Platz 2 Kassenärztliche Bundesvereinigung

Mehr

SINT Rest App Documentation

SINT Rest App Documentation SINT Rest App Documentation Release 1.0 Florian Sachs 08.04.2014 Inhaltsverzeichnis 1 REST Service 3 1.1 Application................................................ 3 1.2 Konfiguration...............................................

Mehr

silent2msi Tamer Berber, 21.11.06

silent2msi Tamer Berber, 21.11.06 silent2msi Tamer Berber, 21.11.06 Inhaltsverzeichnis 1. So geht s mit silent2msi... 3 1.1. Was ist silent2msi?... 3 1.1.1. Komponenten im silent2msi... 3 2. Bereitstellen auf dem Server... 4 2.1. Auf den

Mehr

telpho10 Update 2.1.6

telpho10 Update 2.1.6 telpho10 Update 2.1.6 Datum: 31.03.2011 NEUERUNGEN... 2 STANDORTANZEIGE GESPERRTER IP ADRESSEN... 2 NEUE SEITE SYSTEM STATUS IN DER ADMINISTRATOR WEB-GUI... 2 NEUE SEITE SNOM FIRMWARE IN DER ADMINISTRATOR

Mehr

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer Applets Belebung von Webseiten Dipl.-Ing. Wolfgang Beer Was sind Applets? Java Klassen, die spezielle Richtlinien befolgen, um: "in Internet-Browsern lauffähig zu sein" Somit ist, komplexere Funktionalität,

Mehr

Synchronisation des Temperatur-Loggers

Synchronisation des Temperatur-Loggers Synchronisation des Temperaturloggers Juni 10, 2010 1 / 7 Synchronisation des Temperatur-Loggers Einführung Zwei oder mehr Installationen der Temperaturlogger-Software können so zusammen geschaltet werden,

Mehr

Hylafax mit CAPI und Kernel 2.6 auf Debian Sarge

Hylafax mit CAPI und Kernel 2.6 auf Debian Sarge Hylafax mit CAPI und Kernel 2.6 auf Debian Lukas Mensinck First public release Version 1.0.0 Revision History Revision 1.0.0 2007.04.11 LukasMensinck Mensinck Consulting First public release of HowTo Type:

Mehr

PG5 Starter Training Webeditor 8 Applikation Email Daniel Ernst DE02 2013-03-14

PG5 Starter Training Webeditor 8 Applikation Email Daniel Ernst DE02 2013-03-14 PG5 Starter Training Webeditor 8 Applikation Email Daniel Ernst DE02 2013-03-14 Einführung Benötigtes Material: Notebook oder Computer PCD1 E-Controller USB Kabel Schulungsplatine Ethernet Kabel (Energiezähler

Mehr

Auszug aus JAX-WS Folien

Auszug aus JAX-WS Folien Auszug aus JAXWS Folien Dieses Dokument ist ein Auszug aus unserem Skript zur Java Web Services Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen. Thomas Bayer Hauptstraße 33 75050 Gemmingen

Mehr

E.1 Object Request Brokers

E.1 Object Request Brokers E Überblick über die 4. Übung E Überblick über die 4. Übung 1 Komponenten eines ORBs Lösungsskizze Aufgabe 2 RPC und ORB Aufrufsemantiken Hinweise Aufgabe 3 Kommunikationsschicht: tauscht Daten zwischen

Mehr

2. Interaktive Web Seiten. action in Formularen. Formular. Superglobale Variablen $ POST, $ GET und $ REQUEST. GET und POST

2. Interaktive Web Seiten. action in Formularen. Formular. Superglobale Variablen $ POST, $ GET und $ REQUEST. GET und POST 2. Interaktive Web Seiten GET und POST Die Übertragungsmethoden GET und POST sind im http Protokoll definiert: POST: gibt an, dass sich weitere Daten im Körper der übertragenen Nachricht befinden: z.b.

Mehr

Betriebswirtschaftliche Standardsoftware - Made for the WEB. ESS Enterprise Solution Server. Installation. Release 6.

Betriebswirtschaftliche Standardsoftware - Made for the WEB. ESS Enterprise Solution Server. Installation. Release 6. ESS Enterprise Solution Server Installation Release 6.0 Installation 1 Inhaltsverzeichnis 1. Installation... 3 1.1. Lizenzschlüssel für Enterprise Solution Server... 3 1.2. Installationsvorbereitung...

Mehr

Microsoft.NET & IBM System i - Webanwendungen und Webservices II Christian Neißl, 20.11.2011

Microsoft.NET & IBM System i - Webanwendungen und Webservices II Christian Neißl, 20.11.2011 Microsoft.NET & IBM System i - Webanwendungen und Webservices II Christian Neißl, 20.11.2011 Der älteste und noch immer verwendete Weg Daten über Web auszutauschen ist das http - Protokoll. Mit der http-methode

Mehr

Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX

Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX Allgemeines Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX Stand 21.11.2014 Die Yeastar MyPBX Telefonanlagen unterstützen die automatische Konfiguration der tiptel 3010, tiptel 3020 und tiptel 3030

Mehr

Benutzerhandbuch. Neukirchen

Benutzerhandbuch. Neukirchen Benutzerhandbuch Neukirchen August 2015 Kontakt: Kai Hübl Lambertsberg 17 D-34626 Neukirchen kai.huebl@asneg.de Contents 1 Einleitung... 5 1.1 Inhalt... 5 1.2 OPC UA Client Stack... 5 1.3 OPC UA Server

Mehr

Aktuelle Technologien zur Entwicklung verteilter Anwendungen RESTful Web Services mit JAX-RS

Aktuelle Technologien zur Entwicklung verteilter Anwendungen RESTful Web Services mit JAX-RS Aktuelle Technologien zur Entwicklung verteilter Anwendungen Überblick, Grundlagen und Entwicklung mit Java Gliederung A. I. Web Services II. RESTful Web Services III. Java API for RESTful Web Services

Mehr

Software Engineering II

Software Engineering II Software Engineering II Codegenerierung für den SmartIO Editor mit der Modeling Workflow Engine Wintersemester 10/111 Fachgebiet Software Engineering Albert Zündorf / Wiederholung Bisher im Laufe des Semesters

Mehr

Erweitern Sie ihren Tomcat um das AXIS-Framework und machen Sie ihn damit bereit für den Einsatz von Web Services:

Erweitern Sie ihren Tomcat um das AXIS-Framework und machen Sie ihn damit bereit für den Einsatz von Web Services: 0BBA Karlsruhe, Vorlesung Programmieren, Web Services 1BAufgabe 1 Tomcat um das AXIS-Framework erweitern : Erweitern Sie ihren Tomcat um das AXIS-Framework und machen Sie ihn damit bereit für den Einsatz

Mehr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 2. 12. 2013 Kennnr. Matrikelnr. Familienname Vorname

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 2. 12. 2013 Kennnr. Matrikelnr. Familienname Vorname Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 2. 12. 2013 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 100 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden nicht

Mehr

Java RMI Remote Method Invocation

Java RMI Remote Method Invocation Java RMI Remote Method Invocation Ziel: Aufruf von Instanzmethoden entfernter Objekte basierend auf Java. Paket: java.rmi und Unterpakete Topologie: RMI Registry RMI Server RMI Client Der Server registriert

Mehr

CARL HANSER VERLAG. Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis 3-446-22562-5. www.hanser.de

CARL HANSER VERLAG. Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis 3-446-22562-5. www.hanser.de CARL HANSER VERLAG Dirk Ammelburger XML Grundlagen der Sprache und Anwendungen in der Praxis 3-446-22562-5 www.hanser.de 1 1.1 Einleitung... 2 Über dieses Buch... 3 1.2 Für wen ist das Buch gedacht?...

Mehr

Technische Beschreibung: EPOD Server

Technische Beschreibung: EPOD Server EPOD Encrypted Private Online Disc Technische Beschreibung: EPOD Server Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee JKU Linz Institut für

Mehr

Was ist ein Web Service?

Was ist ein Web Service? Web Services: Was ist ein Web Service? Dienste, auf die über Standard-protokolle programmtechnisch zugegriffen werden kann. erlauben Kommunikation zwischen Applikationen über das standardisierte Schnittstellen

Mehr

Inventarisierung von Exchange Alternativen für die Exchange-Inventarisierung

Inventarisierung von Exchange Alternativen für die Exchange-Inventarisierung Inventarisierung von Exchange Alternativen für die Exchange-Inventarisierung www.docusnap.com TITEL Inventarisierung von Exchange AUTOR Mohr Carsten DATUM 28.10.2015 VERSION 1.0 Die Weitergabe, sowie Vervielfältigung

Mehr

Wiederholung: Beginn

Wiederholung: Beginn B) Webserivces W3C Web Services Architecture Group: "Ein Web Service ist eine durch einen URI eindeutige identifizierte Softwareanwendung, deren Schnittstellen als XML Artefakte definiert, beschrieben

Mehr

Oracle Enterprise Scheduler (ESS) Unleashed Carsten Wiesbaum esentri AG Ettlingen Schlüsselworte Einleitung Oracle Enterprise Scheduler (ESS)

Oracle Enterprise Scheduler (ESS) Unleashed Carsten Wiesbaum esentri AG Ettlingen Schlüsselworte Einleitung Oracle Enterprise Scheduler (ESS) Oracle Enterprise Scheduler (ESS) Unleashed Carsten Wiesbaum esentri AG Ettlingen Schlüsselworte Automatisierung, Betrieb, Middleware Einleitung Der Oracle Fusion Middleware Stack beinhaltet eine leistungsstarke

Mehr

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste Hauptseminar Internet Dienste Sommersemester 2004 Boto Bako Webservices 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung Was sind Web Services? Web Services sind angebotene

Mehr

Java zur Realisierung von Internetanwendungen

Java zur Realisierung von Internetanwendungen Java zur Realisierung von Internetanwendungen Elementare Web-Programmierung Prof. Dr. Bernhard Schiefer HTTP Web-Browser Web-Browser GET http://www.zw.fh-kl.de/beispiel.htm beispiel

Mehr

Systemprogrammierung I - Aufgaben zur Erlangung der Klausurzulassung für Informatiker und Wirtschaftsinformatiker

Systemprogrammierung I - Aufgaben zur Erlangung der Klausurzulassung für Informatiker und Wirtschaftsinformatiker Systemprogrammierung I - Aufgaben zur Erlangung der Klausurzulassung für Informatiker und Nachfolgend finden Sie die drei Aufgaben, die Sie als Zulassungsvoraussetzung für die Scheinklausur am 18.7.2001

Mehr

Einführung in Javadoc

Einführung in Javadoc Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:

Mehr

Knottenwäldchen Software

Knottenwäldchen Software Knottenwäldchen Software Installationsanleitung für die netzbasierte Lösung Knottenwäldchen Software März.2011 Knottenwäldchen Software Seite 2 1 Inhalt 1 Inhalt... 2 2 Übersicht... 3 3 Installation...

Mehr

dox42 Server V2.X Dokumentation DI Christian Bauer, zspm

dox42 Server V2.X Dokumentation DI Christian Bauer, zspm dox42 Server V2.X Dokumentation DI Christian Bauer, zspm Summary In die diesem Dokument sind die Serviceschnittstell sowie die Konfigurationseinstellung des dox42 Servers beschrieben. Inhalt Summary...

Mehr

Benutzerdokumentation Hosted Backup Services Client

Benutzerdokumentation Hosted Backup Services Client Benutzerdokumentation Hosted Backup Services Client Geschäftshaus Pilatushof Grabenhofstrasse 4 6010 Kriens Version 1.1 28.04.2014 Inhaltsverzeichnis 1 Einleitung 4 2 Voraussetzungen 4 3 Installation 5

Mehr

Web Services - Tutorial

Web Services - Tutorial RPG als Web Service Client Mihael Schmidt 0.1 Juli 2007 2007, 2008 Mihael Schmidt All rights reserved. Table of Contents 1. Allgemeines 1 1.1 Client... 1 1.2 Anwendungsserver... 1 2. Client 2 2.1 WSDL...

Mehr

AS-EDI-CONNECT P2PV2

AS-EDI-CONNECT P2PV2 AS-EDI-CONNECT P2PV2 Inhaltsverzeichnis 1. Installation von EDI CONNECT P2PV2... 3 1.1. Kontrolle der Definitionen... 3 1.2. Aktivieren des Protokolls P2PV2... 6 2. Active Notification installieren...

Mehr

Business Process Execution Language. Christian Vollmer Oliver Garbe

Business Process Execution Language. Christian Vollmer <christian.vollmer@udo.edu> Oliver Garbe <oliver.garbe@udo.edu> Business Process Execution Language Christian Vollmer Oliver Garbe Aufbau Was ist BPEL? Wofür ist BPEL gut? Wie funktioniert BPEL? Wie sieht BPEL aus?

Mehr

Übung 4: Schreiben eines Shell-Skripts

Übung 4: Schreiben eines Shell-Skripts Aufgabenteil 1 Ziel der Übung Übung 4: Schreiben eines Shell-Skripts Anhand eines einfachen Linux-Skripts sollen die Grundlagen der Shell-Programmierung vermittelt werden. Das für die Bash-Shell zu erstellende

Mehr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 7. 1. 2014 Kennnr. Matrikelnr. Familienname Vorname

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 7. 1. 2014 Kennnr. Matrikelnr. Familienname Vorname Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 7. 1. 2014 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 100 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden nicht

Mehr

Anleitung REST API Schneelast-Messsystem SMS

Anleitung REST API Schneelast-Messsystem SMS Anleitung REST API Schneelast-Messsystem SMS Version 2.01 REST API Schneelast-Messsystem SMS Die API (Schnittstelle) ist als sogenannter RESTful Webservice angelegt, bei dem jede Funktion über eine eindeutige

Mehr

Newsletter2Go - API Dokumentation

Newsletter2Go - API Dokumentation Newsletter2Go - API Dokumentation Changelog: (version 1.0 version 1.1) - Zwei neue optionale Parameter (opentracking, linktracking) in Email versenden Funktion (version 0.9 version 1.0) - category ist

Mehr

Skalierbare Webanwendungen mit Python und Google App Engine

Skalierbare Webanwendungen mit Python und Google App Engine Skalierbare Webanwendungen mit Python und Google App Engine Oliver Albers 03. Juli 2008 1/32 Einführung Worum geht es? Pro und Contra Technik Genereller Aufbau Anwendungskonfiguration Verarbeitung von

Mehr

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes 1 XSS: Cross-Site Scripting 1.) Es gelangen Daten in den Web-Browser, die Steuerungsinformationen

Mehr

Web-Services Implementierung

Web-Services Implementierung Web-Services Implementierung Praktikum Informationsintegration 8.11.2005 Agenda Aktueller Stand / Abgabe Implementierung Wie geht das mit Java und Tomcat? Service Client 2 Abgabe Teil 1 Ein paar Zahlen

Mehr

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

Mehr

1Im Gegensatz zu den übrigen Web-IO Digital, ist bei den

1Im Gegensatz zu den übrigen Web-IO Digital, ist bei den 5.9 Über die Standardbetriebsarten hinaus, beinhalten die ERP- Gateway-Modelle 57635 und 57636 zusätzlich das patentierte Wayback-Verfahren für den Zugriff auf die digitalen Ausgänge. Dieses ermöglicht

Mehr

Implementierung von Web Services: Teil I: Einleitung / SOAP

Implementierung von Web Services: Teil I: Einleitung / SOAP Implementierung von Web Services: Teil I: Einleitung / SOAP Prof. Dr. Kanne - FSS 2007 Carl-Christian Kanne, February 25, 2007 Web Services - p. 1/12 Web Services: Allgemein XML Datenaustauschformat plattformunabhängig

Mehr

1) JAVA JRE auf der QNAP Box installieren

1) JAVA JRE auf der QNAP Box installieren Hallo, hier eine kleine unvollständige Anleitung wie das CCU-Historian auf der QNAP läuft. Wenn Du eine QNAP hast, solltest Du diesen Weg nur dann beschreiten, wenn Du einmal eine Kommandozeile gesehen

Mehr

Programmieren II. Timer. Vorlesung 11. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011. Timer. Sockets.

Programmieren II. Timer. Vorlesung 11. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011. Timer. Sockets. Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 26 Timer Sockets SMTP-Client 2 / 26 Timer Mit einem Timer können bestimmte Aktionen periodisch wiederkehrend durchgeführt

Mehr

Auszug aus Axis2 Schulung

Auszug aus Axis2 Schulung Auszug aus Axis2 Schulung Dieses Dokument ist ein Auszug aus unserem Skript zur Axis2- Schulung. Es dient lediglich als Beispiel für unsere Kursunterlagen. Thomas Bayer Hauptstraße 33 75050 Gemmingen Mehr

Mehr

Service Engineering. Einbindung von Web Services in eine Java-Anwendung. Prof. Dr. Andreas Schmietendorf 1. SoSe 2010. Service Engineering

Service Engineering. Einbindung von Web Services in eine Java-Anwendung. Prof. Dr. Andreas Schmietendorf 1. SoSe 2010. Service Engineering Einbindung von Web Services in eine Java-Anwendung Prof. Dr. Andreas Schmietendorf 1 Ziele der Übung Vertiefung der Kenntnisse im Umgang mit SOAP Test eines Web Service mit Hilfe eines verfügbaren SOAP-Clients

Mehr

e-rechnung Mail Produktbeschreibung Version 3.0 OUTPUT-MANAGEMENT

e-rechnung Mail Produktbeschreibung Version 3.0 OUTPUT-MANAGEMENT e-rechnung Mail Produktbeschreibung Version 3.0 Inhaltsverzeichnis 1.1 SMTP Schnittstelle:... 4 1.2 File Schnittstelle (FTP):... 6 1.3 Preis... 8 1. e-rechnung Mail e-rechnung Mail bietet Unternehmen eine

Mehr

AlwinPro Care Modul Schnittstelle TV-Steuerung

AlwinPro Care Modul Schnittstelle TV-Steuerung AlwinPro Care Modul Schnittstelle TV-Steuerung Beschreibung AlwinPro Care bietet die Möglichkeit TV für tageweise abzurechnen und stellt für die Freischaltung der Leistung einen Authentifizierungsserver

Mehr

Transformation von XML-Dokumenten. IDE SummerSchool 2013, Chemnitz

Transformation von XML-Dokumenten. IDE SummerSchool 2013, Chemnitz Transformation von XML-Dokumenten Folie 1 Was ist XSL politisch? XSL ist eine eigene Technik. Zum Publizieren (Transformieren) von Dokumenten. Früher gab es dafür Verlage und Schriftsetzer, um gute Inhalte

Mehr

XML-Scripting mit XSLT für SysAdmins

XML-Scripting mit XSLT für SysAdmins XML-Scripting mit XSLT für SysAdmins Gerd Aschemann 01.03.2002 GUUG FFG 2002, Bochum Konventionelle Konfigurationsdateien test.cno:testacc home.test.cno:testacc ServerAdmin testacc@test.cno

Mehr

Elexis Barcode Unterstützung

Elexis Barcode Unterstützung documentation Elexis Barcode Unterstützung Bezeichnung: Elexis Barcode Unterstützung für selbstdispensierende Ärzte Author: Marco Descher Version: 1.1.4, März 2012 Beschreibung: Dieses

Mehr

BANKETTprofi Web-Client

BANKETTprofi Web-Client BANKETTprofi Web-Client Konfiguration und Bedienung Handout für die Einrichtung und Bedienung des BANKETTprofi Web-Clients im Intranet / Extranet Der BANKETTprofi Web-Client Mit dem BANKETTprofi Web-Client

Mehr

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

Mehr

11.1 Indirektes Binden (3) 11.1 Indirektes Binden (4) Objektadapterkonfiguration. Unmittelbarer Vorteil des indirekten Bindens

11.1 Indirektes Binden (3) 11.1 Indirektes Binden (4) Objektadapterkonfiguration. Unmittelbarer Vorteil des indirekten Bindens 11.1 Indirektes Binden (3) Objektadapterkonfiguration Name wird bei Erzeugung vergeben wird genutzt u.a. für Property-Zugriffe Adapter-ID wird über Property konfiguriert Beispiel: MyAdapter.AdapterID=MyAdapter

Mehr

Advanced PowerShell Sensor Dokumenten-Version: 2.0, Letzte Revision: 11.11.2014, Letzter Bearbeiter: Patrick Schmidt

Advanced PowerShell Sensor Dokumenten-Version: 2.0, Letzte Revision: 11.11.2014, Letzter Bearbeiter: Patrick Schmidt Advanced PowerShell Sensor Dokumenten-Version: 2.0, Letzte Revision: 11.11.2014, Letzter Bearbeiter: Patrick Schmidt Wenn Sie ein einfaches Skript erstellen wollen ohne Argumente oder eigene Ausgabe im

Mehr

Innovator 11 excellence. DDL importieren. Data-Definition-Language-Dateien in Datenbankschema importieren. HowTo. www.mid.de

Innovator 11 excellence. DDL importieren. Data-Definition-Language-Dateien in Datenbankschema importieren. HowTo. www.mid.de Innovator 11 excellence DDL importieren Data-Definition-Language-Dateien in Datenbankschema importieren HowTo www.mid.de Zweck In Innovator Data excellence können Sie mit dem DDL-Import Ihr physisches

Mehr