Skip to main content Accessibility help
×
Home

The pragmatic proof: Hypermedia API composition and execution

  • RUBEN VERBORGH (a1), DÖRTHE ARNDT (a1), SOFIE VAN HOECKE (a1), JOS DE ROO (a2), GIOVANNI MELS (a2), THOMAS STEINER (a3) and JOAQUIM GABARRO (a3)...

Abstract

Machine clients are increasingly making use of the Web to perform tasks. While Web services traditionally mimic remote procedure calling interfaces, a new generation of so-called hypermedia APIs works through hyperlinks and forms, in a way similar to how people browse the Web. This means that existing composition techniques, which determine a procedural plan upfront, are not sufficient to consume hypermedia APIs, which need to be navigated at runtime. Clients instead need a more dynamic plan that allows them to follow hyperlinks and use forms with a preset goal. Therefore, in this paper, we show how compositions of hypermedia APIs can be created by generic Semantic Web reasoners. This is achieved through the generation of a proof based on semantic descriptions of the APIs' functionality. To pragmatically verify the applicability of compositions, we introduce the notion of pre-execution and post-execution proofs. The runtime interaction between a client and a server is guided by proofs but driven by hypermedia, allowing the client to react to the application's actual state indicated by the server's response. We describe how to generate compositions from descriptions, discuss a computer-assisted process to generate descriptions, and verify reasoner performance on various composition tasks using a benchmark suite. The experimental results lead to the conclusion that proof-based consumption of hypermedia APIs is a feasible strategy at Web scale.

Copyright

References

