January 28th, 2010 |
Events, REST by Ian Robinson
On February 11th I’ll be presenting Hydras and Hypermedia at London Geek Night.
Do you know what your enterprise apps get up to in their time off? Fighting fantasy, pick-your-path, hypermedia-driven, RESTful Web application adventures – of course.
In this speculative dungeon delve I’ll show how we can use hypermedia-driven Web applications to model rich workflows. We’ll tackle the many-headed Hydra of HATEOAS, the “Hypermedia as the Engine of Application State” monster; level up through the Web services maturity heuristic; and meet the dwarves with grudges. On the way, we’ll learn how to model business processes as domain application protocols, implement them in terms of resource lifecycles, and advertise them using HTTP idioms, media types and link relation values.
- London Geek Night
- Hydras and Hypermedia
- 11th February
- 7 pm – 10 pm
ThoughtWorks UK Office
168-173 High Holborn
January 19th, 2010 |
REST by Ian Robinson
There are two extremes of Atom usage: everything’s an Atom extension (direct extension) versus everything goes in the
atom:content element (enveloping).
A little while ago, Bill de hÓra expressed his preference for direct extension over enveloping. At its worst, enveloping results in near anaemic Atom entries, with very few of the Atom metadata elements put to good use, rightly prompting Bill’s question: “why bother using Atom at all?”
Like Bill, I’ve gone back and forth between these two options. At present, I’m inclined to use enveloping more than direct extension, but only if I can still put the Atom metadata to good use. If I find I’m having to fill out Atom metadata elements with lots of dummy information, just so that I can use Atom to transfer some opaque data between applications, I quickly turn to another format.
To my mind, Atom’s “meta-purpose” is to establish a domain processing context for some content. In AtomPub, Atom artefacts establish a publishing context for Web content. When used to establish this publishing context, the Atom artefacts are called collections and members, rather than feeds and entries.
I prefer not to extend Atom beyond the domain processing context I’m trying to model: instead, I push the thing to be processed down into the content. This allows for media type composition, whereby one media type processor hands off to another as it works its way through a representation. A reasonably “generic” Atom client can resurrect the domain processing context, which then remains in force whilst a specialized media type handler deals with the content (according to its media type).
In the past I’ve illustrated this point by showing how Atom feeds can be used to represent streams of events. The event metadata maps nicely to Atom metadata. The content itself contains a snapshot of some other resource’s state at the point the event occurred. In other words, the Atom metadata establishes an event-ish processing context for the content. When the client invokes a specialised handler for the content, it does so in the knowledge that its dealing with a representation of state at a particular point of time.
If I can’t separate a given problem into 1) an activity and accompanying processing context (e.g. “eventing”, “publishing”), and 2) the thing to be acted on, I’ll consider using something other than Atom.
January 12th, 2010 |
Agile, Behaviour-Driven Development, Events, SOA by Ian Robinson
I’ll be giving a ThoughtWorks Quarterly Technology Briefing in London and Manchester in a few weeks time, titled Business Architecture Foundations of IT.
I used to introduce this topic with a quote from Beckett’s Unnameable – “You must go on, I can’t go on, I’ll go on” – which nicely sums up the situation I see many organisations facing today: burdened with a legacy systems estate, unable to stop the world, sorely in need of a change in strategy to face the future.
Based on case study material from the last few years, talk suggests some future proofing strategies that can arise out of an assessment of today’s business operations.
- Manchester 16th February, Radisson Hotel, Free Trade Hall, Peter Street, M1 6pm-9pm Register here
- London 19th February, Liverpool Street, EC2 8am-10.30am Register here
January 12th, 2010 |
Events, REST by Ian Robinson
Paper Submission: February 8, 2010
Call for Papers
The First International Workshop on RESTful Design (WS-REST 2010) aims to provide a forum for discussion and dissemination of research on the emerging resource-oriented style of Web service design.
Over the past few years, several discussions between advocates of the two major architectural styles for designing and implementing Web services (the RPC/ESB-oriented approach and the resource-oriented approach) have been mainly held outside of the research and academic community, within dedicated mailing lists, forums and practitioner communities. The RESTful approach to Web services has also received a significant amount of attention from industry as indicated by the numerous technical books being published on the topic.
This first edition of WS-REST, co-located with the WWW2010 conference, aims at providing an academic forum for discussing current emerging research topics centered around the application of REST, as well as advanced application scenarios for building large scale distributed systems.
In addition to presentations on novel applications of RESTful Web services technologies, the workshop program will also include discussions on the limits of the applicability of the REST architectural style, as well as recent advances in research that aim at tackling new problems that may require to extend the basic REST architectural style. The organizers are seeking novel and original, high quality paper submissions on research contributions focusing on the following topics:
- Applications of the REST architectural style to novel domains
- Design Patterns and Anti-Patterns for RESTful services
- RESTful service composition
- Inverted REST (REST for push events)
- Integration of Pub/Sub with REST
- Performance and QoS Evaluations of RESTful services
- REST compliant transaction models
- Frameworks and toolkits for RESTful service implementations
- Frameworks and toolkits for RESTful service consumption
- Modeling RESTful services
- Resource Design and Granularity
- Evolution of RESTful services
- Versioning and Extension of REST APIs
- HTTP extensions and replacements
- REST compliant protocols beyond HTTP
- Multi-Protocol REST (REST architectures across protocols)
All workshop papers are peer-reviewed and accepted papers will be published as part of the ACM Digital Library. Two kinds of contributions are sought: short position papers (not to exceed 4 pages in ACM style format) describing particular challenges or experiences relevant to the scope of the workshop, and full research papers (not to exceed 8 pages in the ACM style format) describing novel solutions to relevant problems. Technology demonstrations are particularly welcome, and we encourage authors to focus on “lessons learned” rather than describing an implementation.
Papers must be submitted electronically in PDF format. Submit at the WS-REST 2010 EasyChair installation.
- Submission deadline: February 8, 2010, 23.59 Hawaii time
- Notification of acceptance: March 1, 2010
- Camera-ready versions of accepted papers: March 14, 2010
- WS-REST 2010 Workshop: April 26, 2010
Program Committee Chairs
- Cesare Pautasso, Faculty of Informatics, USI Lugano, Switzerland
- Erik Wilde, School of Information, UC Berkeley, USA
- Alexandros Marinos, Faculty of Engineering & Physical Sciences, University of Surrey, UK
- Rosa Alarcon, Pontificia Universidad Catolica de Chile
- Subbu Allamaraju, Yahoo Inc., USA
- Tim Bray, Sun Microsystems, USA
- Bill Burke, Red Hat, USA
- Benjamin Carlyle, Australia
- Stuart Charlton, Elastra, USA
- Joe Gregorio, Google, USA
- Michael Hausenblas, DERI, Ireland
- Rohit Khare, 4K Associates, USA
- Frank Leymann, University of Stuttgart, Germany
- Mark Nottingham, Yahoo Inc., Australia
- Aristotle Pagaltzis, Germany
- Ian Robinson, Thoughtworks, USA
- Richard Taylor, UC Irvine, USA
- Stefan Tilkov, innoQ, Germany
- Steve Vinoski, Verivue, USA
- Jim Webber, Thoughtworks, USA
- Olaf Zimmermann, IBM Zurich Research Lab, Switzerland