SlideShare a Scribd company logo
1 of 39
Download to read offline
Developing Custom Tools
Agenda...
• Dekho Architecture
• Custom Tools Overview
• Communication & Working with the Esri Flex
  API
• Working with the Dekho Web Services API
• Consideration and Best Practices
Dekho Architecture Overview
Dekho Geo-App Portal




Dekho Application Manager

                                                  Geo-App publishing



                                       Roles and access rights definition

        Dekho
      Application
       Manager
                                                Geo-App configuration




 Map Services   Spatial Information   Corporate data   Web Services   Tools Gallery   Report Gallery   Search Tasks
Custom Tools Overview
The Basics
• A way of customising Dekho

• Built as a .swf file which runs alongside Dekho


             Parent Application

               Dekho                    Custom
                                        Tool
               Flash Runtime
The process
• Write        (SWF)
• Deploy       (Application Server i.e. Tomcat)
• Add a button (Dekho Studio)
Start-Up sequence
Client Browser                                             Application Server
                           Dekho Server URL
 Dekho Page
                               Dekho swf
                                                               Dekho UI
                   Tool ‘A’ click (URL to swf on server)
                                                           Tool A
                               Tool ‘A’ swf
                                                               Tool B
                                                                    Tool C
In memory… now what?
Client Browser                                Application Server
 Dekho Page      Option 1:
                 Do you thing… clean up and
  Dekho UI       destruct
                                                  Dekho UI

                 Option 2:
    Tool A       Persist and clean up on      Tool A
                 - Dialogue close or…             Tool B
                 - Second click or…
                 - App shut down                       Tool C
Second click – unload…
Client Browser                   Application Server
 Dekho Page


  Dekho UI                            Dekho UI


    Tool A                       Tool A
                                      Tool B
                                           Tool C
What can you use a custom tool for?
• Launching another browser application
• Launching another client side desktop
  application
• Creating a custom workflow
• Change layers, extent, selection…
• Loading WMS layers
Deploy…..
    • Deploying your tool means making it available
      within the application server i.e. tomcat
    • Common practice to add your custom too to
      the root of the same domain as Dekho




December 10 // www.esriaustralia.com.au
Add…..
   • Add tool to Dekho via Dekho Studio
   • Complete Tool Wizard




December 10 // www.esriaustralia.com.au
Use….
   • Custom tool available on main Dekho Interface




December 10 // www.esriaustralia.com.au
Building your first “Hello
  world” custom tool
Communication & Working with the Esri Flex
                 API
How does my custom tool interact
           with Dekho?
• Broadcast out to the parent application i.e.
  browser
• Receive messages from Dekho
• Send messages to Dekho
• Communicate with Dekho via the Services API
• Communicate with any web services
Broadcast out to the parent
             application
• Parent application can control Dekho
• Parent application can receive messages from
  Dekho
                                   JavaScript or C# client
                                   stubs provided
Working with the Dekho application
• Listening to messages
• API methods made public by Dekho SWF
Intercepting messages from Dekho
• messageFromDekho Function.




 Dekho broadcasts the event as      E.g:
 <eventtype>,<sessionid>         Session, 125482993879
parentApplication
• The Dekho SWF element that loads your
  custom tool
Working with the Esri Flex API

                                              1



                                          2



December 10 // www.esriaustralia.com.au
Working with Dekho selection
    and the Esri Flex API
Working with the Dekho Web Services API
Using Dekho Services API

Parent Application
 Dekho              Custom
                    Tool
Flash Runtime



            Dekho Services API
The Process
• Create channel and remote object
• Get Session Information from
  parentApplication
• Use session information to call Dekho Web
  Services API
Example: Saving selection as a redline
 Client Browser                                         Application Server
  Dekho Page                    Establish AMF Channel

      Dekho UI
                                 DrawRedlines
  Get SessionIn

                  Refresh Map




                                 ClearSelection

                                 SaveBookmark


              Tool A
