Einführung in COM Seite 1

Größe: px
Ab Seite anzeigen:

Download "Einführung in COM. 04.04.2006 Seite 1"

Transkript

1 Einführung in COM Seite 1

2 Ziele Sie kennen die Funktion der Registry für COM Sie können die Struktur eines COM-Objekts erklären Sie können erklären, wie ein remote-server gestartet wird Seite 2

3 Wieso wichtig? Grundlage für OPC-Server Verständnis bei Inbetriebnahme von OPC- Servern wichtig nötig, um Code-Aenderungen an einem OPC- Server vornehmen zu können Seite 3

4 Statische Libraries DLL COM-Komponenten... Wiederverwendbare Softwareeinheiten Seite 4

5 Probleme der DLL: // die SERVER.DLL Version 1 // jedes Objekt braucht 8 Byte Speicher class CDog{ private: double Weight; } // die neue Version SERVER.DLL Version 2 class CDog{ private: double Weight; double Age; } Seite 5

6 Der Client // Client.exe // Kompiliert mit der Version 1 des SERVER.DLL Cdog* pdog = new CDog; Seite 6

7 Probleme der DLL-Lösung Versionsverwaltung Bezeichnung Datentyp muss zur Kompilierungszeit bekannt sein Seite 7

8 Lösungsansatz von COM Interface verwenden global eindeutige Festlegung der Interfacebezeichnung Interface von Implementierung trennen Funktionen zur Suche und Abfrage von Interface Seite 8

9 Was ist COM? in standardisierter Weg für eine Applikation (meist ein Win32 *.exe) eine Win32 DLL zu laden und aufzurufen allgemeine Möglichkeit um mit einem *.exe ein anderes *.exe zu steuern Seite 9

10 Was ist COM? Programmiersprache unabhängiger Standard binärer Standard, nicht von 'calling conventions' verschiedener Programmiersprachen abhängig keine Programmiersprache Seite 10

11 Was ist COM? Sammlung von Konventionen: legt fest, was ein COM.Objekt ist wie COM-Objekte ihre Methoden anderen zur Verfügung stellen wie und wann die Objekte wieder zerstört werden eindeutige Bezeichnung von Interface Seite 11

12 Was ist COM? Transparente Interprozess- und Netzwerkinteroperabilität (DCOM) Seite 12

13 Plattformen Windows 98, NT4.0, 2000, CE ab V3.0, MAC OS, Sun Solaris2.5, DEC unix 4.0, IBM OS/390, Linux (Intel) Seite 13

14 COM als binärer Standard Damit ein Client eine Komponente verwenden kann, muss er nur sein Interface kennen (32bit Pointer) er muss sich nicht um die Bildung der Objekte kümmern, noch muss/darf er wissen, wie sie intern aufgebaut sind Seite 14

15 Realisierung C++-like: Definition des Interface in abstrakten Basisklassen Funktionen werden als virtuelle Funktionen deklariert die virtuellen Funktionen werden in den Komponentenobjekten implementiert Seite 15

16 Beispiel: class IDog{ virtual void Bark() = 0; virtual void RollOver(int rolls) =0; }; Seite 16

17 Implementierung in der aus der abstrakten Klasse abgeleiteten COM-Klasse class CBeagle: public IDog{ virtual void Bark() { 'hier wird das Bellen programmiert'}; virtual void RollOver(int Rolls) {' hier werden die Kapriolen implementiert'}; }; Seite 17

18 Infrastrukturfunktionen für COM QueryInterface AddRef Release sind in IUnknown festgelegt Seite 18

19 IUnknown { IUnknown() virtual BOOL QueryInterface(int niid, void ** ppvobj) = 0; virtual DWORD Release () = 0; virtual DWORD AddRef() = 0; }; Seite 19

20 Beispiel: class IDog : public IUnknown { virtual public void Bark() = 0; virtual public void RollOver(int rolls) =0; }; Seite 20

21 Struktur: pcbeagle (oder CBeagle Objekt vtable QueryInterface Release pidog) AddRef Bark RollOver Seite 21

22 Interface Vertrag über Funktionalität Interf ace2 Interf ace1 Object1 Interf ace Seite 22

23 IDL Interface-Definition minimale Information über die Methoden: [in] [out].. Parameter abgespeichert in 'Type Library' (Typ.tlb,.dll,.exe,.olb oder.ocx) verwendet zur automatischen Generierung von proxy/stub (DCOM) Seite 23

