SlideShare a Scribd company logo
1 of 20
Composing JSON-based
Web APIs
Javier Luis Cánovas Izquierdo, Jordi Cabot
{javier.canovas,jordi.cabot}@inria.fr
ICWE Conference
July 2014
Web APIs as main citizen
Web APIs as main citizen
Web APIs as main citizen
Web APIs as main citizen
Web APIs as main citizen
… a.k.a. JavaScript Object
Notation…
…a text-based open standard
designed for human-readable data
interchange…
…derived from the JavaScript
scripting language for representing
simple data structures and
associative arrays, called
objects…
JSON
Web APIs as main citizen
… a.k.a. JavaScript Object
Notation…
…a text-based open standard
designed for human-readable data
interchange…
…derived from the JavaScript
scripting language for representing
simple data structures and
associative arrays, called
objects…
JSON
Application Example
Application Example
S1
S2
S1
S2
S1
S2
S1
S2
S1 S2
S1 S2
Application Example
S1
S2
?
S1 S2
Our approach
flickr/koalazymonkey
• Generating the glue code for
the composition
• Ideas from database and
XML-based approaches
Process improvement
• Scalability issues
• Some metrics: effectiveness,
coverage, etc.
Process evaluation
Check it out!
https://github.com/atlanmod/json-discoverer/
Except where otherwise noted, content on this presentation is licensed under a Creative Commons Attribution 3.0 License.
Do you wanna try?

More Related Content

Similar to Composing JSON-based Web APIs

DaZhangJM0203JM0203
DaZhangJM0203JM0203DaZhangJM0203JM0203
DaZhangJM0203JM0203
Da Zhang
 
Give Your JavaScript Apps Some Spine
Give Your JavaScript Apps Some SpineGive Your JavaScript Apps Some Spine
Give Your JavaScript Apps Some Spine
Lachlan Hardy
 

Similar to Composing JSON-based Web APIs (20)

Ibm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshopIbm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshop
 
Presenter manual RIA technology (specially for summer interns)
Presenter manual RIA technology (specially for summer interns)Presenter manual RIA technology (specially for summer interns)
Presenter manual RIA technology (specially for summer interns)
 
PonArasuNeranjSubramanian_ASU
PonArasuNeranjSubramanian_ASUPonArasuNeranjSubramanian_ASU
PonArasuNeranjSubramanian_ASU
 
Building an E-commerce website in MEAN stack
Building an E-commerce website in MEAN stackBuilding an E-commerce website in MEAN stack
Building an E-commerce website in MEAN stack
 
Connect js nodejs_api_shubhra
Connect js nodejs_api_shubhraConnect js nodejs_api_shubhra
Connect js nodejs_api_shubhra
 
DaZhangJM0203JM0203
DaZhangJM0203JM0203DaZhangJM0203JM0203
DaZhangJM0203JM0203
 
AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA by Bojan Velja...
AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA by Bojan Velja...AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA by Bojan Velja...
AngularJS + NancyFx + MongoDB = The best trio for ultimate SPA by Bojan Velja...
 
Towards a Web of Services
Towards a Web of ServicesTowards a Web of Services
Towards a Web of Services
 
Semtech2006
Semtech2006Semtech2006
Semtech2006
 
Reaktive Programmierung mit den Reactive Extensions (Rx)
Reaktive Programmierung mit den Reactive Extensions (Rx)Reaktive Programmierung mit den Reactive Extensions (Rx)
Reaktive Programmierung mit den Reactive Extensions (Rx)
 
Generating docs from APIs
Generating docs from APIsGenerating docs from APIs
Generating docs from APIs
 
JSON Application
JSON ApplicationJSON Application
JSON Application
 
MarcOnt Initiative - Protege meeting
MarcOnt Initiative - Protege meetingMarcOnt Initiative - Protege meeting
MarcOnt Initiative - Protege meeting
 
Evaluation and prototyping of an HTML5 Client for iOS devices
Evaluation and prototyping of an HTML5 Client for iOS devicesEvaluation and prototyping of an HTML5 Client for iOS devices
Evaluation and prototyping of an HTML5 Client for iOS devices
 
Metadata is back!
Metadata is back!Metadata is back!
Metadata is back!
 
WebGUI And The Semantic Web
WebGUI And The Semantic WebWebGUI And The Semantic Web
WebGUI And The Semantic Web
 
Give Your JavaScript Apps Some Spine
Give Your JavaScript Apps Some SpineGive Your JavaScript Apps Some Spine
Give Your JavaScript Apps Some Spine
 
Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015
 
Basics of Backbone.js
Basics of Backbone.jsBasics of Backbone.js
Basics of Backbone.js
 
Rails as iOS Application Backend
Rails as iOS Application BackendRails as iOS Application Backend
Rails as iOS Application Backend
 

More from Javier Canovas

Collaboro - Creación Colaborativa de Lenguajes Específicos del Dominio
Collaboro - Creación Colaborativa de Lenguajes Específicos del DominioCollaboro - Creación Colaborativa de Lenguajes Específicos del Dominio
Collaboro - Creación Colaborativa de Lenguajes Específicos del Dominio
Javier Canovas
 

More from Javier Canovas (20)

On the Analysis of Non-Coding Roles in Open Source Development
On the Analysis of Non-Coding Roles in Open Source DevelopmentOn the Analysis of Non-Coding Roles in Open Source Development
On the Analysis of Non-Coding Roles in Open Source Development
 
