EMC World 2011: RESTful SOA and the Spring Framework


Very excited that I get to see Cornelia Davis speak this year. Last year I had to go catch a train during her presentation so I wasn’t going to miss this year. Conelia used to be part of Documentum (eRoom before that) and is now a Senior Technologist with EMC’s CTO Office. This topic is pretty important because I think that this framework is influencing the Next Generation Content Server (NGIS).

  • Goal: Establish an integration architecture that will help EMC bring together its own and partner products.
  • In the cloud, every traditional server layer needs to be able to scale out, and back, on-demand
  • REST (REpresentational State Transfer) is an architectural style
    • Identification and addressability of resources, resource-oriented (documents, presentations, data streams…)
    • Uniform interface, fixed set of operations
    • Manipulation of resources through representations of the object
    • Hypermedia as the engine of application state, hyperlink your resources
  • Interface is defined by a set of resources that are addressable
    • Data is king
    • Relationships between entities are part of the representation (hyperlinks)
    • URLs provide a hierarchical, global address space suitable for a cloud-based applications
    • Achieve scale through a layered, cache-rich infrastructure
  • Agreed to a fixed set of operations (e.g.GET, HEAD, OPTIONS, PUT, POST, DELETE, PATCH)
  • Uniform Interface: Safe
    • A safe operation is one that can be invoked 0,1, or more times leaving the resource unchanged
    • GET and HEAD should be safe, if not must
    • Allows the infrastructure to optimize certain operations
  • Uniform Interface: Idempotent operation is one that is invoked 1+ times with same result. Safe operations, PUT and DELETE are Indempotent
  • Uniform Interface: Cacheable. GET is cacheable. Stable URLs are critical to this
  • Stateless is important. Overlooked in discussions because it is assumed
  • Using Patient Medical Records as an example
  • [Lots of solid technical code and such. Notes won’t cut it. Will link to the presentation]
  • Spring does well with Named Resources and Defined Uniform Interface. 75% on media types, Link to other resources is missing and you have to do it yourself.
  • REST XML Framework is available on the Developer Network. Reduces java coding by using XML on the front and back.
  • Model-View-Controller (XML tech drives all of this in the framework, including XProc)
    • Controller is the guts. Has business logic and updates the Model.
    • Model is the application model. (Patient)
    • View renders the model
  • Using Documentum xDB for persistence
  • XProc is a standard that allows you to wire together XML processing steps. Calumet is the EMC tool that implements XProc. It is now integrated with Documentum.
  • Use XSLT for hyperlink insertion as it addresses the where and “look” of the hyperlinks
  • Loose Coupling = Greater Agility
  • Version 3 posted today to EDN, Moves to Spring

Going to need to get the presentation and absorb as she ran out of time and this is great stuff. I’ll make sure I link the presentation to this post if at all possible. Off to see Jeroen speak now. Going to get coffee, but not sure that is going to be enough.

Disclaimer

All information in this post was gathered from the presenters and presentation. It does not reflect my opinion unless clearly indicated (Italics in parenthesis). Any errors are most likely from my misunderstanding a statement or imperfectly recording the information. Updates to correct information are reflected in red, but will not be otherwise indicated.