1 / 29

Developing a GIS Portal Using the Flex API

2009 Ohio GIS Conference September 17, 2009. Developing a GIS Portal Using the Flex API. Joe LaCombe System Architect Woolpert, Inc. What I will talk about…. What is Flex? What is the ArcGIS Server Flex API? Discuss ESRI’s Sample Viewer and the widget programming model

becka
Download Presentation

Developing a GIS Portal Using the Flex API

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 2009 Ohio GIS Conference September 17, 2009 Developing a GIS Portal Using the Flex API Joe LaCombe System Architect Woolpert, Inc.

  2. What I will talk about… • What is Flex? • What is the ArcGIS Server Flex API? • Discuss ESRI’s Sample Viewer and the widget programming model • Case Study: Extending the Sample Flex Viewer • Integration with other platforms - Show how you can consume .Net WCF services via REST from the Flex environment • Benefits of Flex • How it compares with other API’s?

  3. What is Flex? • Adobe Flex is a software development kit released by Adobe Systems for the development and deployment of cross-platform rich Internet applications based on the Adobe Flash platform. Flex applications can be written using Adobe Flex Builder or by using the freely available Flex compiler from Adobe

  4. What is Flex? Flex= .Net MXML= HTML ActionScript= JavaScript + VB/C# Flex Development Kit MXML Markup ActionScript scripting/core programming .SWF file OR

  5. Flex Development Environment • Adobe Flex Builder • Built upon eclipse • Could develop in notepad, use Adobe’s free compiler • Various open source IDE’s, even a plug-in for Visual Studio • But, Flex Builder is the recommended option • Relatively cheap

  6. ArcGIS Server Flex API JavaScript API SilverLight API Flex API REST API HTTP/JSON SOAP API HTTP/XML Web ADF DCOM ArcGIS Server

  7. ArcGIS Server Flex API • http://resources.esri.com/arcgisserver/apis/flex/index.cfm?fa=home • Samples • API Reference • Community/Code Gallery • Sample Viewer

  8. Sample Flex Viewer • FlexViewerDevelopersGuide.pdf • Provided by a group from ESRI  but ESRI “technically” does not support • Nice looking GUI  Widget programming model • Architected efficiently and in a way so don’t need to worry about the plumbing • Easy to extend

  9. Sample Flex Viewer • liberates programmers from having to deal with: • the programming complexity of managing maps • map navigation • application configuration • inter-component communication • data management, etc. • focus their time and effort on implementing core business functions in their custom applications. • quickly develop/deploy customizations into existing Sample Flex Viewer applications in the form of widgets • Add a configuration entry into the Sample Flex Viewer application’s configuration file.

  10. Case Study: Northern Kentucky Area Planning Commission (NKAPC) • Objective: rewrite/combine existing ArcIMS websites into one portal

  11. LinkGIS Viewer Presentation Tier Business Logic Tier Data Tier

  12. LinkGIS Viewer

  13. Based on ESRI’s Sample Flex Viewer

  14. GIS Layer Display

  15. Graphic Operations

  16. Printing

  17. Data Retrieval

  18. Data Retrieval

  19. Flood Hazard Analysis

  20. Widget–based Approach: Mapping Portal .Net Web Services SDE

  21. Consume .Net Services • Printing • ArcMap based layout  ArcObjects • Provide map description, graphics as JSON • Web service does the work • Return URL to viewer • Flood Plain Analysis • ArcObjects performs spatial analysis • Populate FEMA PDF form with GIS attributes • Return determination and URL to viewer as JSON • Search • Full-text indexing on specific layer table columns • Configuration tells search service what tables/indexes to search based upon parameters • Return results as JSON

  22. Consume .Net Services • Various options • SOAP  XML • HTTP Get, Post, etc.  REST/WCF Services • XML • JSON(JavaScript Object Notation) JSON XML

  23. Why JSON? • JSON has much smaller grammar • JSON is processed more easily because its structure is simpler • XML translates the structure of the data into a document structure. This mapping can be complicated. JSON structures are based on arrays and records. That is what data is made of. • Maps more directly onto the data structures used in modern programming languages, i.e. JavaScript/ActionScript  Objects

  24. Consume .Net Services • REST/WCF via JSON

  25. Consume .Net Services • Decode results

  26. Benefits of Flex • Rich Internet Applications (RIA)  rich functionality and enhanced user experience • Browser independent  runs in Flash Player (Web) or AIR (Desktop) • Stable, mature product • Flex provides efficient integration with a variety of systems, data, and technologies • Modular development approach • Each component is a separate Flash file(.swf) • “Flexible” architecture results in more extendable applications • Perfect for building portals and dashboards • It works!

  27. Other API’s • Flex, Silverlight, or JavaScript? • All have their pros/cons • 9.4 to have templates of each to start from • Whichever one you are comfortable with

  28. Questions?

  29. Contact Information Joe LaCombe System Architect Woolpert, Inc. 317-223-2264 joe.lacombe@woolpert.com

More Related