SOAP, WSDL und XPath

Größe: px
Ab Seite anzeigen:

Download "SOAP, WSDL und XPath"

Transkript

1 SOAP, WSDL und XPath Hauptseminar Grid Computing Tammo van Lessen, Universität Stuttgart WS 2003/2004 Zusammenfassung Grid-Computing soll Rechenleistung und andere Ressourcen transparent und ondemand zur Verfügung stellen. Die Open Grid Services Architecture (OGSA) stellt sich dieser Herausforderung und definiert Mechanismen zum Erstellen, Finden und Benutzen von Services. Der Zugriff auf die Services soll plattformunabhängig und lokationstransparent sein. Dazu stützt sich OGSA auf Web Service-Technologien, insbesondere WSDL und SOAP. Diese beiden Standards sowie die XML-Abfragesprache XPath sind das Thema dieses Artikels. Inhaltsverzeichnis 1 Einleitung 2 2 SOAP Struktur einer SOAP Nachricht Header-Attribut env:actor Header-Attribut env:mustunderstand SOAP-RPC Transport WSDL Aufbau eines WSDL-Dokuments Das types-element Das message-element Das porttype-element Das binding-element Das service-element

2 1 Einleitung 4 XPath Aufbau eines Ausdrucks Achsen Knotentests Prädikate Beispiel Zusammenfassung 14 A Literatur 15 1 Einleitung Ähnlich wie das World Wide Web, getragen durch Standards wie HTTP, HTML oder XML, den weltweiten Zugriff auf Informationen jeglicher Art ermöglicht, könnte man auch einen weltweiten Zugriff auf Ressourcen wie Datenbanken, Großrechner oder technische Instrumente realisieren. Die Vorteile eines solchen Grids 1 liegen auf der Hand: lokale Kosten ließen sich reduzieren und eine optimale Hardwareausnutzung wäre möglich, würde man seine Ressourcen in einem nahezu unendlich skalierbaren Netz teilen. Doch ohne eine standardisierte Architektur ist das nicht möglich. Um eine solche zu schaffen, formuliert Ian Forster drei Kernanforderungen an ein Grid (vgl. Foster 2002): Koordination von Ressourcen in einem Peer-to-Peer-Netzwerk, also ohne zentrale Kontrollinstanz Verwendung von offenen, standardisierten Protokollen und Schnittstellen Bereitstellung von nicht-trivialen Metadaten, anhand derer die Eignung der Services bewertet werden kann Die Open Grid Service Architecture definiert das Rahmenwerk um diese Anforderungen unter Verwendung von bereits bestehenden standardisierten Technologien zu erfüllen. Web Services definieren Techniken, um den Zugriff auf Software Komponenten zu beschreiben, ihn auszuführen und ermöglichen die Suche nach relevanten Service Providern. Sie sind Programmiersprachen-unabhängig und Programmierparadigmen-neutral Um diese Eigenschaften für sich nutzen zu können, stützt sich OGSA auf die Web Service Standards SOAP, WSDL und WS-Inspection (vgl. Foster u. a. 2002). SOAP und WSDL werden in diesem Artikel näher erklärt. 2 SOAP Um Verbindung zu Grid Services aufnehmen zu können, muss man Datenübertragung und entfernte Methodenaufrufe über das Internet realisieren. Die Daten müssen dabei so ver- 1 Die Energieversorger haben die Machbarkeit eines Grids eindrucksvoll demonstriert. Mehrere Kraftwerke sind zu einem Powergrid zusammen geschlossen und können so flexibel auf schwankenden Strombedarf reagieren. Das Grid Computing bezieht daher auch seinen Namen. 2

3 2 SOAP packt sein, dass sie von dem Empfänger verstanden werden können. Hindernisse wie Firewalls müssen überwunden werden können. Eine Antwort zur Lösung dieser Probleme ist SOAP. Im Jahre 1999 begann Microsoft zusammen mit Dave Winner die Spezifikation der ersten Version von SOAP, dem Simple Object Access Protocol. Zusammen mit IBM reichte man die folgende Version 1.1 im Mai 2000 als Note beim World Wide Web Consortium (W3C) zum Standardisieren ein. Dabei versuchte man eine Arbeitsgruppe zu gründen, die die Entwicklung von SOAP weiter voran bringen sollte. Aus dieser Arbeitsgruppe ging im Juni 2003 die derzeit aktuelle Version 1.2 hervor. Seit dieser Version ist SOAP keine Abkürzung mehr, da sämtliche Deutungen wie Simple Object Access Protocol oder Service Oriented Architecture Protocol den Sinn von SOAP nicht richtig treffen. SOAP bietet ein leichtgewichtiges XML-basiertes Protokoll zum Verpacken von Nachrichten, die zwischen Applikationen ausgetauscht werden. Bei der Entwicklung legte man großen Wert auf Erweiterbarkeit, Offenheit und Heterogenität des Protokolls. SOAP besteht im Wesentlichen aus vier Teilen: der Spezifikation für einen Umschlag (Envelope). Für ihn ist definiert, was in einer Nachricht enthalten ist, von wem es wie verarbeitet werden soll und ob einzelne Daten optional sind oder enthalten sein müssen. ein Satz von Regeln, die vorschreiben, wie Daten in dem Umschlag repräsentiert werden sollen (Serialisierung) eine Konvention, um Remote Procedure Calls und eventuelle Antworten auf diese zu repräsentieren eine Vorschrift, wie SOAP via HTTP übertragen werden soll. Dank des erweiterbaren Entwurfs können aber beliebige Transportprotokolle verwendet werden. Eine SOAP-Nachricht muss nicht zwangsläufig direkt vom Sender (initial sender) an den Empfänger (ultimate receiver) geschickt werden, sondern kann über mehrere Relay-Stationen (intermediaries) geleitet werden. Den Weg, dem sie dabei folgt, nennt man Message Path. SOAP macht jedoch keine Angaben dazu, in welcher Reihenfolge die Stationen abgearbeitet werden. Es gibt aber einige SOAP-Erweiterungen, die diese Lücke zu füllen versuchen. Der SOAP-spezifische Teil einer Nachricht wird über die Zuordnung zu bestimmten Namensräumen erkennbar. Wichtige Namensräume für den Umschlag. für die Serialisierungs-Vorschriften. für die Untersützung von Remote Procedure Calls. 2.1 Struktur einer SOAP Nachricht Eine SOAP-Nachricht ist ein XML-Dokument, das nach dem Header-Body-Pattern strukturiert ist (siehe Abb. 1). 3

