objektkonzepte 1 objektkonzepte ein kleiner Überblick für esri-anwender... markus widmer, esri...
TRANSCRIPT
1
Objektkonzepte
ObjektkonzepteObjektkonzepteEin kleiner Überblick für ESRI-Anwender ...
Markus Widmer, ESRI SwitzerlandMarkus Widmer, ESRI Switzerland
ESRI EUROPEAN USER CONFERENCE
2
Objektkonzepte
Eigenschaften
OOA
COMOLE
OOP
Methoden
ActiveXOCX
Objekte
OOD
Allgemeine Definition
Alle sprechen über ...
3
Objektkonzepte
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
4
Objektkonzepte
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)
5
Objektkonzepte
• Getriebe: 6-Gang• Marke: Ferrari• Farbe: Rot• Max. v: 280 km/h• Aktuelle v: 120 km/h
• Beschleunigen• Bremsen• Türe öffnen
• Serien Nr.: 123xcv5 - FE
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
6
Objektkonzepte
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
7
Objektkonzepte
Allgemeine Definition
Grundlage von Objekten
• Operationen / Messages
• Klassen
• Vererbung
• Polymorphismus
8
Objektkonzepte
Objekt AObjekt B
AutoAutofahrer
ChangeGear( LowerGear )
Allgemeine Definition
Operationen / Messages
• Interaktion und Kommunikation zwischen Objekten
• Objekt
• Methode
• Parameter
9
Objektkonzepte
Klasse Auto(factory) Ferrari
Chevy
Alfa
Allgemeine Definition
Klassen
• Objekte der selben Art werden in Klassen zusammengefasst
• Objekte sind „Instanzen“ einer Klasse
10
Objektkonzepte
Die Klassenwahl ist abhängig ausder Sicht des Betrachters !
Allgemeine Definition
Klassen
• Wieviele Klassen sehen Sie?
11
Objektkonzepte
Fahrzeug
Auto FahrradLastwagen
Oberklasse:
Subklasse:
Allgemeine Definition
Vererbung
• Gemeinsame Nutzung von Eigenschaften und Methoden der Oberklasse von den spezialisierten Klassen
• Vorteil:Reduziert die Repetition von gewöhnlichen Definitionen
12
Objektkonzepte
Shape
Punkt FlächeLinie
Draw() Draw() Draw()
Draw()
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
13
Objektkonzepte
Allgemeine Definition
Wenn über Objekte gesprochen wird...
• In welchem Zusammenhang?
• Allgemeine Definitionen
• Design - UMLs / Modellierung
• Implementierung
• Java
• C++
• Corba
• Microsoft
• ESRI
14
Objektkonzepte
Microsoft Objekte
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
15
Objektkonzepte
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
16
Objektkonzepte
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
17
Objektkonzepte
ESRI Objekte
Wie ESRI Objekte nutzt
• AvenueVerwendet vordefinierte Klassen
• MapObjects
ActiveX Control
• ARC/INFO ODE
ActiveX Control
• ArcInfo 8 DesktopCOM Objekte
• SemanticDataDictionary SDD
DCOM Objekte / ActiveX Controls / COM Komponenten
18
Objektkonzepte
ESRI Objekte
Avenue
• ArcView‘s objektorientierte Programmierumgebung
• Proprietäre Programmiersprache mit vordefinierten Klassen von ESRI
19
Objektkonzepte
ESRI Objekte
MapObjects
• Mapping Komponente
• ActiveX Control (.ocx Datei)
• Besteht aus verschiedensten ActiveX-Objekten
• VB, VC++, Delphi, Powerbuilder
• Toolkit nur für Entwickler
20
Objektkonzepte
ESRI Objekte
ArcInfo ODE
• C-API wurde in ein ActiveX Control überführt
• ArcEdit.ocx
• ArcPlot.ocx
• Grid.ocx
21
Objektkonzepte
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
22
Objektkonzepte
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
23
Objektkonzepte
ESRI Geoinformatik GmbHRingstraße 7D-85402 KranzbergGermany
ESRI Geoinformatik AGBeckenhofstraße 72CH-8006 ZürichSwitzerland
OFFICIALESRI DISTRIBUTOR
http://ESRI-Germany.de
24
Objektkonzepte
• DataSourceName
• Username/Password
• Number of connections from the SDD-Server to the database
Start the SDD-Server Start Visual Basic
Add the MapManager-Componentinto the Form
MapObjectsControl(Map1)
MapObjectsControl(Map2)
Dim mSession As SDDLib.Session
Set mSession = New SDDLib.Session
mSession.Connect “username“, “password“
Set MapManagerControl1.Map = Map1
Set MapManagerControl1.OverviewMap = Map2
Set MapManagerControl1.InitializeControl = mSession
mSession.LanguageId = 1
Entwicklung eines ClientEntwicklung eines Client