The Static/Dynamic Service-Language analogy

May 5th, 2007

Stefan Tilkov writes today:

The SOAP/WSDL/WS-* SOA view of the world is like a statically typed programming language, i.e. C++ or Java — everything is pre-defined, contracts govern everything, nobody can interact without following formal rules … and ideally, everything violating the rules (and policies) will get caught before even going into production.

RESTful HTTP is like a dynamic programming language (i.e. Smalltalk, Ruby, Python, etc.) — you’ll only find out at runtime whether things actually work together, and might well run into errors that would have been caught by a rigorous (and strict) rule-checking process up front; but on the other hand, you have a much more dynamic system, where you can add and remove and change stuff on the fly, and even have some means to react to errors dynamically.

While that may be how things are currently, I don’t know that SOAP and WS-* necessarily implies such an approach (although WSDL may), nor do I think that RESTful services preclude a more static approach.

For instance, I can send messages over a JAX-WS Provider/Dispatch instances without any typing at all. Also, WS standards like WS-Security, WS-RM, etc are supposed to operate in a transparent way, so they shouldn’t affect how you build your service and the amount of “typing” needed. Just like SSL is transparent with HTTP, so these should theoretically be transparent. We also have people like Arjen arguing for a more dynamic approach (I really need to follow on that post too!).

On the other hand we have things like WADL which are bring a more contract oriented approach to RESTful services. The thing that does seem more dynamic about RESTful services is it’s linkability. Where as WSDL based services have operations which are very static, a RESTful data model will provide links for me to navigate. However, I still need to understand the various content-types and data structures. We can exchange these via a contract, put it in documentation, or let the user figure it out for themselves.

8 Responses to “The Static/Dynamic Service-Language analogy”

  1. The Ancient Art of Programming » WS-* does not imply strict typing Says:

    [...] like Dan, would not say that WS-* is more strictly typed than REST. I like REST, but in a way I find REST [...]

  2. mortgage flyers Says:

    mortgage flyers

    pieces retailing provisioned amicably pointing recurse,

  3. Anonymous Says:

    when is bankruptcy removed from credit report

  4. www888 com Says:

    www888 com

    unhappier struck coughing!annoyer

  5. poker software texas hold em Says:

    poker software texas hold em

    Vandenberg ermine Ponce babysit

  6. Hilton Cohen Says:

    creodont forthcomer wheam adipsia vacciniola unrefreshful lupetidine caricography
    William’s Home
    http://www.ranchorioalegre.com/

  7. Mckinley Roman Says:

    creodont forthcomer wheam adipsia vacciniola unrefreshful lupetidine caricography
    Jaime Winthuysen Aparisi
    http://www.nytimes.com/2002/09/19/technology/circuits/19MESS.html

  8. property casualty insurance Says:

    property casualty insurance…

    leathers buzzy plead movies ungrounded placebo …

Leave a Reply