4 2 SOAP Abbildung 1: Aufbau einer SOAP-Nachricht Der Header ist optional und enthält meist Metadaten zum Body. Diese werden in mehreren Headerblöcken unterhalb des Header-Elements untergebracht. Daten zur Authentifizierung oder zum Transaktionsmanagement würden beispielsweise im Header untergebracht. Läuft die Nachricht über mehrere Stationen, können die Headerblöcke von den Zwischenstationen untersucht, verändert oder gelöscht werden. Nach der Verarbeitung muss der Header entfernt werden. Da Headerblöcke aber auch hinzugefügt werden können, steht es der Station frei, den Block (un)verändert wieder einzufügen. Der Body kann jeden wohlgeformten und Namensraum-qualifizierten XML-Code enthalten. Das ist die eigentliche Fracht der Nachricht und in der Regel nur für den End-Empfänger bestimmt. Beispiel: 1 <env:envelope xmlns:env=" 2 <env:header> 3 <xr:authentication xmlns:xr=" env: mustunderstand="1"> 4 <xr:userid>username</xr:userid> 5 <xr:passwd>encryptedpassword</xr:passwd> 6 </xr:authentication> 7 </env:header> 8 <env:body> 9 <xm:message xmlns:xm=" </xm:message> 12 </env:body> 13 </env:envelope> Tritt beim Verarbeiten der Nachricht ein Fehler auf, so wird eine speziell kodierte Nachricht zurück an den Empfänger gesendet. Deren Aufbau zeigt das folgende Listing: 1 <env:envelope xmlns:env=" env: encodingstyle=" 4

5 2 SOAP 2 <env:body> 3 <env:fault> 4 <env:code> 5 <env:value>env:mustunderstand</value> 6 </env:code> 7 <env:reason> 8 <env:text>soap Must Understand Error</env:Text> 9 </env:reason> 10 </env:fault> 11 </env:body> 12 </env:envelope> Das Fault-Element ist also optionaler Bestandteil des Body-Elements. Die Angabe eines Fehler-Codes und des //Reason/Texts sind obligatorisch und sollen mensch- bzw. maschinenverständlich den aufgetretenen Fehler beschreiben. Optional kann eine Role angegeben werden, die den Verursacher identifiziert wenn der Fehler auf dem Weg zum Empfänger aufgetreten ist. Das Feld Detail sollte gefüllt werden, wenn der Body nicht fehlerfrei bearbeitet werden konnte Header-Attribut env:actor SOAP stellt drei Standard-Rollen (role) vor none, next und ultimatereceiver die einem Header zugewiesen werden können. Dazu wird dem env:actor-attribut eine entsprechende URI zugewiesen. Man kann daher auch eigene Rollen definieren. An Hand dieser Rolle kann die Station, die die Nachricht gerade bearbeitet, erkennen, ob sie den Header verarbeiten soll. Die Rolle next fordert, dass die Station den Header verarbeiten soll. none bedeutet, dass der Header nicht verarbeitet werden muss. Seine Informationen können jedoch zur Verarbeitung anderer Header benutzt werden. Hat ein Header die Rolle ultimatereceiver, so darf er ausschließlich von dem End-Empfänger verarbeitet werden. Das Attribut ist optional. Wird es nicht explizit angegeben, ist der Header nur für den End- Empfänger bestimmt. Beispiel: 1 <env:envelope xmlns:env=" 2 <env:header> 3 <xr:authentication xmlns:xr=" env: mustunderstand="1" env:role=" role/next"> </xr:authentication> 6 <xl:log xmlns:xr=" 7 env:role=" </xr:log> 10 </env:header> 11 <env:body>...</env:body> 12 </env:envelope> 5

6 2 SOAP Das Beispiel zeigt zwei Headerblöcke. Der Erste soll den Absender authentifizieren, der Zweite einen Log-Eintrag erzeugen. Da beide die Rolle next haben, wird jede Zwischenstation, die mit dem Namensraum xr bzw. xl vertraut ist, den Header verarbeiten Header-Attribut env:mustunderstand Die Informationen im Header können unterschiedlich wichtig sein. Daher ist es wichtig, angeben zu können, ob eine Zwischenstation den Header erfolgreich verarbeiten muss. Mit dem obigen Beispiel kann man das schön verdeutlichen. Die Authentifizierung des Absenders ist wichtig. Schlägt sie fehl, muss die Nachricht nicht mehr an den End-Empfänger weitergeleitet, sondern eine Fehlermeldung an den Absender geschickt werden. Bei dem Logging-Header ist das anders. Schlägt dieser fehl, kann ruhig fortgefahren werden. Deshalb ist bei dem ersten Header auch das mustunderstand-attribut gesetzt. Falls ein Knoten einen erforderlichen Block nicht verarbeiten kann, muss er einen env:fault erzeugen und zurückschicken. Die Weiterverarbeitung der Nachricht wird beendet und die Nachricht nicht an den nächsten Knoten im Nachrichtenpfad weitergeleitet. 2.2 SOAP-RPC Soll mit SOAP eine entfernte Methode aufgerufen werden, so schreibt der Standard eine bestimmte Struktur für den Call- und den Response-Body vor. In der Regel übernimmt die SOAP Middleware das Erstellen solcher Nachrichten und das Mapping auf die tatsächliche Methode. Dazu muss der Methodenname sowie die -Parameter in XML umgewandelt werden und im SOAP-Body verpackt werden. Die Antwortnachricht enthält den Rückgabewert und die Rückgabeparameter. Um die Interoperabilität zwischen heterogenen Systemen sicherstellen zu können, müssen beide Systeme die gleiche Sprache sprechen. Es muss geregelt sein, wie ein String oder Integer in der SOAP-Nachricht dargestellt wird. Über das encodingstyle-attribut der RPC-Nachricht kann man beliebige Encoding- Vorschriften benennen (z.b. XML Schema). In Gudgin u. a. (2003b) wird das SOAP Encoding beschrieben 2, also auf welche Weise Primitive, Arrays und ADTs zu XML serialisiert werden sollen. 2.3 Transport Am häufigsten werden SOAP-Nachrichten über HTTP versendet. HTTP als Übertragungsprotokoll ist weltweit verbreitet und verfügbar. HTTP-Server sind weit entwickelt und auch unter großen Lasten nutzbar. Es lässt sich mittels GET für eine asynchrone und via POST für eine synchrone Kommunikation nutzen. Wegen dieser Vorteile ist der Transport über HTTP der einzige, der direkt in der SOAP-Spezifikation standardisiert ist. Unabhängig von dem Standard ist der Transport über beliebige Protokolle (z.b. FTP, TCP, SMTP, JMS, XMPP) denkbar. 2 Setzt man das encodingstyle-attribut auf wird das SOAP Encoding verwendet 6

7 3 WSDL 3 WSDL Nachdem mit SOAP die Kommunikation zu Services standardisiert wurde, fehlte ein Standard zur Beschreibung der Service-Schnittstellen. So entstand durch das Zusammenlegen von IBMs Network Accessible Services Specification Language und Microsofts SOAP Contract Language die Sprache WSDL. Diese Abkürzung steht für Web Service Description Language, gesprochen whistle. Sie ist eine XML-basierte Metasprache, mit deren Hilfe die Funktionalität eines Web Services beschrieben werden kann. Sie gilt Vertrag zwischen Service Provider und Service Requestor. An WSDL wurden hohe Anforderungen geknüpft. Es soll die Service-Schnittstellen Programmiersprachen- und Programmierparadigmen-neutral definieren, darüber hinaus abstrakt und erweiterbar sein. Damit scheiden klassische Schnittstellen- Beschreibungsprachen wie CORBA IDL, DCOM IDL und Java als direkte Vorbilder aus (Jeckle 2002). Insgesamt waren 25 Firmen an der Entwicklung beteiligt. Seit März 2001 ist die Version 1.1 aktuell. Auch hier wurde eine Arbeitsgruppe im W3C zur Weiterentwicklung gegründet, WSDL 1.2 und 2.0 sind in Arbeit. Während im Globus Toolkit 3 noch eine Abwandlung von WSDL, nämlich GWSDL, verwendet wurde, stützt sich die Version 4 auf das Standard-WSDL mit WS-ResourceProperties. WSDL beschreibt die auszutauschenden Nachrichten, das dazu verwendete Protokoll und gibt an, unter welcher Adresse der Web Service zu erreichen ist. 3.1 Aufbau eines WSDL-Dokuments Damit das Format hinsichtlich zukünftiger Nachrichtenformate und Transportprotokolle erweiterbar ist, gliedert es sich in zwei Teile. Eine abstrakte und eine konkrete Definition. Die abstrakte Definition beschreibt die Datentypen, die Operationen und Nachrichten. Diese werden zu so genannten porttypes zusammen gefasst. Die konkrete Definition bindet die porttypes an ein Transportprotokoll und fasst diese ports zu services zusammen. Struktur eines WSDL-Dokuments 1 <definitions> 2 <types>...</types> 3 <message> 4 <part>...</part> </message> 7 <porttype> 8 <operation> 9 <input>...</input> 10 <output>...</output> 11 </operation> </porttype> 7

8 3 WSDL 14 <binding>...</binding> 15 <service> 16 <port>...</port> </service> 19 </definitions> Bis auf types können alle Elemente mehrfach in einem WSDL-Dokument vorkommen. Dadurch ist es möglich, unterschiedliche Services mit unterschiedlicher Funktionalität und unterschiedlichen Protokollen anzubieten. Ebenso kann man aber auch die gleiche Funktionalität über verschiedene Kanäle bereitstellen. Mit dem Element documentation kann man die einzelnen Elemente mit Fließtext kommentieren. Um die Wartbarkeit und Wiederverwendbarkeit von WSDL-Dokumenten zu verbessern, hat man mit dem import-element die Möglichkeit geschaffen, mehrere WSDL-Fragmente zusammen zu führen. Jedes der aufgelisteten Elemente hat ein name-attribut, über das das Element eindeutig identifiziert werden kann Das types-element Zur Definition von Datentypen stützt sich WSDL auf XML Schema. Dessen primitive Datentypen kann man direkt verwenden. Möchte man komplexe Datentypen definieren, so ist das types-element der richtige Ort dafür Das message-element Das message-element beschreibt die Nachrichten, die zwischen Requestor und Provider ausgetauscht werden können. Die Richtung ist hier zunächst unerheblich. Ein Message-Element kann aus keinem, einem oder mehreren part-elementen bestehen. Diese bilden ein 2-Tupel aus Name und Typ, sind also ähnlich einer Variablendeklaration in gängigen Programmiersprachen. Als Datentypen stehen einem die XML-Schema-Primitiven sowie die unter types definierten Typen zur Verfügung. Beispiel: 1 <message name="gettermrequest"> 2 <part name="term" type="xs:string"/> 3 </message> 4 <message name="gettermresponse"> 5 <part name="term" type="xs:string"/> 6 </message> Das Beispiel deklariert zwei Nachrichten, die jeweils eine Variable namens term vom Typ String enthalten. 8

9 3 WSDL Das porttype-element Der porttype beschreibt die Schnittstelle des Services. In ihm werden eine oder mehrere Operationen zusammen gefasst, ähnlich wie ein Java Interface. Diese ordnen der Operation die Ein- und Ausgabeparameter zu. Über diese Zuordnung wird das sogenannte Message Exchange Pattern der Schnittstelle festgelegt. Abbildung 2: Message Exchange Patterns in WSDL 1.1 Beispiel: 1 <porttype name="glossaryterms"> 2 <operation name="getterm"> 3 <input message="tns:gettermrequest"/> 4 <output message="tns:gettermresponse"/> 5 </operation> 6 </porttype> Das Beispiel definiert ein Interface names glossaryterms. Es enthält eine Methodensignatur getterm, die als Eingabe eine gettermrequest-nachricht akzeptiert. Nach der Ausführung kommt von der Methode eine Nachricht gettermresponse zurück Das binding-element Das Binding beschreibt die konkrete Anbindung eines porttypes an eine Serialisierungsvorschrift und ein Transportprotokoll (z.b. SOAP, MIME, HTTP GET/POST). Beispiel: 1 <binding type="tns:glossaryterms" name="glossarytermsbinding"> 2 <soap:binding style="document" transport=" http" /> 3 <operation> 4 <soap:operation soapaction=" 5 <input> 6 <soap:body use="literal"/> 7 </input> 8 <output> 9 <soap:body use="literal"/> 9

10 4 XPath 10 </output> 11 </operation> 12 </soap:binding> 13 </binding> Das Beispiel bindet den oben definierten porttype glossaryterms an das SOAP über HTTP- Protokoll. Dabei soll nicht der RPC-style, sondern der document-style verwendet werden, die Parameter der getterm-methode werden entsprechend einem XML-Schema serialisiert Das service-element Das service-element stellt aus einem oder mehreren ports einen Dienst zusammen. Ein port ordnet dem Binding einen bestimmten Endpunkt zu. Wie dieser definiert wird, hängt von dem verwendeten Transportprotokoll ab. Bei SOAP über HTTP ist dies beispielsweise die URL, über die der Service Provider erreichbar ist. Beispiel: 1 <service name="glossarytermservice"> 2 <port name="glossarytermport" binding="tns:glossarytermbinding"> 3 <soap:address location=" 4 </port> 5 </service> Das Beispiel definiert einen Service mit einem Port. Dieser Service soll den glossaryterm- PortType via SOAP über HTTP an der angegeben URL bereit stellen. 4 XPath Die zentrale Anlaufstelle für die Nutzer eines Grids ist die Registry. Sie dient beispielsweise zum Auffinden von Grid Services. Dazu setzt man eine Anfrage, die bestimmte Anforderungen an den Service beschreibt. Eine der vom Globus Toolkit 3 unterstützten Abfragesprachen ist XPath. XPath steht für XML Path Language und wurde 1999 vom W3C Konsortium standardisiert. Das Ziel von XPath ist die einfache und kompakte Adressierung von Teilen eines XML- Dokuments. Der Verwendung der in URLs genutzten Pfad-Notation, mit der sich durch die hierarchische Struktur des XML-Dokuments navigieren lässt, verdankt XPath seinen Namen. Die Sprache selbst verwendet aber keine XML-Syntax. Die aktuelle Version von XPath ist 1.0, die Folgeversion wird 2.0 heißen und soll mehr Rücksicht auf Typsicherheit nehmen. XPath operiert nicht auf der äußerlichen Syntax des XML-Dokuments sondern auf der abstrakten, das XML-Dokument repräsentierenden, Baumstruktur. Es gibt sieben Knotentypen: 3 Das Globus Toolkit ist eine Open Source Referenzimplementierung von OGSA/OGSI. Es wird von der Globus Alliance entwickelt. 10

11 4 XPath Wurzelknoten Elementknoten Textknoten Attributknoten Namensraumknoten Processing-Instruction-Knoten Kommentarknoten Der Baum ist logisch so aufgebaut, dass nur Elementknoten Kinder haben können, die anderen Knotentypen gehören also immer zu einem Elementknoten. Dabei wird die Reihenfolge im XML-Dokument beibehalten. 4.1 Aufbau eines Ausdrucks Ein XPath Ausdruck setzt sich aus einem oder mehreren Location Steps zusammen. Diese sind äquivalent zu einem Pfadelement in URIs und werden auch mit dem Zeichen / getrennt. Ein solcher Lokationsschritt besteht aus einer Achse (axis) und einem Knotentest (node-test), gefolgt von einem oder mehreren optionalen Prädikaten (predicates). Syntax: axis::node-test[predicate]/axis::node-test[predicate]/... Ein Lokationsschritt ist zunächst relativ zu dem aktuellen Kontextknoten. Durch das Anführen eines /-Zeichens beginnt er bei dem Wurzelelement. Um mehrere XPath-Ausdrücke miteinander zu verbinden benutzt man das -Zeichen. Die Auswertung eines XPath-Ausdrucks ergibt ein Objekt, dass zu einem von vier Datentypen gehört: node-set eine ungeordnete duplikatfreie Menge von Knoten boolean wahr oder falsch number eine 64-bit Gleitkommazahl string eine Zeichenkette 4.2 Achsen Durch den XML-Baum kann man auf unterschiedliche Weisen navigieren. Die Achsen bestimmen ausgehend vom aktuellen Kontextknoten, welche Knoten in die Ergebnismenge aufgenommen werden (siehe Tabelle 1). Wird keine Achse angegeben, wird die child- Achse verwendet. 11

12 4 XPath preceding-sibling Achse selektierte Knoten Abkürzung child direkt untergeordnete durch weglassen parent direkt übergeordnete.. self der Referenzknoten selbst. ancestor übergeordnete ancestor-or-self übergeordnete, oder der Knoten selbst descendant untergeordnete descendant-or-self untergeordnete, oder der Knoten selbst // following gleiche Ebene der Baumstruktur, nachfolgend im XML-Dokument following-sibling wie following, und vom gleichen parent stammend preceding gleiche Ebene der Baumstruktur, vorhergehend im XML-Dokument wie preceding, und vom gleichen parent stammend attribute Attribute des namespace Namensräume des Kontextknotens Tabelle 1: XPath-Achsen Abbildung 3 veranschaulicht, welche Pfade im XML-Baum von welchen Achsen selektiert werden. Jede Achse besitzt einen Hauptknotentyp. Alle Achsen, die Element-Knoten selektieren, haben den Elementtyp als Hauptknotentyp. Für die anderen Achsen gilt: Für die Attributachse ist der Hauptknotentyp der Attributtyp. Für die Namensraumachse ist der Hauptknotentyp der Namensraum-Typ. 4.3 Knotentests Knotentests helfen, die durch die Achse selektierte Knotenmenge einzuschränken. Um einen Knoten in der Ergebnismenge zu behalten, muss der Knotentest-Wert identisch mit dem qualifizierten Namen des Knotens sein. Dabei orientiert man sich am Hauptknotentyp der Achse. Beispiel: child::para selektiert alle para-kindelemente des Kontextknotens. attribute::href selektiert das href-attribut des Kontextknotens. Ein Knotentest * ist für jeden Knoten des Hauptknotentyps erfüllt. Beispielsweise wählt child::* alle Kindelemente und attribute::* alle Attributknoten des Kontextknotens aus. Um bestimmte Knotentypen zu selektieren, gibt es die Knotentests text(), comment() und processing-instruction(). 12

13 4 XPath Abbildung 3: XPath-Achsen 4.4 Prädikate Mit den in eckigen Klammern eingeschlossenen Prädikaten kann das Ergebnis weiter eingeschränkt werden. Es lassen sich beliebig viele solcher Prädikate hintereinander schreiben, dabei ist die Reihenfolge von Bedeutung. Ist das Ergebnis der Prädikatsauswertung logisch wahr, so wird der Knoten in die neue Ergebnismenge aufgenommen. Um die Prädikate zu formulieren stehen neben den Wahrheits- und Grundrechenfunktionen auch Zeichenkettenund Knotenfunktionen zur Verfügung. 4.5 Beispiel Gegen sei das folgende XML-Dokument. 1 <?xml version="1.0"?> 2 <library> 3 <compact-disc id="monk1"> 4 <title>straight, No Chaser</title> 5 <artist>thelonious Monk</artist> 6 <price currency="eur">10</price> 7 </compact-disc> 13

14 5 Zusammenfassung 8 <compact-disc id="monk2"> 9 <title>monk</title> 10 <artist>thelonious Monk</artist> 11 <price currency="eur">12</price> 12 </compact-disc> 13 <compact-disc id="peterson1"> 14 <title>ben Webster meets Oscar Peterson</title> 15 <artist>oscar Peterson</artist> 16 <price currency="usd">10</price> 17 </compact-disc> 18 </library> Beispiel: /library selektiert das Wurzel-Element library. /library/compact-disc selektiert alle compact-disc-elemente. descendant-or-self::compact-disk - wie oben. /library/compact-disc[1] selektiert das erste compact-disc-element. /library/compact-disc[@id= monk2 ] selektiert das compact-disc-element mit dem id-attribut monk2. /library/compact-disc[@id= monk2 ] selektiert das compact-disc-element mit dem id-attribut monk2. //compact-disc[price <= 12 and price/@currency= EUR ] selektiert alle compact-disc-elemente, deren Preis kleiner gleich 12 und deren Währung EUR ist. //compact-disc[starts-with(./artist, Oscar )] selektiert alle compact-disc-elemente, deren Artist mit der Zeichenkette Oscar beginnt. 5 Zusammenfassung In dieser Ausarbeitung wurde deutlich, dass die Web Service-Technologien durchgängig von XML Gebrauch machen. Das trifft sowohl auf die Beschreibungssprachen als auch auf die Datenübertragung zu. Durch klar definierte Regeln zum Umwandeln von Datenobjekten zu solchen XML-Datenströmen ist ein transparenter Zugriff auf heterogene Services möglich. Grid Computing benötigt genau die dadurch geschaffene Unabhängigkeit von Betriebssystemen, Programmiersprachen und Programmierparadigmen. Die Offenheit und Flexibilität dieser Technologien, macht sie zur idealen Basistechnologie in der Grid-Architektur. Wenn durchgängig XML zur Repräsentation von Daten und Metainformation benutzt wird, kann man mit XPath auch komplexe Abfragen realisieren. Dadurch ist es recht einfach möglich, den am besten passenden Service zu finden. 14

15 A Literatur A Literatur Alonso u. a ALONSO, Gustavo ; CASATI, Fabio ; KUNO, Harumi: Web Services. Springer, Berlin, 2003 Christensen u. a CHRISTENSEN, Erik ; CURBERA, Francisco ; MEREDITH, Greg ; WEERAWARANA, Sanjiva: Web Services Description Language (WSDL) Version: Clark u. DeRose 1999 CLARK, James ; DEROSE, Steve: XML Path Language (XPath) Version 1.0. W3C Recommendation, Foster 2002 FOSTER, Ian: What is the Grid? A Three Point Checklist. Grid Today, gridtoday.com/02/0722/ html, 2002 Foster u. a FOSTER, Ian ; KESSELMAN, Carl ; NICK, Jeffrey M. ; TUECKE, Steven: The Physiology of the Grid: An Open Grid Services Architecture for Distributed Systems Integration. Globus Project, Gudgin u. a. 2003a GUDGIN, Martin ; HADLEY, Marc ; MENDELSOHN, Noah ; MOREAU, Jean-Jacques ; NIELSEN, Henrik F.: SOAP Version 1.2 Part 1: Messaging Framework. org/tr/soap12-part1/. Version: 24. Juni 2003 Gudgin u. a. 2003b GUDGIN, Martin ; HADLEY, Marc ; MENDELSOHN, Noah ; MOREAU, Jean-Jacques ; NIELSEN, Henrik F.: SOAP Version 1.2 Part 2: Adjuncts. soap12-part2/. Version: 24. Juni 2003 Jeckle 2002 JECKLE, Mario: Die nächste WSDL-Generation. WSDL2002.pdf, Juni 2002 Mitra 2003 MITRA, Nilo: SOAP Version 1.2 Part 0: Primer. soap12-part0/. Version: 24. Juni 2003 W3 Schools a W3 SCHOOLS: SOAP Tutorial. W3 Schools b W3 SCHOOLS: WSDL Tutorial. W3 Schools c W3 SCHOOLS: XPath Tutorial. 15

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

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP) Enterprise Applikation Integration und Service-orientierte Architekturen 09 Simple Object Access Protocol (SOAP) Anwendungsintegration ein Beispiel Messages Warenwirtschaftssystem Auktionssystem thats

Mehr

WSDL. Web Services Description Language. André Vorbach. André Vorbach

WSDL. Web Services Description Language. André Vorbach. André Vorbach André Vorbach WSDL Web Services Description Language André Vorbach Übersicht Was ist WSDL? Dokumentenstruktur Elemente Definitions Types Messages porttype Binding Service SOAP-Bindings Beispiel Was ist

Mehr

Workflow, Business Process Management, 4.Teil

Workflow, Business Process Management, 4.Teil Workflow, Business Process Management, 4.Teil 24. Januar 2004 Der vorliegende Text darf für Zwecke der Vorlesung Workflow, Business Process Management des Autors vervielfältigt werden. Eine weitere Nutzung

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

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

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen 9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.

Mehr

Zustandsgebundene Webservices

Zustandsgebundene Webservices Zustandsgebundene Webservices Präsentation ausgewählter Problemstellungen der Informatik Markus Oertel oer@uni-paderborn.de Universität Paderborn 25. September 2005 Zustandsgebundene Webservices Seite

Mehr

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer *Was sind Web Services? *Beispiele für Web Services *Web Service Architektur *Web Services Technologien *Fazit 2 *Übertragungsstandard

Mehr

Architektur von SOAP basierten Web Services

Architektur von SOAP basierten Web Services Architektur von SOAP basierten Web Services André Homeyer 28.11.2005 Worst-Case einer verteilten Anwendung TravelTime Client Benutzerinterface WackyWing Server Flüge suchen TravelTime Server Flüge suchen

Mehr

Java und XML 2. Java und XML

Java und XML 2. Java und XML Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik Java und XML Hauptseminar Telematik WS 2002/2003

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

XML 1. Einführung, oxygen. Ulrike Henny. ulrike.henny@uni-koeln.de. IDE Summer School 2013, Chemnitz

XML 1. Einführung, oxygen. Ulrike Henny. ulrike.henny@uni-koeln.de. IDE Summer School 2013, Chemnitz XML 1 Einführung, oxygen Ulrike Henny ulrike.henny@uni-koeln.de XML extensible Markup Language Was ist XML? XML-Grundlagen XML-Editoren, oxygen HTML + CSS XPath Übungen Literatur Folie 2 Was ist XML? extensible

Mehr

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Autorisierung Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Dokumentation zum Referat von Matthias Warnicke und Joachim Schröder Modul: Komponenten basierte Softwareentwickelung

Mehr

Containerformat Spezifikation

Containerformat Spezifikation Containerformat Spezifikation Version 1.0-09.05.2011 Inhaltsverzeichnis 0 Einführung... 4 0.1 Referenzierte Dokumente... 4 0.2 Abkürzungen... 4 1 Containerformat... 5 1.1 Aufbau des Container-Headers...

Mehr

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik SOA Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik Laderampen müssen passen Modularisieren Softwarearchitektur Modul A Modul B Modul C Modul D Große Anwendung im Unternehmen Modul

Mehr

Klaus Schild, XML Clearinghouse 2003. Namensräume

Klaus Schild, XML Clearinghouse 2003. Namensräume Namensräume Lernziele Namenskonflikte Warum lösen im World Wide Web einfache Präfixe dieses Problem nicht? Wie lösen globale Namensräume das Problem? Wie werden sie in XML-Dokumenten benutzt? Was sind

Mehr

Web-Sevices : WSDL Entwicklung von Web-Anwendungen

Web-Sevices : WSDL Entwicklung von Web-Anwendungen Web-Sevices : WSDL Entwicklung von Web-Anwendungen Axel Reusch : ar047 MIB page 1 : 50 Agenda! Allgemeines! Prinzip! Anwendung! Details! WSDL und SOAP! Beispiel mit Java! Erweiterungen! Vorteile! Nachteile!

Mehr

Man liest sich: POP3/IMAP

Man liest sich: POP3/IMAP Man liest sich: POP3/IMAP Gliederung 1. Einführung 1.1 Allgemeiner Nachrichtenfluss beim Versenden von E-Mails 1.2 Client und Server 1.2.1 Client 1.2.2 Server 2. POP3 2.1 Definition 2.2 Geschichte und

Mehr

