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

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

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

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

Basistechnologien: Web-Services

Basistechnologien: Web-Services Alexander Rudolf Cloud-Computing Seminar Hochschule Mannheim WS0910 1/29 Basistechnologien: Web-Services Alexander Rudolf Hochschule Mannheim Fakultät für Informatik alexander.rudolf@stud.hs-mannheim.de

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

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

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

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

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

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

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

Java und XML/XML und Java. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.

Java und XML/XML und Java. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle. Java und XML/XML und Java Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.de XML und Programmiersprachen... Java ist... Programmiersprache

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

Hauptseminar Internetdienste Prof. F. Schweiggert Sommersemester 2004 Universität Ulm. Web Services. Boto Bako

Hauptseminar Internetdienste Prof. F. Schweiggert Sommersemester 2004 Universität Ulm. Web Services. Boto Bako Hauptseminar Internetdienste Prof. F. Schweiggert Sommersemester 2004 Universität Ulm Web Services Boto Bako Inhaltsverzeichnis 1.Einführung und Motivation...3 2.Verwendete Standards...4 2.1.SOAP...5 2.2.WSDL...6

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

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

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

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

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

FuE-Bereich IuK-Systeme im Gesundheitswesen

FuE-Bereich IuK-Systeme im Gesundheitswesen FuE-Bereich IuK-Systeme im Gesundheitswesen IG XML und Web Services Dipl.-Inform. Axel Schwolow IG Kommunikation im Web Entwicklung früher ausschließlich Kommunikation über Browser heute zunehmend direkt

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

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

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

Einführung in WebServices

Einführung in WebServices Einführung in WebServices Grundlagen und Praxis von WebServices Seminarleiterin: Dipl.-Ing. Mahbouba Gharbi Folie 1 / 34 Zielsetzung und Voraussetzungen Zielsetzung Nutzen von WebServices kennenlernen

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

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

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

Client/Server-Systeme

Client/Server-Systeme Client/Server-Systeme Prof. Dr.-Ing. Wilhelm G. Spruth SS 2005 Teil 16 RMI, DCOM, Webservices cs 1100 ww6 sch 05-97 Remote Method Invocation (RMI) JVM JVM Client Server Stub Java Remote Skeleton Method

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

!"# $ % Internet Protokolle: HTTP 1/38

!# $ % Internet Protokolle: HTTP 1/38 !"# $ % Internet Protokolle: HTTP 1/38 1 Themenübersicht Schichtenmodell Gopher /FTP Statistik URL Einleitung Anwendungsablauf Beispiel mit Telnet Request, Response Anfragemethoden header Negotiation Proxyserver

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

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

RESTful Web-Services mit JAX-RS

RESTful Web-Services mit JAX-RS JUG Stuttgart RESTful Web-Services mit JAX-RS 30. Oktober 2014 Alter Scheuer, Stuttgart-Degerloch Markus KARG (Expert Group JSR 339, 370 / JAX-RS 2.0, 2.1) Agenda Was ist nur so toll an diesem REST? JAX-RS

Mehr

"getiban.exe" wird als selbstentpackende Archivdatei "getiban.exe" ausgeliefert.

getiban.exe wird als selbstentpackende Archivdatei getiban.exe ausgeliefert. Allgemeine Beschreibung von GETIBAN.EXE "getiban.exe" ist ein Windows Kommandozeilen Programm zur Berechnung von IBANs aus vorhandenen Kontonummern und Bankleitzahlen für die derzeit in SEPA teilnehmenden

Mehr

Middleware. Host. Versuch einer Einleitung. dumme Terminals stellen Ausgaben dar und nehmen Eingaben an

Middleware. Host. Versuch einer Einleitung. dumme Terminals stellen Ausgaben dar und nehmen Eingaben an Middleware Versuch einer Einleitung Host dumme Terminals stellen Ausgaben dar und nehmen Eingaben an Mainframe enthält vollständige Anwendung Typ. COBOL, C Mainframe contd.! Nachteile! Mainframe ist teuer

Mehr

ISA Server 2004 HTTP Filter - Von Marc Grote

ISA Server 2004 HTTP Filter - Von Marc Grote Seite 1 von 11 ISA Server 2004 HTTP Filter - Von Marc Grote Die Informationen in diesem Artikel beziehen sich auf: Microsoft ISA Server 2004 Einleitung In diesem Artikel erläutere ich die Konfiguration

Mehr

Webservices REST vs. SOAP

Webservices REST vs. SOAP Webservices REST vs. SOAP Amine El Ayadi INF-M2 Anwendungen 1 (SS 2008) Department Informatik HAW Hamburg 17. Juni 2008 1/41 Agenda Einführung & Motivation Webservices SOAP Webservices REST Webservices

