HOME SCALA & F# JAVA .NET WEB GROOVY & GRAILS ANDROID & IOS NOSQL ARCHITECTURE AGILE & SCRUM AGILE DEVELOPER  
DDD eXchange 2012: Dan Haywood on Restful Objects - A Hypermedia API For Domain Object Models
Restful Objects - A Hypermedia API For Domain Object Models
REST architectures are becoming increasingly more common, both on the internet and within the enterprise. Behind most of these REST APIs is a domain model (some anaemic, some less so); the wiring up of that REST API to the model involves lots of boilerplate and lots of testing.

With justification, there are some scenarios (principally internet), where a separate stable resource model is required in front of the domain model: REST systems can't arbitrarily break their clients if those clients are not part of the same bounded context. In other scenarios - if you own both ends of the pipe - then having this additional layer of abstraction is unnecessary.

Restful Objects is a specification that describes how to expose any domain model - with or without a separate resource model - over REST. It fully documents a set of HTTP URL resources and the corresponding JSON representations that they support; and it fully supports the stuff that REST-heads care about: HATEOAS, media types, link rels, conneg, HTTP headers and arcane response codes; that sort of thing.

Restful Objects isn't just a specification though: there are also two separate open source implementations, one for .NET, and the other the JVM.

In this talk, Dan will explain some of the ideas behind the spec, and will show how you can use it to REST-enable an app in a matter of minutes.

WANT TO LEARN MORE? THEN CHECK OUT OUR EXPERT WORKSHOPS!

Eric Evans Domain Driven Design Hands-On Immersion Workshop September 3rd - 6th

This 4-day Domain Driven Design Workshop -- delivered by DDD expert Alberto Brandolini -- will show you how to put the domain model to work. Finding and exploiting domain models is key to success with large software systems. By cultivating a strong connection between the language used by developers, appropriate models can dramatically accelerate the process of translating customer needs into working software. Strong domain modeling coupled with programming best practices such as exploiting design patterns, refactoring, and test-driven development result in a principled yet practical approach to the development of large software systems. Come and learn how to strike a healthy balance between digging into your subject matter and addressing technological issues. To find out more, please go here

Udi Dahan's Advanced Distributed Systems Design with SOA July 2-6th

This very intensive 5-day workshop will help you take the pain out of designing large-scale distributed systems. New technologies make it easier to comply with today’s communications and security standards, but they won't magically provide you with a robust and scalable system. Join Udi for a course packed with the wisdom of companies like SUN, Amazon and eBay. Tried-and-true theories and fallacies will be shown, helping you to avoid costly mistakes. Communications patterns like publish/subscribe and correlated one-way request/response will be demonstrated, in conjunction with advanced object-oriented state management practices for long-running workflows. If you enjoy deep architectural discussion, join! To find out more, please go here

Greg Young's CQRS, Domain Events, Event Sourcing and how to apply DDD July 9-11th

This 3-day CQRS course covers Domain Events, Event Sourcing and how to apply DDD. Join to learn all about system building and architectures with Domain Driven Design. The largest problem many run into with Domain Driven Design is in getting the abstract concepts implemented in a concrete way. Many of the stereotypical architectures people use actually make it impossible to apply DDD. Greg's course will help you avoid this. To find out more, please go here

Udi Dahan's Enterprise Development with NserviceBus June 26-29th

In this NServiceBus course Andreas Ohlund -- core committer of the NServiceBUs project -- teaches you all the ins-and-outs of NServiceBus - the most popular, open-source service bus for .NET. Used in production since 2006, NServiceBus is now used in hundreds of companies in finance, healthcare, retail, SaaS, web 2.0, and more. From basic one-way messaging, through publish/subscribe; providing solutions from transactions to cross-machine scale out; this hands-on course will show you how simple distributed systems development can be. To find out more, please go here

Simon Brown's Software Architecture for Developers July 4-5th

This course is about broadening your software development skills and has been designed to take full advantage of the technical knowledge that you already have. Simon Brown's software architecture development course will make you more 'architecturally aware', and will help you to build better software. It's about pragmatic and real-world software architecture rather than academic "ivory tower" software architecture and is presented by Simon Brown. To find out more, please go here

DDD eXchange 2013 (Jun 14)

Join Eric Evans with a host of DDD experts and be among the first to get your ticket for next year's DDD eXchange! Get your ticket here


ABOUT DAN HAYWOOD
Dan is a freelance consultant, developer, writer and trainer, specializing in domain-driven design, agile development, enterprise architecture and also REST on the Java and .NET platforms. He's a well-known advocate of Naked Objects, and was instrume
More about Dan Haywood
PODCAST RESTFUL OBJECTS - A HYPERMEDIA API FOR DOMAIN OBJECT MODELS

This session took part at the DDD eXchange 2012. You can view the other 13 podcasts here.
SPONSORS
Skills Matter Ltd
Domain Language

