Difference between revisions of "SA-REST"

From Knoesis wiki
Jump to: navigation, search
Line 21: Line 21:
  
 
===SA-REST in a nutshell===
 
===SA-REST in a nutshell===
 +
SA-REST is a microformat to add additional meta-data to REST API descriptions in HTML and XHTML. Developers can directly embed meta-data from various models such an ontology, taxonomy or a tag cloud into their API descriptions. The embedded meta-data can be used to improve search (for example: perform faceted search for APIs), data mediation (in conjunction with XML annotation) as well as help in easier integration of services to create mashups.
  
 
===Background===
 
===Background===

Revision as of 02:04, 17 September 2008

SA-REST is a simple and open format for enhancing Web APIs HTML or XHTML. In addition to HTML and XHTML, the SA-REST approach can also be used to enrich Atom, RSS, and arbitrary XML. SA-REST is one of several open microformat standards.

People

  • Amit P. Sheth,kno.e.sis center, Wright State University, Dayton, OH.
  • Karthik Gomadam, kno.e.sis center, Wright State University, Dayton, OH.


Introduction

Services based on the REpresentational State Transfer (REST) paradigm, a lightweight implementation of a service-oriented architecture, have found even greater success than their heavyweight siblings, which are based on the Web Services Description Language (WSDL) and SOAP (Reconciling Web Services and REST Services). By using XML-based messaging, RESTful services can bring together discrete data from different services to create meaningful data sets; mashups such as these are extremely popular today.

Current mashup tools and technologies

Although mashups fully embrace the idea of customization on the Web, read-write is another story. The complexity of application development using javascript makes it hard for average developers to create new mashups and to customize the existing ones. To solve this problem, several companies are developing tools for mashup creation that require little or no programming knowledge. These tools, exemplified by Yahoo! pipes, IBM's QEDwiki and Google's Mashup Editor, facilitate the selection of some number of RESTful Web services or other Web resources and chain them together by piping one service's output into the next service's input while filtering content and making slight format changes.

Limitations

One of the main drawbacks of the current state of the art is the lack of support for interoperability, especially that of data. Since most these deal with services internal to the company that created them (for example, Google Mashup Editor can use Google Maps) or to services that have standard types of outputs such as RSS or Atom (Yahoo! Pipes), the problem of interop does not seem to arise.

Another drawback of the current approach to mashups is the complexity of their development itself. Frameworks like Pipes that do not require any programming have limited capabilities. Google Mashup Editor has a steeper learning curve and can do much more than Yahoo! Pipes. The need to be proficient in languages such as javascript is mandatory to create more complex mashups. We identify two types of this complexity

  • Visual: Complexity arising out of the need to create intuitive visual elements and handle various events relating to them
  • Data: Complexity arising due to heterogeneous in data schemas and formats.

SA-REST in a nutshell

SA-REST is a microformat to add additional meta-data to REST API descriptions in HTML and XHTML. Developers can directly embed meta-data from various models such an ontology, taxonomy or a tag cloud into their API descriptions. The embedded meta-data can be used to improve search (for example: perform faceted search for APIs), data mediation (in conjunction with XML annotation) as well as help in easier integration of services to create mashups.

Background

For an open, flexible and standards based approach to add semantics to RESTful services, we built the SA-REST description by borrowing the idea of grounding service descriptions to semantic metamodels via model reference annotations from SAWSDL. The key difference between SAWSDL and SA-REST is that while SAWSDL annotations were added to formal service descriptions in WSDL, SA-REST annotations will have to be added to the services that are usually described in web pages composed in HTML. Consequently, SA-REST uses RDFa and Gleaning Resource Descriptions from Dialects of Languages to add and capture annotations.


Usage Scenarios

SA-REST Elements

Processing SA-REST