Using the Dekho Services API
You are responsible for creating and opening a channel.




Your responsible for creating a remote object to the correct service i.e.
“SessionService”



Finally make the call to the Dekho Services and specify the response handlers
Working with Dekho Web
      Service API
Custom Tool Summary
• Dekho’s client extensibility model.
• Ways to communicate with Dekho and the
  parent application:
  – Broadcast out to the parent application
  – Dekho Flex API + Receive & Send messages
  – Communicate with the Dekho Services API
• Your custom tool can use the Esri Flex API
• Your custom tool can use the Dekho Web
  Services API
Considerations and Best
       Practices
Code…
• messageFromDekho Function.




         Mandatory method!!
Clean-up practice
The Dekho Simulator & Debugging
• Simulator is a test harness for custom tools
• Please refer to documentation
• Don’t forget:
  – Server Address URL and Tool URL
  – Map Service Address
• Simulator is limited – mock as necessary
Handling web services
• Tell the user when you’re waiting
• Chose the right channel (for performance and
  environment)
• Assign fault handler functions for service calls
Security
• Security
  – Cross Domain – understanding if your tool needs
    to pull data from another source
Maintenance & Deployment
• Maintenance
  – Make your tool portable, configure external Web
    Services URL address
  – Flex SDK version
  – Esri Flex API version
• Deploying into a scaled environment
Product Information:

www.esriaustralia.com.au/dekho

www.esriaustralia.com.au/dekhohelp

www.esriaustralia.com.au/dekhoblog

More Related Content

Similar to Tutorial building custom tools

Developer Intro to Dekoh
Developer Intro to DekohDeveloper Intro to Dekoh
Developer Intro to Dekohdekohworld
 
Docker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & BluemixDocker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & BluemixIBM
 
Platform engineering 101
Platform engineering 101Platform engineering 101
Platform engineering 101Sander Knape
 
Cordova: APIs and instruments
Cordova: APIs and instrumentsCordova: APIs and instruments
Cordova: APIs and instrumentsIvano Malavolta
 
Google chrome extension
Google chrome extensionGoogle chrome extension
Google chrome extensionJohnny Kingdom
 
Android media framework overview
Android media framework overviewAndroid media framework overview
Android media framework overviewJerrin George
 
Rapid Prototyping Chatter with a PHP/Hack Canvas App on Heroku
Rapid Prototyping Chatter with a PHP/Hack Canvas App on HerokuRapid Prototyping Chatter with a PHP/Hack Canvas App on Heroku
Rapid Prototyping Chatter with a PHP/Hack Canvas App on HerokuSalesforce Developers
 
Uni Tour Germany 11.2009
Uni Tour Germany 11.2009Uni Tour Germany 11.2009
Uni Tour Germany 11.2009Patrick Lauke
 
Introduction to the Tizen SDK 2.0.0 Alpha - Taiho Choi (Samsung) - Korea Lin...
Introduction to the Tizen SDK 2.0.0 Alpha - Taiho Choi  (Samsung) - Korea Lin...Introduction to the Tizen SDK 2.0.0 Alpha - Taiho Choi  (Samsung) - Korea Lin...
Introduction to the Tizen SDK 2.0.0 Alpha - Taiho Choi (Samsung) - Korea Lin...Ryo Jin
 
Online presentation tools
Online presentation toolsOnline presentation tools
Online presentation toolsSamanthaEnopia
 
Delivering Developer Tools at Scale
Delivering Developer Tools at ScaleDelivering Developer Tools at Scale
Delivering Developer Tools at ScaleOracle Developers
 
Cordova Tutorial
Cordova TutorialCordova Tutorial
Cordova TutorialJacky Chen
 
GoogleDSC_ GHRCE_ flutter_firebase.pptx
GoogleDSC_ GHRCE_  flutter_firebase.pptxGoogleDSC_ GHRCE_  flutter_firebase.pptx
GoogleDSC_ GHRCE_ flutter_firebase.pptxGoogleDeveloperStude22
 
