3. Juli 2014, IBM Client Center Ehningen

Größe: px
Ab Seite anzeigen:

Download "3. Juli 2014, IBM Client Center Ehningen"

Transkript

1 3. Juli 2014, IBM Client Center Ehningen

2 Thomas Niedergesäß 42 Jahre alt seit 15 Jahren bei Tricept Braunschweig Chief Architect Java Solutions technisch und fachlich unterwegs im Bankbereich C, C++, ObjC Smalltalk Java Batchverarbeitung Client-Server WebSphere Java auf System z Webservices (Plattformunabhängige Entwicklung mobiler Anwendungen mit Java) Tel.: Frankfurter Straße Braunschweig Seite 1

3 Aufgaben, Erwartungen und Fragen Anforderung Verpacken und versenden Sie Daten. Verstehen alle Empfänger diese richtig? Methodik Technik Inhalt Verwenden Sie dazu moderne Webservices. Funktionieren diese weltweit? Was bieten JAX-WS und JAX-RS technisch? Sind sie austauschbar? Das Datenformat JSON ist modern. Genügt es den fachlichen Anforderungen? Also ganz normale Fragen im Tagesgeschäft. Seite 2

4 In der nächsten Dreiviertelstunde, den nächsten 45 Minuten Teil 1 Datenübertragung Probleme im Datenaustausch fehlende Zeichen und Codepages Codierungsstandard Unicode Teil 2 Webservices und JSON SOAP-Webservices (JAX-WS) RESTful Webservices (JAX-RS) Parameterübergabe, Ergebnis- und Fehlerrückgabe Austauschbarkeit von Schnittstellen JSON als Transport-Container Fachliche Daten Beispiele Seite 3

5 Für wen sind meine Daten bestimmt? VOYAGER 1977 Die Voyager Golden Records sind Datenplatten mit Bild- und Audio- Informationen, die an Bord der beiden 1977 gestarteten interstellaren Raumsonden Voyager 1 und Voyager 2 angebracht sind. Die Datenplatten wurden als Botschaften an Außerirdische in der Hoffnung hergestellt, etwaige intelligente, außerirdische Lebensformen könnten dadurch von der Menschheit und ihrer Position im Universum erfahren. Die Platten besitzen eine geschätzte Lebensdauer von 500 Millionen Jahren. Auf ihrer Außenseite befindet sich eine Erklärung, wie man die Datenplatte abspielen bzw. decodieren kann. Die dazu nötigen Zeitangaben sind binär angegeben und beziehen sich auf die charakteristische Schwingfrequenz des Wasserstoffatoms, das ebenfalls dargestellt ist. Anleitungen (in symbolischer Sprache) erklären den Abflugort der Sonden. [Quelle: Wikipedia] Eine Nachricht an unbekannte Empfänger, mit Decodierungsanweisung. Ganz so kompliziert ist unsere Datenkommunikation jedoch nicht, oder etwa doch? Seite 4

6 Was sind das eigentlich für Daten und was soll ich damit machen? java.util.gregoriancalendar c = new java.util.gregoriancalendar(); c.settimeinmillis( ); java.lang.system.out.println(c.tozoneddatetime()); T21:55: :00[Europe/Berlin] Vielleicht ist das aber auch einfach nur eine sehr große Zahl, die keinerlei Bedeutung besitzt! java.util.gregoriancalendar c = new java.util.gregoriancalendar(); c.settimeinmillis( ); java.lang.system.out.println(c.tozoneddatetime()); T01:00+01:00[Europe/Berlin] Alles eine Sache der Interpretation! Seite 5

7 Was ist gemeint und was verstehe ich? Das ist der 9. Mai /5/2012 Das ist der 9. Mai /5/2012 Das ist der 5. September 2012! dd/mm/yyyy!= mm/dd/yyyy Mein Verständnis ist ortsabhängig! Seite 6

8 Versteht der Empfänger, mit welchen Einheiten ich arbeite? Mars Neben der NASA waren mehrere Privatunternehmen an dem Großprojekt Mars Climate Orbiter beteiligt. Diese rechneten im angloamerikanischen Maßsystem, die NASA jedoch im metrischen System. falsche Steueranweisungen falsche Flugbahn Verlust der Sonde Im Dezember ging dann auch noch der Mars Polar Lander aus demselben Grund verloren, er war leider schon gestartet worden. Kraftangaben in Newton!= Kraftangaben in pound Beachten Sie regionale Einheiten! Webservices können international genutzt werden! Seite 7

9 Warum wird ausgerechnet mein Name immer falsch geschrieben? Diese Probleme sind uralt! Seite 8

10 Das Problem mit den Standards für die 8-Bit-Zeichencodierung ISO Die ersten 7 Bit entsprechen US-ASCII Kompatibilität. Es fehlt z. B. das Eurozeichen. ISO Windows-1252 Alternative zu enthält das Eurozeichen baut auf und auf Wo 8859 Steuerzeichen verwendet, kann 1252 druckbare Zeichen besitzen. Es ist sehr verbreitet, Windows-1252 Dateien als ISO zu markieren unter Windows OK. Beim Umzug auf ein Nicht-Windows-System führt das zu Darstellungsfehlern (z. B. typographische Anführungszeichen Fragezeichen). Unschöner Workaround im HTML5-Standard: Interpretiere alle als ISO markierten Texte als Windows-1252, um sie auch korrekt darstellen zu können! Seite 9

11 Ist das die Lösung? kurz: JA UNICODE = Standard für moderne Zeichencodierung Die Codierung aller Zeichen der Welt ist damit möglich (> 4 Mrd. Zeichen). ständige Erweiterung, keine Löschungen UTF-32 UTF-16 UTF-8 UTF = Unicode Transformation Format definierte Methode, Zeichen auf Folgen von 1, 2, 3, oder 4 Bytes abzubilden Jedes UTF-Format lässt sich verlustfrei in ein anderes transformieren. UTF-8 ist der Internet-Standard! Seite 10

12 Welches Datei-Encoding verwenden Sie in Ihren Editoren oder Entwicklungsumgebungen? UTF-8 US ASCII ISO UTF-8 Betriebssysteme ändern sich und Editoren veralten! Vereinbaren Sie ein durchgängiges Encoding für die Projektdateien! Seite 11

13 Inhalt JAX-WS JAX-RS moderne Java-Webservices Unterscheidung Parameterübergabe Ergebnis- und Fehlerrückgabe JSON ein sprachunabhängiger Container für den Datenaustausch Verwendung und Codierung komplexe Datentypen technische und fachliche Daten Seite 12

14 Was ist denn nun JSON? JavaScript Object Notation ist ein leichtgewichtiges universelles Datenaustauschformat. für Maschinen einfach zu erzeugen für Menschen einfach zu lesen Hashtable in String-Darstellung Kurz und knapp Ein JSON-String ist eine Hashtable bestehend aus atomaren Daten, Arrays und weiteren Hashtables, die nach einem bestimmten Verfahren in eine Zeichenkette serialisiert wurde. Im Prinzip macht es JAXB ähnlich und würde diese Hashtable nach XML konvertieren. Hashtable (Objekt) Serialisierung Zeichenkette (Unicode) Deserialisierung Hashtable (Objekt) Wir wollen kein JavaScript machen und verwenden JSON lediglich als Datencontainer! Seite 13

15 Was ist gerade modern? CORBA, alle verwenden IDL (Smalltalk Smalltalk Java) XML-RPC mit Apache-API, alle machen XML (Java Java) Java RMI, alle machen J2EE (Java Java) (WAS 5.0) 2008 JAX-RPC, alle machen SOAP (Java C++) (WAS 7.0) JAX-WS mit Codierung über JAXB Nachfolger von JAX-RPC 2013 JAX-RS, alle machen JSON (Java Java) (WAS 8.5) Umstieg auf JAX-RS im Projekt JAX-RPC in der verwendeten Form war veraltet. SOAP als zu kompliziert für den Client angesehen JAX-WS nicht gewünscht JAX-RS, da ja schon immer JSON verwendet wurde und SOAP nur als Rahmen diente Technik ändert sich Fachlichkeit bleibt. Seite 14

16 Allgemein Aufrufer Remote-Aufruf Request (n Parameter) Result (1 Ergebnis) Webservice Webservice-Aufruf funktioniert wie ein normaler Java- Methodenaufruf: JAX-WS: Java API for XML Web Services result = func(request) Client SOAP-Nachricht SOAP-Nachricht Endpunkt SOAP = XML JAX-RS: Java API for RESTful Web Services Client JSON-String JSON-String Ressource Austausch von lesbaren Zeichenketten in Unicode UTF-8 codiert! JSON!= XML JSON ist hier nicht nötig, aber schick und modern! Seite 15

17 SOAP-Nachrichten und JAX-WS Envelope Header Body SOAP-Nachricht XML (Unicode UTF-8) SOAP(-Nachrichten) = Netzwerkprotokoll!= Simple von JAX-WS für die Parameter (IN) und das Ergebnis (OUT) verwendet besteht aus Steuerdaten und Nutzdaten Java Architecture for XML Binding konvertiert Java-Datentypen in XML-Datentypen und zurück. Beschreibung durch Web Services Description Language End-to-End-Verschlüsselung durch WS-Security möglich Im Body werden beliebige Java-Datentypen durch JAXB in XML konvertiert transportiert! Seite 16

18 Was ist eigentlich REST? Representational State Transfer ist ein Programmierparadigma für (Web)-Anwendungen. Idee: Ein URL-Aufruf bekommt vom Server genau einen Seiteninhalt zurückgeliefert. Der Uniform Resource Identifier gibt Ort und Name einer Ressource an. Funktionalität wird über HTTP-Verben (z. B. GET, POST, DELETE) abgebildet. Beispiel Person lesen, anlegen und löschen Es gibt eine Ressource Kunden mit veschiedenen Personen. Der Client verwendet das HTTP-Verb GET, um eine Person zu lesen. Der Client verwendet das HTTP-Verb POST, um eine neue Person anzulegen. Der Client verwendet das HTTP-Verb DELETE, um eine bestehende Person zu löschen. URI für Person lesen : Das sieht nach einem sehr engen Korsett und einigen Restriktionen aus! 4711 GET Kunden Seite 17

19 Ein paar fachliche Objekte für die Beispiel-Webservices Long id Person Name name Adresse wohnort String telefon GregorianCalendar geburtsdatum Integer koerpergroesse Vector<Konto> konten String name Name String vorname String ort Adresse String postleitzahl String strasse String hausnummer String laenderkennzeichen String pruefziffer Long bankleitzahl String kontonummer IBAN iban BigDecimal kontostand IBAN Konto Ein paar fachliche Methoden Eine individuelle Exception Person lesen (id) Person Fehler Person anlegen (person) {ein Ergebnis} Fehler Personen suchen (name, adresse) Personen Fehler NichtGefundenException int fehlercode String fehlertext Komplexe Datentypen in Webservices sind möglich und fachlich explizit erwünscht! Seite 18

20 Methode Personen zu Name und Adresse suchen und Vektor von Personen Vector<Person> suchepersonen(name name, Adresse wohnort) throws NichtGefundenException Envelope Envelope Envelope Header Body Vector<Person> XML (Unicode UTF-8) Header Body Name, Adresse XML (Unicode UTF-8) Header Body <SOAP-FAULT> XML (Unicode UTF-8) SOAP-Nachricht (OUT) SOAP-Nachricht (IN) SOAP-Nachricht (OUT) Parameter (IN) bestehen aus einem oder mehreren beliebigen Datentypen. Ergebnis (OUT) ist ein beliebiger Datentyp. Im Fehlerfall wird eine beliebige Exception geworfen (OUT). alle optional JAX-WS kann analog zu einem Standard-Java-Methodenaufruf verwendet werden! Seite 19

