Monday, August 20, 2007

Stepping back - SOA vs. REST-fulness

 This weekend I had limited success with getting a GridView in c# to data bind to Astoria.  The piece that really got me stuck was the authentication (it's BASIC!) and I still can't figure out how to get back in to edit the EDM, or how to bind the xml to a dataset.

Of course, I'm probably doing it the hard way since I haven't looked at the Astoria for Silverlight tools for Orcas yet.  RTFM I guess....

In the meantime, I managed to get some photos and videos from my China trip into the Microsoft Silverlight Surface demo, with impressive results.

Since I'm studying for my next BI exam, and building a lunch & learn presentation, I'm really going deep into the technology behind all these components.  One technology that seems to be taking over the world faster than a Facebook app is REST & the concept of Service Oriented Architectures.

If SOA is about "services" and REST is about "resources", aren't they fundamentally different things?

I also often hear the REST proponents claim that SOA is not really an architecture because it does not define specific architectural constraints.

But that's because SOA and REST operate at different levels in the architectural spectrum.

  • SOA is an enterprise architectural style that focuses on understanding what services the business needs, rationalizing those services into capabilities, and deciding what software should be implemented to support those capabilities. But it stops at the point of specifying how to go about implementing a capability. It does suggest that the approach taken when implementing the capability should support concepts like loose coupling, interoperability, flexibility, reusability, and evolvability. 
  • REST is a software architectural style that can be used to implement those capabilities. If you abide by the constraints defined by the style, your resulting systems should benefit from a number of desirable qualities, such as simplicity, scalability, performance, interoperability, and evolvability.

It should be clear that SOA and REST are complementary.

Astoria is a good example of REST at work.  Popfly + Astoria + Windows Live Data + Multipoint + Silverlight should make for some interesting mashups.

For now though, I really miss Enterprise App Blocks for Data & a simple select stored proc.

Application Platform Strategies Blog

No comments: