SlideShare a Scribd company logo
European Developer Summit
                                     Nov 9| Rotterdam, NL




Developer’s Guide to the
   ArcGIS Portal API
   Julie Powell, Antoon Uijtdehaag
Developing with ArcGIS Online

  •   ArcGIS Portal API
      -   Portal, Content, Tasks, Hosted Services


  •   ArcGIS Web APIs
      -   Create fully customized web mapping applications


  •   ArcGIS Runtime SDKs
      -   Build applications for the desktop and mobile devices


  •   Develop an App from a webmap
  •   Configure and application template
ArcGIS Online Web maps
Can be used in many ways, in many applications, on many devices




                                                     Custom Applications
ArcMap


                                Web map




            Mobile Apps                           Configurable App Templates
Map ID
A unique identifier, like a social security number
Turn web maps into Web apps




                                    Publish




                         Choose a
  Author Map             Template



               Share
ArcGIS Online Architecture for Developers




       ArcGIS Server REST API             ArcGIS Portal REST API

                                          ArcGIS Online Respository
                          ArcGIS Online
       ArcGIS Server
        ArcGIS Server     Map Services    Search   Community   Content
ArcGIS Portal

  •   REST-based API to access and work with
      -   Users
      -   Groups
      -   Items
Working with the ArcGIS Portal REST API




  Authent.            Portal




                   Users   Groups     Items
        Search     Community        Content
Portals


   •   /portals/self - Portal Info
       -   /sharing/rest/portals/self
   •   Languages and Regions
       -   /sharing/rest/portals/languages
   •   Manage
   •   File Resources
   •   Users



   •   http://www.arcgis.com/apidocs/rest/?portals.html
Search

 •   Item Search
      -   /sharing/rest/search?q=<query>
      -   title, owner, type, tags, description, created/modified…
           -   E.g. +type:”Web Map” –title:test


 •   User Search
      -   /sharing/rest/community/users?q=<query>
      -   username, description, tags, …
           -   E.g. +fullname:”Andrea Rosso”


 •   Group Search
      -   /sharing/rest/community/groups?q=<query>
      -   title, owner, description, tags, created/modified…
           -   E.g. +title:”My Maps” +owner:arosso_t1


 •   http://www.arcgis.com/apidocs/rest/?searchreference.html
Community

   •   Groups
       -   Manage
            -   /sharing/rest/community/groups/<groupid>
       -   Invite/Apply
            -   /sharing/rest/community/groups/<groupid>/applications



   •   Users
       -   Manage
            -   /sharing/rest/community/users/<username>
       -   Notifications
            -   /sharing/rest/community/users/<username>/notifications



   •   http://www.arcgis.com/apidocs/rest/?community.html
Content

   •   Item
       -   /sharing/rest/content/items/<itemId>
   •   User Content
       -   /sharing/rest/content/users/<username>
   •   Manage Items
   •   Folders
   •   Relationships
   •   Share/Unshare Items
   •   Ratings and Comments
   •   Group Content
   •   Analyze/Generate


   •   http://www.arcgis.com/apidocs/rest/?content.html
Adding Items


   •   addItem
        •   /sharing/rest/content/users/<userid>/addItem


       -    Synchronous
       -    Asynchronous
       -    Multi-Part



   •   http://www.arcgis.com/apidocs/rest/?additem.html
Demo:
Working with the ArcGIS REST API
Authentication


• An application connects to Online / Portal as either :
   • an anonymous user or
   • an authenticated user
      • Using credentials for the user


• The application see’s what the user is privileged to see
   • The user may be part of an organizational subscription


• generateToken API call lets an App get a short term token in
  exchange for credentials over https
   • Apps should use Identity Manager control in client SDKs
   • see Security Flows section
Security Flows


• There are different kinds of Apps :

   • Apps that allow Users to access secure content that
     belongs to the Users

   • Apps that access secure content that belongs to the App

   • hybrid
Apps that work with secured User Content


• Users trust the App
   • it has access to their secure content

• Users need to login to their accounts by presenting
  credentials to the Server

• Apps can use the Identity Managers in the client SDKs

• Identity Mgr takes care of communicating with the server’s
  security Token Service over https and getting and renewing
  tokens.

• All subsequent use and transmission of tokens, parameters
  and resulting content must also be over https if the
  organization has chosen the “all-SSL” option.
Apps that work with secured App content

•    App has its own credentials that it needs to communicate with the
     server.

•    App credentials should not be exposed to end users
      • Implies a server side flow for otherwise client side web apps

•    App can use a server side proxy configured with app credentials

•    proxy responsible for getting and renewing short term tokens using
     credentials over https

•    All subsequent requests also over https as needed

•    Proxy should be secured to the App
      • by Referer
      • by a server side App Session ID maintained by the App