Mehr

5. Übung zur Vorlesung Service-orientierte Architekturen

5. Übung zur Vorlesung Service-orientierte Architekturen 5. Übung zur Vorlesung Service-orientierte Architekturen Webservices und WSDL SoSe 2011 Anmerkung Hausaufgabe 03 BPMN Auch hier gilt: Layout! Zu Unterschieden zw. BPMN und eepk Relative Aussagen sind geschickter

Mehr

A Generic Database Web Service for the Venice Lightweight Service Grid

A Generic Database Web Service for the Venice Lightweight Service Grid A Generic Database Web Service for the Venice Lightweight Service Grid Michael Koch Bachelorarbeit Michael Koch University of Kaiserslautern, Germany Integrated Communication Systems Lab Email: m_koch2@cs.uni-kl.de

Mehr

C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern

C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung Eltern Kind Kind Vererbung Definition von Klassen auf Basis von bestehenden Klassen. Implementierung von ist ein. bildet ein hierarchisches

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

Enterprise Java Beans Einführung

Enterprise Java Beans Einführung Enterprise Java Beans Einführung Vorlesung 8 Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht EJBs im JEE Umfeld Verschiedene Typen von EJBs Von der Javaklasse

Mehr

SEQIS 10 things API Testing

SEQIS 10 things API Testing SEQIS 10 things API Testing SEQIS 10 things API Testing Herzlich Willkommen! Reinhard Salomon SEQIS Geschäftsleitung SEQIS 10 things Programm 2014 20.03.14 Business Analyse Einführung in den BABOK Guide

Mehr

Web-Services Implementierung

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

Mehr

CORBA. Systemprogrammierung WS 2006-2007

CORBA. Systemprogrammierung WS 2006-2007 CORBA Systemprogrammierung WS 2006-2007 Teilnehmer: Bahareh Akherattalab Babak Akherattalab Inhaltsverzeichnis: Verteilte Systeme Vergleich zwischen lokale und verteilte Systeme Verteilte Anwendungen CORBA

Mehr

disruptive!.? Wesentliche Innovationen & Hypes n*megatrends mit hohem Impact auf Enterprise PBX/UCC

