GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka....

38
GeoEvent Extension für Entwickler 20. Mai 2015

Transcript of GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka....

Page 1: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

GeoEvent Extension für Entwickler

20. Mai 2015

Page 2: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

GeoEvent Extension für Entwickler

Christine BrunnerEsri Deutschland GmbH, Kranzberg

2

Page 3: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

#geodev

3

Page 4: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

Desktop Web Device

Server Online-Inhalte und Services

EinfachIntegriertOffen

In der Cloud … . . . und lokal

Mapping, Analysen und Verwaltung geographischer InformationenDie ArcGIS Plattform

4

Page 5: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

Web Native GIS

5

Page 6: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

GIS Daten

Geo Daten stellen in der Regel einen Zustand dar: “Vergangenheit”, “Gegenwart” oder “Zukunft”.

6

Page 7: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

Raum-Zeitliche DatenVeränderlich

Wachstumsänderung

• Bevölkerung• Agrarflächen• Verteilung• Nutzflächen• Wahlergebnisse

DynamischRäumliche Bewegung

• Flugzeuge• UAV• Fahrzeuge• Tiere• Wirbelstürme

DiskretIrgend etwas passiert

irgendwo

• Kriminalität• Blitzeinschläge• Unfälle

StationärRäumlich nicht

veränderbar

• Wetter Stationen• Verkehrs Sensorik• Luft Qualität• Windräder• Smart Meter• Pegelstände

7

Page 8: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

Raum-Zeitliche Daten

Darstellung geographischer Datenzu einem bestimmten Zeitpunkt.

1

1

1

A

AA

33

3

Gruppierung nach Zeit Gruppierung nach Attributen

Darstellung von Tracks

AM

PM

8

Page 9: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

Ein kurzer Überblick

9

Page 10: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

Real-Time GISIntegration und Verteilung von Streaming Daten

GeoEvent Extension

10.3

Stream Service

Stream Layer

Desktop Web Device

Server Online-Inhalte und Services

integriert real-time streaming Daten in ArcGIS

kontinuierliche Prozessierung undEcht-Zeit Analyse

Versenden von Updates und Statusmeldungen zu den Usern, die sie benötigen - wo sie die Informationen benötigen

10

Page 11: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

Funktionsweise Output

GeoEvent Extention

Input

Prozessierung und Analyse

11

Page 12: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

Poll an ArcGIS Server for FeaturesHTTP

Empfang von EchtzeitdatenIntegration von Echtzeit-Daten in ArcGIS durch einen Input Connector

GeoEvent Extension

Inpu

ts

Out

puts

GeoEvent Services

Poll an external website for GeoJSON, JSON, or XML

Receive Features, GeoJSON, JSON, or XML on a REST endpoint

Receive RSS

Receive GeoJSON or JSON on a WebSocket

Receive Text from a TCP or UDP Socket

Subscribe to an external WebSocket for GeoJSON or JSON

Watch a Folder for new CSV, GeoJSON, or JSON Files

Out

of t

he B

ox REST

.csv

WS

WS

HTTP

You can createyour own

connectors.

Esri

Gal

lery

ActiveMQ

CAP

Instagram

Exploitation Support Data

Cursor-on-Target

RabbitMQ

NMEA 0183

MQTT

Sierra Wireless (RAP)

KML

Kafka *

Trimble (TAIP)

Twitter

Part

ner G

alle

ry

CompassLDE

enviroCar

GNIP

FAA (ASDI)

exactEarth AIS

Zonar

Valarm

Networkfleet

OSIsoft ***

*

*

12

Page 13: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

Empfang von EchtzeitdatenInput Connector = Transporter + Adaptor

GeoEvent Extension

GeoEvent Extension

Inpu

ts

Out

puts

GeoEvent Services

WebSocket JSON

Connectors Transport Adapter

HTTP GeoJSON

Feature Service

Transports

File

HTTP

HTTP+BasicAuth

HTTP+OAuth

TCP

UDP

WebSocket

Receive JSON on a WebSocket

Receive GeoJSON on a REST endpoint

WS

REST

Feature-JSON

Adapters

GeoJSON

JSON

RSS

Text

XML

Esri

Gal

lery ActiveMQ

IRC

Kafka

MQTT*

RabbitMQ

Twitter

CAP

Cursor-on-Target

GeoMessage

Instagram

NMEA

Sierra Wireless (RAP)

Trimble (TAIP)

Twitter

VMF

Esri

Gal

lery

13

Page 14: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

Input Connector

Transport: WIE kommen die Daten ins System

Adapter: Um WELCHE Daten handelt es sich

TCP Transport Text Adapter

Input (Receive text from a TCP Socket)

StartStop

Byte [ ]GeoEvent

GeoEvent Services

14

Page 15: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

GeoEvent Definition

Zuweisung der GeoEvents

15

Page 16: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

Senden von Echtzeitdaten

Einfache Bereitstellung von

Nachrichten

Alarmmeldungen

Status Updates

You can createyour own

connectors.

GeoEvent Extension

Inpu

ts

Out

puts

GeoEvent Services

Out

of t

he B

ox

Add or Update a feature

Publish Text to a UDP Socket

Send a Text Message

Send an Email

Push Text to an external TCP Socket

Push GeoJSON or JSON to an external WebSocket

Push GeoJSON or JSON to an external Website

Send an Instant Message

Send Features to a Stream Service

Write to a CSV, GeoJSON, or JSON File .csv

WS

