Building SystemIntegration Connectors      with Dekho
Agenda• What are we integrating?• “The link”- Integration queries• Ready, go, launch…  – Custom tools  – Launching web app...
Integration is key…
What are we integrating?                Data              System             Integration        Integration               ...
Launching a system from Dekho1. Selected feature(s) in Dekho2. Click a button3. Open a 3rd party app at specific context
The processLocate specific asset                              Launch doc. mgmt. system                                    ...
I need to…1. Get the right data            ?2. Create a launch button        ?3. Connect and launch            ?
Getting the data you need          AssetID is an attribute for the feature in the GDB      ObjectID                       ...
GDB link to 3rd party systems
We need to map Spatial IDsto 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 QUERY2. 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...
Custom tool code behind• Invoked on custom tool ‘click’ event• Using the integration query   – Dekho web service API   – S...
Building custom tools• Watch ‘Building custom tools’ tutorial   –   Build   –   Compile   –   Deploy   –   Maintain
Building a simpleintegration custom tool
I need to…1. Get the right data            INTEGRATION QUERY2. Create a launch button        CUSTOM TOOLS3. Connect and la...
Integration Patterns•   Generating Web-App URL                   •   Launching desktop installed software•   URL structure...
Launching a web app• Generating Web-App URL• Completely custom tool driven                   HTTP://[Web_Based_Parameteriz...
LaunchingNeatStreets.com.au
Integration Patterns•   Generating Web-App URL                   •   Launching desktop installed software•   Web app URL s...
Stepping out side the browser sand box                        Desktop Windows                           Application
Registering a new protocol extensionMapping URL protocol to an installed EXE file  KEY_CLASSES_ROOT  alert      (Default) ...
Registering a new protocol extensionMapping URL protocol to an installed EXE file  KEY_CLASSES_ROOT  alert      (Default) ...
Stepping out side the browser sand boxdekhoto[MYAPP]:param_string   Custom tool click                                     ...
How connectors work                      args[0] = param                           string
How connectors workDekhoToTrim: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 m...
Building a simpleconnector
Integration Patterns•   Generating Web-App URL                   •   Launching desktop installed software•   Web app URL s...
I need to…1. Get the right data            INTEGRATION QUERY2. Create a launch button        CUSTOM TOOLS3. Connect and la...
Esri Australia Integration Library•   Applications we have integrated with•   Owned and managed by professional services• ...
Hansen 8  Pathway Custom   Trim Custom tool   Hansen 8 Custom     tool code           code            tool codePathway cli...
Agenda• What are we integrating?• “The link”- Integration queries• Ready, go, launch…  – Custom tools  – Launching web app...
Launching Dekho in 3.1• URL is your way in• System specific ‘Plug-Ins’• Separate Dekho instance every time         http::a...
Dekho URL• Specific map and extentDekho?map=1&x=331809.928&y=5818278.314&distance=100• Specific bookmarkDekho?bookmark=boo...
Dekho URL• Running a search queryDekho?queryid=12&queryvalues=12345|Main||Melbourne
Dekho Integration Query• Reverse mapping (AssetID -> ObjectID)• Used in Dekho URL
Dekho URL• Select and zoom to featuresDekho?integrationqueryname=…&externalids=…
Launching Dekho usingURL Parameters
Agenda• What are we integrating?• “The link”- Integration queries• Ready, go, launch…  – Custom tools  – Launching web app...
Building your own integration                 connectors• What is the desired outcome?• Web or client application?• How ‘d...
3.1 Open Integration Framework• ‘Custom tools’ based approach   – No More ‘Integration Tools’• ‘Open’   – Build your own  ...
Product Information:www.esriaustralia.com.au/dekhowww.esriaustralia.com.au/dekhohelpwww.esriaustralia.com.au/dekhoblog
Upcoming SlideShare
Loading in …5
×

Tutorials building connectors

1,052 views
946 views

