Visual REST

Visual REST is a graphical modelling language for the design of resource-oriented applications. I developed Visual REST as part of my master’s thesis at the University of Hagen in 2012. It is implemented as an Eclipse-based editor using Graphiti and enables creation of application models. As of today, code generation is not part of the IDE, though.

Visual REST is available on Bitbucket. It is, however, no longer actively developed. If you are looking for a graphical modelling language for RESTful applications I suggest taking a look at the REST API design tool developer by the people at Visual Paradigm.

The views

Visual REST as a language and thus also our Eclipse-based implementation consists of four types of views on an application model. The resource structure type overview diagram shows the complete resource-oriented application:

bookshop_overview

 

The resource type structure diagram shows a more verbose representation of resource types in an application. Visual REST also allows partitioning an application over more than one such diagram.

bookshop_structure

 

The resource type states diagram visualizes resource type states and the methods that are supported in each state. It also shows the transitions between states.

bookshop_states

 

Finally, the resource type method behavior diagram models the behaviour of each method.

bookshop_methods

 

The following image shows how the different view of the language relate:

model_layers

 

Syntax Elements

The following pages give an overview of the syntax elements available for the different Visual REST views:

The Eclipse Editor

The editor supports developers by prodiving additional features besides editing the language itself. Amongst others, one of these features is the application outline which the following screenshots shows:

editor

 

Obtaining the Editor

The editor is built from source automatically. The latest stable builds can be obtained from our continuous integration server:

Continuous Integration

More info can be found on the ContinuousIntegration wiki page.

Publications

  • Schreier, S.: Modeling RESTful applications. In: Proceedings of the Second International Workshop on RESTful Design. pp. 15-21. ACM, New York (2011)
  • van Porten, O.: Development and Evaluation of a Graphical Notation for Modelling Resource-Oriented Applications. Research Report 1/2012, FernUniversität in Hagen (2012), http://deposit.fernuni-hagen.de/2810/