SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...FIDO Alliance
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...FIDO Alliance
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityScyllaDB
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...CzechDreamin
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...CzechDreamin
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessUXDXConf
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyUXDXConf
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoTAnalytics
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfFIDO Alliance
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeCzechDreamin
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftshyamraj55
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfFIDO Alliance
 
Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024TopCSSGallery
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutesconfluent
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsStefano
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIES VE
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?Mark Billinghurst
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...FIDO Alliance
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024Stephanie Beckett
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfFIDO Alliance
 

Kürzlich hochgeladen (20)

Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 

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