disruptive!.? Wesentliche Innovationen & Hypes n*megatrends mit hohem Impact auf Enterprise PBX/UCC UPI Open Forum 2015 Einführung disruptive!.? Wesentliche Innovationen & Hypes n*megatrends mit hohem Impact auf Enterprise PBX/UCC Frank Schmidberger (UPI Consulting) [Hinweis: einige -aus Google Bilder

Mehr

SOA, Webservices und SOAP für Schnelleinsteiger

SOA, Webservices und SOAP für Schnelleinsteiger SOA, Webservices und SOAP für Schnelleinsteiger (C)opyright 2005 by Jochen Vajda Inhalt Einführung I. Was ist SOA? II. Webservices, SOAP und WSDL SOAP mit PHP5 I. Benötigte Komponenten II. Client ohne

Mehr

Verteilte Systeme - 1. Übung

Verteilte Systeme - 1. Übung Verteilte Systeme - 1. Übung Dr. Jens Brandt Sommersemester 2011 1. Rechnerverbünde Kommunikationsverbund: Beispiele: E-Mail (SMTP, POP/IMAP), Instant Messaging (XMPP, IRC, ICQ,...), Newsgroups (NNTP)

Mehr

4. Servlets Ein kleiner Einstieg. Kurze Java Historie. Erinnerung: Internet Anwendungen. Konzept eines Seitenaufrufs

4. Servlets Ein kleiner Einstieg. Kurze Java Historie. Erinnerung: Internet Anwendungen. Konzept eines Seitenaufrufs 4. s Ein kleiner Einstieg Erinnerung: HTTP und HTML Idee von Web n und Containern Erstellung einfacher s (zunächst software technisch übelst unstrukturiert) Literatur: B. Basham, K. Sierra, B. Bates, Head

Mehr

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Ziele Common Object Request Broker Architecture CORBA Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Object Management Group Spezifiziert den CORBA-Standard

Mehr

BS1000 messenger to web server

BS1000 messenger to web server BS1000 Messenger Web Server 1/5 Juni 15, 2010 BS1000 messenger to web server Einführung Die BS1000 LAN Basisstation für das Arexx-Multilogger System stellt einen Messenger-Dienst zur Verfügung, womit man

Mehr

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition Inhaltsverzeichnis Vorwort 13 I Enterprise Java im Überblick 1 Bedeutung von Enterprise Java und IBM WebSphere 21 1.1 Enterprise Java 23 1.1.1 Anforderungen 23 1.1.2 E-Business 30 1.1.3 Java 36 1.2 IBM

Mehr

VS11 Slide 1. Verteilte Systeme. Vorlesung 11 Sebastian Iwanowski FH Wedel

VS11 Slide 1. Verteilte Systeme. Vorlesung 11 Sebastian Iwanowski FH Wedel VS11 Slide 1 Verteilte Systeme Vorlesung 11 Sebastian Iwanowski FH Wedel VS11 Slide 2 Verteilte Systeme 1. Innovative Beispiele aus der Praxis 2. Allgemeine Anforderungen und Techniken verteilter Systeme

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

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

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

Mehmet-Oktay Tugan Gliederung Grundsätzliches und Begriffserklärung Einleitung Geschichte Architektur Funktionalitätsumfang Hauptunterstützungen Zusammenfassung Grundsätzliches WebSphere ist ein Entwicklungstool

Mehr

COMMON OBJECT REQUEST BROKER ARCHITECTURE. Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg

COMMON OBJECT REQUEST BROKER ARCHITECTURE. Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg COMMON OBJECT REQUEST BROKER ARCHITECTURE Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg Gliederung Motivation Was ist CORBA? Object Management Architecture (OMA ) Interface Definition Language

Mehr

Übungsaufgabe Transaktion als Middleware

Übungsaufgabe Transaktion als Middleware Übungsaufgabe Transaktion als Middleware und Java Persistence API Client/Server Abstraktes Komponentenmodell Entscheidende Punkte Erweiterung der Invoke-Methode Context-Verwaltung Transaktionsbehandlung

Mehr

VR-NetWorld-Software 4.4 (und folgende Versionen)

VR-NetWorld-Software 4.4 (und folgende Versionen) VR-NetWorld-Software 4.4 (und folgende Versionen) Mit der folgenden Anleitung erhalten Sie eine Beschreibung der wesentlichen SEPA-Funktionen in der VR-NetWorld Software. Insbesondere wird auf die Voraussetzungen

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

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Fortgeschrittene Servlet- Techniken. Ralf Gitzel ralf_gitzel@hotmail.de

Fortgeschrittene Servlet- Techniken. Ralf Gitzel ralf_gitzel@hotmail.de Fortgeschrittene Servlet- Techniken Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Servlet Initialisierung Attribute und Gültigkeitsbereiche Sessions

Mehr

Office-Automatisation mit PHP. International PHP Conference 2007 Thorsten Rinne

Office-Automatisation mit PHP. International PHP Conference 2007 Thorsten Rinne Office-Automatisation mit PHP International PHP Conference 2007 Thorsten Rinne Vorstellung Thorsten Rinne Jahrgang 1977 Diplom-Informatiker (FH) Projektleiter für Banking Solutions bei der Mayflower GmbH

Mehr

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

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

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

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

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

Mehr

Herzlich Willkommen zur Informatik I. Bits und Bytes. Zahlensystem zur Basis 10 (Dezimalzahlen) Warum Zahlensysteme betrachten?

Herzlich Willkommen zur Informatik I. Bits und Bytes. Zahlensystem zur Basis 10 (Dezimalzahlen) Warum Zahlensysteme betrachten? Herzlich Willkommen zur Informatik I Bits und Bytes Zahlen im Computer: Binärzahlen, Hexadezimalzahlen Text im Computer: ASCII-Code und Unicode Quelle: http://www.schulphysik.de/rgb.html Bit: eine binäre

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

-Testen verteilter Anwendungen

-Testen verteilter Anwendungen -Testen verteilter Anwendungen Seminar Simulation und Bildanalyse mit Java im SS04 Konstantin Tjo, Urs Pricking Testen verteilter Anwendungen 1 Übersicht Einführung in verteilte Anwendungen RMI (Remote

Mehr

Identity Web Services leicht gemacht

Identity Web Services leicht gemacht Identity Web Services leicht gemacht am Beispiel der TUMonline-IntegraTUM-Rückkopplung ZKI AK Verzeichnisdienste Dr. Ralf Ebner ebner@lrz.de Agenda IDM im Münchener Wissenschaftsnetz Identity-Services

Mehr

Web Services and Semantic Web - Introduction to Web Services. von Andreas Weiler

Web Services and Semantic Web - Introduction to Web Services. von Andreas Weiler Web Services and Semantic Web - Introduction to Web Services von Andreas Weiler Definitionen Beispiele Technologien Vorteile Kritik Abschlussbeurteilung Fragen? Definition von IBM: Web services are a new

Mehr

AKWi: SOA SOA-Technologiebenchmark Java RMI vs. Microsoft WCF

AKWi: SOA SOA-Technologiebenchmark Java RMI vs. Microsoft WCF AKWi: SOA SOA-Technologiebenchmark Java RMI vs. Microsoft WCF Mathias Slawik, SS 2009 Agenda Technologien Java RMI (Remote Method Invocation) Microsoft WCF (Windows Communication Foundation) Benchmark

Mehr

Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung

Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung IBM WebSphere Process Server Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung AGENDA 1. Überblick 2. WebSphere Process Server 3. Komponenten 4. Präsentation

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

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

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

Mehr

DBUS Interprozess-Kommunikation für Embedded-Plattformen

DBUS Interprozess-Kommunikation für Embedded-Plattformen DBUS Interprozess-Kommunikation für Embedded-Plattformen Andreas Schwarz Neratec Solutions AG Firmenprofil Neratec Solutions AG Produkt-Entwicklungen für kundenspezifische elektronische Produkte Produkte

Mehr

Inhalt. 1. Sprachspezifische Fehlerrisiken C++ Java. Smalltalk. 2. Coverage - Modelle. Statement Coverage. Branch Coverage

Inhalt. 1. Sprachspezifische Fehlerrisiken C++ Java. Smalltalk. 2. Coverage - Modelle. Statement Coverage. Branch Coverage Inhalt 1. Sprachspezifische Fehlerrisiken C++ Java Smalltalk 2. Coverage - Modelle Statement Coverage Branch Coverage Inkrementelles Testen von Klassen Testen Polymorpher Bindungen Optimistischer Ausblick

Mehr

Übungen zur Android Entwicklung

Übungen zur Android Entwicklung Übungen zur Android Entwicklung Aufgabe 1 Hello World Entwickeln Sie eine Hello World Android Applikation und laden diese auf den Emulator. Leiten Sie hierfür die Klasse android.app.activity ab und entwerfen

Mehr

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des

Mehr

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Service Oriented Architecture Teil 2. Web Services

UNIVERSITÄT LEIPZIG. Mainframe Internet Integration SS2013. Service Oriented Architecture Teil 2. Web Services UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Service Oriented Architecture Teil 2 Web Services el0100 copyright W. G. Spruth, wgs 04-09

Mehr

einkonto.zahle(+100); //Transaktion Einzahlung einkonto.zahle(-20); //Transaktion Auszahlung einkonto.zahle(+30); //Transaktion Einzahlung

einkonto.zahle(+100); //Transaktion Einzahlung einkonto.zahle(-20); //Transaktion Auszahlung einkonto.zahle(+30); //Transaktion Einzahlung PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 28 Testklasse public class TestGirokonto { public static void main(string[] args) { // erzeuge neues Konto Girokonto einkonto = new Girokonto();

Mehr

Anleitung SEPA-Lastschrifteinzug in der ebanking Business Edition

Anleitung SEPA-Lastschrifteinzug in der ebanking Business Edition Inhaltsverzeichnis 1 SEPA-Lastschriftvorlagen erstellen/importieren Seite 1.1 Datenimport aus einer CSV-Datei 03 1.2 Datenimport aus einer DTA-Datei ( nur noch bis 31.01.2014 ) 06 1.3 Manuelle Erfassung

Mehr

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014 Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung Klaus Kusche, September 2014 Inhalt Ziel & Voraussetzungen Was sind abstrakte Datentypen? Was kann man damit grundsätzlich?

Mehr

Eine Taxonomie und Bewertung von Cloud Computing Diensten aus Entwicklersicht

Eine Taxonomie und Bewertung von Cloud Computing Diensten aus Entwicklersicht Eine Taxonomie und Bewertung von Cloud Computing Diensten aus Entwicklersicht Universität der Bundeswehr München Mario Golling und Michael Kretzschmar Fakultät für Informatik E-Mail: mario.golling@unibw.de

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

Auch 2007 wird diese Empfehlung allerdings immer noch nicht universell befolgt.

Auch 2007 wird diese Empfehlung allerdings immer noch nicht universell befolgt. UTF-8 Kodierung UTF-8 (Abk. für 8-bit Unicode Transformation Format) ist die am weitesten verbreitete Kodierung für Unicode Zeichen. Unicode ist ein internationaler Standard, in dem langfristig für jedes

Mehr

.NET-Objekte einfach speichern Michael Braam, Senior Sales Engineer InterSystems GmbH

.NET-Objekte einfach speichern Michael Braam, Senior Sales Engineer InterSystems GmbH Make Applications Faster.NET-Objekte einfach speichern Michael Braam, Senior Sales Engineer InterSystems GmbH Agenda Vorstellung InterSystems Überblick Caché Live Demo InterSystems auf einen Blick 100.000

Mehr

Anleitung zur SEPA-Umstellung

Anleitung zur SEPA-Umstellung 1. Voraussetzungen Anleitung zur SEPA-Umstellung Damit die nachfolgend beschriebene Umstellung durchgeführt werden kann, sind diese Voraussetzungen zwingend zu erfüllen: Der Benutzer, der in SFirm und

Mehr

Meeting C++ C++11 R-Value Referenzen

Meeting C++ C++11 R-Value Referenzen Meeting C++ Detlef Wilkening http://www.wilkening-online.de 09.11.2012 Inhalt Motivation L-Values und R-Values R-Value Referenzen Move Semantik std::move Funktionen mit R-Value-Referenz Parametern Fazit

Mehr

Performance Tuning mit @enterprise

Performance Tuning mit @enterprise @enterprise Kunden-Forum 2005 Performance Tuning mit @enterprise Herbert Groiss Groiss Informatics GmbH, 2005 Inhalt Datenbank RMI JAVA API HTTP Konfiguration Analyse Groiss Informatics GmbH, 2005 2 Datenbank

Mehr

Interface Spezifikation exotargets LS

Interface Spezifikation exotargets LS Interface Spezifikation exotargets LS Einführung Inhaltsverzeichnis Inhaltsverzeichnis Inhalt 1. Einführung 3 2. History 3 3. Online-Schnittstelle 3 4. Offline-Schnittstelle 6 5. Implementationshinweise

Mehr

VS7 Slide 1. Verteilte Systeme. Vorlesung 7 vom 27.05.2004 Dr. Sebastian Iwanowski FH Wedel

VS7 Slide 1. Verteilte Systeme. Vorlesung 7 vom 27.05.2004 Dr. Sebastian Iwanowski FH Wedel VS7 Slide 1 Verteilte Systeme Vorlesung 7 vom 27.05.2004 Dr. Sebastian Iwanowski FH Wedel Inhaltsverzeichnis für die Vorlesung Zur Motivation: 4 Beispiele aus der Praxis Allgemeine Anforderungen an Verteilte

Mehr

NoSQL mit Postgres 15. Juni 2015

NoSQL mit Postgres 15. Juni 2015 Tag der Datenbanken 15. Juni 2015 Dipl.-Wirt.-Inform. Agenda l Vorstellung l Marktübersicht l Warum PostgreSQL? l Warum NoSQL? l Beispielanwendung Seite: 2 Vorstellung Dipl.-Wirt.-Inform. [1990] Erste

Mehr

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1 Fachhochschule Kaiserslautern Fachbereiche Elektrotechnik/Informationstechnik und Maschinenbau Labor Datenbanken Versuch 1 : Die Grundlagen von MySQL ------------------------------------------------------------------------------------------------------------

Mehr

Fallbeispiel 2: Fehlermeldung: Die Zahlung ist nicht SEPA-fähig. Fallbeispiel 3: Fehlermeldung: Die eingegebene TAN ist falsch im chiptan Verfahren

Fallbeispiel 2: Fehlermeldung: Die Zahlung ist nicht SEPA-fähig. Fallbeispiel 3: Fehlermeldung: Die eingegebene TAN ist falsch im chiptan Verfahren Fallbeispiel 1: Fehlermeldung: Die Zahlung ist nicht SEPA-fähig. Fallbeispiel 2: Fehlermeldung: Die Zahlung ist nicht SEPA-fähig. falsche BIC Kombination IBAN / BLZ Fallbeispiel 3: Fehlermeldung: Die eingegebene

Mehr

Moneytaurus SEPA Management Software

Moneytaurus SEPA Management Software Moneytaurus SEPA Management Software Kurzbeschreibung Die Software erzeugt SEPA Lastschrift- und Überweisungsdateien im XML Format ISO 20022 Versionen: pain.001.003.03 und pain.008.003.02. Sie verfügt

Mehr

Konzepte von Betriebssystem-Komponenten Middleware:.NET Remoting

Konzepte von Betriebssystem-Komponenten Middleware:.NET Remoting Konzepte von Betriebssystem-Komponenten Middleware:.NET Remoting André Frimberger 16.11.2004 1 Was ist.net Remoting?.NET Remoting ist ein Framework aus.net, welches die Interprozesskommunikation zwischen

Mehr