Konzeption und Implementierung einer XML-RPC und SOAP Anbindung Praktikumsbericht von Martin Spindler.

Slides:



Advertisements
Ähnliche Präsentationen
SOAP, nur ein neuer XML- Dialekt?
Advertisements

C Sharp (C#) Martin Saternus Senior Student Partner
der Universität Oldenburg
Entwicklung UnivIS-Anbindung auf Basis von PHP und DOM-XML
JIRA-Anbindung an BPEL Human-Task Prozesse Markus Huber
DI Christian Donner cd (at) donners.com
SOAP Simple Object Access Protocol
Datenbankzugriff im WWW (Kommerzielle Systeme)
Spec# Proseminar Assertions im SS 2007 Uni Paderborn Andreas Martens Betreuer: Dipl. Inform. Björn Metzler.
Java 2 Enterprise Edition (J2EE)
Web Services und Workflow-Steuerung
FH-Hof Einbindung von JavaScript Anweisungen
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Java: Grundlagen der Sprache
DOM (Document Object Model)
XINDICE The Apache XML Project Name: Jacqueline Langhorst
SOAP (Simple Object Access Protocol)
XML-Parser Manuel Röllinghoff.
Edgar - Ein Texteditor Ein Vortrag von Carsten Severin.
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
Einführung XML XML Einführung Andreas Leicht.
JAVA RMI.
Introducing the .NET Framework
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Seminar Internet Technologien
RDF-Schema Seminar: „Semantic Web“ André Rosin,
Software Design Patterns Extreme Programming (XP).
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Hänchen & Partner GmbH 1 Web-Anwendungen mit dem Jakarta Struts Framework 3.Juli 2003 Martin Burkhardt.
Tobias Högel & Dennis Böck,
Björn Schmidt, Hoang Truong Nguyen
Was versteht man unter XML Schema?
JDBC: JAVA Database Connectivity
Objektorientierte Modellierung
Seminar Praktische Informatik Web Services
Distributed Programming in.NET. Inhaltsverzeichnis 1) Einführung 2).NET Remoting 3) Web-Services 4) Vergleich.NET Remoting und Web- Services 5) Fazit.
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
Software Architektur III
Die .NET Common Language Runtime
Die .NET Common Language Runtime
Letzter Tag Spaeter Zeitpunkt letzte Lied hoert man weiter.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
ArcGIS als WPS Server Aktueller Stand der Umsetzung
Integration heterogener verteilter Systeme mit WS-BPEL – ein Praxisbeispiel Dr. Wolf-Dieter Heinrichs.
Webservice Grundlagen
Mit 3 Schichte zum Erfolg
Erstellen einer Webseitenstatistik mithilfe eines OLAP-Servers
Consulting and Solutions.NET Vortragsreihe – Vorstellung der Referenten Happy Arts Software Markus Kämmerer IT-Erfahrung seit 1987,
Java für Fortgeschrittene
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 4 Folie 2 REST Web Services (1)
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 2 Folie 2 ASP.NET HTTP-Handler (1)
Java Server Pages Sergej Keterling
Management- und Web Services- Architekturen
Oliver Spritzendorfer Thomas Fekete
XML (Extensible Markup Language)
Objectives Verstehen was unterDelegate verstanden wird
Kurzpräsentation von Herbert Schlechta
Datenanbindung in Webapplikationen
Einführung in Web Services Web Services in der Praxis
David Kružić Studienprojekt: DecidR+ 18. Januar 2010 WS – BPEL.
SOAP.
Vortrag - Diplomarbeiten (HS I)
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
Patrick Richterich Lattwein GmbH Web Services Softwareentwicklung mit SOAP.
XML-Erweiterungen in ORDBMS Seminar: DBMS für spezielle Anwendungen Florian Brieler.
XML-basierte Beschreibungssprachen für grafische Benutzerschnittstellen Seminarvortrag im Studiengang „Scientific Programming“ von Steffen Richter.
WebServices Vortrag zur Diplomarbeit WebServices Analyse und Einsatz von Thomas Graf FH Regensburg
SOAP - WSDL Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. Manfred Thaller AM 2 Hauptseminar: Virtuelle.
 Präsentation transkript:

Konzeption und Implementierung einer XML-RPC und SOAP Anbindung Praktikumsbericht von Martin Spindler

Gliederung 1.Einleitung - SKYRIX Software AG - Die SKYRiX Groupware - Motivation 2.XML-RPC - Spezifikation - XML-RPC Anbindung an Objective-C 3.SOAP: Kurzer Überblick 4.Ausblick und weiterführende Arbeiten 5.Zusammenfassung

MDlink GmbH Nov. 2000: SKYRIX Software AG ca. 17 Mitarbeiter davon ein Drittel Studenten Produkt: SKYRiX Groupware 1. Einleitung: SKYRIX Software AG

1. Einleitung: SKYRiX Groupware