Published on

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,052
On SlideShare
0
From Embeds
0
Number of Embeds
222
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Tutorials building connectors

  1. 1. Building SystemIntegration Connectors with Dekho
  2. 2. 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
  3. 3. Integration is key…
  4. 4. What are we integrating? Data System Integration Integration Launch 3rd Requires Search party app Coding Dekho In Flash + C# LaunchAdmin with Layer Info Dekho from a (or other) no coding 3rd party app Feature info URL and Images
  5. 5. Launching a system from Dekho1. Selected feature(s) in Dekho2. Click a button3. Open a 3rd party app at specific context
  6. 6. The processLocate specific asset Launch doc. mgmt. system View asset related documents
  7. 7. I need to…1. Get the right data ?2. Create a launch button ?3. Connect and launch ?
  8. 8. Getting the data you need AssetID is an attribute for the feature in the GDB ObjectID Asset ID Asset MgmtGDB system
  9. 9. GDB link to 3rd party systems
  10. 10. We need to map Spatial IDsto non-spatial IDs
  11. 11. Dekho Integration Query• SQL query that translates one set of values (OBJECTID) to another (ASSETID)
  12. 12. Dekho Integration Query
  13. 13. Dekho Integration Query
  14. 14. Building Integration queries
  15. 15. I need to…1. Get the right data INTEGRATION QUERY2. Create a launch button ?3. Connect and launch ?
  16. 16. 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
  17. 17. 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
  18. 18. Building custom tools• Watch ‘Building custom tools’ tutorial – Build – Compile – Deploy – Maintain
  19. 19. Building a simpleintegration custom tool
  20. 20. I need to…1. Get the right data INTEGRATION QUERY2. Create a launch button CUSTOM TOOLS3. Connect and launch ?
  21. 21. Integration Patterns• Generating Web-App URL • Launching desktop installed software• URL structure (permalinks?) • Requires stepping outside the• Requires NO installation on the client browser sandbox side • Launching techniques: – SDK – Command line – File generation – COM
  22. 22. Launching a web app• Generating Web-App URL• Completely custom tool driven HTTP://[Web_Based_Parameterized_URL]
  23. 23. LaunchingNeatStreets.com.au
  24. 24. Integration Patterns• Generating Web-App URL • Launching desktop installed software• Web app URL structure (permalinks?) • Requires stepping outside the• Requires NO installation on the client browser sandbox side • Launching techniques: – SDK – Command line – File generation – COM
  25. 25. Stepping out side the browser sand box Desktop Windows Application
  26. 26. Registering a new protocol extensionMapping URL protocol to an installed EXE file KEY_CLASSES_ROOT alert (Default) = "URL:MyProtocol Protocol" URL Protocol = "" DefaultIcon (Default) = “My_Protocol_Handler.exe,1" New protocol shell ‘Name’ open command (Default) = "C:Program FilesDekhoMy_Protocol_Handler.exe" "%1" Path to protocol handler executable
  27. 27. Registering a new protocol extensionMapping 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 FilesInternet Exploreriexplore.exe" "%1"
  28. 28. Stepping out side the browser sand boxdekhoto[MYAPP]:param_string Custom tool click Desktop Windows Application My.exe • SDK • Command line • File generation • COM Integration Connector
  29. 29. How connectors work args[0] = param string
  30. 30. How connectors workDekhoToTrim:1234,9873,524,12 args[0] = “DekhoToTrim:1234,9873,524,12”
  31. 31. Installing connectors• Deploy connector files• Register protocol + handler
  32. 32. BaseConnector• VS2010 solution• BaseConnector class – Logging – Exception handling• Installer – Files – Registry manipulation
  33. 33. Building a simpleconnector
  34. 34. Integration Patterns• Generating Web-App URL • Launching desktop installed software• Web app URL structure (permalinks?) • Requires stepping outside the• Requires NO installation on the client browser sandbox side • Launching techniques: – SDK – Command line – File generation – COM
  35. 35. I need to…1. Get the right data INTEGRATION QUERY2. Create a launch button CUSTOM TOOLS3. Connect and launch WEB/CLIENT PATTERNS
  36. 36. Esri Australia Integration Library• Applications we have integrated with• Owned and managed by professional services• Install and configure• Check for vendor versioning
  37. 37. Hansen 8 Pathway Custom Trim Custom tool Hansen 8 Custom tool code code tool codePathway client Trim client connector connector
  38. 38. Agenda• What are we integrating?• “The link”- Integration queries• Ready, go, launch… – Custom tools – Launching web applications – Launching client applications• Launching Dekho
  39. 39. Launching Dekho in 3.1• URL is your way in• System specific ‘Plug-Ins’• Separate Dekho instance every time http::appserver/dekho/Parameters... Application Launch!
  40. 40. Dekho URL• Specific map and extentDekho?map=1&x=331809.928&y=5818278.314&distance=100• Specific bookmarkDekho?bookmark=bookmarkname
  41. 41. Dekho URL• Running a search queryDekho?queryid=12&queryvalues=12345|Main||Melbourne
  42. 42. Dekho Integration Query• Reverse mapping (AssetID -> ObjectID)• Used in Dekho URL
  43. 43. Dekho URL• Select and zoom to featuresDekho?integrationqueryname=…&externalids=…
  44. 44. Launching Dekho usingURL Parameters
  45. 45. Agenda• What are we integrating?• “The link”- Integration queries• Ready, go, launch… – Custom tools – Launching web applications – Launching client applications• Launching Dekho
  46. 46. 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
  47. 47. 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
  48. 48. Product Information:www.esriaustralia.com.au/dekhowww.esriaustralia.com.au/dekhohelpwww.esriaustralia.com.au/dekhoblog

×