24 Identifikation Interface Objekte Type Library IID CLSID TLID Programme ProgID Seite 24

25 Identifikation GUID(uuid) Globally(Universal) Unique Identifier Bsp {c4910d71-ba7d-11cd-94e a8a3} Seite 25

26 ProgID Benutzerlesbare Identifikation - nicht eindeutig Bsp: OPC.Fix Seite 26

27 Registry Seite 27

28 Registry Seite 28

29 COM-Objekte Wie werden COM-Objekte gebildet/instanziert, wenn der Client den Bauplan nicht kennt? ClassFactory: Teil einer Komponente, welche die benötigten Objekte bildet Standard Interface: IClassFactory ruft den Konstruktur des gewünschten Objekts auf wird vom Client über sein Interface aktiviert Seite 29

30 Wann wird ein COM-Objekt wieder zerstört? COM-Objekt kann Server für mehrere Clients sein mit 'AddRef (bei QueryInterface ) wird Zähler hochgezählt mit Release wird Zähler verkleinert wenn Zähler = 0, wird Objekt zerstört Seite 30

31 Wie findet ein Client heraus, ob der Server die gewünschte Funktion kann, d.h. das gewünschte Interface hat? Mit QueryInterface(CLSID,.. ) d.h. der Client muss die CLSID des Interface kennen Seite 31

32 Aktivierung einer COM In-Process-Komponente Registry 1. ProgID 2. CLSID 0. CoInitialize Client 3. CoGetClassObject(CLSID,...) 8. Interface * 9. Release 6. CreateInstance(..) Komponente geladen COM Objekt 7. erzeugt Filename Filename? COM Run Time Im Memory? 5. IClassFactory ClassFactory DLL laden 4. DLLGetClassObject(CLSID,...) Seite 32

33 Die Komponente loslassen: Komponente geladen Registry Client 1. Release COM Objekt 2. CoFreeUnusedLibraries(); 4. CoUninitialize; Ref = 0 COM Run Time ClassFactory DLL laden 3. DllCanUnloadNow Seite 33

34 Threading Modelle Apartment: Einheit mit gleichem Prinzip der Programmausführung: nur ein einziger Thread (message pump nötig) mehrere Threads in einem Apartment möglich nicht auf verschiedene Prozesse oder Rechner verteilt Seite 34

35 Threading Modelle STA, Single Threaded Apartment ( Apartment Modell ) nur ein Thread Komponente muss nicht Thread-safe sein MTA (Multi Threaded Apartment) Objekt kann in mehreren Threads laufen Laufzeitprobleme, Thread-safe Programmierung Seite 35

36 Komponenten können Nur in STA laufen nur in MTA laufen oder in beiden (free) wird in der Registry angegeben Client legt Apartment-modell bei CoInitialize fest Seite 36

37 Remote Aktivierung Client 6. Aufrufe des Clients Komponente geladen COM Objekt 1. CoCreateInstancet(CLSID,...) COM Run Time COM Run Time 4. Server starten SCM 5. Interface * 3. Verbindung SCM 2. Remote Server? Registry Registry Seite 37

38 MARSHALLING Objekte Objekte Stub Proxy Seite 38

39 Client Prozess In-Process Server Lokaler Server Prozess Out-of-Process Server In-Process Objekt Stub COM In-Process Objekt Client- Anwendung COM LRPC Remote Rechner Proxy für lokales Objekt Remote Server Prozess Remote Server Proxy für remote Objekt RPC Stub In-Process Objekt COM Seite 39

40 Datentyp VARIANT Universal Datentyp enthält Information, wie die Daten zu interpretieren sind in MFC: COleVariant Klasse bietet sehr praktische Möglichkeiten Seite 40

Das Component Object Model (COM)

Das Component Object Model (COM) Einführung in das Component Object Model unter Microsoft Windows Das Component Object Model (COM) Michael Puff mail@michael-puff.de 2010-03-26 Die erste Version dieses Dokumentes wurde im Rahmen einer

Mehr

Inhalt. 1. Motivation. 2. COM Architektur. 3. COM Implementierung. 4. Zusammenhang zu ATL. 5. Beispiel COM Client/ Server. 6..

