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/

Task Board

What is a task board?

A task board is typically a phyisical whiteboard that an agile team uses to track their progress. The notion of a task board is most prominently used in Software Kanban, where the board is the one central information hub the team works with.

Why a web-based tool?

Unfortunately it is not always possible to colocate teams. Traceability requirements also might force the use of a digital tool for tracking user stories or tasks.

A web-based tool can offer almost the same features that a phyisical board can do. It provides a simple web-based view on team commitments and lets the team work with this.

How is this board different from others?

There are a million other great tools out there (for example, Rally and Jira with Jira Agile, just to name two). However, there is a common flaw in al those tools: They require you switch your your tracking tool completely.

While that might be possible in some situations, in others you might be tied to a certain tool and cannot change. And for that tool there might just be no task boards available.

Finally, switching to a completely new tool is disruptive. Why swap out a complete (working) stack of software for something else, just to have a digital task board?

The Idea

The idea of this task board is hence to offer a vendor-independant board. That is, there will be adapters for various vendors. Currently, the plan foresees to support Mantis and Bugzilla.

The concept has already been proven to work with a prototype on FogBugz, so a FogBugz port of this new version will also be done in due time.

Other systems depend on community support (or can become sponsored development efforts if someone is willing to pay for it instead of doing it themselves – get in touch).

Technology

Not decided yet. The prototype is based on Python and Django. I am thinking of developing the final version in Grails or maybe Spring directly.

Screenshots

Here is a first screenshot of a design-concept for the new version. The old one does look a lot uglier (still get’s the job done perfectly).

Taskboard Redesign Draft
Taskboard Redesign Draft

Downloads

Not available yet, obviously. I will update the pages here as soon as versions become available.

License

Will be something open-source, haven’t finally decided which license exactly.

#gamedev.ger

Note: The server hosting the site was taken offline beginning of 2014 and as such the site no longer exists.

The homepage for the infamous IRC channel #gamedev.ger (on euIRC.net).

The page can be found on http://gamedev.dword.org and looks like this:

gamedev_ger

I did this page together with Jan Althaus (aka. tciny) who really is a very talented artist.

We used PHP and the Smarty template engine for the page.

It is conceptually akin to developia.de in that it is solely driven by the community who should create content for the site. However, and I’m rather proud of this, Jan and I launched at least half a year before developia went online ;).

Developia.de

Developia.de has been merged with zfx.info under the leadership of zfx.info effective September 5. 2010, discontinuing developia.de as a project. However, the latest version of developia.de has been archived and can still be found under http://da.zfx.info/developia/.

Developia.de was (maybe still is) Germany’s biggest community for hobby- and semi-professional developers. The platform is almost completely community driven, i.e. content is generated by the users.

The current version of developia.de can be found – go figure – under http://www.developia.de and looks like this:

developia current

There is also a beta version available which has a new designed and a somewhat revamped code base. It can be found on http://beta.developia.de/developia/ and looks like this:

developia beta

The beta never actually went into production and probably never will. There had been plans to improve developia.de further and maybe at some point make it profitable, but that never happened.

Sadly, I’m too busy with other projects and activites which is why there have been no efforts to revive developia.de or (better put) development of new features from my side lately.

To the best of my knowledge Matt from sechstasinn has been putting some effort into fixing bugs recently, though.

There also is still quite some activity on the site itself from the users to not all hope is lost :).

Maybe in time there will be more progress and/or new features, also on my part (maybe as soon as I finish my Master’s or so).