objektkonzepte 1 objektkonzepte ein kleiner Überblick für esri-anwender... markus widmer, esri...

24
1 Objektkonzept e Objektkonzepte Objektkonzepte Ein kleiner Überblick für ESRI-Anwender ... Markus Widmer, ESRI Switzerland Markus Widmer, ESRI Switzerland ESRI EUROPEAN USER CONFERENCE

Upload: herrick-boller

Post on 06-Apr-2015

110 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Objektkonzepte 1 Objektkonzepte Ein kleiner Überblick für ESRI-Anwender... Markus Widmer, ESRI Switzerland ESRI EUROPEAN USER CONFERENCE

1

Objektkonzepte

ObjektkonzepteObjektkonzepteEin kleiner Überblick für ESRI-Anwender ...

Markus Widmer, ESRI SwitzerlandMarkus Widmer, ESRI Switzerland

ESRI EUROPEAN USER CONFERENCE

Page 2: Objektkonzepte 1 Objektkonzepte Ein kleiner Überblick für ESRI-Anwender... Markus Widmer, ESRI Switzerland ESRI EUROPEAN USER CONFERENCE

2

Objektkonzepte

Eigenschaften

OOA

COMOLE

OOP

Methoden

ActiveXOCX

Objekte

OOD

Allgemeine Definition

Alle sprechen über ...

Page 3: Objektkonzepte 1 Objektkonzepte Ein kleiner Überblick für ESRI-Anwender... Markus Widmer, ESRI Switzerland ESRI EUROPEAN USER CONFERENCE

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

Page 4: Objektkonzepte 1 Objektkonzepte Ein kleiner Überblick für ESRI-Anwender... Markus Widmer, ESRI Switzerland ESRI EUROPEAN USER CONFERENCE

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)

Page 5: Objektkonzepte 1 Objektkonzepte Ein kleiner Überblick für ESRI-Anwender... Markus Widmer, ESRI Switzerland ESRI EUROPEAN USER CONFERENCE

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

Page 6: Objektkonzepte 1 Objektkonzepte Ein kleiner Überblick für ESRI-Anwender... Markus Widmer, ESRI Switzerland ESRI EUROPEAN USER CONFERENCE

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

Page 7: Objektkonzepte 1 Objektkonzepte Ein kleiner Überblick für ESRI-Anwender... Markus Widmer, ESRI Switzerland ESRI EUROPEAN USER CONFERENCE

7

Objektkonzepte

Allgemeine Definition

Grundlage von Objekten

• Operationen / Messages

• Klassen

• Vererbung

• Polymorphismus

Page 8: Objektkonzepte 1 Objektkonzepte Ein kleiner Überblick für ESRI-Anwender... Markus Widmer, ESRI Switzerland ESRI EUROPEAN USER CONFERENCE

8

Objektkonzepte

Objekt AObjekt B

AutoAutofahrer

ChangeGear( LowerGear )

Allgemeine Definition

Operationen / Messages

• Interaktion und Kommunikation zwischen Objekten

• Objekt

• Methode

• Parameter

Page 9: Objektkonzepte 1 Objektkonzepte Ein kleiner Überblick für ESRI-Anwender... Markus Widmer, ESRI Switzerland ESRI EUROPEAN USER CONFERENCE

9

Objektkonzepte

Klasse Auto(factory) Ferrari

Chevy

Alfa

Allgemeine Definition

Klassen

• Objekte der selben Art werden in Klassen zusammengefasst

• Objekte sind „Instanzen“ einer Klasse

Page 10: Objektkonzepte 1 Objektkonzepte Ein kleiner Überblick für ESRI-Anwender... Markus Widmer, ESRI Switzerland ESRI EUROPEAN USER CONFERENCE

10

Objektkonzepte

Die Klassenwahl ist abhängig ausder Sicht des Betrachters !

Allgemeine Definition

Klassen

• Wieviele Klassen sehen Sie?

