48
Building System Integration Connectors with Dekho

Tutorials building connectors

Embed Size (px)

DESCRIPTION

Slides to accompany this post: http://www.dekho.com.au/building-integration-connectors-with-dekho-tutorial-now-available/

Citation preview

Page 1: Tutorials building connectors

Building System Integration Connectors

with Dekho

Page 2: Tutorials building connectors

Agenda

• What are we integrating?

• “The link”- Integration queries

• Ready, go, launch… – Custom tools

– Launching web applications

– Launching client applications

• And now in reverse… launching Dekho

Page 3: Tutorials building connectors

Integration is key…

Page 4: Tutorials building connectors

What are we integrating? Data

Integration

Search

Layer Info

Feature info

URL and Images

System Integration

Launch 3rd party app

Launch Dekho from a 3rd party app

Dekho Admin with

no coding

Requires Coding

In Flash + C# (or other)

Page 5: Tutorials building connectors

Launching a system from Dekho

1. Selected feature(s) in Dekho

2. Click a button

3. Open a 3rd party app at specific context

Page 6: Tutorials building connectors

The process Locate specific asset

Launch doc. mgmt. system

View asset related documents

Page 7: Tutorials building connectors

I need to…

1. Get the right data ?

2. Create a launch button ?

3. Connect and launch ?

Page 8: Tutorials building connectors

Getting the data you need

Asset Mgmt system

Asset ID

GDB

ObjectID

AssetID is an attribute for the feature in the GDB

Page 9: Tutorials building connectors

GDB link to 3rd party systems

Page 10: Tutorials building connectors

We need to map Spatial IDs

to non-spatial IDs

Page 11: Tutorials building connectors

Dekho Integration Query

• SQL query that translates one set of values (OBJECTID) to another (ASSETID)

Page 12: Tutorials building connectors

Dekho Integration Query

Page 13: Tutorials building connectors

Dekho Integration Query

Page 14: Tutorials building connectors

Building Integration queries

Page 15: Tutorials building connectors

I need to…

1. Get the right data INTEGRATION QUERY

2. Create a launch button ?

3. Connect and launch ?

Page 16: Tutorials building connectors

What are Dekho custom tools?

• Developed in flex

• Plugged to Dekho as ‘Add Ins’

• Loaded at run time

• Add buttons to Toolbar

• Reuse in different apps

Page 17: Tutorials building connectors

Custom tool code behind

• Invoked on custom tool ‘click’ event

• Using the integration query – Dekho web service API

– SessionID

– Integration QueryID

• Generate launch URL – Web application

– Client application

Page 18: Tutorials building connectors

Building custom tools

• Watch ‘Building custom tools’ tutorial – Build

– Compile

– Deploy

– Maintain

Page 19: Tutorials building connectors

Building a simple integration custom tool

Page 20: Tutorials building connectors

I need to…

1. Get the right data INTEGRATION QUERY

2. Create a launch button CUSTOM TOOLS

3. Connect and launch ?

Page 21: Tutorials building connectors

Integration Patterns

• Generating Web-App URL

• URL structure (permalinks?)

• Requires NO installation on the client

side

• Launching desktop installed software

• Requires stepping outside the

browser sandbox

• Launching techniques:

– SDK

– Command line

– File generation

– COM

Page 22: Tutorials building connectors

Launching a web app

• Generating Web-App URL

• Completely custom tool driven

HTTP://[Web_Based_Parameterized_URL]

Page 23: Tutorials building connectors

Launching NeatStreets.com.au

Page 24: Tutorials building connectors

Integration Patterns

• Generating Web-App URL

• Web app URL structure (permalinks?)

• Requires NO installation on the client

side

• Launching desktop installed software

• Requires stepping outside the

browser sandbox

• Launching techniques:

– SDK

– Command line

– File generation

– COM

Page 25: Tutorials building connectors

Stepping out side the browser sand box

Desktop Windows

Application

Page 26: Tutorials building connectors

Registering a new protocol extension

Mapping URL protocol to an installed EXE file

KEY_CLASSES_ROOT alert (Default) = "URL:MyProtocol Protocol" URL Protocol = "" DefaultIcon (Default) = “My_Protocol_Handler.exe,1" shell open command (Default) = "C:\Program Files\Dekho\My_Protocol_Handler.exe" "%1"

New protocol ‘Name’

Path to protocol handler executable

Page 27: Tutorials building connectors

Registering a new protocol extension

Mapping URL protocol to an installed EXE file

KEY_CLASSES_ROOT alert (Default) = "URL:http Protocol" URL Protocol = "" DefaultIcon (Default) = “My_Protocol_Handler.exe,1" shell open command (Default) = "C:\Program Files\Internet Explorer\iexplore.exe" "%1"

Page 28: Tutorials building connectors

Stepping out side the browser sand box

Desktop Windows

Application

dekhoto[MYAPP]:\\param_string

Integration Connector

My.exe

• SDK

• Command line

• File generation

• COM

Custom tool click

Page 29: Tutorials building connectors

How connectors work

args[0] = param string

Page 30: Tutorials building connectors

How connectors work

DekhoToTrim:\\1234,9873,524,12

args[0] = “DekhoToTrim:\\1234,9873,524,12”

Page 31: Tutorials building connectors

Installing connectors

• Deploy connector files

• Register protocol + handler

Page 32: Tutorials building connectors

BaseConnector

• VS2010 solution

• BaseConnector class

– Logging

– Exception handling

• Installer

– Files

– Registry manipulation

Page 33: Tutorials building connectors

Building a simple connector

Page 34: Tutorials building connectors

Integration Patterns

• Generating Web-App URL

• Web app URL structure (permalinks?)

• Requires NO installation on the client

side

• Launching desktop installed software

• Requires stepping outside the

browser sandbox

• Launching techniques:

– SDK

– Command line

– File generation

– COM

Page 35: Tutorials building connectors

I need to…

1. Get the right data INTEGRATION QUERY

2. Create a launch button CUSTOM TOOLS

3. Connect and launch WEB/CLIENT PATTERNS

Page 36: Tutorials building connectors

Esri Australia Integration Library

• Applications we have integrated with

• Owned and managed by professional services

• Install and configure

• Check for vendor versioning

Page 37: Tutorials building connectors

Pathway client

connector

Pathway Custom tool code

Trim client

connector

Trim Custom tool code

Hansen 8 Custom tool code

Hansen 8

Page 38: Tutorials building connectors

Agenda

• What are we integrating?

• “The link”- Integration queries

• Ready, go, launch… – Custom tools

– Launching web applications

– Launching client applications

• Launching Dekho

Page 39: Tutorials building connectors

Launching Dekho in 3.1 • URL is your way in

• System specific ‘Plug-Ins’

• Separate Dekho instance every time

Application

Launch!

http::appserver/dekho/Parameters...

Page 40: Tutorials building connectors

Dekho URL

• Specific map and extent Dekho?map=1&x=331809.928&y=5818278.314&distance=100

• Specific bookmark Dekho?bookmark=bookmarkname

Page 41: Tutorials building connectors

Dekho URL

• Running a search query Dekho?queryid=12&queryvalues=12345|Main||Melbourne

Page 42: Tutorials building connectors

Dekho Integration Query

• Reverse mapping (AssetID -> ObjectID)

• Used in Dekho URL

Page 43: Tutorials building connectors

Dekho URL

• Select and zoom to features Dekho?integrationqueryname=…&externalids=…

Page 44: Tutorials building connectors

Launching Dekho using URL Parameters

Page 45: Tutorials building connectors

Agenda

• What are we integrating?

• “The link”- Integration queries

• Ready, go, launch… – Custom tools

– Launching web applications

– Launching client applications

• Launching Dekho

Page 46: Tutorials building connectors

Building your own integration connectors

• What is the desired outcome?

• Web or client application?

• How ‘difficult’ is it to launch

– Well documented parameterized URL structure?

– Command line arguments?

– SDK / API?

• Follow web/client integration patterns discussed earlier

• Handle logging and errors well

Page 47: Tutorials building connectors

3.1 Open Integration Framework • ‘Custom tools’ based approach

– No More ‘Integration Tools’

• ‘Open’

– Build your own

– Extend integration logic

• Cleaner versioning and easier maintenance

Page 48: Tutorials building connectors

Product Information:

www.esriaustralia.com.au/dekho

www.esriaustralia.com.au/dekhohelp

www.esriaustralia.com.au/dekhoblog