Inhalt. 1. Motivation. 2. COM Architektur. 3. COM Implementierung. 4. Zusammenhang zu ATL. 5. Beispiel COM Client/ Server. 6.. Inhalt 1. Motivation 2. COM Architektur IUnkown 3. COM Implementierung 4. Zusammenhang zu ATL 5. Beispiel COM Client/ Server 6..NET/ COM Interop ISum IMultiply Calculator IClassFactory 7. Beispiel.NET

Mehr

Seminar Komponentenorientierte Softwareentwicklung

Seminar Komponentenorientierte Softwareentwicklung Seminar Komponentenorientierte Softwareentwicklung Für : Herr Prof. Dr. Thiesing COM (DCOM, COM+) Von: Nurhan Duman MatrNr: 7037779 1 Inhaltsangabe Historie von COM/DCOM/COM+...S.3 Was ist COM (allgemeine

Mehr

Vortrag Grundlagen der COM-Programmierung

Vortrag Grundlagen der COM-Programmierung Schulungsdokument Vortrag Grundlagen der COM-Programmierung Konfigurationsidentifizierung (KI): CTB003202 Funktion Name Organisationseinheit Erstellung Mario Becker BDS Inhalt ➀ Funktionsweise von COM

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

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

Client/Server-Programmierung

Client/Server-Programmierung lient/server-programmierung WS 2014/2015 etriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, üro: H- 8404 Stand: 15. Oktober 2015 etriebssysteme / verteilte Systeme

Mehr

Inhaltsverzeichnis. Teil I Grundlagen der Programmarchitektur... 1. Vorwort... XIII XV XVI XVI

Inhaltsverzeichnis. Teil I Grundlagen der Programmarchitektur... 1. Vorwort... XIII XV XVI XVI Vorwort......................................................................... Vorwort der Autoren........................................................... Systemanforderungen für die CD zum Buch......................................

Mehr

Software Reuse Sommer 2004. 5. OLE, DCOM und COM Die frühen. Komponentenmodelle der Firma Microsoft. Object Linking and Embedding (Compound Documents)

Software Reuse Sommer 2004. 5. OLE, DCOM und COM Die frühen. Komponentenmodelle der Firma Microsoft. Object Linking and Embedding (Compound Documents) 5. OLE, DCOM und COM Die frühen Komponentenmodelle der Firma Microsoft Peter Sturm Universität Trier COM+ Entwicklungsschritte Object Linking and Embedding (Compound Documents) In-Place Activation Clipboard

Mehr

Kap. 3 Verteilte Objektverwaltung

Kap. 3 Verteilte Objektverwaltung Kap. 3 Verteilte Objektverwaltung 3.1 Einführung in die verteilte Objektverwaltung (Distributed Object Management, DOM) Anforderungen Kurzübersicht Java RMI Microsoft COM+ CORBA 3.2 Der CORBA-Standard

Mehr

Office in Java. 2. Info-Point Urs Frei

Office in Java. 2. Info-Point Urs Frei Office in Java 2. Info-Point Urs Frei Problemstellung: Zwei Motivationen Daten direkt im richtigen Format Excel nicht über Zwischenformat csv In Word Bereichte erstellen Office fernsteuern Rechtschreibeprüfung

Mehr

Remote Communications

Remote Communications HELP.BCFESDEI Release 4.6C SAP AG Copyright Copyright 2001 SAP AG. Alle Rechte vorbehalten. Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher

Mehr

Java Einführung Methoden in Klassen

Java Einführung Methoden in Klassen Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding

Mehr

Szenario 3: Service mit erweiterter Schnittstelle

Szenario 3: Service mit erweiterter Schnittstelle 2. Hintergrundverarbeitung in Android: Services und Notifications Szenarien für lokale Services Szenario 3: Service mit erweiterter Schnittstelle Ein Service bietet zusätzliche Methoden an, über die sich

Mehr

J.5 Die Java Virtual Machine

J.5 Die Java Virtual Machine Java Virtual Machine Die Java Virtual Machine 22 Prof. Dr. Rainer Manthey Informatik II Java-Compiler und Java Virtual Machine Quellcode-Datei class C... javac D.java Java-Compiler - Dateien class class

Mehr

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer)

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer) Programmieren I Grundlagen von JAVA Dr. Klaus Höppner Hello World in JAVA Hochschule Darmstadt WS 2007/2008 Elementare Datentypen 1 / 17 2 / 17 Eigenschaften von JAVA Prinzipieller Ablauf Plattform-und