1. Einleitung: Motivation I Unterstützung von Skriptsprachen Automatisieren von Operationen Unterstützung von Hochsprachen native Clients Nutzen fremder Services Standardisierte Schnittstellen:

1. Einleitung: SKYRiX – Struktur Schichten verschiedene Abstraktionsstufen gutes Software Design unabhängige Libraries Trennung von UI und Model

1. Einleitung: SKYRiX – Struktur SchichtenProzesse

1.Einleitung: Motivation II Verteilte Prozesse Stabilität Skalierbarkeit Performance steigt

1. Einleitung: RPC RPC Remote Procedure Call Aufruf von Funktionen auf entfernten Rechnern Funktion = Name + Parameter + Resultat

2. XML-RPC RPC über XML und HTTP Unterstützt von vielen Programmiersprachen Spezifikation:

2. XML-RPC: Struktur Call: add(3,5) add Response: 8

2. XML-RPC: Datentypen oder 4 Byte Integer -42 Wahr oder Falsch 1 ASCII String Hello World Fließkommazahl Datum / Zeit T14:08:55 Binäre Daten eW9lYWQgdGhpcyE= 3... person_id 3... Skalare Typen: Komplexe Typen:

2. XML-RPC: Objective-C Haussprache von SKYRiX Objektorientiert (SMALLTALK für C) Dynamisch bindende und typisierende Sprache Beliebige Klassen können während Laufzeit instanziert werden Syntax: [object messageWith:paramter1 and:parameter2]

2. XML-RPC: Aufbau von libXmlRpc Klassen: XmlRpcMethodCall XmlRpcMethodResponse XmlRpcSaxHandler XmlRpcDecoder XmlRpcEncoder

2. XML-RPC: MethodCall und -Response XmlRpcMethodCallXmlRpcMethodResponse -initWithName:parameters: -initWithXmlRpcString: -paramters -methodName -xmlRpcString -initWithResult: -initWithXmlRpcString: -result -xmlRpcString

2. XML-RPC: XmlRpcEncoder XmlRpcMethodCall bzw. XmlRpcMethodResponse XML Dokumente Beispiel: Person-Klasse mit verschiedenen Attributen - (void)encodeWithXmlRpcCoder:(XmlRpcEnoder *)_coder { [_coder encodeString:[self firstname] [_coder encodeDate:[self birthday] [_coder encodeData:[self image] [_coder encodeObject:[self address] }... Ergebnis:

2. XML-RPC: XmlRpcSaxHandler Parsen von XML Dokumenten mit SAX: –SAX = Simple API for XML –Ereignisbasierte Callbacks z.B. Tag geht auf, Tag schliesst sich,… XmlRpcSaxHandler –Ergebnis: XmlRpcMethodCall bzw. XmlRpcMethodResponse –ABER: nur standard XML-RPC Typen!!! –ALLERDINGS: Zuordnung NSObjectClass Attribut zu Values

2. XML-RPC: XmlRpcDecoder XML Dokument XmlRpcMethodCall bzw. XmlRpcMethodResponse Mit korrekten Klassen!!! Verwendung des XmlRpcSaxHandlers Funktionsweise: 1.Instanzieren der Klasse anhand des NSObjectClass Attributes 2.Initialisieren dieser Klasse durch Aufruf von –initWithXmlRpcCoder: - (id)initWithXmlRpcCoder:(XmlRpcDecoder *)_coder { if ((self = [super init])) { [self setFirstname:[_coder [self setBirthday: [_coder [self setImage: [_coder [self setAddress: [_coder } return self; }

2. XML-RPC: XmlRpcClient XmlRpcClient *client = nil; NSString *location ; id result = nil; client = [[XmlRpcClient alloc] initWithLocation:location]; result = [client add param:[NSNumber numberWithInt:3] param:[NSNumber numberWithInt:5]]; // result enthält das Ergebnis [client release];

3. SOAP: Kurzer Überblick Prinzipiell wie XML-RPC, aber komplizierter XML Schema beliebige Datentypen spezielle Koder-Methoden fallen weg WSDL Service Beschreibung (IDL) Standard durch W3C Stark Propagiert durch Microsoft, IBM,... Einsatz in.NET, SUN ONE,...

4. Ausblick und weiterführende Arbeiten Bisherige Fortschritte bei SOAP Implementierung: –XML Schema Unterstützung: XmlSchemaClassGenerator, Encoding/Decoding –WSDLAnalyzer –Noch nicht stabil, aber bereits erste Verbindungen mit.NET, GOOGLE,... –XmlRpc-SOAP-PROXY

5. Zusammenfassung RPC = Remote Prozedure Call Wesentliche XML basierte RPCs: XML-RPC und SOAP libXmlRpc bietet XML-RPC Anbindung an Objective-C Unterstützung von beliebigen Typen ist gewährleistet. SOAP könnte Prozesskommunikation von SKYRiX ersetzen.

6. Ende Vielen Dank für Eure Aufmerksamkeit!