Objektkonzepte ESRI EUROPEAN USER CONFERENCE Ein kleiner Überblick für ESRI-Anwender ... Markus Widmer, ESRI Switzerland
Alle sprechen über ... OOD OLE Methoden COM OOA Objekte OOP ActiveX Eigenschaften OCX Allgemeine Definition
The “Evolution” Prozedurale Programmierung step-by-step Liste von Instruktionen Daten und Funktionen sind getrennt Objektorientierte Programmierung Operationen und Daten sind in Objekten gruppiert Effektive wiederverwendbarer Software Allgemeine Definition
Was ist ein Objekt? Ein Objekt repräsentiert ein Element (Entität) der realen oder der gedachten Welt Physisches Element (Auto) Konzeptionelles Element (Chemischer Prozess) Software Element (Verkettete Liste) Allgemeine Definition
Was ist ein Objekt? Per Definition hat ein Objekt Eigenschaften Merkmale oder Zustände eines Objektes Methoden Aktionen in Bezug auf ein Objekt oder das Verhalten eines Objektes Identität Jedes Objekt hat eine eindeutige Identität Serien Nr.: 123xcv5 - FE Getriebe: 6-Gang Marke: Ferrari Farbe: Rot Max. v: 280 km/h Aktuelle v: 120 km/h Beschleunigen Bremsen Türe öffnen Allgemeine Definition
Was ist ein Objekt? Eigenschaften und Methoden werden in einem Objekt zusammengefasst Implementierungsdetails werden verborgen / gekapselt Vorteil: Modularisierung Leichter wartbar, versionier- und wiederverwendbar Allgemeine Definition
Grundlage von Objekten Operationen / Messages Klassen Vererbung Polymorphismus Allgemeine Definition
Operationen / Messages Interaktion und Kommunikation zwischen Objekten Objekt Methode Parameter ChangeGear( LowerGear ) Objekt B Objekt A Autofahrer Auto Allgemeine Definition
Klassen Objekte der selben Art werden in Klassen zusammengefasst Objekte sind „Instanzen“ einer Klasse Chevy Klasse Auto (factory) Ferrari Alfa Allgemeine Definition
Klassen Wieviele Klassen sehen Sie? Die Klassenwahl ist abhängig aus der Sicht des Betrachters ! Allgemeine Definition
Vererbung Gemeinsame Nutzung von Eigenschaften und Methoden der Oberklasse von den spezialisierten Klassen Vorteil: Reduziert die Repetition von gewöhnlichen Definitionen Oberklasse: Fahrzeug Auto Lastwagen Fahrrad Subklasse: Allgemeine Definition
Polymorphismus Objekte, welche einer gemeinsame Oberklasse entstammen, können auf eine gemeinsame Menge von Operationen auf ihre eigene Art und Weise reagieren. Vorteil: Vereinfachen und vereinheitlichen von Programmier-schnittstellen Draw() Shape Punkt Linie Fläche Draw() Draw() Draw() Allgemeine Definition
Wenn über Objekte gesprochen wird... In welchem Zusammenhang? Allgemeine Definitionen Design - UMLs / Modellierung Implementierung Java C++ Corba Microsoft ESRI Allgemeine Definition
Microsoft Objekte - The Evolution Dynamic Linking and Embedding (DDE) Datenaustausch zwischen Anwendungen über die „Zwischenablage“ Object Linking and Embedding (OLE) Verweise auf Objekte und eingebunden Objekte Austausch von Informationen/Daten zwischen Anwendungen Direkter Datenaustausch, ohne sich um Datenformate kümmern zu müssen Component Object Model (COM) Definition eines Kommunikationsprotokolles OLE II -> ActiveX Komponententechnologie COM Microsoft Objekte
Was sind COM-Objekte ? Der (binäre) Standard für Windows-Komponenten. Das bedeutet, dass der ausführbare Code, der ein Objekt beschreibt, durch andere Objekte angestossen werden kann. Beinhaltet Interfaces (Methoden/Eigenschaften) Das Interface ist eine Ansammlung von Funktionen - oder im Prinzip Funktionsnamen Microsoft Objekte
Eigenschaften von Komponenten Komponenten können dynamisch in einem verteilten System Nachrichten austauschen. DLL (im gleichen Prozess) EXE (in unterschiedlichen Prozessen) Distributed COM (DCOM) Auf verschiedenen Maschinen Microsoft Objekte
Wie ESRI Objekte nutzt Avenue ArcInfo 8 Desktop Verwendet vordefinierte Klassen MapObjects ActiveX Control ARC/INFO ODE ArcInfo 8 Desktop COM Objekte SemanticDataDictionary SDD DCOM Objekte / ActiveX Controls / COM Komponenten ESRI Objekte
Avenue ArcView‘s objektorientierte Programmierumgebung Proprietäre Programmiersprache mit vordefinierten Klassen von ESRI ESRI Objekte
MapObjects Mapping Komponente ActiveX Control (.ocx Datei) Besteht aus verschiedensten ActiveX-Objekten VB, VC++, Delphi, Powerbuilder Toolkit nur für Entwickler ESRI Objekte
ArcInfo ODE C-API wurde in ein ActiveX Control überführt ESRI Objekte ArcEdit.ocx ArcPlot.ocx Grid.ocx ESRI Objekte
ArcInfo 8 Desktop Neue Anwendungen auf Basis von COM Objekten ArcMap - mapping / editing ArcCatalog - data management Für das Speichern von COM Objekten ist die GeoDatabase entstanden GeoDataObjects Customizable mit VBA Zugriff auf die COM Objekt Ausbaubar Erzeugung von eigenen Objekten 3rd party Objekte können hinzugefügt werden ESRI Objekte
Semantic Data Dictionary SDD Object Request Broker DCOM Server (Applicationservice) Zentrale GIS-Administration GeoAssistenten AdminAssistent AnalyseAssistent InfoAssistent (IMS und Java-Applet) Komponenten Architektur COM Komponenten / Objekte MapManager, SetManager und QueryManager > 10 ActiveX Controls Ausbaubar 3rd party Objekte können hinzugefügt werden ESRI Objekte
ESRI Geoinformatik GmbH Ringstraße 7 D-85402 Kranzberg Germany ESRI Geoinformatik AG Beckenhofstraße 72 CH-8006 Zürich Switzerland OFFICIAL ESRI DISTRIBUTOR http://ESRI-Germany.de
Entwicklung eines Client Start Visual Basic DataSourceName Username/Password Number of connections from the SDD-Server to the database Start the SDD-Server Dim mSession As SDDLib.Session Add the MapManager-Component into the Form MapObjects Control (Map1) Set mSession = New SDDLib.Session mSession.Connect “username“, “password“ mSession.LanguageId = 1 Set MapManagerControl1.Map = Map1 Set MapManagerControl1.OverviewMap = Map2 Set MapManagerControl1.InitializeControl = mSession MapObjects Control (Map2)