RDS einsetzen. Einleitung Vom RPC, Remote Procedure Call 1985, IPC zum RDS, Remote Data Service 2003 hin zur SOA, Service Oriented Architecture 2006



Ähnliche Dokumente
SOA-Zellen mit VCL einsetzen

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services

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

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

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer

Web-Services - die GIS-Zukunft?

Java und XML 2. Java und XML

WebService in Java SE und EE

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, Java Forum Stuttgart 2007

Web Sockets mit HTML5. Quelle:

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

Wiederholung: Beginn

Lokale Installation von DotNetNuke 4 ohne IIS

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

PL/SQL Web-Services mit Oracle 11g

Verteilte Systeme: Übung 4

Mobiles SAP für Entscheider. Permanente Verfügbarkeit der aktuellen Unternehmenskennzahlen durch den mobilen Zugriff auf SAP ERP.

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

Mobile und Verteilte Datenbanken

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

Workflow, Business Process Management, 4.Teil

XMPP: Extensible Messaging and Presence Protocol

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?

Zustandsgebundene Webservices

SAP NetWeaver Gateway. 2013

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

Übungen zur Softwaretechnik

Flexagon CLOUD Plattform für den Anbieterwechsel, und für weitere Order- und Entstör Schnittstellen

Reporting Services und SharePoint 2010 Teil 1

OERA OpenEdge Reference Architecture. Mike Fechner PUG Infotag 19. Mai 05 Frankfurt

STARFACE SugarCRM Connector

XINDICE. The Apache XML Project Name: J acqueline Langhorst blackyuriko@hotmail.de

Service. Was ist eine Enterprise Service Architecture und wie reagiert SAP. Warum Monitoring in ZENOS, was monitort die XI?

easylearn Webservice lsessionservice Interface für Single Sign On (SSO)

WI EDI Solution. Stand

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Java: Vererbung. Teil 3: super()

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.0.

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee Berlin Tel.:+49(0) Fax.:+49(0)

Die technischen Aspekte von Mapping-Lösungen

Komponentenbasierter Taschenrechner mit CORBA

ASV-Betrieb für die Coburger Schulen. Einbindung externer Schulen via RemoteApp

IAC-Programmierung HELP.BCFESITSIACPROG. Release 4.6C

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik

OP-LOG

ONET: FT-NIR-Netzwerke mit zentraler Administration & Datenspeicherung. ONET Server

FileMaker Go 13 ohne Connects

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen

Systembeschreibung. Masterplan Kommunikationsinterface. ASEKO GmbH. Version 1.0 Status: Final

RUP Analyse und Design: Überblick

4D Server v12 64-bit Version BETA VERSION

Um DynDNS zu konfigurieren, muss ausschließlich folgendes Menü konfiguriert werden:

Walther- Übungsaufgabe 24. Januar 2016 Rathenau- Routing Name: Gewerbeschule Freiburg DHCP Klasse: E3FI1T Seite 1 Punkte: /20 Note:

1 Espresso bitte, aber stark

ObjectBridge Java Edition

1 Konfigurationsanleitung Hosted Exchange

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Mobile-Szenario in der Integrationskomponente einrichten

jet IDS HIGH-LEIT OPC-GATEWAY zur Anbindung von Automatisierungssystemen Ein offenes, skalierbares SCADA System für alle Infrastrukturanwendungen

Security Patterns. Benny Clauss. Sicherheit in der Softwareentwicklung WS 07/08

Gesicherte Prozeduren

Man liest sich: POP3/IMAP

Testen mit JUnit. Motivation

Step by Step Remotedesktopfreigabe unter Windows Server von Christian Bartl

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Inhalt. 1 Übersicht. 2 Anwendungsbeispiele. 3 Einsatzgebiete. 4 Systemanforderungen. 5 Lizenzierung. 6 Installation.

3. Stored Procedures und PL/SQL

EasyWk DAS Schwimmwettkampfprogramm

Grundkonzepte der Vernetzung

CORBA. Systemprogrammierung WS

ISA Server 2004 Erstellen eines neuen Netzwerkes - Von Marc Grote

Anleitung mtan (SMS-Authentisierung) mit SSLVPN.TG.CH

Web Service Discovery mit dem Gnutella Peer-to-Peer Netzwerk

Multimedia Engineering II - Übung 2

teamsync Kurzanleitung

Auszug aus JAX-WS Folien

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke J.M.Joller 1

Google Cloud Print. Stefan Seltenreich

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Einführung in die Programmierung

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek

Lizenzen auschecken. Was ist zu tun?

START - SYSTEMSTEUERUNG - SYSTEM - REMOTE

BIF/SWE - Übungsbeispiel

iphone 4 - Einrichtung des VPN Clients (Cisco VPN Client) / Verbinden des iphones mit einem Exchange

Voraussetzungen für die Nutzung der Format Rechenzentrumslösung (Hosting)

12.4 Sicherheitsarchitektur

1. Zugriff auf das Lonza Netzwerk von ihrem privaten PC oder von einem Internet Café

Prinzipien Objektorientierter Programmierung

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel

ZUM HANDELN GESCHAFFEN. Stationärer Handel / Multi Channel

Durch Standardisierung können Webservices von jedem Cluster verwendet werden, unabhängig von Betriebssystem und verwendeter Sprache.

Inhalt I. Blick zurück II. Was sind WebServices? III. Rahmenwerk für edienstleistungen IV. Verwendete WebServices

EXCHANGE Neuerungen und Praxis

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi

Technische Grundlagen von Internetzugängen

Onlinebanking mit PHP

Transkript:

RDS einsetzen Einleitung Vom RPC, Remote Procedure Call 1985, IPC zum RDS, Remote Data Service 2003 hin zur SOA, Service Oriented Architecture 2006 Max Kleiner, Mai 2006

RDS Agenda Kernidee (Funktionsmuster) ist, gesammelte Daten aus n-clients mit einer Applikation oder einem Dienst via SOAP zentral an einen Server zu senden und auszuwerten. Die Umsetzung zeigt mit WebServices ein Framework zur entfernten Speicherung von Daten (Storage as Service). Warum SOA nur eine Idee und keine Technik ist! 2

Anforderung Ein schweizweites Netz von mobilen Rechnern (Ausbildungscontrolling) sendet periodisch Ausbildungsdaten an einen zentralen Server, der die ausgewerteten Daten dann per Browser für die Instruktoren bereithält. In der folgenden Fallstudie möchte ich die Grundzüge dieser Technik näher bringen und vor allem das entfernte Speichern von Daten via Funktionen erklären. 3

Rahmenbedingung Fachliche Anforderungen Q-Anforderungen Fachmodell Use Case, Activity Technische Anforderungen Architekturkonzept Funktionsmuster Packages, IAD Analyse Referenz Architektur Patterns Abbildungsregeln Layers - Tiers Spezifikation Class, Sequence, ERD, GUI Design ist Implementierung der Architektur Design Framework Implementierung Fachcode nutzt Architektur State Event, Packages, Component Integration Implement ierung www.miloffice.ch 4

GUI: Dienstplanung Replikation / Import / Export ACV Ausb. Controlling TRW Trp Rechnungswesen DTM Diensttagemanagement MILO DB Architektur MILO 4.X AdA-Verwaltung XML-RPC / Softwarebus Reporting PICASSO LEONARDO Portfolio/Formulare PKI SecureCenter MILO SOA WebServices PISA RE4 /SAP XML AVOR GAD / FDT Ausb D / Ei Compacs, MIL Sport, KADAS Weitere Appl. 5

RDS: Worum geht es? VCLScanner.exe als Client (Compilat) VCLScannerServer.exe als WebService Apache WebServer InterBase DB / DBExpress Connector Die Komponenten des RDS: -WSDLPublish - Dispatcher - Invoker - DataSetProducer 6

RDS konkret InterBase Client A Client B MainBase Verbinden (HTTP) Finden (UDDI, WSDL) Datenformat (XML) Interagieren (SOAP) App/Web Server Administration Client C 7

WebService Technik Dienste im Netz, die über Standard- Protokolle erreichbar sind Datenaustausch basiert auf XML Plattform- und unternehmensübergreifende Transaktionen kombinierbar OO-Technik mit Interfaces realisiert HTTP-Port 80 in der Regel offen 8

Schlüsseltechnologie Web Service Benutzer Finden: : UDDI http://findaservice.ch XML mit Link zur Web Site Realisieren: : WSDL http://adb2.ch/scanner.exe/wsdl XML mit Servicebeschreibung Ausführen: : SOAP http://adb2.ch/serverscanner.exe XML als Prozeduraufruf Business Repos. Web Service 9

Webdienst-Katalog UDDI Universal Description, Discovery und Integration Gelbe Seiten des Internet für Webdienste Gremium aus ca. 120 Firmen für die Propagation von Webdiensten Bsp.: http://www.xmethods.net and click the BabelFish Web Service. Also notice the path to the WSDL file for the service: http://www.xmethods.net/sd/2001/babelfishservice.wsdl. 10

SOAP Webmodul Die Komponente THTTPSoapDispatcher empfängt und beantwortet hereinkommende SOAP-Nachrichten und entscheidet, welches Interface man verwendet. Das korrekte Objekt, welches das Interface realisiert, wird an den PascalInvoker weitergeleitet, der die richtig ausgepackte Methode mit den formatierten Argumenten einschliesslich Errorcodes in den eigentlichen OP-Aufruf inklusive Parametern transformiert. WSDL ist ein XML-Derivat zur Beschreibung der Schnittstellen von WebServices. Nachrichtenstrom- Formate und Funktionsaufrufe werden definiert. HTMLPublish ist verantwortlich für das Veröffentlichen von WSDL (WebServiceDescriptionLanguage) 11

Das Web Modul type TWebModule1 = class(twebmodule) WSDLHTMLPublish1: TWSDLHTMLPublish; HTTPSoapDispatcher1: THTTPSoapDispatcher; HTTPSoapPascalInvoker1: THTTPSoapPInvoker; DataSetTableProducer1: TDataSetTableProducer; 12

Das Interface type { Invokable interfaces must derive from IInvokable } IVCLScanner = interface(iinvokable) ['{8FFBAA56-B4C2-4A32-924D-B3D3DE2C4EFF}'] function PostData(const UserData : WideString; const CheckSum : DWORD) : Boolean; stdcall; procedure PostUser(const Email, FirstName, LastName : WideString); stdcall; end; 13

Die Implementation des Interface TVCLScanner = class (TInvokableClass, IVCLScanner) public function PostData(const UserData : WideString; const CheckSum : DWORD): Boolean; stdcall; procedure PostUser(const Email, FirstName, LastName : WideString); stdcall; end; Implementation... 14

Client Aufruf var WS: IVCLScanner; WS:= HTTPRIO1 as IVCLScanner; WS.PostData(reFinalResults.Text,CRC); HTTPRIO1:URL http://adb2/scripts/vclscannerserver.exe/soap/ivclscanner 15

Die sieben Express Schritte 1. Connection:= TSQLConnection.Create(NIL); 2. with Connection do begin... 3. DataSet := TSQLDataSet.Create(NIL); 4. with DataSet do begin... 5. SQLConnection:= Connection; 6. CommandText:= 7. Format('insert into ACL_LN values("%d","%s", "%s", "%s","%s")',[10, Email, FName, LName, ACLdate]); 16

Struktur als Class Diagram IInte rface TInvokableClass IInvokable Tfrm Main TWebModule attributes DFM: TStringList; DriveSpace: Int64; TWebModule1 attributes DataSetTableProducer1 HTTPSoapDispatcher1 HTTPSoapPascalInvoker1 WSDLHTMLPublish1 dbpath filepath operations Dispatcher/Invoker getpath IVCLScanne r TVCLScanner operations PostData(..): Boolean; PostUser(..) httpsoap Excludes: TStringList; Files: TStringList; hprocess: THandle; ProgramFilesDir: string; ResList: TStringList; Results: TStringList; SerialNumber: DWORD; SkippedDirs: TStringList; SkippedFiles: TStringList; SystemDrive: Char; WebModule1DefaultHandlerActio WebModule1RunQueryAction(..) WebModuleCreate(..) getfile_databasepath 17

Das Sequenzdiagramm 18

RDS Pakete 19

RDS Vorteil gegenüber Scripts OO-Technik mit Klassenbildung Direkt aus dem Code instanzierbar Auch ohne Browser möglich Microsoft selbst betont den Willen zur Einbindung anderer Hersteller und Plattformen Echte typensichere Compilate erlauben eine stabile Nutzung mehrerer mobiler Plattformen und Sprachen Dank des Verzeichnisdienstes immer up-to-date 20

Warum es vorderhand SOA wenig braucht? Nicht jeder Service oder Prozess muss verteilt, orchestriert und veröffentlicht werden. Zu viele nachrichtenorientierte Services erhöhen den Verwaltungsaufwand und vermindern Performance und Stabilität. SOA ist wenig typensicher, will heißen, der Hund ist zur Laufzeit begraben! 21

F1: Fragen und hoffentlich Antworten? http://max.kleiner.com 22