240 likes | 449 Views
ESRI EUROPEAN USER CONFERENCE. Objektkonzepte 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”.
E N D
ESRI EUROPEAN USER CONFERENCE Objektkonzepte 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 • EigenschaftenMerkmale oder Zustände eines Objektes • MethodenAktionen in Bezug auf ein Objektoder das Verhalten eines Objektes • IdentitätJedes 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 / gekapseltVorteil: • 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
Lastwagen Fahrzeug Fahrrad Auto Vererbung • Gemeinsame Nutzung von Eigenschaften und Methoden der Oberklasse von den spezialisierten Klassen • Vorteil:Reduziert die Repetition von gewöhnlichen Definitionen Oberklasse: Subklasse: Allgemeine Definition
Fläche Shape Punkt Linie 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() 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 • Verwendet vordefinierte Klassen • MapObjects • ActiveX Control • ARC/INFO ODE • ActiveX Control • 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 • 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
OFFICIAL ESRI DISTRIBUTOR ESRI Geoinformatik GmbH Ringstraße 7 D-85402 Kranzberg Germany ESRI Geoinformatik AG Beckenhofstraße 72 CH-8006 Zürich Switzerland http://ESRI-Germany.de
Start the SDD-Server Start Visual Basic • DataSourceName • Username/Password • Number of connections from the SDD-Server to the database Add the MapManager-Component into the Form MapObjects Control (Map1) MapObjects Control (Map2) Entwicklung eines Client Dim mSession As SDDLib.Session Set mSession = New SDDLib.Session mSession.Connect “username“, “password“ mSession.LanguageId = 1 Set MapManagerControl1.Map = Map1 Set MapManagerControl1.OverviewMap = Map2 Set MapManagerControl1.InitializeControl = mSession