Page 11: Objektkonzepte 1 Objektkonzepte Ein kleiner Überblick für ESRI-Anwender... Markus Widmer, ESRI Switzerland ESRI EUROPEAN USER CONFERENCE

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

Page 12: Objektkonzepte 1 Objektkonzepte Ein kleiner Überblick für ESRI-Anwender... Markus Widmer, ESRI Switzerland ESRI EUROPEAN USER CONFERENCE

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

Page 13: Objektkonzepte 1 Objektkonzepte Ein kleiner Überblick für ESRI-Anwender... Markus Widmer, ESRI Switzerland ESRI EUROPEAN USER CONFERENCE

13

Objektkonzepte

Allgemeine Definition

Wenn über Objekte gesprochen wird...

• In welchem Zusammenhang?

• Allgemeine Definitionen

• Design - UMLs / Modellierung

• Implementierung

• Java

• C++

• Corba

• Microsoft

• ESRI

Page 14: Objektkonzepte 1 Objektkonzepte Ein kleiner Überblick für ESRI-Anwender... Markus Widmer, ESRI Switzerland ESRI EUROPEAN USER CONFERENCE

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

Page 15: Objektkonzepte 1 Objektkonzepte Ein kleiner Überblick für ESRI-Anwender... Markus Widmer, ESRI Switzerland ESRI EUROPEAN USER CONFERENCE

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

Page 16: Objektkonzepte 1 Objektkonzepte Ein kleiner Überblick für ESRI-Anwender... Markus Widmer, ESRI Switzerland ESRI EUROPEAN USER CONFERENCE

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

Page 17: Objektkonzepte 1 Objektkonzepte Ein kleiner Überblick für ESRI-Anwender... Markus Widmer, ESRI Switzerland ESRI EUROPEAN USER CONFERENCE

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

Page 18: Objektkonzepte 1 Objektkonzepte Ein kleiner Überblick für ESRI-Anwender... Markus Widmer, ESRI Switzerland ESRI EUROPEAN USER CONFERENCE

18

Objektkonzepte

ESRI Objekte

Avenue

• ArcView‘s objektorientierte Programmierumgebung

• Proprietäre Programmiersprache mit vordefinierten Klassen von ESRI

Page 19: Objektkonzepte 1 Objektkonzepte Ein kleiner Überblick für ESRI-Anwender... Markus Widmer, ESRI Switzerland ESRI EUROPEAN USER CONFERENCE

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

Page 20: Objektkonzepte 1 Objektkonzepte Ein kleiner Überblick für ESRI-Anwender... Markus Widmer, ESRI Switzerland ESRI EUROPEAN USER CONFERENCE

20

Objektkonzepte

ESRI Objekte

ArcInfo ODE

• C-API wurde in ein ActiveX Control überführt

• ArcEdit.ocx

• ArcPlot.ocx

• Grid.ocx

Page 21: Objektkonzepte 1 Objektkonzepte Ein kleiner Überblick für ESRI-Anwender... Markus Widmer, ESRI Switzerland ESRI EUROPEAN USER CONFERENCE

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

Page 22: Objektkonzepte 1 Objektkonzepte Ein kleiner Überblick für ESRI-Anwender... Markus Widmer, ESRI Switzerland ESRI EUROPEAN USER CONFERENCE

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

Page 23: Objektkonzepte 1 Objektkonzepte Ein kleiner Überblick für ESRI-Anwender... Markus Widmer, ESRI Switzerland ESRI EUROPEAN USER CONFERENCE

23

Objektkonzepte

ESRI Geoinformatik GmbHRingstraße 7D-85402 KranzbergGermany

ESRI Geoinformatik AGBeckenhofstraße 72CH-8006 ZürichSwitzerland

OFFICIALESRI DISTRIBUTOR

http://ESRI-Germany.de

Page 24: Objektkonzepte 1 Objektkonzepte Ein kleiner Überblick für ESRI-Anwender... Markus Widmer, ESRI Switzerland ESRI EUROPEAN USER CONFERENCE

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