Authors:
Giulio Piancastelli
and
Andrea Omicini
Affiliation:
ALMA MATER STUDIORUM – Università di Bologna, Italy
Keyword(s):
Representational State Transfer, Resource-Oriented Architecture, Contextual Logic Programming, Prolog.
Related
Ontology
Subjects/Areas/Topics:
Internet Technology
;
Web Information Systems and Technologies
;
Web Services and Web Engineering
Abstract:
In the latest years, substantial achievements have been obtained in the description and formalization of the architectural principles and design criteria underlying the World Wide Web. First, the Representational State Transfer (REST) architectural style for distributed hypermedia systems was introduced, defining the resource as the key abstraction of information; then, the Resource-Oriented Architecture (ROA) was presented as a REST-based set of guidelines and best practices for implementing services on Web resources. However, a resource programming model is still missing, since procedural and object-oriented web programming focussed on different abstractions, such as page, controller, and service. Instead, we adopt the logic declarative paradigm to define our model for resource-oriented programming, also showing how its peculiar features lead to novel possibilities for dynamic modification and extension of resource behavior at runtime. In this paper, we first map novel REST and ROA
abstractions onto elements of structured logic programming. Then, we present Web Logic Programming as a Prolog-based language for the World Wide Web embedding the core REST and ROA principles, by defining its computation model and discussing a bookshelf sharing web application example.
(More)