Mehr

Ziele. 04.04.2006 Seite 2

Ziele. 04.04.2006 Seite 2 04.04.2006 Seite 1 Ziele Sie können die Vorteile von OPC benennen Sie kennen die wesentlichen Objekte eines OPC-Servers Sie können einen einfachen Client konfigurieren Sie kennen die DCOM-Einstellungen

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

Mobile und Verteilte Datenbanken

Mobile und Verteilte Datenbanken Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2013/2014 groppe@ifis.uni-luebeck.de Institut für Informationssysteme Universität zu Lübeck Kommunikations-Middleware Bietet höhere Kommunikations-Dienste

Mehr

I.2.3. DCOM Distributed Component Object Model. Dr. Welf Löwe und Markus Noga 1

I.2.3. DCOM Distributed Component Object Model. Dr. Welf Löwe und Markus Noga 1 I.2.3. DCOM Distributed Component Object Model Dr. Welf Löwe und Markus Noga 1 Literatur Es scheint keine guten COM Bücher zu geben. Don Box. Essential COM. Addison-Wesley. 1998. Viel zu detailliert, zu

Mehr

Ein einfacher Server. .NET Remoting. Klassentypen

Ein einfacher Server. .NET Remoting. Klassentypen Einführung - eine Klienten-Applikation kann mit einer Komponente interagieren die hinter einer Grenze liegt - Remoting ermöglicht eine Kommunikation von Komponenten Kontext-, Applikationsdomänen- (leichtgewichtiger

Mehr

Java RMI Remote Method Invocation

Java RMI Remote Method Invocation Java RMI Remote Method Invocation Ziel: Aufruf von Instanzmethoden entfernter Objekte basierend auf Java. Paket: java.rmi und Unterpakete Topologie: RMI Registry RMI Server RMI Client Der Server registriert

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007 Systemprogrammierung Projekt: Java RMI Wintersemester 2006 / 2007 Systemprogrammierung 1. Einleitung 2. Einführung in RPC 3. RMI 4. Code Beispiele 5. Live Vorstellung 6. Ausblick 7. Fazit 2 1. Einleitung

Mehr

E.1 Object Request Brokers

E.1 Object Request Brokers E Überblick über die 4. Übung E Überblick über die 4. Übung 1 Komponenten eines ORBs Lösungsskizze Aufgabe 2 RPC und ORB Aufrufsemantiken Hinweise Aufgabe 3 Kommunikationsschicht: tauscht Daten zwischen

Mehr

DCOM??? 04.04.2006 Seite 1

DCOM??? 04.04.2006 Seite 1 DCOM??? 04.04.2006 Seite 1 Sie wissen, welche Aspekte das Sicherheitsmodell von DCOM vorsieht was die Konfiguration der einzelnen Aspekte bedeutet 04.04.2006 Seite 2 Wieso wichtig? Vernetzung nimmt zu

Mehr

OPC UA und die SPS als OPC-Server

OPC UA und die SPS als OPC-Server OPC UA und die SPS als OPC-Server Public 01.10.2010 We software We software Automation. Automation. Agenda Firmenportrait Kurz-Einführung zu OPC Kurz-Einführung zu OPC UA (Unified Architecture) OPC UA

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

COM+ in der Prozeßautomatisierung. Diplomarbeit zur Erlangung des akademischen Grades Diplomingenieur. in der Studienrichtung Informatik

COM+ in der Prozeßautomatisierung. Diplomarbeit zur Erlangung des akademischen Grades Diplomingenieur. in der Studienrichtung Informatik COM+ in der Prozeßautomatisierung Diplomarbeit zur Erlangung des akademischen Grades Diplomingenieur in der Studienrichtung Informatik Angefertigt am Institut für Informationsverarbeitung und Mikroprozessortechnik

Mehr

Vererbung & Schnittstellen in C#

Vererbung & Schnittstellen in C# Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung

Mehr

Klassenbeziehungen & Vererbung

Klassenbeziehungen & Vererbung Klassenbeziehungen & Vererbung VL Objektorientierte Programmierung Raimund Kirner teilweise nach Folien von Franz Puntigam, TU Wien Überblick Arten von Klassenbeziehungen Untertypen versus Vererbung in

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

C# im Vergleich zu Java

C# im Vergleich zu Java C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung

Mehr

OPC-Server-Browser ActiveX-Steuerelement: IBG_OpcServerBrowser_S1

OPC-Server-Browser ActiveX-Steuerelement: IBG_OpcServerBrowser_S1 OPC-Server-Browser ActiveX-Steuerelement: IBG_OpcServerBrowser_S1 Entwickelt von: Gerald Giese, Mühlentor 17 B, 14793 Ziesar (Germany) Tel.(033830) 12942, Fax (033830) 12943 e-mail: g.giese@giese-elektro.de

Mehr

Einführung in das Microsoft.NET-Framework. Programmiersprache C# MEF Das Managed Extensibility Framework. André Kunz

Einführung in das Microsoft.NET-Framework. Programmiersprache C# MEF Das Managed Extensibility Framework. André Kunz Einführung in das Microsoft.NET-Framework Programmiersprache C# MEF Das Managed Extensibility Framework André Kunz 21.09.2010 1 In dieser Einführung bekommen Sie einen kurzen Einstieg in das.net-framework

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Konstruktor, Statische Methoden Packages Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Initialisierung von Datenstrukturen

Mehr

KAPITEL. Ernst Pfannenschmidt und Paul Watzlaw

KAPITEL. Ernst Pfannenschmidt und Paul Watzlaw KAPITEL 8 Ernst Pfannenschmidt und Paul Watzlaw Die Active Template Library Microsofts Komponentenmodell hat eine recht lange Vorgeschichte, die nicht nur durch den Wandel der Begriffe VBX, OCX, ActiveX

Mehr

1. Übung zu "Numerik partieller Differentialgleichungen"

1. Übung zu Numerik partieller Differentialgleichungen 1. Übung zu "Numerik partieller Differentialgleichungen" Simon Gawlok, Eva Treiber Engineering Mathematics and Computing Lab 22. Oktober 2014 1 / 15 1 Organisatorisches 2 3 4 2 / 15 Organisatorisches Ort:

Mehr

Comtarsia SignOn Familie

Comtarsia SignOn Familie Comtarsia SignOn Familie Handbuch zur RSA Verschlüsselung September 2005 Comtarsia SignOn Agent for Linux 2003 Seite 1/10 Inhaltsverzeichnis 1. RSA Verschlüsselung... 3 1.1 Einführung... 3 1.2 RSA in Verbindung

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

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Java Kurs für Anfänger Einheit 4 Klassen und Objekte Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse

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

Effiziente Java Programmierung

Effiziente Java Programmierung Effiziente Java Programmierung Seminar Implementierung moderner virtueller Maschinen am Beispiel von Java SS 2009 von Reinhard Klaus Losse 20. Mai 2009 Gliederung Definition Effizienz Werkzeuge zum Messen

Mehr

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014) Anleitung Ein einfaches RMI-Beispiel (ab Java.0) c Y. Pfeifer (Juni 014) 1 Ein einfaches RMI-Beispiel Vorgehensweise: 1. Java Projekt anlegen. Zwei Packages server & client erstellen Auf der Server-Seite

