SlideShare a Scribd company logo
REST, JSON APIs
                  Geo2tag interface description




                                1
India, Feb 2013
RESTful API
     ●   REST = Representational State Transfer
         –    2000 by Roy Fielding
         –   The model of http (v 1.0)
         –   HTTP POST is being used for
             communication.




                                 2
India, Feb 2013
Goals of REST
     ●   Scalability of component interactions
     ●   Generality of interfaces
     ●   Independent deployment of components
     ●   encapsulate legacy systems




                             3
India, Feb 2013
Java script Object Notation
     ●   Text-based, Object-oriented, data
         interchange format.
     ●   Structure:
         –   A collection of name/value pairs
         –   Ordered list of values.




                                  4
India, Feb 2013
Grammar
     ●      Begin-array – [ left square bracket
     ●      Begin-object – { left curly bracket
     ●      End-array – ] right square bracket
     ●      End-object – } right curly bracket
     ●      Name-separator – : colon
     ●      Value-separator – ; , comma


                               5
India, Feb 2013
Examples
      {
           "Image": {
              "Width": 800,
              "Height": 600,
              "Title": "View from 15th Floor",
              "Thumbnail": {
                   "Url":   "http://www.example.com/image/481989943",
                   "Height": 125,
                   "Width": "100"
              },
              "IDs": [116, 943, 234, 38793]
      }
                                          6
India, Feb 2013
Geo2tag REST API
        Based on JSON objects interchange
    ●   Command:
        –   URI
            ●     Service URL
            ●     Function
        –   Parameters: JSON object
        Example
            URI http://india.geo2tag.org/service/login
        –   Params (Json): '{"login":"Mark","password":"test"}



                                      7
India, Feb 2013
Invoking by curl



        $ curl -d '{"login":"Mark","password":"test"}'
        http://india.geo2tag.org/service/login




                                  8
India, Feb 2013
Session token
         client                                                 server

             /version

                      {“errno”: 0, “version” : “1.02”}


                  /login {“login” : “user”, “password”:”pwd”}
              {“errno”: 0, “auth_token” : “765888876588”}


             /loadTags {“auth_token” : “765888876588”,
              “latitude”:23.0, ”longitude”:12.0, “radius”: 5}
              {“errno”: 0, ...}




                                                  9
India, Feb 2013
Live example




                       10
India, Feb 2013
Command security
     ●
         Plain commands (version, build,...)
     ●
         Session management
         –   login
         –   closeSession
     ●
         Authorized commands
         –   With session token



                                  11
India, Feb 2013
Session workflow
     ●   Check version
     ●   Acquire session token
     ●   … R/W tags, channels
     ●   Close session




                           12
India, Feb 2013
Login
     ●   /login
         –   login
         –   password




                          13
India, Feb 2013
User management
     ●   /addUser
         –   login
         –   password
         –   Email
     ●   /deleteUser
         –   login




                            14
India, Feb 2013
Channel Management
     ●   /addChannel
         –   name
         –   description
         –   url
         –   radius
     ●   /owned
     ●   /subscribe
     ●   /subscribed
                           15
India, Feb 2013
Working with tags
    ●   /writeTag
        –   channel
        –   description
        –   {coordinates}
        –   time
        –   title
    ●   /loadTags
        –   latitude
        –   longitude
        –   radius
        –
                               16
India, Feb 2013
Contacts



                  geo2tag-maintainer@fruct.org




                                17
India, Feb 2013

More Related Content

PPT
Governo rodrigues alves
DOCX
Estructura HTML III
PPT
Reinos africanos
ODP
Porting smart m3 to the MeeGo
PPTX
Middle Ages primary level presentation
PPTX
Fruct14 sholokhova
PPT
O imperialismo definições
Governo rodrigues alves
Estructura HTML III
Reinos africanos
Porting smart m3 to the MeeGo
Middle Ages primary level presentation
Fruct14 sholokhova
O imperialismo definições

Viewers also liked (20)

PDF
Geo2tag performance evaluation, Zaslavsky, Krinkin
PPTX
Access to CAS Riak with Erlang
ODP
Fruct13 geo2tag-training
PPT
O período regencial
PPT
A 1ª guerra mundial
PPTX
Detection pulse by video
ODP
Lbs for transport monitoring based on geo2tag
PPTX
PDF
Doctor search service with Geo2tag, Bezyazychnyy, Krinkin
PDF
Catalogo de conceptos clinica.xlsx
PDF
Smart-m3 Security Model
PDF
Slidesharepresentation introphoto
Geo2tag performance evaluation, Zaslavsky, Krinkin
Access to CAS Riak with Erlang
Fruct13 geo2tag-training
O período regencial
A 1ª guerra mundial
Detection pulse by video
Lbs for transport monitoring based on geo2tag
Doctor search service with Geo2tag, Bezyazychnyy, Krinkin
Catalogo de conceptos clinica.xlsx
Smart-m3 Security Model
Slidesharepresentation introphoto
Ad

Similar to Json protocol, Geo2tag REST API fundamentals (20)

PDF
Introduction to geo-tagging and geo2tag platform
PDF
Web Developing In Search
KEY
PPTX
Restful api
PPTX
NEPHP '12: Create a RESTful API
ODP
PHP Indonesia 3rd meetup - 06/04/13
PDF
Querying Riak Just Got Easier - Introducing Secondary Indices
PDF
Network concepts
PDF
PDF
Enter the app era with ruby on rails
KEY
Enter the app era with ruby on rails (rubyday)
ODP
Geo2tag LBS platform training at FRUCT12
PPTX
REST presentation
PDF
No REST for the Wicked: REST and Catalyst
PDF
ekb.py: KISS REST API
PDF
Rapidly Integrating Services into the Linked Data Cloud
PDF
ekbpy'2012- Юрий Юревич - Как сделать REST API на Python
KEY
Drupal Camp Sthml 09
PDF
Under the hood, fighting fires with realtime semantic web technology
Introduction to geo-tagging and geo2tag platform
Web Developing In Search
Restful api
NEPHP '12: Create a RESTful API
PHP Indonesia 3rd meetup - 06/04/13
Querying Riak Just Got Easier - Introducing Secondary Indices
Network concepts
Enter the app era with ruby on rails
Enter the app era with ruby on rails (rubyday)
Geo2tag LBS platform training at FRUCT12
REST presentation
No REST for the Wicked: REST and Catalyst
ekb.py: KISS REST API
Rapidly Integrating Services into the Linked Data Cloud
ekbpy'2012- Юрий Юревич - Как сделать REST API на Python
Drupal Camp Sthml 09
Under the hood, fighting fires with realtime semantic web technology
Ad

More from OSLL (20)

PDF
SLAM Constructor Framework for ROS
PDF
Студентам и не только. Как выступить с докладом по своей научной работе
PDF
Full Automated Continuous Integration and Testing Infrastructure for Maxscale...
PDF
MOOCs Virtual Lab in Modern Education
PDF
Работа с геоданными в MongoDb
PDF
Testing with Selenium
PDF
Implementation of the new REST API for Open Source LBS-platform Geo2Tag
PDF
Microservice architecture for Geo2Tag
PDF
[MDBCI] Mariadb continuous integration tool
PDF
Block-level compression in Linux. Pro et contra
PDF
Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015
PDF
Обзор файловой системы GlusterFS
PDF
Обзор Btrfs
PDF
Обзор архитектуры [файловой] системы Ceph
PDF
Linuxvirt seminar-csc-2015
PDF
Обзор Linux Control Groups
PDF
Raspberry Pi robot with ROS
PDF
Пространства имен Linux (linux namespaces)
PDF
Кратчайшее введение в docker по-русски
PDF
Virtual-HSM: Virtualization of Hardware Security Modules in Linux Containers
SLAM Constructor Framework for ROS
Студентам и не только. Как выступить с докладом по своей научной работе
Full Automated Continuous Integration and Testing Infrastructure for Maxscale...
MOOCs Virtual Lab in Modern Education
Работа с геоданными в MongoDb
Testing with Selenium
Implementation of the new REST API for Open Source LBS-platform Geo2Tag
Microservice architecture for Geo2Tag
[MDBCI] Mariadb continuous integration tool
Block-level compression in Linux. Pro et contra
Fast Artificial Landmark Detection for indoor mobile robots AIMAVIG'2015
Обзор файловой системы GlusterFS
Обзор Btrfs
Обзор архитектуры [файловой] системы Ceph
Linuxvirt seminar-csc-2015
Обзор Linux Control Groups
Raspberry Pi robot with ROS
Пространства имен Linux (linux namespaces)
Кратчайшее введение в docker по-русски
Virtual-HSM: Virtualization of Hardware Security Modules in Linux Containers

Recently uploaded (20)

PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
cuic standard and advanced reporting.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Spectroscopy.pptx food analysis technology
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Empathic Computing: Creating Shared Understanding
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
MYSQL Presentation for SQL database connectivity
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Mobile App Security Testing_ A Comprehensive Guide.pdf
Chapter 3 Spatial Domain Image Processing.pdf
Network Security Unit 5.pdf for BCA BBA.
Encapsulation_ Review paper, used for researhc scholars
cuic standard and advanced reporting.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Spectroscopy.pptx food analysis technology
sap open course for s4hana steps from ECC to s4
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Unlocking AI with Model Context Protocol (MCP)
Empathic Computing: Creating Shared Understanding
NewMind AI Weekly Chronicles - August'25 Week I
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
MYSQL Presentation for SQL database connectivity
The Rise and Fall of 3GPP – Time for a Sabbatical?
Per capita expenditure prediction using model stacking based on satellite ima...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx

Json protocol, Geo2tag REST API fundamentals

  • 1. REST, JSON APIs Geo2tag interface description 1 India, Feb 2013
  • 2. RESTful API ● REST = Representational State Transfer – 2000 by Roy Fielding – The model of http (v 1.0) – HTTP POST is being used for communication. 2 India, Feb 2013
  • 3. Goals of REST ● Scalability of component interactions ● Generality of interfaces ● Independent deployment of components ● encapsulate legacy systems 3 India, Feb 2013
  • 4. Java script Object Notation ● Text-based, Object-oriented, data interchange format. ● Structure: – A collection of name/value pairs – Ordered list of values. 4 India, Feb 2013
  • 5. Grammar ● Begin-array – [ left square bracket ● Begin-object – { left curly bracket ● End-array – ] right square bracket ● End-object – } right curly bracket ● Name-separator – : colon ● Value-separator – ; , comma 5 India, Feb 2013
  • 6. Examples { "Image": { "Width": 800, "Height": 600, "Title": "View from 15th Floor", "Thumbnail": { "Url": "http://www.example.com/image/481989943", "Height": 125, "Width": "100" }, "IDs": [116, 943, 234, 38793] } 6 India, Feb 2013
  • 7. Geo2tag REST API Based on JSON objects interchange ● Command: – URI ● Service URL ● Function – Parameters: JSON object Example URI http://india.geo2tag.org/service/login – Params (Json): '{"login":"Mark","password":"test"} 7 India, Feb 2013
  • 8. Invoking by curl $ curl -d '{"login":"Mark","password":"test"}' http://india.geo2tag.org/service/login 8 India, Feb 2013
  • 9. Session token client server /version {“errno”: 0, “version” : “1.02”} /login {“login” : “user”, “password”:”pwd”} {“errno”: 0, “auth_token” : “765888876588”} /loadTags {“auth_token” : “765888876588”, “latitude”:23.0, ”longitude”:12.0, “radius”: 5} {“errno”: 0, ...} 9 India, Feb 2013
  • 10. Live example 10 India, Feb 2013
  • 11. Command security ● Plain commands (version, build,...) ● Session management – login – closeSession ● Authorized commands – With session token 11 India, Feb 2013
  • 12. Session workflow ● Check version ● Acquire session token ● … R/W tags, channels ● Close session 12 India, Feb 2013
  • 13. Login ● /login – login – password 13 India, Feb 2013
  • 14. User management ● /addUser – login – password – Email ● /deleteUser – login 14 India, Feb 2013
  • 15. Channel Management ● /addChannel – name – description – url – radius ● /owned ● /subscribe ● /subscribed 15 India, Feb 2013
  • 16. Working with tags ● /writeTag – channel – description – {coordinates} – time – title ● /loadTags – latitude – longitude – radius – 16 India, Feb 2013
  • 17. Contacts geo2tag-maintainer@fruct.org 17 India, Feb 2013