Hostname: page-component-cd9895bd7-fscjk Total loading time: 0 Render date: 2024-12-27T15:14:17.821Z Has data issue: false hasContentIssue false

The pragmatic proof: Hypermedia API composition and execution

Published online by Cambridge University Press:  07 March 2016

RUBEN VERBORGH
Affiliation:
Ghent University – iMinds – Data Science Lab, Sint-Pietersnieuwstraat 41, 9000 Ghent, Belgium (e-mail: ruben.verborgh@ugent.be, dorthe.arndt@ugent.be, sofie.vanhoecke@ugent.be)
DÖRTHE ARNDT
Affiliation:
Ghent University – iMinds – Data Science Lab, Sint-Pietersnieuwstraat 41, 9000 Ghent, Belgium (e-mail: ruben.verborgh@ugent.be, dorthe.arndt@ugent.be, sofie.vanhoecke@ugent.be)
SOFIE VAN HOECKE
Affiliation:
Ghent University – iMinds – Data Science Lab, Sint-Pietersnieuwstraat 41, 9000 Ghent, Belgium (e-mail: ruben.verborgh@ugent.be, dorthe.arndt@ugent.be, sofie.vanhoecke@ugent.be)
JOS DE ROO
Affiliation:
Agfa Healthcare, Moutstraat 100, 9000 Ghent, Belgium (e-mail: jos.deroo@agfa.com, giovanni.mels@agfa.com)
GIOVANNI MELS
Affiliation:
Agfa Healthcare, Moutstraat 100, 9000 Ghent, Belgium (e-mail: jos.deroo@agfa.com, giovanni.mels@agfa.com)
THOMAS STEINER
Affiliation:
Department LSI, Universitat Politécnica de Catalunya, 08034 Barcelona, Spain (e-mail: tomac@google.com, gabarro@lsi.upc.edu)
JOAQUIM GABARRO
Affiliation:
Department LSI, Universitat Politécnica de Catalunya, 08034 Barcelona, Spain (e-mail: tomac@google.com, gabarro@lsi.upc.edu)

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.

Type
Regular Papers
Copyright
Copyright © Cambridge University Press 2016 

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

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.Google Scholar
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.Google Scholar
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.CrossRefGoogle Scholar
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].Google Scholar
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.Google Scholar
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].CrossRefGoogle Scholar
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.Google Scholar
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.Google Scholar
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].Google Scholar
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].Google Scholar
Berners-Lee, T. 2000. Semantic Web Application Platform. URL: http://www.w3.org/2000/10/swap/ [Accessed on 21/01/2016].Google Scholar
Berners-Lee, T. 2000–2009. URL: cwm. http://www.w3.org/2000/10/swap/doc/cwm.html [Accessed on 21/01/2016].Google Scholar
Berners-Lee, T., Cailliau, R. and Groff, J.-F. 1992. The world-wide web. Computer Networks and ISDN Systems 25 4–5, 454459.Google Scholar
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].Google Scholar
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.CrossRefGoogle Scholar
Berners-Lee, T., Hendler, J. and Lassila, O. 2001. The semantic web. Scientific American 284, 5, 34.CrossRefGoogle Scholar
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).Google Scholar
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].Google Scholar
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].Google Scholar
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].Google Scholar
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.CrossRefGoogle Scholar
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].Google Scholar
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].Google Scholar
Clocksin, W. F. and Mellish, C. S. 1994. Programming in PROLOG. Springer, Berlin Heidelberg.Google Scholar
De Roo, J. 1999–2014. Euler proof mechanism. URL: http://eulersharp.sourceforge.net/ [Accessed on 21/01/2016].Google Scholar
Duerst, M. and Suignard, M. 2005. Internationalized resource identifiers (IRIs). URL: http://www.ietf.org/rfc/rfc3987.txt [Accessed on 21/01/2016].Google Scholar
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].Google Scholar
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].Google Scholar
Fielding, R. T. and Taylor, R. N. 2002. Principled design of the modern Web architecture. Transactions on Internet Technology 2, 2 (May), 115150.Google Scholar
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].Google Scholar
Gottlob, G., Orsi, G. and Pieris, A. 2014. Query rewriting and optimization for ontological databases. ACM Transactions on Database Systems (TODS) 39, 3, 25.Google Scholar
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].Google Scholar
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].Google Scholar
Kifer, M. 2008. Rule interchange format: The framework. In Web Reasoning and Rule Systems. Calvanese, D. and Lausen, G., Eds. Springer, Berlin Heidelberg, 111.Google Scholar
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.Google Scholar
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].Google Scholar
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].Google Scholar
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.Google Scholar
Kopecký, J. and Vitvar, T. 2008. MicroWSMO. WSMO Working Draft. URL: http://www.wsmo.org/TR/d38/v0.1/ [Accessed on 21/01/2016].Google Scholar
Kopecký, J., Vitvar, T., Bournez, C. and Farrell, J. 2007. Semantic annotations for WSDL and XML schema. IEEE Internet Computing 11, 6067.Google Scholar
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.Google Scholar
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].Google Scholar
Lloyd, J. W. and Topor, R. W. 1984. Making Prolog more expressive. The Journal of Logic Programming 1, 3, 225240.CrossRefGoogle Scholar
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.Google Scholar
Manna, Z. and Waldinger, R. 1980. A deductive approach to program synthesis. Transactions on Programming Languages and Systems (TOPLAS) 2, 1, 90121.Google Scholar
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].Google Scholar
Milanovic, N. and Malek, M. 2004. Current solutions for Web service composition. Internet Computing, IEEE 8, 6, 5159.CrossRefGoogle Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.CrossRefGoogle Scholar
Richardson, L., Amundsen, M. and Ruby, S. 2013. RESTful Web APIs. O'Reilly, Sebastopol, CA.Google Scholar
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.Google Scholar
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.Google Scholar
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.CrossRefGoogle Scholar
Verborgh, R. and De Roo, J. 2015. Drawing conclusions from linked data on the web. IEEE Software 32, 5 (May), 2327.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
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.CrossRefGoogle Scholar
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.Google Scholar
Waldinger, R. 2001. Web agents cooperating deductively. In Formal Approaches to Agent-Based Systems. Lecture Notes in Computer Science, Vol. 1871. Springer, 250262.Google Scholar