Open Source Software Governance Guide: Developing a Matrix of Leading Questio...
Open Source Software Governance Guide: Developing a Matrix of Leading Questio...Open Source Software Governance Guide: Developing a Matrix of Leading Questio...
Open Source Software Governance Guide: Developing a Matrix of Leading Questio...
 
A Model-based Chatbot Generation Approach to Converse with Open Data Sources
A Model-based Chatbot Generation Approach to Converse with Open Data SourcesA Model-based Chatbot Generation Approach to Converse with Open Data Sources
A Model-based Chatbot Generation Approach to Converse with Open Data Sources
 
Chatbots to Democratize the Access to Information and Internet Services
Chatbots to Democratize the Access to Information and Internet ServicesChatbots to Democratize the Access to Information and Internet Services
Chatbots to Democratize the Access to Information and Internet Services
 
Analysis and Modeling of the Governance in General Programming Languages
Analysis and Modeling of the Governance in General Programming LanguagesAnalysis and Modeling of the Governance in General Programming Languages
Analysis and Modeling of the Governance in General Programming Languages
 
Automatic Generation of Test Cases for REST APIs: a Specification-Based Approach
Automatic Generation of Test Cases for REST APIs: a Specification-Based ApproachAutomatic Generation of Test Cases for REST APIs: a Specification-Based Approach
Automatic Generation of Test Cases for REST APIs: a Specification-Based Approach
 
A UML Profile for Privacy Enforcement
A UML Profile for Privacy EnforcementA UML Profile for Privacy Enforcement
A UML Profile for Privacy Enforcement
 
The Role of Foundations in Open Source Projects
The Role of Foundations in Open Source ProjectsThe Role of Foundations in Open Source Projects
The Role of Foundations in Open Source Projects
 
An Empirical Study on the Maturity of the Eclipse Modeling Ecosystem
An Empirical Study on the Maturity of the Eclipse Modeling EcosystemAn Empirical Study on the Maturity of the Eclipse Modeling Ecosystem
An Empirical Study on the Maturity of the Eclipse Modeling Ecosystem
 
Example-driven Web API Specification Discovery
Example-driven Web API Specification DiscoveryExample-driven Web API Specification Discovery
Example-driven Web API Specification Discovery
 
Software Modernization Revisited: Challenges and Prospects
Software Modernization Revisited:Challenges and ProspectsSoftware Modernization Revisited:Challenges and Prospects
Software Modernization Revisited: Challenges and Prospects
 
Findings from GitHub. Methods, Datasets and Limitations
Findings from GitHub. Methods, Datasets and LimitationsFindings from GitHub. Methods, Datasets and Limitations
Findings from GitHub. Methods, Datasets and Limitations
 
Enabling the Definition and Enforcement of Governance Rules in Open Source Sy...
Enabling the Definition and Enforcement of Governance Rules in Open Source Sy...Enabling the Definition and Enforcement of Governance Rules in Open Source Sy...
Enabling the Definition and Enforcement of Governance Rules in Open Source Sy...
 
Exploring the Use of Labels to Categorize Issues in Open-Source Software Pro...
Exploring the Use of Labels to Categorize Issues in Open-Source Software Pro...Exploring the Use of Labels to Categorize Issues in Open-Source Software Pro...
Exploring the Use of Labels to Categorize Issues in Open-Source Software Pro...
 
Retos Actuales en el Desarrollo de Lenguajes Específicos del Dominio
Retos Actuales en el Desarrollo de Lenguajes Específicos del DominioRetos Actuales en el Desarrollo de Lenguajes Específicos del Dominio
Retos Actuales en el Desarrollo de Lenguajes Específicos del Dominio
 
Enabling the Collaborative Definition of DSMLs
Enabling the Collaborative Definition of DSMLsEnabling the Collaborative Definition of DSMLs
Enabling the Collaborative Definition of DSMLs
 
Domain-Specific Languages
Domain-Specific LanguagesDomain-Specific Languages
Domain-Specific Languages
 
Modernization in Eclipse
Modernization in EclipseModernization in Eclipse
Modernization in Eclipse
 
Software Modernization
Software ModernizationSoftware Modernization
Software Modernization
 
Collaboro - Creación Colaborativa de Lenguajes Específicos del Dominio
Collaboro - Creación Colaborativa de Lenguajes Específicos del DominioCollaboro - Creación Colaborativa de Lenguajes Específicos del Dominio
Collaboro - Creación Colaborativa de Lenguajes Específicos del Dominio
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 

Composing JSON-based Web APIs

Editor's Notes

  1. apis everywhere
  2. apis everywhere
  3. apis everywhere
  4. apis everywhere
  5. apis everywhere
  6. apis everywhere
  7. apis everywhere
  8. apis everywhere
  9. apis everywhere
  10. Real experience
  11. http://blog.programmableweb.com/2011/05/25/1-in-5-apis-say-bye-xml/
  12. http://blog.programmableweb.com/2011/05/25/1-in-5-apis-say-bye-xml/
  13. http://blog.programmableweb.com/2011/05/25/1-in-5-apis-say-bye-xml/
  14. http://blog.programmableweb.com/2011/05/25/1-in-5-apis-say-bye-xml/
  15. http://blog.programmableweb.com/2011/05/25/1-in-5-apis-say-bye-xml/
  16. http://blog.programmableweb.com/2011/05/25/1-in-5-apis-say-bye-xml/
  17. http://blog.programmableweb.com/2011/05/25/1-in-5-apis-say-bye-xml/