Introduction to xcode
Introduction to xcodeIntroduction to xcode
Introduction to xcodeSunny Shaikh
 
Jfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the CloudJfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the CloudLauren Hayward Schaefer
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in ChoreoWSO2
 

Similar to Tutorial building custom tools (20)

Developer Intro to Dekoh
Developer Intro to DekohDeveloper Intro to Dekoh
Developer Intro to Dekoh
 
Docker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & BluemixDocker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & Bluemix
 
Platform engineering 101
Platform engineering 101Platform engineering 101
Platform engineering 101
 
Cordova: APIs and instruments
Cordova: APIs and instrumentsCordova: APIs and instruments
Cordova: APIs and instruments
 
Google chrome extension
Google chrome extensionGoogle chrome extension
Google chrome extension
 
Apache Cordova
Apache CordovaApache Cordova
Apache Cordova
 
Apache Cordova 4.x
Apache Cordova 4.xApache Cordova 4.x
Apache Cordova 4.x
 
Android media framework overview
Android media framework overviewAndroid media framework overview
Android media framework overview
 
Cloud Platform as a Service: Heroku
Cloud Platform as a Service: HerokuCloud Platform as a Service: Heroku
Cloud Platform as a Service: Heroku
 
Rapid Prototyping Chatter with a PHP/Hack Canvas App on Heroku
Rapid Prototyping Chatter with a PHP/Hack Canvas App on HerokuRapid Prototyping Chatter with a PHP/Hack Canvas App on Heroku
Rapid Prototyping Chatter with a PHP/Hack Canvas App on Heroku
 
Uni Tour Germany 11.2009
Uni Tour Germany 11.2009Uni Tour Germany 11.2009
Uni Tour Germany 11.2009
 
Introduction to the Tizen SDK 2.0.0 Alpha - Taiho Choi (Samsung) - Korea Lin...
Introduction to the Tizen SDK 2.0.0 Alpha - Taiho Choi  (Samsung) - Korea Lin...Introduction to the Tizen SDK 2.0.0 Alpha - Taiho Choi  (Samsung) - Korea Lin...
Introduction to the Tizen SDK 2.0.0 Alpha - Taiho Choi (Samsung) - Korea Lin...
 
Apache cordova
Apache cordovaApache cordova
Apache cordova
 
Online presentation tools
Online presentation toolsOnline presentation tools
Online presentation tools
 
Delivering Developer Tools at Scale
Delivering Developer Tools at ScaleDelivering Developer Tools at Scale
Delivering Developer Tools at Scale
 
Cordova Tutorial
Cordova TutorialCordova Tutorial
Cordova Tutorial
 
GoogleDSC_ GHRCE_ flutter_firebase.pptx
GoogleDSC_ GHRCE_  flutter_firebase.pptxGoogleDSC_ GHRCE_  flutter_firebase.pptx
GoogleDSC_ GHRCE_ flutter_firebase.pptx
 
Introduction to xcode
Introduction to xcodeIntroduction to xcode
Introduction to xcode
 
Jfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the CloudJfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the Cloud
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in Choreo
 

Recently uploaded

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 

Recently uploaded (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 

Tutorial building custom tools

  • 2. Agenda... • Dekho Architecture • Custom Tools Overview • Communication & Working with the Esri Flex API • Working with the Dekho Web Services API • Consideration and Best Practices
  • 4. Dekho Geo-App Portal Dekho Application Manager Geo-App publishing Roles and access rights definition Dekho Application Manager Geo-App configuration Map Services Spatial Information Corporate data Web Services Tools Gallery Report Gallery Search Tasks
  • 5.
  • 7. The Basics • A way of customising Dekho • Built as a .swf file which runs alongside Dekho Parent Application Dekho Custom Tool Flash Runtime
  • 8. The process • Write (SWF) • Deploy (Application Server i.e. Tomcat) • Add a button (Dekho Studio)
  • 9. Start-Up sequence Client Browser Application Server Dekho Server URL Dekho Page Dekho swf Dekho UI Tool ‘A’ click (URL to swf on server) Tool A Tool ‘A’ swf Tool B Tool C
  • 10. In memory… now what? Client Browser Application Server Dekho Page Option 1: Do you thing… clean up and Dekho UI destruct Dekho UI Option 2: Tool A Persist and clean up on Tool A - Dialogue close or… Tool B - Second click or… - App shut down Tool C
  • 11. Second click – unload… Client Browser Application Server Dekho Page Dekho UI Dekho UI Tool A Tool A Tool B Tool C
  • 12. What can you use a custom tool for? • Launching another browser application • Launching another client side desktop application • Creating a custom workflow • Change layers, extent, selection… • Loading WMS layers
  • 13. Deploy….. • Deploying your tool means making it available within the application server i.e. tomcat • Common practice to add your custom too to the root of the same domain as Dekho December 10 // www.esriaustralia.com.au
  • 14. Add….. • Add tool to Dekho via Dekho Studio • Complete Tool Wizard December 10 // www.esriaustralia.com.au
  • 15. Use…. • Custom tool available on main Dekho Interface December 10 // www.esriaustralia.com.au
  • 16. Building your first “Hello world” custom tool
  • 17. Communication & Working with the Esri Flex API
  • 18. How does my custom tool interact with Dekho? • Broadcast out to the parent application i.e. browser • Receive messages from Dekho • Send messages to Dekho • Communicate with Dekho via the Services API • Communicate with any web services
  • 19. Broadcast out to the parent application • Parent application can control Dekho • Parent application can receive messages from Dekho JavaScript or C# client stubs provided
  • 20. Working with the Dekho application • Listening to messages • API methods made public by Dekho SWF
  • 21. Intercepting messages from Dekho • messageFromDekho Function. Dekho broadcasts the event as E.g: <eventtype>,<sessionid> Session, 125482993879
  • 22. parentApplication • The Dekho SWF element that loads your custom tool
  • 23. Working with the Esri Flex API 1 2 December 10 // www.esriaustralia.com.au
  • 24. Working with Dekho selection and the Esri Flex API
  • 25. Working with the Dekho Web Services API
  • 26. Using Dekho Services API Parent Application Dekho Custom Tool Flash Runtime Dekho Services API
  • 27. The Process • Create channel and remote object • Get Session Information from parentApplication • Use session information to call Dekho Web Services API
  • 28. Example: Saving selection as a redline Client Browser Application Server Dekho Page Establish AMF Channel Dekho UI DrawRedlines Get SessionIn Refresh Map ClearSelection SaveBookmark Tool A
  • 29. Using the Dekho Services API You are responsible for creating and opening a channel. Your responsible for creating a remote object to the correct service i.e. “SessionService” Finally make the call to the Dekho Services and specify the response handlers
  • 30. Working with Dekho Web Service API
  • 31. Custom Tool Summary • Dekho’s client extensibility model. • Ways to communicate with Dekho and the parent application: – Broadcast out to the parent application – Dekho Flex API + Receive & Send messages – Communicate with the Dekho Services API • Your custom tool can use the Esri Flex API • Your custom tool can use the Dekho Web Services API
  • 35. The Dekho Simulator & Debugging • Simulator is a test harness for custom tools • Please refer to documentation • Don’t forget: – Server Address URL and Tool URL – Map Service Address • Simulator is limited – mock as necessary
  • 36. Handling web services • Tell the user when you’re waiting • Chose the right channel (for performance and environment) • Assign fault handler functions for service calls
  • 37. Security • Security – Cross Domain – understanding if your tool needs to pull data from another source
  • 38. Maintenance & Deployment • Maintenance – Make your tool portable, configure external Web Services URL address – Flex SDK version – Esri Flex API version • Deploying into a scaled environment