Mehr

4 Objektorientierte Programmierung mit Java 4.1 Java-Grundlagen

4 Objektorientierte Programmierung mit Java 4.1 Java-Grundlagen 4 Objektorientierte Programmierung mit Java 4.1 Java-Grundlagen Highlights: objektorientierte Sprache Plattformunabhängigkeit bei Hardware und Betriebssystem optimale Einbindung im Internet und Intranet

Mehr

DCOM und.net. B. Sc. Tobias Buchloh. Seminar Software-Entwurf Fachgebiet Software Engineering, Institut für Angewandte Informatik Universität Hannover

DCOM und.net. B. Sc. Tobias Buchloh. Seminar Software-Entwurf Fachgebiet Software Engineering, Institut für Angewandte Informatik Universität Hannover DCOM und.net B. Sc. Tobias Buchloh Seminar Software-Entwurf Fachgebiet Software Engineering, Institut für Angewandte Informatik Universität Hannover 2004-12-21 Gliederung Motivation Einordnung (D)COM.NET

Mehr

Installation und Benutzung AD.NAV.ZipTools

Installation und Benutzung AD.NAV.ZipTools Installation und Benutzung AD.NAV.ZipTools Version 1.0.0.0 ALTENBRAND Datentechnik GmbH Am Gelicht 5 35279 Neustadt (Hessen) Tel: 06692/202 290 Fax: 06692/204 741 email: support@altenbrand.de Die Komponente