im

HTTP

CESIUM

Part

ner

*

ActiveMQ

Esri

Gal

lery

Cursor-on-Target

Hadoop

Kafka

MongoDB

MQTT

*

RabbitMQ

Twitter

16

Page 17: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

Senden von Echtzeitdaten Output Connector = Adapter + Transport

GeoEvent Extension

GeoEvent Extension

Inpu

ts

Out

puts

GeoEvent Services

Message Formatter SMTP

Connectors TransportAdapter

Feature-JSON Stream Service

Send an Email

Send Features to a Stream Service

Feature Service

Transports

File

HTTP

HTTP+BasicAuth

HTTP+OAuth

SMS

SMTP

Stream Service

TCP

UDP

WebSocket

XMPP

Cache

Adapters

Feature-JSON

GeoJSON

JSON

Message Formatter

RSS

Text

WebSocket

Cursor-on-Target

Esri

Gal

lery

CESIUM

Part

ner

*

ActiveMQ

Hadoop

IRC

Kafka

MongoDB

MQTT

*

RabbitMQ

TCP-Squirt

Twitter

Esri

Gal

lery

17

Page 18: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

Echtzeit Analysen

Mit Hilfe von ProzessorenYou can create

your ownprocessors.

GeoEvent Extension

Inpu

ts

Out

puts

GeoEvent Services

Buffer Creator

Convex Hull Creator

Difference Creator

Envelope Creator

Field Calculator

Field Enricher

Field Mapper

Geotagger

Incident Detector

Intersector

Projector

Simplifier

Symmetric Difference

Track Gap Detector

Field Reducer Union Creator

Out

of t

he B

ox

Add XYZ

Esri

Gal

lery

Bearing

Ellipse

Event Volume Control

Extent Enricher

Field Grouper

GeoNames Lookup

Range Fan

Reverse Geocoder

Service Area Creator

Symbol Lookup

Track Idle Detector

Unit Converter

Visibility

Motion Calculator Query Report

18

Page 19: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

Erweiterungsmöglichkeiten

19

Page 20: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

Erweiterungsmöglichkeiten der GeoEvent Extension

Eigene Connectoren und Processoren können mit dem GeoEventSoftware Development Kit (SDK) erstellt werden

Your processors

Yourconnectors

Your connectors

GeoEvent Processor

Inpu

ts

Out

puts

GeoEvent Services

20

Page 21: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

Software Development Kit (SDK)

api: JavaDoc

repository: Lokales Maven Repository

samples: Beispiel Prozessoren und Connectoren

GeoEvent Developer Guide

21

Page 23: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

Demo: Reverse Geocoding Processor

23

Page 24: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

Die REST API

24

Page 25: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

REST API

Informationen abfragen

Dienste administrieren

http://<Rechnername>:6180/geoevent/rest/

https://<Rechnername>:6143/geoevent/admin

25

Page 26: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

Demo: Concert Telling Tweets

26

Page 27: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

Stream Service

27

Page 28: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

Feature Services vs. Stream Services

Feature layers pull from feature services

Periodische Abfragen der Anwendung nach Updates

Daten befinden sich in einer Enterprise geodatabase (EGDB)

Stream layers subscribe to stream services

Anwendung meldet sich an um Daten sofort zu erhalten

Keine Verzögerung und hoher Durchsatz

GeoEvent Extension

ArcGIS Server

YourApplications

Map ServicesFeature Services

feature layers

Update a FeatureAdd a Feature

EGDB

Polling(Pull)

Stream ServicesSend Features to a Stream Service

28

Page 29: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

Stream Layer

Anmeldung beim Stream Services

Sofort Daten erhalten und anzeigen

Konfigurierbare Symbologie

Direkter Datenzugriff

Filterung nach

Bereichen

Attirbutwerte

Stream Service verwendet Web Socket

Web Socket Protokoll muss im Netzwerk unterstützt werden

Browser muss Web Socket unterstützen

10 +6 + 6 +

14 +

29

Page 30: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

Einsatzmöglichkeiten Stream Layer

Im ArcGIS API for JavaScript enthalten

Web Map in ArcGIS Online oder Portal for ArcGIS

Web Map teilen

Web App Template

Web App Builder

Eigene Anwendung mit dem ArcGIS API for JavaScript

Erweiterung der ArcGIS Runtime SDKs

Operations Dashboard for ArcGIS

ArcGIS Pro30

Page 31: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

Demo: Stream Layer

https://developers.arcgis.com/javascript/jsapi/streamlayer-amd.html

31

Page 32: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

Community

32

Page 34: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

GitHub

https://esri.github.io/#GeoEvent

https://github.com/EsriDE

34

Page 35: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

GeoNet

https://geonet.esri.com/community/gis/enterprise-gis/geoevent

https://geonet.esri.com/groups/real-time-gis/activity

https://geonet.esri.com/groups/geodev-germany

35

Page 36: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

Meetups: meetup.com/GeoDev-Meet-Up-Group-Deutschland/

36

Page 37: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

DevSummit Europe: esri.com/events/devsummit-europe

37

Page 38: GeoEvent Extension für Entwickler - esri.de/media/esri-germany-group/common/files/gi... · Kafka. MongoDB. MQTT * RabbitMQ. Twitter. 16. Senden von Echtzeitdaten Output Connector

Esri Deutschland GmbHRingstraße 7 85402 Kranzberg

Telefon +49 89 207 005 [email protected]/gistalk

Danke!

38