=Paper= {{Paper |id=None |storemode=property |title=Future Challenges for Linked APIs |pdfUrl=https://ceur-ws.org/Vol-1056/salad2013-3.pdf |volume=Vol-1056 |dblpUrl=https://dblp.org/rec/conf/esws/StadtmullerSH13 }} ==Future Challenges for Linked APIs== https://ceur-ws.org/Vol-1056/salad2013-3.pdf
                                   Future Challenges for Linked APIs

                                Steffen Stadtmüller, Sebastian Speiser, and Andreas Harth

                    Karlsruhe Institute of Technology, Institute of Applied Informatics and Formal Description
                                                         Methods (AIFB)
                                              firstname.lastname@kit.edu,




                         Abstract. A number of approaches combine the principles and technologies of
                         Linked Data and RESTful services. Services and APIs are thus enriched by, and
                         contribute to, the Web of Data. These resource-centric approaches, referred to
                         as Linked APIs, focus on flexibility and the integration capabilities of Linked
                         Data. We use our experience in teaching students on how to use Linked APIs to
                         identify the existing challenges in the area. Additionally we introduce the LAPIS
                         catalogue, a directory for Linked APIs as basis for the research to address the
                         identified challenges.



                1     Introduction

                There is a strong movement in the Web toward a resourceful model of services [8] based
                on a constrained set of uniform operations. A major role plays Representational State
                Transfer (REST [3]) a software architecture style for distributed systems. In the case of
                HTTP clients apply operations to resources addressed via individual URIs. Flexibility,
                adaptivity and robustness are the major objectives of REST and are particularly useful
                for software architectures in distributed data-driven environments such as the web [7].
                However, data sources and APIs are published according to different interaction models
                and with interfaces using non-aligned vocabularies, which makes writing programs that
                integrate offers from multiple providers a tedious task.
                    Linked Data unifies a standardised interaction model with the possibility to align
                vocabularies using RDF, RDFS and OWL. However, the interactions are currently con-
                strained to simple data retrieval. The combination of Linked Data with REST architec-
                tures, allows to combine the advantages of both paradigms when offering functionality
                on the web: the easy data integration offered by Linked Data together with the flexibility
                of REST enables lightweight and adaptive services, called Linked APIs.
                    However, to realise the benefits from Linked Data-based APIs there are still a num-
                ber of challenges to address. In this position paper we identify key topics as basis for
                discussion. Based on our experience with students that work with Linked APIs we de-
                scribe existing hurdles for the adoption of Linked APIs (Section 3) and thus sketch the
                relevant research topics for the domain that have to be addressed by the community to
                achieve a pervasive web of Linked APIs.
                    To support the ongoing efforts to solve the existing challenges in the area of Linked
                APIs we introduce LAPIS catalogue, an open directory for Linked APIs (Section 4).




SALAD 2013 Workshop – Services and Applications over Linked APIs and Data                                        20
                2

                2     Motivation

                According to the Richardson maturity model [8], REST is identified as the interaction
                between a client and a server based on three principles:

                    – The use of URI-identified resources.
                    – The use of a constrained set of operations, i.e., the HTTP methods, to access and
                      manipulate resource states.
                    – The application of hypermedia controls, i.e., the data representing a resource con-
                      tains links to other resources. Links allow a client to navigate from one resource to
                      another during his interaction.

                The idea behind REST is that applications, i.e., clients, using functionalities provided
                on the web, i.e., APIs, are not based on the call of API-specific operations or procedures
                but rather on the direct manipulation of exposed resource representations or the creation
                of new resource representations. A resource can be a real world object or a data object
                on the web. The representation of a resource details the current state of the resource.
                A manipulation of the state representation can imply that the represented resource is
                manipulated accordingly.
                     The flexibility of REST results from the idea that client applications do not have
                to know about all necessary resources. The retrievable representation of some known
                resources contains links to other resources that the client can discover during runtime.
                Clients can use such discovered resources to perform further interaction steps.
                     The Linked Data design principles1 also address the use of URI-identified resources
                and their interlinkage. However, Linked Data is so far only concerned with the provi-
                sioning and retrieval of data. A combination of Linked Data with REST architectures
                is therefore an intuitive extension, to offer flexible functionality with easy data integra-
                tion capabilities. In contrast to REST, Linked Data does distinguish explicitly between
                URI-identified objects (i.e., non-information resources) and their data representation
                (information resources). An extension of Linked Data with REST to allow for resource
                manipulation leads to read/write Linked Data, i.e., information resources can be ac-
                cessed and manipulated. REST furthermore implies that a change of an information
                resource can result in a change of the corresponding non-information resource.
                     The extension of Linked Data with REST technologies has been explored [1, 13] and
                led recently to the establishment of the Linked Data Platform2 W3C working group.
                Additionally many approaches [4, 5, 9, 6, 10–12] follow the motivation of REST and
                look beyond the exposure of fixed datasets using HTTP, SPARQL and RDF. These
                approaches are referred to as Linked APIs and extend the traditional use of HTTP in
                Linked Data, consistently with REST, by allowing all HTTP operations to be applied to
                Linked Data resources. Linked APIs view services primarily as RDF prosumers, i.e., the
                state of resources should be made available encoded in RDF, at least as an alternative
                via Content Negotiation. By interlinking output data with existing Linked Datasets, and
                other dynamic data, Linked APIs also contribute to the Web of Data.
                 1
                     http://www.w3.org/DesignIssues/LinkedData.html
                 2
                     http://www.w3.org/2012/ldp/charter




SALAD 2013 Workshop – Services and Applications over Linked APIs and Data                                      21
                                                                                                       3

                    Linked APIs consider how the data that results from computation over input can
                carry explicit semantics. Many approaches base their service descriptions on the notion
                that Linked Data already provides a description for services’ input and output require-
                ments: the graph patterns provided by the SPARQL query language or the N3 notation
                [5, 9, 10, 12].
                    Increased value comes from combining data from multiple sources and functionality
                from multiple providers. Such combinations are fostered by the use of Linked Data,
                which enables an easy integration of the communicated data by the clients that use
                several Linked APIs.


                3   Challenges for Linked APIs

                We organised three seminars at the Institute AIFB where undergraduate students had
                to create applications based on Linked APIs. In total, we had 20 students that worked
                in groups of sizes between 2 and 4. The participating students had programming ex-
                perience, but were relatively new to the field of Web APIs. Therefore the students are
                well suited to represent developers that consider using Web functionality for the first
                time. We collected the experiences made by the students to identify existing entry bar-
                riers of Linked APIs and derive key challenges that should be addressed by the research
                community to foster the adoption of the existing approaches.
                    Each student was tasked over the course of 4 months to develop at least one Linked
                Data-based REST API and to develop an application that makes use of at least two such
                APIs by integrating their data and composing their functionality. The students were
                allowed to leverage existing (not Linked Data-based) REST APIs for the development
                of a Linked API by wrapping them and offering their functionality as Linked API with
                the possibility for RDF data input and output. In the remainder of this paper we refer to
                the used pre-existing non-Linked Data APIs as underlying APIs.
                    At the end of the 4 months the students wrote a report about their experiences and
                lessons learned when working with Linked APIs. Since the students were not given
                a list of predefined answers, we clustered the problems (Table 1) as well as the per-
                ceived benefits when working with Linked APIs the students reported. Even though the
                collected experiences of the students can not be seen as a representative survey, they
                provide empirical indicators to existing problems in the field of Linked APIs, which
                imply important challenges that should be addressed by the research community. Many
                participants mentioned similar problems in their reports, which supports the claim that
                we identified recurring issues.


                        Table 1. Problems when working with Linked APIs as identified by 20 students

                                                   Problem                    # Students
                                        Response time of composed API             14
                                                 API limitations                  14
                                              Missing directories                 12
                                   No standard formalism for API descriptions      8
                                              Complexity of RDF                    3




SALAD 2013 Workshop – Services and Applications over Linked APIs and Data                                   22
                4

                    One of the two most common reported problems was with regard to the response
                time of composed APIs (reported by 14 students). The slow response time of composed
                APIs could be on the one hand attributed to slow response times of underlying APIs
                that were used by the students. On the other hand the interaction between APIs was
                also a significant factor: A single call to a composed API could potentially result in
                hundreds of subsequent calls to the different Linked APIs, that had to be sequentially
                executed, thus causing significant delays before the initial call could be answered. We
                see one of the most important challenges for the research in the area of Web APIs in
                the development of methods to achieve a scalable interaction with APIs. This includes
                the definition of interaction models on which applications can build upon as well as
                systems to enable the combination and composition of offered functionalities. The quick
                identification of APIs that have to be called next within a defined interaction pattern,
                as well as the ability to identify sets of API calls that can be executed in parallel are
                crucial factors to address this challenge.
                    API limitations refer to reported problems originating from limitations, insufficient
                functionality and constraints of the underlying APIs (e.g., a maximum number of API
                calls per day or incomplete data). While these limitations are usually driven by external
                circumstances (e.g., business aspects), it is noteworthy, that 10 out of the 14 participants
                that reported to have such problems considered to use different APIs than originally in-
                tended because of the limitations. However, these participants reported problems identi-
                fying suitable APIs as a replacement. APIs often need to fulfill very specific (functional
                and non-functional) needs to allow developers to fulfill their goal when implement-
                ing web-based applications. Since the functionality of many web APIs is often only
                described with natural language texts, the task of finding a suited API for a specific
                problem is often carried out by trial and error. However, a trial and error approach does
                not allow to consider hundreds of potential candidates for a Web API. In addition to
                application developers, the identification of APIs with specific functionalities is also
                important for API providers. Since REST demands an interlinkage of API resources
                (potentially from different providers) and the usefulness of an API is increasing with
                these links, the task of finding related APIs becomes crucial for API providers to in-
                clude their API in an ecosystem of APIs on the web. Many approaches to Linked APIs
                propose to leverage graph patterns to provide machine-readable descriptions of func-
                tionality and properties to mitigate the problem [5, 9, 12, 10]. However, finding suitable
                methods to allow an automated identification and comparison of functionalities offered
                by Linked APIs remains to be an important challenge.
                    Even though many of the participants used the possibility to describe Linked APIs
                with graph patterns, 8 participants had difficulties because they could not identify a
                definitive formalism for the descriptions (No standard formalism for API descriptions).
                Indeed, the research community should make an effort to define a common standard
                way of describing APIs, especially since most existing description mechanisms are al-
                ready based on the same notion of utilising graph patterns. Such a standard should in-
                clude a vocabulary for the description, a clear definition of the minimal set of properties
                that are to be described (e.g., input and output data), and a standard way of attaching a
                description to an API resource (e.g., retrievable via the HTTP OPTIONS method). The
                common description would not have to cover all possible aspects that can be described,




SALAD 2013 Workshop – Services and Applications over Linked APIs and Data                                      23
                                                                                                              5

                but should be flexible enough to allow for extensions to cover the specific needs of
                the individual Linked API approaches. Merely the aspects that are necessary to invoke
                the operations on the API resources have to be described in a unified way to foster the
                adoption of Linked APIs by developers.
                     Related to the problem of finding replacements for APIs, the participants also re-
                ported they were often not able to identify suitable information on where to find existing
                Linked APIs (reported by 12 participants). We classified these problems as missing di-
                rectories. While this is not a research problem per se, we believe it is a fundamental
                issue to be addressed not only to enable research on the topic, but also to foster the
                adoption of Linked APIs by application developers (cf. Section 4).
                     Finally, three students reported that the complexity of RDF was too high to be use-
                ful. However these three participants reported similar problems with other data formats
                like XML or JSON. Therefore there problems can be attributed to lacking development
                experience especially with web technologies.
                     Summarising we identified the following challenges that have to be addressed:
                    – A common standard minimal description mechanism for Linked APIs based on
                      graph patterns.
                    – Methods for an automated identification and comparison of functional and non-
                      functional properties that leverage the descriptions.
                    – The development of methods and systems to enable a scalable interaction and com-
                      position of Linked APIs.
                    While these challenges remind of the high level tasks that have been addressed in
                traditional web service research [2] (service descriptions, discovery and composition),
                Linked APIs require different approaches due to their focus on a resource-centric in-
                teraction and the interlinkage of these resources. The resource-driven and interlinked
                design results in benefits for the implementation and use of APIs as the majority of the
                participants confirmed (Table 2) and can ultimately lead to a high adoption of Linked
                APIs.

                     Table 2. Perceived benefits when working with Linked APIs as identified by 20 students

                                                       Benefit              # Students
                                               Easy data integration            17
                                         High modularity of composed APIs       14
                                         Simplicity of Interaction with API      9




                4     LAPIS catalogue
                One of the outcomes of our exploration of existing challenges when working with
                Linked APIs was that it is difficult to find the existing Linked APIs. To address this
                issue we release the LAPIS catalogue3 as open directory, where providers can register
                 3
                     http://km.aifb.kit.edu/services/ckan/




SALAD 2013 Workshop – Services and Applications over Linked APIs and Data                                         24
                6

                their Linked APIs. The LAPIS catalogue is based on CKAN4 , an open-source data por-
                tal software, developed by the Open Knowledge Foundation 5 . The objective of CKAN
                is to make it easy to publish, share and find data. It provides a powerful database for
                cataloguing datasets, with an intuitive web front-end and API.
                     Linked APIs can be registered in the LAPIS catalogue along with basic informa-
                tion like name, URI, author, license and maintainer. Additionally information can be
                provided about the supported content types, other APIs that are linked and underly-
                ing APIs, if the registered API is based on a wrapper. Due to the focus of CKAN on
                datasets, the registered APIs can be seen as Read/Write Linked Datasets (i.e., dynamic
                datasets that support more than one HTTP method for manipulation of the resources).
                     The LAPIS catalogue serves as hub for Linked APIs, where researchers, developers
                and API providers can find existing APIs to use in their individual tasks. Researchers
                in the field of Linked APIs can find relevant APIs for evaluation of their individual
                approaches (e.g., for interaction with APIs) or use the directory to survey the current
                developments and the adoption of their approaches (e.g., description mechanisms). De-
                velopers of applications based on Linked APIs can search and lookup APIs that can be
                employed in their applications. API Providers can use the LAPIS catalogue to promote
                their API for public use. However, also the directory of other Linked APIs can be useful
                for API providers: Since REST demands the interlinkage of resources, API providers
                require information about existing APIs to link their APIs to other resources and thus
                complementing the offered functionality.
                     Related popular directories are The Data Hub6 and Programmable Web7 .
                     The Data Hub is a general directory for datasets that also provides information
                about links between datasets. While Read/Write Linked Datasets can be entered in The
                Data Hub, the much broader focus prevents The Data Hub to serve all the needs of
                the Linked API community. Specifically the tedious task of identifying the subset of
                registered datasets that support resource manipulation consistently with REST renders
                The Data Hub insufficient as an API repository. The related Linking Open Data cloud8
                even explicitly excludes datasets that are served by a service that produces RDF in
                response to input data, which is an inherent property of Linked APIs.
                     Programmable Web is a directory for Web APIs and is therefore more focused on the
                functionality aspect compared to The Data Hub. Similar to The Data Hub, Linked APIs
                can be registered with Programmable Web along with other kinds of APIs and web
                services (e.g., SOAP-based services). However, the lacking focus on resource-centric
                interlinked APIs results in missing relevant information for developers and providers
                that work with Linked APIs. Specifically lacking information about links between the
                registered APIs is a significant problem in that respect.
                     The LAPIS catalogue is not a competitor of The Data Hub or Programmable Web,
                but a complementing directory between them. Therefore it is specifically targeted at
                    – Read/WriteLinked Datasets (from the viewpoint of The Data Hub) or
                 4
                   http://ckan.org/
                 5
                   http://okfn.org/
                 6
                   http://datahub.io/
                 7
                   http://www.programmableweb.com/
                 8
                   http://lod-cloud.net/




SALAD 2013 Workshop – Services and Applications over Linked APIs and Data                                  25
                                                                                                               7

                    – Linked Data-based REST APIs (from the viewpoint of Programmable Web),
                providing the relevant information from both areas. We will continue to maintain the
                LAPIS catalogue to foster the establishment of a pervasive web of Linked APIs.


                5     Conclusion
                In this position paper we sketched the main challenges for Linked APIs that need to be
                addressed to foster the adoption of Linked Data based REST APIs. We described the
                main problems in the work with Linked APIs from our experience when introducing
                students in the field and identified key topics as basis for discussion and further research.
                We believe, that the benefits that result from the combination of Linked Data and REST
                architectures are worth the effort to overcome the existing problems.
                     To foster the adoption of Linked APIs and research activities we introduced the
                LAPIS catalogue, an open directory for Linked APIs. A directory targeted at Linked
                APIs is an essential support mechanism for the uptake of Linked APIs and a fundamen-
                tal requirement to intensive the research activities in the area.


                Acknowledgments
                This work was partially supported by the PlanetData NoE (FP7:ICT-2009.3.4, #257641)
                and by the German Ministry of Education and Research (BMBF) within the Software-
                Campus project framework.


                References
                 1. Berners-Lee, T.: Read-Write Linked Data (August 2009), avaiable at http://www.
                    w3.org/DesignIssues/ReadWriteLinkedData.html, accessed 26th November
                    2012
                 2. Bussler, C., Davies, J., Fensel, D., Studer, R. (eds.): The Semantic Web: Research and Appli-
                    cations, First European Semantic Web Symposium, ESWS 2004, Heraklion, Crete, Greece,
                    May 10-12, 2004, Proceedings, Lecture Notes in Computer Science, vol. 3053. Springer
                    (2004)
                 3. Fielding, R.: Architectural Styles and the Design of Network-based Software Architectures.
                    Ph.D. thesis, University of California, Irvine (2000)
                 4. Kopecky, J., Pedrinaci, C., Duke, A.: Restful write-oriented api for hyperdata in custom rdf
                    knowledge bases. In: Next Generation Web Services Practices (NWeSP), 2011 7th Interna-
                    tional Conference on. pp. 199–204 (2011)
                 5. Krummenacher, R., Norton, B., Marte, A.: Towards Linked Open Services. In: 3rd Future
                    Internet Symposium (September 2010)
                 6. Panziera, L., Comerio, M., Palmonari, M., Paoli, F.D., Batini, C.: Quality-driven extraction,
                    fusion and matchmaking of semantic web api descriptions. J. Web Eng. 11(3), 247–268
                    (2012)
                 7. Pautasso, C., Wilde, E.: Why is the web loosely coupled?: a multi-faceted metric for service
                    design. In: Conference on World Wide Web (WWW). pp. 911–920 (2009)
                 8. Richardson, L., Ruby, S.: RESTful Web Services. O’Reilly Media (May 2007)




SALAD 2013 Workshop – Services and Applications over Linked APIs and Data                                           26
                8

                 9. Speiser, S., Harth, A.: Integrating linked data and services with linked data services. In:
                    Proceedings of 8th Extended Semantic Web Conference (ESWC) (2011)
                10. Stadtmüller, S., Speiser, S., Harth, A., Studer, R.: Data-fu: A language and an interpreter for
                    interaction with read/write linked data. In: Proceedings of the 22th international conference
                    on World Wide Web. WWW ’13 (2013)
                11. Taheriyan, M., Knoblock, C.A., Szekely, P., Ambite, J.L.: Rapidly integrating services into
                    the linked data cloud. In: Proceedings of the 11th International Semantic Web Conference
                    (ISWC) (2012)
                12. Verborgh, R., Steiner, T., Deursen, D.V., de Walle, R.V., Valls, J.G.: Efficient Runtime Ser-
                    vice Discovery and Consumption with Hyperlinked RESTdesc. In: The 7th International
                    Conference on Next Generation Web Services Practices (2011)
                13. Wilde, E.: REST and RDF granularity (2009), available at http://dret.typepad.
                    com/dretblog/2009/05/rest-and-rdf-granularity.html




SALAD 2013 Workshop – Services and Applications over Linked APIs and Data                                              27