21 Verb POST Person anlegen und deren (javax.ws.rs.core.mediatype.application_json) Ressource Kunden javax.ws.rs.core.response UriInfo info, Person person) { // neue Person anlegen (person p) und URI (= u) zu diesem Datensatz erzeugen URI u = info.getbaseuribuilder().path(kunden.class).path(p.getid()).build); // URI an den Aufrufer zurückgeben return Response.created(u).build(); URI für Person lesen } HTTP-Verben und ihre Verwendung HTTP-Statuscode: 201 (Unicode ) GET (read) POST (create) PUT (update create) PATCH DELETE (delete) HEAD OPTIONS CONNECT TRACE HTTP-Statuscodes 1xx Informationen 2xx Erfolgreiche Operation 3xx Umleitung 4xx Client-Fehler 5xx Server-Fehler 9xx Proprietäre Statuscodes Seite 20

22 Verb GET Personen zu Name suchen und Vektor von /personen-suchen/{name} Response name ) String name) { // suche alle Personen mit übergebenem Namen name // speichere das Ergebnis im Vektor result (= Vector<Person>) und gib diesen zurück if (result!= null) { } return Response.ok(result).build(); } else { } HTTP-Verb OUT: JSON HTTP-Statuscode: 200 // nichts gefunden (fachlicher Fehler), gib einen Standard-Fehler zurück return Response.status(Status.NOT_FOUND).build(); HTTP-Statuscode: 404 Ressource Kunden JAX-RS unterscheidet sich von einem Standard-Java-Methodenaufruf und von JAX-WS! Seite 21

23 JAX-WS klassisches RPC, eine Methode wird remote mittels einer SOAP-Nachricht aufgerufen Beispiel: loescheperson(4711), leseperson(4742) für Enterprise-Anwendungen, z. B. als Ersatz für RMI JAX-RS JAX-RS stellt eine Ressource remote zur Verfügung, auf der dann eine Aktion (Verb) ausgeführt werden kann. Beispiel: schlank, optimal für Mobile- und Web-Clients, da Zugang zu den übermittelten Daten sehr einfach Fragestellungen Inwieweit stellen die Exceptions aus JAX-WS die beste Lösung für die Fehlerbehandlung dar? Schränke ich mich durch die Verwendung der HTTP-Statuscodes bei JAX-RS ein? Reichen die HTTP-Verben bei REST in realen Anwendungen aus? Soll ich Standard-Datentypen oder eigene Datentypen verwenden? Oder soll ich gleich JSON-Strings für die Ein- und Ausgabe benutzen? Jedes Modell kann beliebig kompliziert verwendet werden! Seite 22

24 Was ist ein DTO? Ein Datentransferobjekt ist ein Container für Daten. fasst mehrere Daten zu einem Objekt zusammen enthält primitive Datentypen oder andere DTO Das fachliche Objekt Konto ist ein DTO. IBAN iban BigDecimal kontostand String laenderkennzeichen String pruefziffer Long bankleitzahl String kontonummer Konto IBAN Seite 23

25 alt Methode Personen zu Name und Adresse suchen und Vektor von Personen Vector<Person> suchepersonen(name name, Adresse adresse) throws NichtGefundenException Neue Methode mit ResultDTO suchepersonenneu(requestdto request) ResultDTO int fehlercode Vector<Person> RequestDTO Name name Adresse adresse Envelope Header Body XML (Unicode UTF-8) eigener Fehlercode für Nicht gefunden, z. B. -99 SOAP-Nachricht Datentransferobjekte kapseln Parameter (Request) und Ergebnis (Result) und sogar Fehlercodes! Seite 24

26 alt Verb GET Personen zu Name suchen und Vektor von /personen-suchen/{name} Response name ) String name) Ressource Kunden Neue Verwendung für das Verb GET Zeichenketten Response jsonparameterstring ) String jsonparameterstring) { // konvertiere den JSON-Parameter-String RequestDTO (Java-Objekt) // führe Business-Logik aus, bestücke das ResultDTO und konvertiere es JSON-Ergebnis-String // gib immer OK (HTTP-Statuscode 200) und den JSON-Ergebnis-String zurück return Response.ok(jsonErgebnisString).build(); } JSON-Strings werden in Datentransferobjekte konvertiert und umgekehrt! Seite 25

27 Datentransferobjekte Für jede veröffentlichte Webservice-Methode werden Datentransferobjekte eingeführt. Request-DTO enthält alle Parameter (IN). Result-DTO enthält das Ergebnis (OUT) und einen Fehlercode (OUT). JAX-WS Es werden keine Exceptions (SOAP-Faults) verwendet. SOAP-Nachrichten sind nur noch Transportrahmen für Request- und Result-Datentransferobjekte. JAX-RS HTTP-Status-Code 200 für OK wird immer zurückgeliefert. HTTP-Verb GET wird immer verwendet Test im Webbrowser ist möglich. Request- und Result-DTO werden in JSON-Strings umgewandelt und umgekehrt. Es werden nur Strings übertragen. MEDIA_TYPE_WILDCARD. Dieselben Datentransferobjekte werden in beiden Webservice-Arten wiederverwendet! Seite 26

28 JSON-Konvertierung für die Ergebnisrückgabe in einem Projekt Erzeuge eine Hashtable<String>. Befülle diese mit den in Strings konvertierten Rückgabedaten. Verwende den JSON-Prozessor Flexjson für die Serialisierung: Hashtable JSON-String Gib diese Zeichenkette an den Client zurück! ID 4711 Hashtable NAME Peter <String> TELEFON GEBURTSDATUM KOERPERGROESSE 171 cm Flexjson [ { "ID" : "4711", JSON-String "NAME" : "Peter", "TELEFON" : " ", "GEBURTSDATUM" : " ", "KOERPERGROESSE" : "171 cm" } ] Vor der Serialisierung wurde das Datum (GregorianCalendar) in ein vom Fachbereich gewünschtes String-Format konvertiert (TT.MM.JJJJ). Objekte werden zunächst in Strings konvertiert und dann erst serialisiert! Seite 27

29 Konvertierung im WebSphere Application Server Die Konvertierung in JSON-Strings kann natürlich wie im vorherigen Beispiel erfolgen. Die JAX-RS Runtime des WAS verwendet den JSON-Prozessor Jackson. Jackson serialisiert und deserialisiert automatisch: (komplexe) Java-Objekte Strings [ { "GEBURTSDATUM" : } ] Einige Datumsobjekte werden leider nur als numerische Timestamps serialisiert, andere nicht. { "Gregorian-Cal" : , "SQL-Date" : " ", "Util-Date" : } Die Standard-Serialisierung kann durch das Implementieren eigener Klassen übersteuert werden. Datum im Format ISO 8601 (JJJJ-MM-TT) Vorsicht mit automatischen Formatkonvertierungen! Behalten Sie die Kontrolle über Ihre fachlichen Datenformate! Seite 28

30 Was macht der JSON-Prozessor aus meinen Zahlen? java.lang.double(123.01) { "betrag" : } java.lang.double( ) { "betrag" : E8 } java.math.bigdecimal(" ") { "betrag" : } java.math.biginteger(" ") { "blz" : } kein Problem mit Anzahl der Stellen Rückkonvertierung bei unterschiedlichen JSON-Prozessoren java.math.bigdecimal(" ") { "betrag" : } { "betrag" : } E11 Vorsicht mit unterschiedlichen JSON-Prozessoren! Prüfen Sie, wie der Prozessor Zahlen konvertiert. Vereinbaren Sie eine Konvention! automatisch gerundet! Seite 29

31 Wie geht man mit fehlenden Einträgen um? { "key-1" : "value-1", "key-2" : "value-2" } { "name" : "Müller", "vorname" : "Peter" } { "name" : "Müller", "vorname" : "" } { "name" : "Müller" } { "beginndatum" : " ", "endedatum" : " " } alle Daten vorhanden alle Daten vorhanden Vorname fehlt Leerstring Vorname fehlt kein Eintrag alle Daten vorhanden { "beginndatum " : " ", "endedatum" : " " } Datum unbestimmt und unbefristet { "beginndatum " : "", "endedatum" : "" } { } Der Umgang mit fehlenden Einträgen gehört in die Schnittstellendokumentation! Vereinbaren Sie Konventionen, die für alle Schnittstellen gelten! Seite 30

32 Will ich Daten nur anzeigen oder auch weiterverarbeiten? DE DE { lkz" : "DE", "prz" : "12", "blz" : " ", "kto" : " " } Elektronisches Format Papierformat Einzelattribute ISO allgemeine Konvention , , ,90 Floating Point Betrag (gegliedert) Betrag (alternativ gegl.) Betrag mit Währung Wenn der Client Daten nur anzeigt, kann man sie ihm auch gleich richtig formatiert liefern! Vereinbaren Sie die Schnittstellen so, wie der Client sie benötigt. Seite 31

33 Wie wird der JSON-String erzeugt? mit der JEE 7 Streaming API (javax.json.jsongenerator) automatisch manuell, indem der JSON-String direkt erzeugt wird (MEDIA_TYPE_WILDCARD) Wie wird der JSON-String geparst? mit der Streaming API (javax.json.stream.jsonparser) automatisch manuell, indem der JSON-String in eine Hashtable konvertiert wird (z. B. mit Flexjson) Festlegen, ob Daten vor der Konvertierung nach JSON zunächst in Strings konvertiert werden Datumswerte Zahlen Boolean-Werte Behalten Sie es in der Hand, wie der JSON-String aussieht und wie er interpretiert wird! Seite 32

34 Testfälle Sehen Sie Standard-Testfälle vor, zum Beispiel eine Reise durch Ihre verwendeten Datentypen. JAX-WS JAX-WS 2.0 ist bereits in der Java Standard Edition 6 integriert (eigener HTTP-Server enthalten). sehr mächtig, optimal für Enterprise-Anwendungen SOAP verhindert JSON nicht und denken Sie an Datentransferobjekte. JAX-RS schlankes Modell total angesagt und modern gut geeignet für Mobile-Clients sehr viele Restriktionen, wenn es richtig angewendet wird (Verben, Status-Codes, Ressourcen) Wenn man aber nur das Verb GET und konsequent JSON-Strings verwendet, kann man wunderbar schnell alle Webservices-Methoden im Webbrowser testen. Fachlichkeit vor Technik! Seite 33

35 (Plattformunabhängige Entwicklung mobiler Anwendungen mit Java am 17. Juli in der Liederhalle Stuttgart) Tel.: Frankfurter Straße Braunschweig Seite 34

36 Im Anhang finden Sie weiterführende Informationen zu Codepages Unicode Unicode und System z Webservices-Historie Seite 35

37 Wenn wir schon über falsche Zeichen sprechen Codepage 437 PC-DOS (ursprünglicher IBM-PC) 8-Bit 850 MS-DOS (Windows ME) 1200 Unicode UTF-16 (intern bei Windows, OS X, z/os und Java) 1252 Windows-1252 (baut auf Latin1 und Latin9 auf) US-ASCII ISO (Latin1) ISO (Latin9) Unicode UTF-8 (Standard des Internet) 8-Bit 16-Bit-Tupel 8-Bit 7-Bit 8-Bit 8-Bit 8-Bit-Tupel Seite 36

38 Welche Unicode Transformation Formate gibt es? UTF-32 ein Zeichen = 4 Byte viel Speicher einfache Verarbeitung UTF-16 UTF-8 ein Zeichen = 2 Byte oder 4 Byte (für eher exotische Zeichen) erste 256 Zeichen = ISO interne Verwendung bei Windows, OS X, Java,.NET guter Kompromiss ein Zeichen = 1 Byte, 2 Byte, 3 Byte oder 4 Byte in den ersten 7 Bit (128 Zeichen) deckungsgleich mit US-ASCII das 8. Bit leitet längeres Zeichen ein (2, 3 oder 4 Bytes) benötigt für die Codierung englischsprachiger Texte oft nur ein Byte deutsche Umlaute = 2 Byte, Eurozeichen = 3 Byte UTF-16 ist Standard, bei Kommunikation mit externen Nutzern meist UTF-8 (Internet-Standard)! Seite 37

39 Was ist mit Unicode auf dem Mainframe? UTF-EBCDIC gibt es auch noch für Altanwendungen gedacht wird sehr selten verwendet UTF-16 z/os (USS) DB2 COBOL, PL/I JAVA kein Problem! Verwenden Sie Unicode auf Ihrer z! Seite 38

40 Eine kurze Klärung der historischen Zusammenhänge: RPC XML-RPC SOAP JAX-RPC JAX-WS JAXB REST JAX-RS definiert entfernte Methodenaufrufe (CORBA, Java RMI, XML-RPC) standardisierter schlanker Protokoll-Vorgänger von SOAP (XML über HTTP) Netzwerkprotokoll mit komplexer Datencodierung (XML über HTTP) Vorgänger von JAX-WS (SOAP-XML über HTTP) SOAP = XML: JAX-WS 2.2 (seit JEE 6) Codierung über JAXB automatische XML-Datenbindung (XSD Java-Klasse, XML Java-Objekt) Idee: Ein URL-Aufruf bekommt genau einen Seiteninhalt zurückgeliefert. REST!= XML: JAX-RS 1.1 (JEE 6) und JAX-RS 2.0 (JEE 7) Seite 39

41 ABAB ABAB ABAB ABAB

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

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com Web Services Java Praktikum SS 2010 Gerald.Ehmayer@borland.com 1 Web Services Einführung Definition, Eigenschaften, Anwendungen... JAX-RPC Überblick, Architektur... JAX Übersicht, Architektur Java Praktikum

Mehr

Theorie und Praxis einer JSON-RPC-basierten Web-API

Theorie und Praxis einer JSON-RPC-basierten Web-API Theorie und Praxis einer JSON-RPC-basierten Web-API Christian Krause Christian.Krause@raritan.com Raritan Deutschland GmbH Chemnitzer LinuxTage 2015 Gliederung 1 2 Remote Procedure Call Interface Definition

Mehr

NEWpixi* API und die Umstellung auf REST. Freitag, 3. Mai 13

NEWpixi* API und die Umstellung auf REST. Freitag, 3. Mai 13 NEWpixi* API und die Umstellung auf REST Fakten NEWpixi* API Technik REST-basierend.NET Webservice IIS Webserver Release 31. August 2013, zusammen mit dem NEWpixi* ELI Release Legacy API und erste NEWpixi*

Mehr

Web-Konzepte für das Internet der Dinge Ein Überblick

Web-Konzepte für das Internet der Dinge Ein Überblick Web-Konzepte für das Internet der Dinge Ein Überblick Samuel Wieland sawielan@student.ethz.ch ETH Zürich Seminar Das Internet der Dinge Historisches Tim Berners-Lee Erster Web-Server Bildquelle: Wikimedia

Mehr

RESTful Web. Representational State Transfer

RESTful Web. Representational State Transfer RESTful Web Representational State Transfer 1 Warum REST? REST ist die Lingua Franca des Webs Heterogene (verschiedenartige) Systeme können mit REST kommunizieren, unabhängig von Technologie der beteiligten

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

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK

Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK Einführung in die Cross-Plattform Entwicklung Web Services mit dem Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK und dem Zugriff auf Web Services vertraut. Der Web Service

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

Web-Services Implementierung mit Java

Web-Services Implementierung mit Java Web-Services Implementierung mit Java J. Heinzelreiter WS 2004/05 Java-APIs für Web-Services (1) Anwendungs-Code JAXR JAXM JAX-RPC SAAJ SOAP/SwA JWSDL WSDL XML/XML-Schema Web-Services/Java - 2 Java-APIs

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

Wolkig bis heiter. Andreas Wismann WHEN OTHERS. APEX als Drehkreuz für Web Service-Anwendungen

Wolkig bis heiter. Andreas Wismann WHEN OTHERS. APEX als Drehkreuz für Web Service-Anwendungen Wolkig bis heiter APEX als Drehkreuz für Web Service-Anwendungen Andreas Wismann WHEN OTHERS Beratung Projektmanagement Coaching rund um Oracle Application Express In APEX Informationen von "woanders"

Mehr

Software Reuse Sommer 2004

Software Reuse Sommer 2004 8. Web Services Peter Sturm Universität Trier Ausgangspunkt Client/Server-Systeme Traditioneller RPC OO-Pendant RMI (CORBA) Probleme Installationbedarf auf Clientseite Aufwendige Installation auf Serverseite

Mehr

Zeichensatzkonvertierung in Oracle-DB. moving objects GmbH Martin Busik Hamburg - Mai 2003 www.moving-objects.de

Zeichensatzkonvertierung in Oracle-DB. moving objects GmbH Martin Busik Hamburg - Mai 2003 www.moving-objects.de Zeichensatzkonvertierung in Oracle-DB moving objects GmbH Martin Busik Hamburg - Mai 2003 www.moving-objects.de moving objects GmbH? Beratung Anforderungserhebung Geschäftprozessanalyse Coaching? Schulung

Mehr

Angewandte Softwareentwicklung Serialisierung

Angewandte Softwareentwicklung Serialisierung Angewandte Softwareentwicklung Serialisierung WS 2014/2015 Markus Berg Hochschule Wismar Fakultät für Ingenieurwissenschaften Bereich Elektrotechnik und Informatik markus.berg@hs-wismar.de http://mmberg.net

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

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für Grundlagen Dr. E. Schön FH Erfurt Sommersemester 2015 Seite 135 Programmierschnittstelle Notwendigkeit: Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

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

Web APIs auf dem Prüfstand Volle Kontrolle oder fertig mit den Azure Mobile Services?

Web APIs auf dem Prüfstand Volle Kontrolle oder fertig mit den Azure Mobile Services? Web APIs auf dem Prüfstand Volle Kontrolle oder fertig mit den Azure Mobile Services? Web APIs Wo kommen wir her? Remote Procedure Calls (RPC) Verben/Aktionen im Endpunkt enthalten GetCustomer InsertInvoice

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für für Medientechnologen Dr. E. Schön Wintersemester 2015/16 Seite 146 Notwendigkeit: Programmierschnittstelle Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

Dirk von der Weiden, Olaf Meyer C1 SetCon. REST in the Enterprise

Dirk von der Weiden, Olaf Meyer C1 SetCon. REST in the Enterprise Konferenz Dirk von der Weiden, Olaf Meyer C1 SetCon REST in the Enterprise REST in the Enterprise C1 SetCon GmbH Stand: Januar 2010 Copyright 2010 C1 SetCon GmbH Member of C1 Group Einleitung Worum geht

Mehr

SMS-API. Sloono Schnittstellenbeschreibung. Version 1.2 Stand 22.10.2014

SMS-API. Sloono Schnittstellenbeschreibung. Version 1.2 Stand 22.10.2014 SMS-API Sloono Schnittstellenbeschreibung Version 1.2 Stand 22.10.2014 Diese Seiten über die SLOONO-APIs sollen Ihnen helfen SLOONO in Ihre bestehenden Anwendungen zu integrieren oder neue Anwendungen

Mehr

SOA mit.net: Vom Geschäftsprozess zur Lösung

SOA mit.net: Vom Geschäftsprozess zur Lösung SOA mit.net: Vom Geschäftsprozess zur Lösung Manfred Steyer Aktuelles Buch.Net 4.0 Update ISBN 978-3866454439 http://tinyurl.com/net4update 1 Kontakt [www] www.softwarearchitekt.at [mail] Manfred.Steyer@SoftwareArchitekt.at

Mehr

5.4 Klassen und Objekte

5.4 Klassen und Objekte 5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen

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

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

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

Application Note. Anbindung von Kunden-Software an SpiderControl Web Visualisierung

Application Note. Anbindung von Kunden-Software an SpiderControl Web Visualisierung 2015-02-25 1 of 6 Application Note Anbindung von Kunden-Software an SpiderControl Web Visualisierung Version ApplicationNote_AnbindungFremdsoftware /Version Seite 1 / 6 Version Datum Kommentar Autor 0.1

Mehr

Themen. Anwendungsschicht DNS HTTP. Stefan Szalowski Rechnernetze Anwendungsschicht

Themen. Anwendungsschicht DNS HTTP. Stefan Szalowski Rechnernetze Anwendungsschicht Themen Anwendungsschicht DNS HTTP Anwendungsschicht OSI-Schicht 7, TCP/IP-Schicht 4 Dienste für den Nutzer/Anwender Unabhängig von den niederen Schichten Verschiedene Dienste bzw. Services DNS HTTP FTP,

Mehr

REST: Eine leichtgewichtige und einfachere Alternative zu Web Services. W3L AG info@w3l.de

REST: Eine leichtgewichtige und einfachere Alternative zu Web Services. W3L AG info@w3l.de 1 REST: Eine leichtgewichtige und einfachere Alternative zu Web Services W3L AG info@w3l.de 2009 2 Inhalt Einführung Grundprinzipien der REST-Architektur Beispiel Entwurf von REST-Anwendungen REST mit

Mehr

GeoServer in action Fortgeschrittene Möglichkeiten beim Einsatz des Geoservers

GeoServer in action Fortgeschrittene Möglichkeiten beim Einsatz des Geoservers GeoServer in action Fortgeschrittene Möglichkeiten beim Einsatz des Geoservers Nils Bühner buehner@terrestris.de terrestris GmbH & Co KG Über uns Nils Bühner buehner@terrestris.de github.com/buehner Informatiker

Mehr

Das eigene Kandidatenfrontend

Das eigene Kandidatenfrontend Das eigene Kandidatenfrontend THEMA: Mit dem BeeSite API zum eigenen Job Board Dr. Sascha Juchem R&D Abteilung sascha.juchem@milchundzucker.de AGENDA Mit dem BeeSite API zum eigenen Job Board 01 Einleitung

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

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

JDO Java Data Objects

JDO Java Data Objects JDO Java Data Objects Ralf Degner, Chief Consultant Ralf.Degner@poet.de Agenda POET Motivation Geschichte Einführung Architekturen FastObjects POET Gegründet 1993 Zwei Produktlinien esupplier Solutions:

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

WebServices -reloaded-

WebServices -reloaded- WebServices -reloaded- Jan Krüger Bielefeld Bioinformatics Service Institute of Bioinformatics CeBiTec Bielefeld University jkrueger@techfak.uni-bielefeld.de 3 Juli 2007 Übersicht Motivation Was sind WebServices?

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

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

Komfortkasse Checkout Version: 1.1

Komfortkasse Checkout Version: 1.1 Komfortkasse Checkout Version: 1.1 Inhalt Allgemeines... 2 Konfiguration... 3 Bestellung... 3 Formatierung... 3 Aufruf der Checkout URL... 4 Signatur... 5 Erzeugen der Signatur... 5 Callback... 7 Beispiel-Implementierungen...

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

Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen

Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen Kapitel 4: Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Codierung von rationalen Zahlen Konvertierung

Mehr

!"#$"%&'()*$+()',!-+.'/',

!#$%&'()*$+()',!-+.'/', Soziotechnische Informationssysteme 7. OAuth, OpenID und SAML Inhalte Motivation OAuth OpenID SAML 4(5,12316,7'.'0,!.80/6,9*$:'0+$.;.,&0$'0, 3, Grundlagen Schützenswerte Objekte Zugreifende Subjekte Authentifizierung!

Mehr

Kapitel 3. Codierung von Text (ASCII-Code, Unicode)

Kapitel 3. Codierung von Text (ASCII-Code, Unicode) Kapitel 3 Codierung von Text (ASCII-Code, Unicode) 1 Kapitel 3 Codierung von Text 1. Einleitung 2. ASCII-Code 3. Unicode 2 1. Einleitung Ein digitaler Rechner muss jede Information als eine Folge von 0

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

HIN Client API. Technische Schnittstelle. Version: 1.0 Datum: 01.11.2010 Status: Final

HIN Client API. Technische Schnittstelle. Version: 1.0 Datum: 01.11.2010 Status: Final HIN Client API Technische Schnittstelle Version: 1.0 Datum: 01.11.2010 Status: Final Health Info Net AG (HIN) Pflanzschulstrasse 3 8400 Winterthur support@hin.ch www.hin.ch Tel. 0848 830 740 Inhaltsverzeichnis

Mehr

PHP + MySQL. Die MySQL-Datenbank. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing.

PHP + MySQL. Die MySQL-Datenbank. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing. PHP + MySQL Die MySQL-Datenbank Zusammenspiel Apache, PHP, PHPMyAdmin und MySQL PHPMyAdmin Verwaltungstool Nutzer Datei.php oder Datei.pl Apache HTTP-Server PHP Scriptsprache Perl Scriptsprache MySQL Datenbank

Mehr

VIVIT TQA Treffen in Köln am 18. 04. 2013. API- Programmierung und Nutzung bei HP Quality Center / ALM. Michael Oestereich IT Consultant QA

VIVIT TQA Treffen in Köln am 18. 04. 2013. API- Programmierung und Nutzung bei HP Quality Center / ALM. Michael Oestereich IT Consultant QA VIVIT TQA Treffen in Köln am 18. 04. 2013 API- Programmierung und Nutzung bei HP Quality Center / ALM Michael Oestereich IT Consultant QA Agenda Vorstellung der API- Versionen OTA- API SA- API REST- API

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

Webservices Ein Vortrag von:

Webservices Ein Vortrag von: Webservices Ein Vortrag von: Andreas Münstermann Michael Reiher Markus Buschky Gliederung Einführung in Webservices Technische Grundlagen SOAP UDDI WSDL Sicherheitskonzepte Blick in die Zukunft Einführung

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

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire Integration von Web Services in J EE Anwendungen mit XFire 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire univativ : = Umsetzung durch Studenten und Young Professionals.

Mehr

Java EE 6 Ein Überblick

Java EE 6 Ein Überblick Java EE 6 Ein Überblick Bernd Müller Fakultät Informatik Ostfalia Hochschule Braunschweig/Wolfenbüttel GI-Regionalgruppe Braunschweig, 16.2.2012 Bernd Müller, Fakultät Informatik, Ostfalia, 16.2.2012 1/31

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

Gliederung. 1. Einleitung (1) 1. Einleitung (3) 1. Einleitung (2)

Gliederung. 1. Einleitung (1) 1. Einleitung (3) 1. Einleitung (2) Referat im Rahmen des Proseminars Internettechnologie WS 2007/2008 Thema: Web Services und serviceorientierte Architekturen (SOA) vorgelegt von: Intelligente Web Services sind für das Informationszeitalter,

Mehr

ObjectBridge Java Edition

ObjectBridge Java Edition ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente

Mehr

1 Polymorphie (Vielgestaltigkeit)

1 Polymorphie (Vielgestaltigkeit) 1 Polymorphie (Vielgestaltigkeit) Problem: Unsere Datenstrukturen List, Stack und Queue können einzig und allein int-werte aufnehmen. Wollen wir String-Objekte, andere Arten von Zahlen oder andere Objekttypen

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

SOAP Simple Object Access Protocol

SOAP Simple Object Access Protocol Informatikseminar Tobias Briel Überblick 1. Einführung - was ist? 2. Middlewaretechnologie 3. Aufbau von Nachrichten 4. Vergleiche 5. Beispielanwendung 6. Zusammenfassung 1 Einführung was ist Soap? neue

Mehr

Programmieren. JavaScript-Objekt-Verarbeitung mit GSON. Heusch --- Ratz --- www.kit.edu. Institut für Angewandte Informatik

Programmieren. JavaScript-Objekt-Verarbeitung mit GSON. Heusch --- Ratz --- www.kit.edu. Institut für Angewandte Informatik Programmieren JavaScript-Objekt-Verarbeitung mit GSON Heusch --- Ratz --- KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Motivation

Mehr

Integrationskonzepte für die HP Quality Center Plattform. Vivit 2009

Integrationskonzepte für die HP Quality Center Plattform. Vivit 2009 Integrationskonzepte für die HP Quality Center Plattform Thomas Jähnig Vivit 2009 Gliederung Einführung HP QualityCenter Synchronizer Plattform Implementierung eigener Adapter Alternativen Excel Import/Export

Mehr

Groovy und CouchDB. Ein traumhaftes Paar. Thomas Westphal

Groovy und CouchDB. Ein traumhaftes Paar. Thomas Westphal Groovy und CouchDB Ein traumhaftes Paar Thomas Westphal 18.04.2011 Herzlich Willkommen Thomas Westphal Software Engineer @ adesso AG Projekte, Beratung, Schulung www.adesso.de thomas.westphal@adesso.de

Mehr

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen?

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen? SOAP Integrationstechnologie für verteilte Middlewarearchitekturen? Großer Beleg Christian Wurbs Zwischenbericht http://www.inf.tu-dresden.de/~cw6 cw6@inf.tu-dresden.de Überblick 2 Aufgabenstellung CORBA

Mehr

Java Web Services. Seminarunterlage. Version 4.02 vom

Java Web Services. Seminarunterlage. Version 4.02 vom Seminarunterlage Version: 4.02 Version 4.02 vom 4. September 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

Mehr

1. Einführung... 1 2. Eigenschaften... 2 2.1. Einsatzszenarien... 2 2.1.1. Externes Benutzer-Management... 2 2.1.2. Synchronisation von Konten,

1. Einführung... 1 2. Eigenschaften... 2 2.1. Einsatzszenarien... 2 2.1.1. Externes Benutzer-Management... 2 2.1.2. Synchronisation von Konten, OUTDOOR webservices 1. Einführung... 1 2. Eigenschaften... 2 2.1. Einsatzszenarien... 2 2.1.1. Externes Benutzer-Management... 2 2.1.2. Synchronisation von Konten, Kostenstellen oder Kostenträgern... 2

Mehr

Session-IDs im FRITZ!Box Webinterface

Session-IDs im FRITZ!Box Webinterface Session-IDs im FRITZ!Box Webinterface Session-IDs und geändertes Login-Verfahren im FRITZ!Box Webinterface Ab der FRITZ!Box Firmware-Version xx.04.74 wurde der vorhandene Kennwortschutz verbessert sowie

Mehr

Friedrich. Kiltz. Java Webservices

Friedrich. Kiltz. Java Webservices Friedrich Kiltz Java Webservices Symbole.NET 379 @Action 279, 423 @Addressing 372 @BindingType 416 @Consumes 87 @Context 82, 88 @CookieParam 82, 88 @DefaultValue 82, 88 @DELETE 87 @Encoded 82, 88 @Endpoint

Mehr

ODS 6.0 Schnittstelle

ODS 6.0 Schnittstelle ODS 6.0 Schnittstelle Dieter Müller Server Developer 1 Architektur ODS-Schnittstelle Vergleich ODS 5.x ODS 6.0 ODS 5.x ODS 6.0 ODS Client ODS Server ODS Client ODS Server Stub ORB IIOP Generiert aus

Mehr

Inhaltsverzeichnis. 2.1 Eine kurze Geschichte von REST... 9 2.2 Grundprinzipien... 11 2.3 Zusammenfassung... 17

Inhaltsverzeichnis. 2.1 Eine kurze Geschichte von REST... 9 2.2 Grundprinzipien... 11 2.3 Zusammenfassung... 17 xi 1 Einleitung 1 1.1 Warum REST?...................................... 1 1.1.1 Lose Kopplung................................ 2 1.1.2 Interoperabilität............................... 3 1.1.3 Wiederverwendung.............................

Mehr

Webservicetest mit soapui

Webservicetest mit soapui Mentana Claimsoft GmbH NL Berlin/Brandenburg Seite 1 Webservicetest mit soapui Version 1.2 Mentana Claimsoft GmbH NL Berlin/Brandenburg Seite 2 Inhaltsverzeichnis 1 Übersicht... 3 1.1 Dokumentenverlauf...

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Web-Applications mit SOAP und RSS. Vortrag 8, Jonas Mitschang, 15.6.2005

Web-Applications mit SOAP und RSS. Vortrag 8, Jonas Mitschang, 15.6.2005 Web-Applications mit SOAP und RSS Vortrag 8, Jonas Mitschang, 15.6.2005 Inhalt Motivation Web Applications / Web Services SOAP - Simple Object Access Protocol RSS - Really Simple Syndication Bewertung

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

Web Services mit Java

Web Services mit Java Web Services mit Java Neuentwicklung und Refactoring in der Praxis Torsten Langner new technology Markt+Technik Verlag Inhaltsverzeichnis Vorwort 13 Warum ausgerechnet dieses Buch? 13 An wen richtet sich

Mehr

Klausur Kommunikation I. Sommersemester 2003. Dipl.-Ing. T. Kloepfer

Klausur Kommunikation I. Sommersemester 2003. Dipl.-Ing. T. Kloepfer Kommunikation I 1 Klausur Kommunikation I Sommersemester 2003 Dipl.-Ing. T. Kloepfer Bearbeitungsinformationen Aufbau der Klausur Die Klausur ist wie folgt aufgebaut: Die Klausur ist in 18 Aufgaben unterteilt.

Mehr

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen

Mehr

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe... php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.

Mehr

Internetprotokolle: POP3. Peter Karsten Klasse: IT7a. Seite 1 von 6

Internetprotokolle: POP3. Peter Karsten Klasse: IT7a. Seite 1 von 6 Internetprotokolle: POP3 Peter Karsten Klasse: IT7a Seite 1 von 6 Alle Nachrichten, die auf elektronischem Weg über lokale oder auch globale Netze wie das Internet verschickt werden, bezeichnet man als

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

SAP NetWeaver Gateway. Connectivity@SNAP 2013

SAP NetWeaver Gateway. Connectivity@SNAP 2013 SAP NetWeaver Gateway Connectivity@SNAP 2013 Neue Wege im Unternehmen Neue Geräte und Usererfahrungen Technische Innovationen in Unternehmen Wachsende Gemeinschaft an Entwicklern Ausdehnung der Geschäftsdaten

Mehr

Software Engineering Klassendiagramme Einführung

Software Engineering Klassendiagramme Einführung Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

Java API for XML Binding

Java API for XML Binding Java API for XML Binding Eine Einführung Tim Speier Fachbereich MNI Fachhochschule Gießen-Friedberg 24. Juni 2010 1 / 27 XM und Java Teil 1: Aufgabenstellung Aufgabenstellung: In einem XML-Dokument werden

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 2 05.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: Das

Mehr

NoSQL User Group Cologne

NoSQL User Group Cologne NoSQL User Group Cologne Dieser Vortrag wurde im Rahmen eines Treffens der NoSQL User Group Cologne am 03.08.2011 gehalten. Wir treffen uns immer am ersten Mittwoch des Monats. Weitere Informationen zur

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

WebService in Java SE und EE

WebService in Java SE und EE Schlüsselworte Java, JAX-WS, JAX-RS, JAXB, XML. Einleitung WebService in Java SE und EE Wolfgang Nast MT AG Ratingen Es werden die Mölichkeiten von WebServices in Java SE und EE, mit SOAP und REST gezeigt.

Mehr

! Jahrgang 1969. ! Studium der Mathematik und Informatik an der TU Braunschweig. ! Entwicklung klassischer Client-Server-Systeme zur Terminplanung

! Jahrgang 1969. ! Studium der Mathematik und Informatik an der TU Braunschweig. ! Entwicklung klassischer Client-Server-Systeme zur Terminplanung 1 2 3 ! Jahrgang 1969! Studium der Mathematik und Informatik an der TU Braunschweig! Entwicklung klassischer Client-Server-Systeme zur Terminplanung! Seit 2009 Betreuung von Kundenprojekten im Java-Umfeld!

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

BusinessMail X.400. Zusatzblatt MailBox X.400 AS2 Trading Relation

BusinessMail X.400. Zusatzblatt MailBox X.400 AS2 Trading Relation T-Systems International GmbH =!" ==Systems= BusinessMail X.400 Zusatzblatt MailBox X.400 AS2 Trading Relation Aufsichtsrat Vorstand Handelsregister 05.2005/ zbusi011 Erläuterungen - BusinessMail X.400

Mehr

Enterprise Application Integration Erfahrungen aus der Praxis

Enterprise Application Integration Erfahrungen aus der Praxis Enterprise Application Integration Erfahrungen aus der Praxis Teil 4: EAI und.net, EAI und J2EE Tutorial NODs 2002, Wolfgang Keller and Generali 2001, 2002, all rights reserved 1 Überblick EAI und....net

Mehr

Mobilkommunikation. REST-basierte Dienste für verteilte, mobile Anwendungen. A. Gillert, A. Grebe, M. Hüffmeyer, C. Vogt

Mobilkommunikation. REST-basierte Dienste für verteilte, mobile Anwendungen. A. Gillert, A. Grebe, M. Hüffmeyer, C. Vogt Mobilkommunikation REST-basierte Dienste für verteilte, mobile Anwendungen A. Gillert, A. Grebe, M. Hüffmeyer, C. Vogt Fachhochschule Köln, Institut für Nachrichtentechnik Fachhochschule Köln Anton Gillert,

Mehr

Axis2, CXF und JAX-WS RI im Vergleich

Axis2, CXF und JAX-WS RI im Vergleich Axis2, CXF und JAX-WS RI im Vergleich predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Inhalt Einführung Die Standards: JAXB, JWS, JAX-WS Axis2 CXF JAX-WS RI /

Mehr

Informatik I: Einführung in die Programmierung

Informatik I: Einführung in die Programmierung Informatik I: Einführung in die Programmierung 21. Das WWW befragen Albert-Ludwigs-Universität Freiburg Bernhard Nebel 13.01.2015 1 13.01.2015 B. Nebel Info I 3 / 17 Oft braucht ein Programm Informationen,

Mehr

Hadoop I/O. Datenintegrität Kompression Serialisierung Datei-basierte Datenstrukturen. 14.02.2012 Prof. Dr. Christian Herta 1/29

Hadoop I/O. Datenintegrität Kompression Serialisierung Datei-basierte Datenstrukturen. 14.02.2012 Prof. Dr. Christian Herta 1/29 Hadoop I/O Datenintegrität Kompression Serialisierung Datei-basierte Datenstrukturen 14.02.2012 Prof. Dr. Christian Herta 1/29 Data I/O und Hadoop Allgemeine Techniken Data I/O Datenintegrität Kompression

Mehr

A-Trust REGISTRIERKASSE mobile Developer Manual

A-Trust REGISTRIERKASSE mobile Developer Manual A-Trust Gesellschaft für Sicherheitssysteme im elektronischen Datenverkehr GmbH Landstraÿer Hauptstraÿe 5 A-1030 Wien https://www.a-trust.at E-Mail: oce@a-trust.at A-Trust REGISTRIERKASSE mobile Developer

Mehr

Termin 4: Web Services Computing

Termin 4: Web Services Computing Arbeitsgruppe Übung Netzbasierte Informationssysteme Termin 4: Web Services Computing Prof. Dr. Adrian Paschke Arbeitsgruppe Corporate Semantic Web (AG-CSW) Institut für Informatik, Freie Universität Berlin

Mehr

Verarbeitung der Eingangsmeldungen in einem Callcenter

Verarbeitung der Eingangsmeldungen in einem Callcenter Q-up ist ein Produkt der: Anwendungsbeispiele Verarbeitung der Eingangsmeldungen in einem Callcenter Der Testdatengenerator Der Testdatengenerator Verarbeitung der Eingangsmeldungen in einem Callcenter

Mehr

RESTful Services mit Java EE

RESTful Services mit Java EE RESTful Services mit Java EE Thilo Frotscher thilo@frotscher.com Vorstellung Freiberuflicher Softwarearchitekt und Trainer Fachliche Schwerpunkte Java Plattform Services und Integration Kundenspezifische

Mehr