Mehr

1. Java Grundbegriffe

1. Java Grundbegriffe 1. Java Grundbegriffe Geschichte von Java Programmieren mit Java Interpretieren vs. Kompilieren Java Byte-Code Jave Virtual Machine Arbeitsmaterialien Allgemeine Informatik 2 SS09 Folie 1.1 Java, eine

Mehr

7 Assemblies. Anwendungen (.exe) bzw. Anwendungskomponenten (.dll) für.net Portable Execution (PE) Files

7 Assemblies. Anwendungen (.exe) bzw. Anwendungskomponenten (.dll) für.net Portable Execution (PE) Files 7 Assemblies 8 Virtual Execution System VES Anwendungen (.exe) bzw. Anwendungskomponenten (.dll) für.net Portable Execution (PE) Files Teil der CLR Class Loader Metadaten (Manifest) zur Selbstbeschreibung

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 14 Einstieg in die Informatik mit Java Swing Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 14 1 Einführendes Beispiel 2 Eigenschaften von Swing 3 Typisches Swing-Applet

Mehr

Mobile und Verteilte Datenbanken

Mobile und Verteilte Datenbanken Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2010/2011 groppe@ifis.uni-luebeck.de Institut für Informationssysteme Universität zu Lübeck Java Remote Method Invocation (RMI) Realisierung

Mehr

Client/Server-Systeme

Client/Server-Systeme Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000 Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen

Mehr

Java: Eine Übersicht. Dennis Giffhorn. Lehrstuhl für Programmierparadigmen Universität Karlsruhe

Java: Eine Übersicht. Dennis Giffhorn. Lehrstuhl für Programmierparadigmen Universität Karlsruhe Java: Eine Übersicht Dennis Giffhorn Lehrstuhl für Programmierparadigmen Universität Karlsruhe Allgemeines Objektorientiert Syntaxfamilie von C/C++ Statisch getypt Entwickelt von Sun Microsystems class

Mehr

Factory Method (Virtual Constructor)

Factory Method (Virtual Constructor) Factory Method (Virtual Constructor) Zweck: Definition einer Schnittstelle für Objekterzeugung Anwendungsgebiete: Klasse neuer Objekte bei Objekterzeugung unbekannt Unterklassen sollen Klasse neuer Objekte

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

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

Grundlagen. Migration von Benutzeroberflächen

Grundlagen. Migration von Benutzeroberflächen Von Anne Schlitter Grundlagen Dynamic content delivery nach DITA Migration von Benutzeroberflächen Aktueller Stand/Forschungsberichte h mobile Geräte Anwendung, Video, Player PC Bilder, Fernseher Beachtung