3-schichtige Informationssystem-Architektur

3-schichtige Informationssystem-Architektur 3-schichtige Informationssystem-Architektur plattformunabhängig beliebige Endgeräte Client als Applikation & Applet XML über SOAP Standard plattformunabhängig objektorientierte Architektur multiuserfähig

Mehr

Containerformat Spezifikation

Containerformat Spezifikation Containerformat Spezifikation Version 1.1-21.02.2014 Inhaltsverzeichnis 0 Einführung... 4 0.1 Referenzierte Dokumente... 4 0.2 Abkürzungen... 4 1 Containerformat... 5 1.1 Aufbau des Container-Headers...

Mehr

RDF und RDF Schema. Einführung in die Problematik Von HTML über XML zu RDF

RDF und RDF Schema. Einführung in die Problematik Von HTML über XML zu RDF RDF und RDF Schema Einführung in die Problematik Von HTML über XML zu RDF Kirsten Albrecht Roland Illig Probleme des HTML-basierten

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

Thema: Web Services. Was ist ein Web Service?

Thema: Web Services. Was ist ein Web Service? Willkommen zum Component Ware Seminar Thema: Achim Grimm & Fabian Unterschütz Folie 1 Was ist ein Web Service? Web Services sind selbstbeschreibende, modulare Softwarekomponenten im Internet, die sich

Mehr

How-to: Webserver NAT. Securepoint Security System Version 2007nx

How-to: Webserver NAT. Securepoint Security System Version 2007nx Securepoint Security System Inhaltsverzeichnis Webserver NAT... 3 1 Konfiguration einer Webserver NAT... 4 1.1 Einrichten von Netzwerkobjekten... 4 1.2 Erstellen von Firewall-Regeln... 6 Seite 2 Webserver

Mehr

Seminar E-Services WS 02/03 WSDL. Web Services Description Language. Moritz Kleine SES 02 - WSDL

Seminar E-Services WS 02/03 WSDL. Web Services Description Language. Moritz Kleine SES 02 - WSDL Seminar E-Services WS 02/03 WSDL Web Services Description Language SES 02 - WSDL Zum Ablauf Einleitung Webservices und WSDL Grundlagen (XML - Schema und Namespaces) WSDL Syntax Beispiel Zusammenfassung

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

Mehr

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000 Folgende Anleitung beschreibt, wie Sie ein bestehendes Postfach in Outlook Express, bzw. Microsoft Outlook bis Version 2000 einrichten können. 1. Öffnen Sie im Menü die Punkte Extras und anschließend Konten

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Version 2.0.1 Deutsch 03.06.2014. In diesem HOWTO wird beschrieben wie Sie Ihren Gästen die Anmeldung über eine SMS ermöglichen.

Version 2.0.1 Deutsch 03.06.2014. In diesem HOWTO wird beschrieben wie Sie Ihren Gästen die Anmeldung über eine SMS ermöglichen. Version 2.0.1 Deutsch 03.06.2014 In diesem HOWTO wird beschrieben wie Sie Ihren Gästen die Anmeldung über eine SMS ermöglichen. Inhaltsverzeichnis... 1 1. Hinweise... 2 2. Konfiguration... 3 2.1. Generische

Mehr

SIMP 1.01 Protokollspezifikation (Mindestanforderung)

SIMP 1.01 Protokollspezifikation (Mindestanforderung) SIMP 1.01 Protokollspezifikation (Mindestanforderung) Autor: Harald Pittesser, Dokumentversion: 0.5 beta Eigenschaften SIMP (Simple Instant Message Protocol) ist ein Instant Message Protokol welches folgende

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Motivation. Inhalt. URI-Schemata (1) URI-Schemata (2)

Motivation. Inhalt. URI-Schemata (1) URI-Schemata (2) 14. URIs Uniform Resource Identifier 14-1 14. URIs Uniform Resource Identifier 14-2 Motivation Das WWW ist ein Hypermedia System. Es enthält: Resourcen (Multimedia Dokumente) Verweise (Links) zwischen

Mehr

Dieses HowTo darf nicht vervielfältigt oder veröffentlich werden ohne Einverständnis des Erstellers. Alle Angaben ohne Gewähr.

Dieses HowTo darf nicht vervielfältigt oder veröffentlich werden ohne Einverständnis des Erstellers. Alle Angaben ohne Gewähr. [HowTo] Einrichten von POP3 & SMTP am Client Autor(en): Michael Ruck Stand: 19.09.2008 Version: 1.0 Lotus Notes Client Versionen: 6.x, 7.x, 8.x Michael Ruck Dieses HowTo darf nicht vervielfältigt oder

Mehr

Securing SOAP e-services

Securing SOAP e-services Securing SOAP e-services Nilson Reyes Sommersemester 2004 aus: E. Damiani, S. De Capitani di Vermercati, S. Paraboschi, P. Samarati, Securing SOAP e-sservices, IJIS, Ausgabe 1 (2002), S.110-115. Gliederung

Mehr

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................

Mehr

Übersicht. Angewandte Informatik 2 - Tutorium 6. Teile einer WSDL-Datei. Was ist WSDL. Besprechung: Übungsblatt 5

Übersicht. Angewandte Informatik 2 - Tutorium 6. Teile einer WSDL-Datei. Was ist WSDL. Besprechung: Übungsblatt 5 Übersicht Angewandte Informatik 2 - Tutorium 6 Besprechung: Übungsblatt 5 Götz Bürkle (goetz@buerkle.org) Übungsblatt 5: Aufgabe 4 - Webservices Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Anleitung Grundsetup C3 Mail & SMS Gateway V02-0314

Anleitung Grundsetup C3 Mail & SMS Gateway V02-0314 Anleitung Grundsetup C3 Mail & SMS Gateway V02-0314 Kontakt & Support Brielgasse 27. A-6900 Bregenz. TEL +43 (5574) 61040-0. MAIL info@c3online.at loxone.c3online.at Liebe Kundin, lieber Kunde Sie haben

Mehr

Wirtschaftsinformatik 2

Wirtschaftsinformatik 2 Wirtschaftsinformatik 2 Prof. Dr. Dr. L. Schmidt-Thieme MSc. André Busche Übung 9 1. Übungsblatt 9 2. Übungsblatt 7 Aufg. 2f und 2g 04.07.12 2/ Aufgabe 1a (4 Punkte) Beantworten Sie folgende Fragen kurz:

Mehr

ISA Server 2004 Erstellen eines neuen Netzwerkes - Von Marc Grote

ISA Server 2004 Erstellen eines neuen Netzwerkes - Von Marc Grote Seite 1 von 10 ISA Server 2004 Erstellen eines neuen Netzwerkes - Von Marc Grote Die Informationen in diesem Artikel beziehen sich auf: Microsoft ISA Server 2004 Einleitung Microsoft ISA Server 2004 bietet

Mehr

2. XML 2.1 XML 1.0 und XML Schema. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit

2. XML 2.1 XML 1.0 und XML Schema. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit XML- und Webservice- Sicherheit 2. XML 2.1 XML 1.0 und XML Schema Gliederung 1. XML 1.0 2. XML Namespaces: URI, URL und URN 3. XML Schema Literatur: A. Tanenbaum, Computer Networks. E. R. Harold and W.

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Adami CRM - Outlook Replikation User Dokumentation

Adami CRM - Outlook Replikation User Dokumentation Adami CRM - Outlook Replikation User Dokumentation Die neue Eigenschaft der Adami CRM Applikation macht den Information Austausch mit Microsoft Outlook auf vier Ebenen möglich: Kontakte, Aufgaben, Termine

Mehr

Web Sockets mit HTML5. Quelle: www.html5rocks.com/de

Web Sockets mit HTML5. Quelle: www.html5rocks.com/de Web Sockets mit HTML5 Quelle: www.html5rocks.com/de Intensive Client-Server-Kommunikation: Beispiele Online-Spiele mit mehreren Mitspielern Chat-Anwendungen Live-Sport-Ticker Echtzeit-Aktualisierungen

Mehr

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch. Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.pdf Nachdem die Projekt-Vision und die Stakeholder bekannt sind,

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren: 4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie

Mehr

SDD System Design Document

SDD System Design Document SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen

Mehr

Sie werden sehen, dass Sie für uns nur noch den direkten PDF-Export benötigen. Warum?

Sie werden sehen, dass Sie für uns nur noch den direkten PDF-Export benötigen. Warum? Leitfaden zur Druckdatenerstellung Inhalt: 1. Download und Installation der ECI-Profile 2. Farbeinstellungen der Adobe Creative Suite Bitte beachten! In diesem kleinen Leitfaden möchten wir auf die Druckdatenerstellung

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen

Mehr

XSL Templates. Mit Templates arbeiten. XSL Templates

XSL Templates. Mit Templates arbeiten. XSL Templates XSL Templates Mit Templates arbeiten Innerhalb von XSLT werden Templates verwendet. Ein Template ist eine Vorlage für die Transformation bestimmter Knoten. Diese Knoten können Elemente, Attribute oder

Mehr

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014 Konfiguration VLAN's Version 2.0.1 Deutsch 01.07.2014 In diesem HOWTO wird die Konfiguration der VLAN's für das Surf-LAN der IAC-BOX beschrieben. Konfiguration VLAN's TITEL Inhaltsverzeichnis Inhaltsverzeichnis...

Mehr

WEBSEITEN ENTWICKELN MIT ASP.NET

WEBSEITEN ENTWICKELN MIT ASP.NET jamal BAYDAOUI WEBSEITEN ENTWICKELN MIT ASP.NET EINE EINFÜHRUNG MIT UMFANGREICHEM BEISPIELPROJEKT ALLE CODES IN VISUAL BASIC UND C# 3.2 Installation 11 Bild 3.2 Der Webplattform-Installer Bild 3.3 IDE-Startbildschirm

Mehr

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

Proxy. Krishna Tateneni Übersetzer: Stefan Winter Krishna Tateneni Übersetzer: Stefan Winter 2 Inhaltsverzeichnis 1 Proxy-Server 4 1.1 Einführung.......................................... 4 1.2 Benutzung.......................................... 4 3 1

Mehr

XML und SOAP Einführung und Grundlagen

XML und SOAP Einführung und Grundlagen XML und SOAP Einführung und Grundlagen Matthias Böhmer 16.12.2005 Agenda 1. XML 2. SOAP 3. Seife im Buchladen?! E-Commerce :: XML und SOAP Matthias Böhmer 16.12.2005 2 XML :: Einführung (1) extensible

Mehr

Erstellen einer E-Mail in OWA (Outlook Web App)

Erstellen einer E-Mail in OWA (Outlook Web App) Erstellen einer E-Mail in OWA (Outlook Web App) Partner: 2/12 Versionshistorie: Datum Version Name Status 13.09.2011 1.1 J. Bodeit Punkte 7 hinzugefügt, alle Mailempfänger unkenntlich gemacht 09.09.2011

Mehr

ICS-Addin. Benutzerhandbuch. Version: 1.0

ICS-Addin. Benutzerhandbuch. Version: 1.0 ICS-Addin Benutzerhandbuch Version: 1.0 SecureGUARD GmbH, 2011 Inhalt: 1. Was ist ICS?... 3 2. ICS-Addin im Dashboard... 3 3. ICS einrichten... 4 4. ICS deaktivieren... 5 5. Adapter-Details am Server speichern...

Mehr

2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen

2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen 2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen Dienste des Internets Das Internet bietet als riesiges Rechnernetz viele Nutzungsmöglichkeiten, wie etwa das World

Mehr

... MathML XHTML RDF

... MathML XHTML RDF RDF in wissenschaftlichen Bibliotheken (LQI KUXQJLQ;0/ Die extensible Markup Language [XML] ist eine Metasprache für die Definition von Markup Sprachen. Sie unterscheidet sich durch ihre Fähigkeit, Markup

Mehr

Barrierefreie Webseiten erstellen mit TYPO3

Barrierefreie Webseiten erstellen mit TYPO3 Barrierefreie Webseiten erstellen mit TYPO3 Alternativtexte Für jedes Nicht-Text-Element ist ein äquivalenter Text bereitzustellen. Dies gilt insbesondere für Bilder. In der Liste der HTML 4-Attribute

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele: 2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Configuring Terminal Services o Configure Windows Server 2008 Terminal Services RemoteApp (TS RemoteApp) o Configure Terminal Services Gateway

Mehr

XML-RPC & SOAP. Sven Heß & Fabio Caprera Systemprogrammierung SS 08

XML-RPC & SOAP. Sven Heß & Fabio Caprera Systemprogrammierung SS 08 XML-RPC & SOAP & Fabio Caprera Systemprogrammierung SS 08 Inhalt XML-RPC Überblick Entstehung Konzept Fehlerbehandlung Vor- und Nachteile SOAP Überblick Entstehung Konzept Fehlerbehandlung Vor- und Nachteile

Mehr

Rundung und Casting von Zahlen

Rundung und Casting von Zahlen W E R K S T A T T Rundung und Casting von Zahlen Intrexx 7.0 1. Einleitung In diesem Werkstattbeitrag erfahren Sie, wie Zahlenwerte speziell in Velocity, aber auch in Groovy, gerundet werden können. Für

Mehr

E-Cinema Central. VPN-Client Installation

E-Cinema Central. VPN-Client Installation E-Cinema Central VPN-Client Installation Inhaltsverzeichnis Seite 1 Einleitung... 3 1.1 Über diese Anleitung... 3 1.2 Voraussetzungen... 3 1.3 Hilfeleistung... 3 2 Vorbereitung Installation... 4 3 Installation

Mehr

Virtual Private Network

Virtual Private Network Virtual Private Network Allgemeines zu VPN-Verbindungen WLAN und VPN-TUNNEL Der VPN-Tunnel ist ein Programm, das eine sichere Verbindung zur Universität herstellt. Dabei übernimmt der eigene Rechner eine

Mehr

Whitepaper. Produkt: address manager 2003. David XL Tobit InfoCenter AddIn für den address manager email Zuordnung

Whitepaper. Produkt: address manager 2003. David XL Tobit InfoCenter AddIn für den address manager email Zuordnung combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: address manager 2003 David XL Tobit InfoCenter AddIn für den address manager email Zuordnung David XL Tobit InfoCenter AddIn für den address

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen) 1. Einführung: Über den ODBC-Zugriff können Sie bestimmte Daten aus Ihren orgamax-mandanten in anderen Anwendungen (beispielsweise Microsoft Excel oder Microsoft Access) einlesen. Dies bietet sich beispielsweise

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

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