What’s Next?
Developer’s Guide to the ArcGIS Portal API, Esri, Julie Powell, Antoon Uijtdehaag

More Related Content

Developer’s Guide to the ArcGIS Portal API, Esri, Julie Powell, Antoon Uijtdehaag

  • 1. European Developer Summit Nov 9| Rotterdam, NL Developer’s Guide to the ArcGIS Portal API Julie Powell, Antoon Uijtdehaag
  • 2. Developing with ArcGIS Online • ArcGIS Portal API - Portal, Content, Tasks, Hosted Services • ArcGIS Web APIs - Create fully customized web mapping applications • ArcGIS Runtime SDKs - Build applications for the desktop and mobile devices • Develop an App from a webmap • Configure and application template
  • 3. ArcGIS Online Web maps Can be used in many ways, in many applications, on many devices Custom Applications ArcMap Web map Mobile Apps Configurable App Templates
  • 4. Map ID A unique identifier, like a social security number
  • 5. Turn web maps into Web apps Publish Choose a Author Map Template Share
  • 6. ArcGIS Online Architecture for Developers ArcGIS Server REST API ArcGIS Portal REST API ArcGIS Online Respository ArcGIS Online ArcGIS Server ArcGIS Server Map Services Search Community Content
  • 7. ArcGIS Portal • REST-based API to access and work with - Users - Groups - Items
  • 8. Working with the ArcGIS Portal REST API Authent. Portal Users Groups Items Search Community Content
  • 9. Portals • /portals/self - Portal Info - /sharing/rest/portals/self • Languages and Regions - /sharing/rest/portals/languages • Manage • File Resources • Users • http://www.arcgis.com/apidocs/rest/?portals.html
  • 10. Search • Item Search - /sharing/rest/search?q=<query> - title, owner, type, tags, description, created/modified… - E.g. +type:”Web Map” –title:test • User Search - /sharing/rest/community/users?q=<query> - username, description, tags, … - E.g. +fullname:”Andrea Rosso” • Group Search - /sharing/rest/community/groups?q=<query> - title, owner, description, tags, created/modified… - E.g. +title:”My Maps” +owner:arosso_t1 • http://www.arcgis.com/apidocs/rest/?searchreference.html
  • 11. Community • Groups - Manage - /sharing/rest/community/groups/<groupid> - Invite/Apply - /sharing/rest/community/groups/<groupid>/applications • Users - Manage - /sharing/rest/community/users/<username> - Notifications - /sharing/rest/community/users/<username>/notifications • http://www.arcgis.com/apidocs/rest/?community.html
  • 12. Content • Item - /sharing/rest/content/items/<itemId> • User Content - /sharing/rest/content/users/<username> • Manage Items • Folders • Relationships • Share/Unshare Items • Ratings and Comments • Group Content • Analyze/Generate • http://www.arcgis.com/apidocs/rest/?content.html
  • 13. Adding Items • addItem • /sharing/rest/content/users/<userid>/addItem - Synchronous - Asynchronous - Multi-Part • http://www.arcgis.com/apidocs/rest/?additem.html
  • 14. Demo: Working with the ArcGIS REST API
  • 15. Authentication • An application connects to Online / Portal as either : • an anonymous user or • an authenticated user • Using credentials for the user • The application see’s what the user is privileged to see • The user may be part of an organizational subscription • generateToken API call lets an App get a short term token in exchange for credentials over https • Apps should use Identity Manager control in client SDKs • see Security Flows section
  • 16. Security Flows • There are different kinds of Apps : • Apps that allow Users to access secure content that belongs to the Users • Apps that access secure content that belongs to the App • hybrid
  • 17. Apps that work with secured User Content • Users trust the App • it has access to their secure content • Users need to login to their accounts by presenting credentials to the Server • Apps can use the Identity Managers in the client SDKs • Identity Mgr takes care of communicating with the server’s security Token Service over https and getting and renewing tokens. • All subsequent use and transmission of tokens, parameters and resulting content must also be over https if the organization has chosen the “all-SSL” option.
  • 18. Apps that work with secured App content • App has its own credentials that it needs to communicate with the server. • App credentials should not be exposed to end users • Implies a server side flow for otherwise client side web apps • App can use a server side proxy configured with app credentials • proxy responsible for getting and renewing short term tokens using credentials over https • All subsequent requests also over https as needed • Proxy should be secured to the App • by Referer • by a server side App Session ID maintained by the App

Editor's Notes

  1. 1. JS – SHP demo: http://help.arcgis.com/en/webapi/javascript/arcgis/help/jssamples_start.htm2. (Mark’s demo) Publish shp file, index (register) AGS services3. (Matthias demo) Catalog public &amp; private items from AGO Org account4. Python – create weekly report of new items