Mehr

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen 1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.3 Datenabstraktion - 1 - public class Rechteck { Selektoren

Mehr

Java Einführung Abstrakte Klassen und Interfaces

Java Einführung Abstrakte Klassen und Interfaces Java Einführung Abstrakte Klassen und Interfaces Interface Interface bieten in Java ist die Möglichkeit, einheitliche Schnittstelle für Klassen zu definieren, die später oder/und durch andere Programmierer

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

0. Einführung. 1. Konfigurierung von BORIS

0. Einführung. 1. Konfigurierung von BORIS 2 0. Einführung Die enthält sämtliche Komponenten, um das Blockorientierte Simulationssystem BORIS wahlweise als OPC-Server oder OPC-Client zu betreiben. Dazu zählen: Server-Input-Block (BORIS-User-DLL

Mehr

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin

Mehr

Client/Server- Datenbank- Programmierung

Client/Server- Datenbank- Programmierung Reinhold Maurus/Ralf Hofer Client/Server- Datenbank- Programmierung mit Delphi 3 Für Delphi 1, 2 &3 SQL-Programmierung & Datenbankkomponenten Web-Server-Erweiterung ActiveX, DCOM, Multi-Tier An International

Mehr

3. Konzepte der objektorientierten Programmierung

3. Konzepte der objektorientierten Programmierung 3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung

Mehr

Übungen zu Softwaretechnik

Übungen zu Softwaretechnik Prof. Dr. Dr. h.c. M. Broy Lösungsblatt 11 Dr. H. Ehler, S. Wagner 23. Januar 2004 Übungen zu Softwaretechnik Aufgabe 16 Qualitätseigenschaften Broker-Pattern Beurteilen Sie das in Aufgabe 15 benutzte

Mehr

B Java RMI B.2 B.4. 1 Java. 1.2 Methoden. 1.1 Objekte (2) 1.1 Objekte. Objektorientierte Sprache. Klassenbeschreibung. Methode ist eine Art Funktion

B Java RMI B.2 B.4. 1 Java. 1.2 Methoden. 1.1 Objekte (2) 1.1 Objekte. Objektorientierte Sprache. Klassenbeschreibung. Methode ist eine Art Funktion 1 Java 1.1 e B Java RMI orientierte Sprache e beschrieben in Klassendefinitionen und andere Datentypen: int, float, boolean, etc. referenzen Verweise auf e keine Zeiger, Adressen o.ä. B.1 B.2 1.1 e (2)

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Musterlösung Übungsblatt 2 Netzprogrammierung WS 05/06

Musterlösung Übungsblatt 2 Netzprogrammierung WS 05/06 Musterlösung Übungsblatt 2 Netzprogrammierung WS 05/06 Aufgabe 1 Bitte schreiben Sie ein RMI Objekt, das eine Person repräsentiert. Es soll die folgende Schnittstelle implementieren: public interface Person

Mehr

Marketing Update. Enabler / ENABLER aqua / Maestro II

Marketing Update. Enabler / ENABLER aqua / Maestro II Marketing Update Enabler / ENABLER aqua / Maestro II Quartal 01/2012 1 Kommentar des Herausgebers Liebe Kunden und Partner, dieser Marketing Update gibt Ihnen einen kurzen Überblick über die aktuell verfügbaren

Mehr

Hello World from CORBA

Hello World from CORBA Hello World from CORBA ein erster Überblick Aufruf einer Objekt-Methode Client gettemperature() Thermometer Objekt- Implementation Thermometer th = new Thermometer(); double t = th.gettemperature(); th

Mehr

Schedulingund Thread-Ausführer

Schedulingund Thread-Ausführer Schedulingund Thread-Ausführer Scheduling Ein Scheduler arbeitet Programmstücke nach einer festen Zeitspanne oder zu einer fixen Zeitpunkt wiederholt oder einmal ab. Notwendigkeiten für Scheduling sind

Mehr

Kapitel 6. Vererbung

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

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

Remote Method Invocation

Remote Method Invocation Remote Method Invocation Aufruf von Methoden über die Grenzen der VM hinweg. Javaprozesse der rufenden und gerufenen Methode können auf verschiedenen Hosts laufen. Eine RMI-Applikation besteht aus dem

Mehr

Applets I. Grundlagen der g Applet-Programmierung

Applets I. Grundlagen der g Applet-Programmierung Applets I Grundlagen der g Applet-Programmierung 2 Inhalt Applets Was sind Applets Entwicklung Grundlagen Zustandssteuerung eines Applets Methoden zum Nachrichtentransfer Soundausgabe Animation Einbindung

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

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

Andreas Kosch. COM/DCOM/COM+ mit Delphi

Andreas Kosch. COM/DCOM/COM+ mit Delphi Andreas Kosch COM/DCOM/COM+ mit Delphi Software & Support Verlag GmbH Frankfurt, 2000 Inhaltsverzeichnis VORWORT 15 1 STANDORTBESTIMMUNG 17 1.1 DER URSPRUNG 17 1.2 WAS HABE ICH ALS ENTWICKLER VON COM?

Mehr

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure 7. Objektorientierte Softwareentwicklung/3 Informatik II für Verkehrsingenieure Überblick FOLGENDE BEGRIFFE/PRINZIPIEN SOLLTEN BEKANNT SEIN Objekte Klasse Attribute Fähigkeiten ZIEL DER HEUTIGEN LEHRVERANSTALTUNG

Mehr

Java-Programmierung mit Visual J++ 1.1

Java-Programmierung mit Visual J++ 1.1 Torsten Schlabach Java-Programmierung mit Visual J++ 1.1 Java verstehen und effektiv nutzen ^ ADDISON-WESLEY An imprint of Addison Wesley Longman, Inc. Bonn Reading, Massachusetts Menio Park, California

Mehr

Prof. W. Henrich Seite 1

Prof. W. Henrich Seite 1 Klasse - ist ein benutzerdefinierter Datentyp (Referenztyp) - hat Datenelemente - hat Methoden - Konstruktor ist spezielle Methode zum Erstellen eines Objektes vom Typ der Klasse (Instanz) - jede Klasse

Mehr

Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition)

Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition) Ein Prozess kann unmittelbar vom Zustand 1. Running in den Zustand Ready 2. Running in den Zustand Blocked 3. Ready in den Zustand Running Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition) Der Adressraum