De-Mail Versandoptionen

De-Mail Versandoptionen Mentana- Claimsoft GmbH Seite 1 De-Mail Versandoptionen Version 1.0 Mentana-Claimsoft GmbH Trebuser Str. 47 Haus 1 15517 Fürstenwalde/Spree E-Mail: support@mentana.de De-Mail: support@mentana.de-mail.de

Mehr

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe crm-now/ps Webforms: Webdesigner Handbuch Copyright 2006 crm-now Versionsgeschichte Version 01 2006-08-21 Release Version crm-now c/o im-netz Neue

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor.

Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor. Eclipse WSDL-Editor Übersicht Eclipse Foundation Eclipse Plugins & Projects Eclipse Ganymede Simultaneous Release Web Tools Platform Projekt WSDL Editor Bug #237918 Eclipse Foundation Was ist Eclipse?

Mehr

Seminarbericht Rechnernetze XML Web Services Schnittstelle zwischen den Welten.NET und Java

Seminarbericht Rechnernetze XML Web Services Schnittstelle zwischen den Welten.NET und Java Seminarbericht Rechnernetze XML Web Services Schnittstelle zwischen den Welten.NET und Java von Christian Brand Kennnummer: 09376 November 2005 Abkürzungen Abkürzungen API - Application Programming Interface

Mehr

IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken

IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken Version 2.0 1 Original-Application Note ads-tec GmbH IRF2000 Application Note Lösung von IP-Adresskonflikten bei zwei identischen Netzwerken Stand: 27.10.2014 ads-tec GmbH 2014 IRF2000 2 Inhaltsverzeichnis

Mehr

Multicast Security Group Key Management Architecture (MSEC GKMArch)

Multicast Security Group Key Management Architecture (MSEC GKMArch) Multicast Security Group Key Management Architecture (MSEC GKMArch) draft-ietf-msec-gkmarch-07.txt Internet Security Tobias Engelbrecht Einführung Bei diversen Internetanwendungen, wie zum Beispiel Telefonkonferenzen

Mehr

teamsync Kurzanleitung

teamsync Kurzanleitung 1 teamsync Kurzanleitung Version 4.0-19. November 2012 2 1 Einleitung Mit teamsync können Sie die Produkte teamspace und projectfacts mit Microsoft Outlook synchronisieren.laden Sie sich teamsync hier

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Dokumentation zum Spielserver der Software Challenge

Dokumentation zum Spielserver der Software Challenge Dokumentation zum Spielserver der Software Challenge 10.08.2011 Inhaltsverzeichnis: Programmoberfläche... 2 Ein neues Spiel erstellen... 2 Spielfeldoberfläche... 4 Spielwiederholung laden... 5 Testdurchläufe...

Mehr

Kommunikations-Management

Kommunikations-Management Tutorial: Wie kann ich E-Mails schreiben? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory E-Mails schreiben können. In myfactory können Sie jederzeit schnell und einfach E-Mails verfassen egal

Mehr

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

Mehr

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller Proseminar: Website-Managment-System NetObjects Fusion von Christoph Feller Netobjects Fusion - Übersicht Übersicht Einleitung Die Komponenten Übersicht über die Komponenten Beschreibung der einzelnen

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

Kurzanleitung zu. von Daniel Jettka 18.11.2008

Kurzanleitung zu. von Daniel Jettka 18.11.2008 Kurzanleitung zu Tigris.org Open Source Software Engineering Tools von Daniel Jettka 18.11.2008 Inhaltsverzeichnis 1.Einführung...1 2.Das Projektarchivs...3 2.1.Anlegen des Projektarchivs...3 2.2.Organisation

Mehr

Einfache kryptographische Verfahren

Einfache kryptographische Verfahren Einfache kryptographische Verfahren Prof. Dr. Hagen Knaf Studiengang Angewandte Mathematik 26. April 2015 c = a b + a b + + a b 1 11 1 12 2 1n c = a b + a b + + a b 2 21 1 22 2 2n c = a b + a b + + a b

Mehr

Whitepaper. Produkt: address manager 2003. Outlook AddIn für den address manager email Zuordnung. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: address manager 2003. Outlook AddIn für den address manager email Zuordnung. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: address manager 2003 Outlook AddIn für den address manager email Zuordnung Outlook AddIn für den address manager email Zuordnung - 2 - Inhalt

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

Kommunikations-Management

Kommunikations-Management Tutorial: Wie importiere und exportiere ich Daten zwischen myfactory und Outlook? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory Daten aus Outlook importieren Daten aus myfactory nach Outlook

Mehr

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003 Page 1 of 8 SMTP Konfiguration von Exchange 2003 Kategorie : Exchange Server 2003 Veröffentlicht von webmaster am 25.02.2005 SMTP steht für Simple Mail Transport Protocol, welches ein Protokoll ist, womit

Mehr

Semantic Web Services

Semantic Web Services Semantic Web Services Daniel Fischer TU Chemnitz - WS 2011/12 1 Gliederung (1) Web Services (2) Semantic Web Services: Motivation (3) Ontologien (4) Technologien 1. WSDL 2. SA-WSDL 3. WSMF / WSMO 4. OWL-S

Mehr

Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung

Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung Outlook Weiterleitungen & Abwesenheitsmeldungen Seite 1 von 6 Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung Erstellt: Quelle: 3.12.09/MM \\rsiag-s3aad\install\vnc\email Weiterleitung

Mehr

END USER GUIDE IBS TICKET SYSTEM HOW-TO. Dokumenten Kontrolle. Version 1.1. Datum 2010-10-15. IBS Ticket System End User How-To D.doc.

END USER GUIDE IBS TICKET SYSTEM HOW-TO. Dokumenten Kontrolle. Version 1.1. Datum 2010-10-15. IBS Ticket System End User How-To D.doc. END USER GUIDE IBS TICKET SYSTEM HOW-TO Dokumenten Kontrolle Version 1.1 Datum 2010-10-15 Besitzer Freigegeben durch Dateinamen Gregory Gut IBS Business Solution IBS Ticket System End User How-To D.doc

Mehr