ThoughtWorks
ThoughtWorks Studios
PROGRESSIVE JAVA PODCASTS
Jeff  Lawson:Java Native Interface with Eclipse and Android, Java Native Interface with Eclipse and A
Jeff Lawson : 12th Jun 2013
View Podcast: Java Native Interface with Eclipse and Android,
Peter  Souter: Boxen, Boxen
Peter Souter : 12th Jun 2013
View Podcast:  Boxen,
Milos  Gajdos:Sensu, Sensu...
Milos Gajdos : 12th Jun 2013
View Podcast: Sensu,
 :CLOUD COMPUTING CONCEPTS, TECHNOLOGY AND ARCHITECTURE, CLOUD COMPUTING CONCEPTS,
: 11th Jun 2013
View Podcast: CLOUD COMPUTING CONCEPTS, TECHNOLOGY AND ARCHITECTURE,
Ian Ashworth:Java Development Testing, Java Development Testing
Ian Ashworth : 6th Jun 2013
View Podcast: Java Development Testing,
 :INSPIRING THE NEXT GENERATION OF PROGRAMMES, INSPIRING THE NEXT GENERATION OF PROGRAM
: 6th Jun 2013
View Podcast: INSPIRING THE NEXT GENERATION OF PROGRAMMES,
 :A FIVE MINUTES GUIDE TO QUICK APPLICATION ACCESSIBILITY, A FIVE MINUTES GUIDE TO QUICK APPLICATIO
: 6th Jun 2013
View Podcast: A FIVE MINUTES GUIDE TO QUICK APPLICATION ACCESSIBILITY,
Bert Ertman:Best Practices for Migrating Spring Applications to Java EE 6, Best Practices for Migrating Spring Appl
Bert Ertman : 4th Jun 2013
View Podcast: Best Practices for Migrating Spring Applications to Java EE 6,
Hakan Raberg:Deuce is (not yet) Emacs under Clojure, Deuce is (not yet) Emacs under Clojure
Hakan Raberg : 4th Jun 2013
View Podcast: Deuce is (not yet) Emacs under Clojure,
 :Discuss a little Graph Theory for the Busy Developer, Discuss a little Graph Theory for the Bu
: 29th May 2013
View Podcast: Discuss a little Graph Theory for the Busy Developer,
Russel Winder:Are Go and D threats to Python?, Are Go and D threats to Python?
Russel Winder : 28th May 2013
View Podcast: Are Go and D threats to Python?,
Russ Miles: From Patterns to Code: Coding Simple Event-Driven Components for Agile Software, From Patterns to Code: Coding Simple Ev
Russ Miles : 23rd May 2013
View Podcast:  From Patterns to Code: Coding Simple Event-Driven Components for Agile Software,
Russ Miles:Fighting for Simplicity with Spring, Fighting for Simplicity with Spring
Russ Miles : 21st May 2013
View Podcast: Fighting for Simplicity with Spring,
David Syer:Spring Security Javaconfig: New Kid on the @Configuration Block, Spring Security Javaconfig: New Kid on t
David Syer : 21st May 2013
View Podcast: Spring Security Javaconfig: New Kid on the @Configuration Block,
 :STORM for streaming analytics at scale: a case study on cybersecurity, Streaming analytics at scale
: 16th May 2013
View Podcast: STORM for streaming analytics at scale: a case study on cybersecurity,
OTHER PROGRESSIVE JAVA EVENTS
Russ Miles:SpringSource's Core Spring: Developing with the Spring Framework,  SpringSource's Core Spring
4 DAY COURSE. Featuring Russ Miles
London, Monday, June 24th
The London Python Group:Intro to python debug, The London Python Group
FREE EVENT: Intro to python debug
London, Monday, June 24th
London Software Craftsmanship Community:LSCC Hands-on Session, London Software Craftsmanship Community
FREE EVENT: LSCC Hands-on Session
London, Wednesday, June 26th
:Using Neo4j and Reco4j for Graph-based recommendations,
FREE EVENT: Using Neo4j and Reco4j for Gra
London, Wednesday, June 26th
Michael C. Feathers:Masterclass: Reducing Technical Debt with Michael C. Feathers,  Reducing Technical Debt with Michael C. Feathers
2 DAY COURSE. Featuring Michael C. Feathers
London, Thursday, June 27th
Simon Brown:Simon Brown's Software Architecture for Developers Workshop,  Simon Brown's Architecture for Developers
2 DAY COURSE. Featuring Simon Brown
London, Monday, July 1st
Russ Miles:SpringSource's Spring Web Course,  SpringSource's Spring Web Course
4 DAY COURSE. Featuring Russ Miles
London, Monday, July 1st
The London Clojure Community:  Clojure meetup: Talks on Reiman and bringing Clojure to Devops. , The London Clojure Community
FREE EVENT: Clojure meetup: Talks on Rei
London, Tuesday, July 2nd
© Copyright 2003-2013, Skills Matter Ltd
About Us  Jobs  Find Us  Meeting & Training Rooms  Newsletter  Jobs: Sales Executive  Jobs: Student SkillsCaster  jobs - junior event coordinator  Open Source Journal  Jobs: Sponsorship Development  jobs: Marketing & Sales Graduate Internship  Jobs: HR Manager  jobs-Join Our Dev Team  DevOps Engineer  Front-End Engineer  Test Engineer