Mehr

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,

Mehr

3.1 COM (2) 3.2 DCOM

3.1 COM (2) 3.2 DCOM 3 COM und DCOM 3.1 COM (2) 3.1 COM Component Object Model (Microsoft, 1992) Grundlage für allerlei Dienste: COM+, DCOM, OLE, OCX, ActiveX objektbasiertes Programmiermodell dynamisches Verbinden von Objekten

Mehr

Remote Method Invocation

Remote Method Invocation Remote Method Invocation spezielle Technik aus dem Java-Umfeld Ausführung der Methoden auf einem entfernten Rechner Analogon zum RPC (Remote Procedure Call) Zweck: Objekte in verschiedenen Java-VM s Aufruf

Mehr

ArcObjects-Programmierung mit Delphi. Marko Apfel, Team Entwicklung

ArcObjects-Programmierung mit Delphi. Marko Apfel, Team Entwicklung Marko Apfel, Team Entwicklung Agenda Was ist COM Was sind die ArcObjects Warum Delphi mit ArcObjects Wie greift man auf die ArcObjects mit Delphi zu Wo gibt es Informationen 2 Agenda Was ist COM Was sind

Mehr

Komponenten. Ausgangspunkt: Dedizierte Aufgabenstellung in einem Unternehmen soll durch Software unterstützt werden

Komponenten. Ausgangspunkt: Dedizierte Aufgabenstellung in einem Unternehmen soll durch Software unterstützt werden 1. Komponenten 1.1 Was versteht man unter einer Komponente? Ausgangspunkt: Dedizierte Aufgabenstellung in einem Unternehmen soll durch Software unterstützt werden Beispiel: - Finanzbuchhaltung - Disagioabgrenzung

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

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

Einführung in Eclipse und Java

Einführung in Eclipse und Java Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Einführung in Eclipse und Java Dipl.Inf. Manuel Götz Lehrstuhl für Angewandte Informatik

Mehr

.NET-Networking 2 Windows Communication Foundation

.NET-Networking 2 Windows Communication Foundation .NET-Networking 2 Windows Communication Foundation Proseminar Objektorientiertes Programmieren mit.net und C# Fabian Raab Institut für Informatik Software & Systems Engineering Agenda Grundproblem Bestandteile

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

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

Praktikum Verteilte Anwendungen

Praktikum Verteilte Anwendungen Technische Informatik (Info II) -Sommersemester 2006 - Folie 1 / 27 0 Gliederung 1.) Kurze Wiederholung/ Einleitung 2.) RPC/ RMI 3.) Praktisches Beispiel 4.) Aufgabenblatt Folie 2 / 27 Wiederholung/ Einleitung

Mehr

Delegatesund Ereignisse

Delegatesund Ereignisse Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses

Mehr

4 Vererbung, Polymorphie

4 Vererbung, Polymorphie 4 Vererbung, Polymorphie Jörn Loviscach Versionsstand: 21. März 2014, 22:57 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work

Mehr

.NET Framework. 3. Das.NET Framework

.NET Framework. 3. Das.NET Framework 3. Das.NET Framework.NET Framework 3.1 Übersicht - 2002 von Microsoft bereitgestellt - Ziel: Entwicklung von Anwendungen (Windows, Web, Embedded,..) bequemer und sicherer zu machen und bestehenden Code

Mehr

Seite 1. Gliederung. Vereinfachtes Weltbild zu aktuellen Technologien. Kapitel 5 Komponententechnologien im Vergleich

Seite 1. Gliederung. Vereinfachtes Weltbild zu aktuellen Technologien. Kapitel 5 Komponententechnologien im Vergleich Gliederung 1. Software-Komponenten: Grundlegende Begriffe 2. Systematischer Entwicklungsprozess für Komponenten-Software mit UML 3. Java-Komponenten-Technologien 3.1 JavaBeans-Technologie 3.2 Web-Komponenten

Mehr

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7 Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck

Mehr