Hide All
Abiteboul, S., Hull, R. and Vianu, V., Eds. 1995. Foundations of Databases: The Logical Level, 1st ed. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.
Alarcón, R. and Wilde, E. 2010. RESTler: Crawling RESTful services. In Proc. of the 19th International Conference on World Wide Web, Rappa, M., Jones, P., Freire, J., Chakrabarti, S., Eds. ACM, Raleigh, North Carolina, USA, 10511052.
Alarcón, R., Wilde, E. and Bellido, J. 2011. Hypermedia-driven RESTful service composition. In Service-Oriented Computing, Maximilien, E. M., Rossi, G., Yuan, S.-T., Ludwig, H. and Fantinato, M. Eds. Lecture Notes in Computer Science, Vol. 6568. Springer, Berlin Heidelberg, 111120.
Angele, J., Boley, H., de Bruijn, J., Fensel, D., Hitzler, P., Kifer, M., Krummenacher, R., Lausen, H., Polleres, A. and Studer, R. 2005. Web rule language (WRL). W3C Member Submission 9. https://www.w3.org/Submission/WRL/ [Accessed on 21/01/2016].
Arndt, D., Verborgh, R., De Roo, J., Sun, H., Mannens, E. and Van De Walle, R. 2015. Semantics of Notation3 logic: A solution for implicit quantification. In Rule Technologies: Foundations, Tools, and Applications, Bassiliades, N., Gottlob, G., Sadri, F., Paschke, A. and Roman, D., Eds. Springer, Berlin Heidelberg, 127143.
Auer, S., Bizer, C., Kobilarov, G., Lehmann, J., Cyganiak, R. and Ives, Z. 2007. DBpedia: A nucleus for a Web of open data. In The Semantic Web, Aberer, K., Choi, K.-S., Noy, N., Allemang, D., Lee, K.-I., Nixon, L., Golbeck, J., Mika, P., Maynard, D., Mizoguchi, R., Schreiber, G., Cudrè-Mauroux, P., Eds. Lecture Notes in Computer Science, Vol. 4825. Springer, Berlin Heidelberg, 722735. URL: http://dx.doi.org/10.1007/978-3-540-76298-0_52 [Accessed on 21/01/2016].
Baget, J.-F., Leclère, M., Mugnier, M.-L., Rocher, S. and Sipieter, C. 2015. Graal: A toolkit for query answering with existential rules. In Rule Technologies: Foundations, Tools, and Applications, Bassiliades, N., Gottlob, G., Sadri, F., Paschke, A. and Roman, D., Eds. Springer, Berlin Heidelberg, 328344.
Baget, J.-F., Leclère, M., Mugnier, M.-L. and Salvat, E. 2011. On rules with existential variables: Walking the decidability line. Artificial Intelligence 175, 9–10, 16201654.
Beckett, D., Berners-Lee, T., Prud'hommeaux, E. and Carothers, G. 2013. Turtle – terse RDF triple language. W3C Candidate Recommendation. URL: http://www.w3.org/TR/turtle/ [Accessed on 21/01/2016].
Berlind, D. 2013. ProgrammableWeb's directory hits 10,000 APIs. And counting. ProgrammableWeb blog. URL: http://blog.programmableweb.com/2013/09/23/programmablewebs-directory-hits-10000-apis-and-counting/ [Accessed on 21/01/ 2016].
Berners-Lee, T. 2000. Semantic Web Application Platform. URL: http://www.w3.org/2000/10/swap/ [Accessed on 21/01/2016].
Berners-Lee, T. 2000–2009. URL: cwm. http://www.w3.org/2000/10/swap/doc/cwm.html [Accessed on 21/01/2016].
Berners-Lee, T., Cailliau, R. and Groff, J.-F. 1992. The world-wide web. Computer Networks and ISDN Systems 25 4–5, 454459.
Berners-Lee, T. and Connolly, D. 2011. Notation3 (N3): A readable RDF syntax. W3C Team Submission. URL: http://www.w3.org/TeamSubmission/n3/ [Accessed on 21/01/2016].
Berners-Lee, T., Connolly, D., Kagal, L., Scharf, Y. and Hendler, J. 2008. N3Logic: A logical framework for the World Wide Web. Theory and Practice of Logic Programming 8 3, 249269.
Berners-Lee, T., Hendler, J. and Lassila, O. 2001. The semantic web. Scientific American 284, 5, 34.
Bishop, B. and Fischer, F. 2008. IRIS-integrated rule inference system. In Proc. of International Workshop on Advancing Reasoning on the Web: Scalability and Commonsense (ARea 2008).
Bizer, C., Jentzsch, A. and Cyganiak, R. 2011. State of the LOD cloud. URL: http://www4.wiwiss.fu-berlin.de/lodcloud/state [Accessed on 21/01/2016].
Bock, C., Fokoue, A., Haase, P., Hoekstra, R., Horrocks, I., Ruttenberg, A., Sattler, U. and Smith, M. 2012. Owl 2 web ontology language. W3C Recommendation. URL: http://www.w3.org/TR/owl2-syntax/ [Accessed on 21/01/2016].
Brickley, D. and Guha, R. V. 2004. RDF vocabulary description language 1.0: RDF schema. W3C Recommendation. URL: http://www.w3.org/TR/rdf-schema/ [Accessed on 21/01/2016].
Calì, A., Gottlob, G., Lukasiewicz, T. and Pieris, A. 2011. Datalog+/-: A family of languages for ontology querying. In Datalog Reloaded. de Moor, O., Gottlob, G., Furche, T., and Sellers, A., Eds. Berlin Heidelberg: Springer, 351368.
Carroll, J., Dickinson, I., Dollin, C., Reynolds, D., Seaborne, A. and Wilkinson, K. 2004. Jena: Implementing the semantic web recommendations. In Proc. of the 13th International World Wide Web Conference, Feldman, S., Uretsky, M., Najork, M., Wills, C., Eds. ACM, New York, NY, USA, 7483. URL: www.hpl.hp.com/techreports/2003/HPL-2003-146.pdf [Accessed on 21/01/2016].
Christensen, E., Curbera, F., Meredith, G. and Weerawarana, S. 2001. Web services description language (WSDL). W3C Note. URL: http://www.w3.org/TR/wsdl [Accessed on 21/01/2016].
Clocksin, W. F. and Mellish, C. S. 1994. Programming in PROLOG. Springer, Berlin Heidelberg.
De Roo, J. 1999–2014. Euler proof mechanism. URL: http://eulersharp.sourceforge.net/ [Accessed on 21/01/2016].
Duerst, M. and Suignard, M. 2005. Internationalized resource identifiers (IRIs). URL: http://www.ietf.org/rfc/rfc3987.txt [Accessed on 21/01/2016].
Fielding, R. T. 2008. REST APIs must be hypertext-driven. Untangled – Musings of Roy T. Fielding. URL: http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven [Accessed on 21/01/2016].
Fielding, R. T., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P. and Berners-Lee, T. 1999. Hypertext transfer protocol – HTTP/1.1. URL: http://www.ietf.org/rfc/rfc2616.txt [Accessed on 21/01/2016].
Fielding, R. T. and Taylor, R. N. 2002. Principled design of the modern Web architecture. Transactions on Internet Technology 2, 2 (May), 115150.
Gomadam, K., Ranabahu, A. and Sheth, A. 2010. SA-REST: Semantic annotation of web resources. W3C Member Submission. URL: http://www.w3.org/Submission/SA-REST/ [Accessed on 21/01/2016].
Gottlob, G., Orsi, G. and Pieris, A. 2014. Query rewriting and optimization for ontological databases. ACM Transactions on Database Systems (TODS) 39, 3, 25.
Hayes, P. J. and Patel-Schneider, P. F. 2014. rdf 1.1 Semantics. w3c Recommendation. URL: http://www.w3.org/TR/2014/REC-rdf11-mt-20140225/ [Accessed on 21/01/2016].
Horrocks, I., Patel-Schneider, P. F., Boley, H., Tabet, S., Grosof, B. and Dean, M. 2004. SWRL: A semantic web rule language combining OWL and RuleML. W3C Member Submission. URL: http://www.w3.org/Submission/SWRL/ [Accessed on 21/01/2016].
Kifer, M. 2008. Rule interchange format: The framework. In Web Reasoning and Rule Systems. Calvanese, D. and Lausen, G., Eds. Springer, Berlin Heidelberg, 111.
Kifer, M., Lausen, G. and Wu, J. 1995. Logical foundations of object-oriented and frame-based languages. Journal of the ACM (JACM) 42, 4, 741843.
Klyne, G. and Carrol, J. J. 2004. Resource description framework (RDF): Concepts and abstract syntax. W3C Recommendation. URL: http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/ [Accessed on 21/01/2016].
Koch, J., Valesco, C. A. and Ackermann, P. 2011. HTTP vocabulary in RDF 1.0. W3C Working Draft. URL: http://www.w3.org/TR/HTTP-in-RDF10/ [Accessed on 21/01/2016].
Kopecký, J., Gomadam, K. and Vitvar, T. 2008. hRESTS: An HTML microformat for describing RESTful Web services. In Proc. of the International Conference on Web Intelligence and Intelligent Agent Technology, IEEE Computer Society, Washington, DC, USA, 619–625.
Kopecký, J. and Vitvar, T. 2008. MicroWSMO. WSMO Working Draft. URL: http://www.wsmo.org/TR/d38/v0.1/ [Accessed on 21/01/2016].
Kopecký, J., Vitvar, T., Bournez, C. and Farrell, J. 2007. Semantic annotations for WSDL and XML schema. IEEE Internet Computing 11, 6067.
Lanthaler, M. and Gütl, C. 2013. Hydra: A vocabulary for hypermedia-driven Web APIs. In Proc. of the 6th Workshop on Linked Data on the Web, Bizer, C., Heath, T., Berners-Lee, T., Hausenblas, M. and Auer, S., Eds. 6th Workshop on Linked Data on the Web. Rio de Janeiro, Brazil.
Lausen, H., Polleres, A. and Roman, D. 2005. Web service modeling ontology (WSMO). W3C Member Submission. URL: http://www.w3.org/Submission/WSMO/ [Accessed on 21/01/2016].
Lloyd, J. W. and Topor, R. W. 1984. Making Prolog more expressive. The Journal of Logic Programming 1, 3, 225240.
Maleshkova, M., Kopecký, J. and Pedrinaci, C. 2009. Adapting SAWSDL for semantic annotations of RESTful services. In Proc. of the On the Move to Meaningful Internet Systems Workshops, Meersman, R., Herrero, P. and Dillon, T., Eds. Lecture Notes in Computer Science, Vol. 5872. Springer, Berlin Heidelberg, 917926.
Manna, Z. and Waldinger, R. 1980. A deductive approach to program synthesis. Transactions on Programming Languages and Systems (TOPLAS) 2, 1, 90121.
Martin, D., Burstein, M., Hobbs, J. and Lassila, O. 2004. OWL-S: Semantic markup for web services. W3C Member Submission. URL: http://www.w3.org/Submission/OWL-S/ [Accessed on 21/01/2016].
Milanovic, N. and Malek, M. 2004. Current solutions for Web service composition. Internet Computing, IEEE 8, 6, 5159.
Mugnier, M.-L. 2011. Ontological query answering with existential rules. In Web Reasoning and Rule Systems, Rudolph, S. and Gutierrez, C., Eds. Springer, Berlin Heidelberg, 223.
Norton, B. and Krummenacher, R. 2010. Consuming dynamic linked data. In Proc. of the 1st International Workshop on Consuming Linked (COLD2010) Workshop at the 9th International Semantic Web Conference (ISWC2010) – ISWC 2010 Workshops, Hartig, O., Harth, A. and Sequeda, J., Eds. Shanghai, China, vol. II.
Ordóñez, L., Suarez, L. J., Rojas, L. A. and Corrales, J. C. 2012. Towards the automation of the semantic annotation process for Web services. In Proc. of the 2012 Conference on Semantic Web & Web Services.
Parsia, B. and Sirin, E. 2004. Pellet: An OWL DL reasoner. In Proc. of the 3rd International Semantic Web Conference, Haarslev, V., Möller, R., Eds.
Pautasso, C. and Wilde, E. 2009. Why is the Web loosely coupled? – A multi-faceted metric for service design. In Proc. of the 18th International Conference on World Wide Web, Quemada, J., León, G., Maarek, Y. and Nejdl, W., Eds. ACM, New York, 911920.
Richardson, L., Amundsen, M. and Ruby, S. 2013. RESTful Web APIs. O'Reilly, Sebastopol, CA.
Speiser, S. and Harth, A. 2011. Integrating linked data and services with linked data services. In The Semantic Web: Research and Applications, Antoniou, G., Grobelnik, M., Simperl, E., Parsia, B., Plexousakis, D., De Leenheer, P., and Pan, J., Eds. Lecture Notes in Computer Science, Vol. 6643. Springer, 170–184.
Stadtmüller, S., Speiser, S., Harth, A. and Studer, R. 2013. Data-Fu: A language and an interpreter for interaction with read/write linked data. In Proc. of the World Wide Web Conference, International World Wide Web Conferences Steering Committee, Republic and Canton of Geneva, Switzerland, 12251236.
Van Lancker, W., Van Deursen, D., Verborgh, R. and Van de Walle, R. 2013. Semantic media decision taking using N3Logic. Multimedia Tools and Applications 63, 1 (Mar.),726.
Verborgh, R. and De Roo, J. 2015. Drawing conclusions from linked data on the web. IEEE Software 32, 5 (May), 2327.
Verborgh, R., Haerinck, V., Steiner, T., Van Deursen, D., Van Hoecke, S., De Roo, J., Van de Walle, R. and Gabarró Vallés, J. 2012. Functional composition of sensor Web APIs. In Proc. of the 5th International Workshop on Semantic Sensor Networks, Alarcon, R., Pautasso, C. and Wilde, E., Eds. New York, NY, USA.
Verborgh, R., Harth, A., Maleshkova, M., Stadtmüller, S., Steiner, T., Taheriyan, M. and Van de Walle, R. 2014. Survey of semantic description of REST APIs. In REST: Advanced Research Topics and Practical Applications, Pautasso, C., Wilde, E., and Alarcón, R., Eds. Springer, Berlin Heidelberg, 6989.
Verborgh, R., Steiner, T., Van Deursen, D., Coppens, S., Gabarró Vallés, J. and Van de Walle, R. 2012. Functional descriptions as the bridge between hypermedia APIs and the Semantic Web. In Proc. of the 3rd International Workshop on RESTful Design, Henson, C., Taylor, K., Corcho, O., Sheth, A., and Hauswirth, M., Eds. ACM, 3340.
Verborgh, R., Steiner, T., Van Deursen, D., De Roo, J., Van de Walle, R. and Gabarró Vallés, J. 2013. Capturing the functionality of Web services with functional descriptions. Multimedia Tools and Applications 64, 365387.
Verborgh, R., van Hooland, S., Cope, A. S., Chan, S., Mannens, E. and Van de Walle, R. 2015. The fallacy of the multi-API culture: Conceptual and practical benefits of representational state transfer (REST). Journal of Documentation 71, 2 (Mar.), 233252.
Waldinger, R. 2001. Web agents cooperating deductively. In Formal Approaches to Agent-Based Systems. Lecture Notes in Computer Science, Vol. 1871. Springer, 250262.

Keywords

Related content

Powered by UNSILO

The pragmatic proof: Hypermedia API composition and execution

  • RUBEN VERBORGH (a1), DÖRTHE ARNDT (a1), SOFIE VAN HOECKE (a1), JOS DE ROO (a2), GIOVANNI MELS (a2), THOMAS STEINER (a3) and JOAQUIM GABARRO (a3)...

Metrics

Altmetric attention score

Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed.