Upload
dekhoslides
View
909
Download
1
Embed Size (px)
DESCRIPTION
Slides to accompany this post: http://www.dekho.com.au/building-integration-connectors-with-dekho-tutorial-now-available/
Citation preview
Building System Integration Connectors
with Dekho
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
Integration is key…
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)
Launching a system from Dekho
1. Selected feature(s) in Dekho
2. Click a button
3. Open a 3rd party app at specific context
The process Locate specific asset
Launch doc. mgmt. system
View asset related documents
I need to…
1. Get the right data ?
2. Create a launch button ?
3. Connect and launch ?
Getting the data you need
Asset Mgmt system
Asset ID
GDB
ObjectID
AssetID is an attribute for the feature in the GDB
GDB link to 3rd party systems
We need to map Spatial IDs
to non-spatial IDs
Dekho Integration Query
• SQL query that translates one set of values (OBJECTID) to another (ASSETID)
Dekho Integration Query
Dekho Integration Query
Building Integration queries
I need to…
1. Get the right data INTEGRATION QUERY
2. Create a launch button ?
3. Connect and launch ?
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
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
Building custom tools
• Watch ‘Building custom tools’ tutorial – Build
– Compile
– Deploy
– Maintain
Building a simple integration custom tool
I need to…
1. Get the right data INTEGRATION QUERY
2. Create a launch button CUSTOM TOOLS
3. Connect and launch ?
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
Launching a web app
• Generating Web-App URL
• Completely custom tool driven
HTTP://[Web_Based_Parameterized_URL]
Launching NeatStreets.com.au
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
Stepping out side the browser sand box
Desktop Windows
Application
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
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"
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
How connectors work
args[0] = param string
How connectors work
DekhoToTrim:\\1234,9873,524,12
args[0] = “DekhoToTrim:\\1234,9873,524,12”
Installing connectors
• Deploy connector files
• Register protocol + handler
BaseConnector
• VS2010 solution
• BaseConnector class
– Logging
– Exception handling
• Installer
– Files
– Registry manipulation
Building a simple connector
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
I need to…
1. Get the right data INTEGRATION QUERY
2. Create a launch button CUSTOM TOOLS
3. Connect and launch WEB/CLIENT PATTERNS
Esri Australia Integration Library
• Applications we have integrated with
• Owned and managed by professional services
• Install and configure
• Check for vendor versioning
Pathway client
connector
Pathway Custom tool code
Trim client
connector
Trim Custom tool code
Hansen 8 Custom tool code
Hansen 8
Agenda
• What are we integrating?
• “The link”- Integration queries
• Ready, go, launch… – Custom tools
– Launching web applications
– Launching client applications
• Launching Dekho
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...
Dekho URL
• Specific map and extent Dekho?map=1&x=331809.928&y=5818278.314&distance=100
• Specific bookmark Dekho?bookmark=bookmarkname
Dekho URL
• Running a search query Dekho?queryid=12&queryvalues=12345|Main||Melbourne
Dekho Integration Query
• Reverse mapping (AssetID -> ObjectID)
• Used in Dekho URL
Dekho URL
• Select and zoom to features Dekho?integrationqueryname=…&externalids=…
Launching Dekho using URL Parameters
Agenda
• What are we integrating?
• “The link”- Integration queries
• Ready, go, launch… – Custom tools
– Launching web applications
– Launching client applications
• Launching Dekho
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
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
Product Information:
www.esriaustralia.com.au/dekho
www.esriaustralia.com.au/dekhohelp
www.esriaustralia.com.au/dekhoblog