tag:blogger.com,1999:blog-32609450.post3660770160819255222..comments2023-09-15T13:14:58.827+01:00Comments on Colin Jack's Blog: Book Review - RESTful .NETColin Jackhttp://www.blogger.com/profile/01403166737046938219noreply@blogger.comBlogger14125tag:blogger.com,1999:blog-32609450.post-50268052499888248572009-09-20T10:36:13.804+01:002009-09-20T10:36:13.804+01:00@mike
Sorry for slow reply, Seb is the author of O...@mike<br />Sorry for slow reply, Seb is the author of OpenRasta:<br /><br />http://serialseb.blogspot.com/Colin Jackhttps://www.blogger.com/profile/01403166737046938219noreply@blogger.comtag:blogger.com,1999:blog-32609450.post-6685937955371449472009-05-13T12:35:00.000+01:002009-05-13T12:35:00.000+01:00Yeah I want a book with REST in the title to focus...Yeah I want a book with REST in the title to focus on all aspects of REST, or to clearly state why this is not happening (e.g. because WCF has weak support in some areas). <br /><br />Personally though I've got almost the opposite attitude on framework, if your frameworks make up for some of the big issues in the REST support of WCF then as a reader I definitely want to hear about the problems you solved and why its important. <br /><br />Even better open source your personal frameworks to go along with the book.Colin Jackhttps://www.blogger.com/profile/01403166737046938219noreply@blogger.comtag:blogger.com,1999:blog-32609450.post-1943216370394536592009-05-12T00:11:00.000+01:002009-05-12T00:11:00.000+01:00Seems like you have more against my book just beca...Seems like you have more against my book just because it sticks to the basics of WCF (which is on purpose), and against WCF in general.<br /><br />When I build RESTful services using WCF I do similar things that you are describing, but I have a moral problem with book authors who write books all about their own personal frameworks.Unknownhttps://www.blogger.com/profile/14906665264360635548noreply@blogger.comtag:blogger.com,1999:blog-32609450.post-80442759744015741722009-05-11T19:26:00.000+01:002009-05-11T19:26:00.000+01:00@Jon
Even on linking I'm not entirely pleased....@Jon<br />Even on linking I'm not entirely pleased. What you really want is to be able to have a collection of List< Link< OrderContract>> on a CustomerContract and have WCF automatically use the information it has about OrderContract to add the links. <br /><br />Take one of the examples of linking Subbu's excellent InfoQ article (http://www.infoq.com/articles/subbu-allamaraju-rest).<br /><br />I want WCF to build the link for me. The href is easy for WCF to generate because it already knows the URL's you use for orders, assuming you've specified a handler that's solely focussed on Order (your class attributed with ServiceContract). <br /><br />The type is also possible to add assuming the OrderContract class is associated with a media type (though you'd have to vary it based on the type of representation e.g. adding "+xml" here).<br /><br />Anyhow it all sounds sensible but as Seb found out when implementing our REST framework "on top of" WCF its all way more difficult than it should be.Colin Jackhttps://www.blogger.com/profile/01403166737046938219noreply@blogger.comtag:blogger.com,1999:blog-32609450.post-80815358432394467572009-05-11T18:13:00.000+01:002009-05-11T18:13:00.000+01:00Yes - WCF has little support for HATEOAS - and ye...Yes - WCF has little support for HATEOAS - and yes that is the main reason why it isn't in the book. Although - lots of the book is about creating hyperlinks in resources, which is certainly part of HATEOAS (without the hyperlinks - clients can't follow them).<br /><br />WCF has little support for it - and AFAIK most frameworks are pretty much the same. Dynamic languages are probably the way to go here - so once C# 4.0 comes out there will be a mainstream way to do this in .NET.Unknownhttps://www.blogger.com/profile/14906665264360635548noreply@blogger.comtag:blogger.com,1999:blog-32609450.post-13310636001739049832009-05-11T17:39:00.000+01:002009-05-11T17:39:00.000+01:00"If you read the forward - I am very clear that th..."If you read the forward - I am very clear that the book isn't about REST in general (why would I write such a book when RESTFul Web Services already covered the topic brilliantly IMO), and not even a book to learn WCF (since other books cover that well). So in my view I defined that very well up front, sorry if you missed that bit."<br /><br />I read the entire thing, what you say is indeed that your book doesn't cover the "basics of REST" and you then recommended RESTful WS for that. <br /><br />By basics I think you mean fundamentals which is fine, you also say that the book is for people who know WCF and REST but want to know about the REST programming model in WCF 3.5. <br /><br />Lets say I have indeed read the WCF book you suggest (I've read bits) and have read RESTful WS (I have), do you not think I should expect some serious discussion of connectedness/HATEOS? <br /><br />If not then then, regardless of whether you suggest people read RESTful WS, I'd have expected some mention of what aspects of REST you're omitting and why (which to be fair you do, but very late in the book).<br /><br /><br /><br />"Also on the HATEOAS bit - I'd challenge you to tell me how much of the RESTFul Web Services book covers that. Not that much IMO."<br /><br />Yup agreed, and I think thats one of weaknesses of that book too...but it does spend some time discussing connectedness.<br /><br /><br /><br />"HATEOAS is one of the constraints of REST, but it is't *the* constraint of REST (although Roy finds it required - not everyone agrees with him). Being able to take advantage of GET (caching), and widespread interoperability and simplicity in my book are the more important parts."<br /><br />I didn't say it was *the* constraint and I agree, I love this idea of levels of REST (http://www.crummy.com/writing/speaking/2008-QCon/act3.html).<br /><br />And to be honest, if you do think its not an important part of REST, then thats exactly what I would have expected to find in your book.<br /><br />Correct me if I'm wrong but isn't the main reason you omitted it because WCF doesn't support it very well?Colin Jackhttps://www.blogger.com/profile/01403166737046938219noreply@blogger.comtag:blogger.com,1999:blog-32609450.post-4868180584302587002009-05-11T17:10:00.000+01:002009-05-11T17:10:00.000+01:00Colin Jack - you are right that you can't write a ...Colin Jack - you are right that you can't write a book to please everyone. <br /><br />I'm ok with that - but your reasoning isn't very sound. You say "..yeah defining it more upfront would have definitely helped."<br /><br /> <br />If you read the forward - I am very clear that the book isn't about REST in general (why would I write such a book when RESTFul Web Services already covered the topic brilliantly IMO), and not even a book to learn WCF (since other books cover that well). So in my view I defined that very well up front, sorry if you missed that bit.<br /><br />Also on the HATEOAS bit - I'd challenge you to tell me how much of the RESTFul Web Services book covers that. Not that much IMO.<br /><br />HATEOAS is one of the constraints of REST, but it is't *the* constraint of REST (although Roy finds it required - not everyone agrees with him). Being able to take advantage of GET (caching), and widespread interoperability and simplicity in my book are the more important parts. <br /><br />HATEOAS is exteremly important when building a client - and encouraging extensibility and versioning. Don't misunderstand me - important, but just not the most importatnt - at least IMO.Unknownhttps://www.blogger.com/profile/14906665264360635548noreply@blogger.comtag:blogger.com,1999:blog-32609450.post-64082367150677277312009-05-11T15:28:00.000+01:002009-05-11T15:28:00.000+01:00@Mike
Ahh sorry I meant Sebastien Lambla (http://s...@Mike<br />Ahh sorry I meant Sebastien Lambla (http://serialseb.blogspot.com/). He actually had to do a lot of messy nasty work to get WCF to be RESTful but he also has his own framework (OpenRasta, http://trac.caffeine-it.com/openrasta).Colin Jackhttps://www.blogger.com/profile/01403166737046938219noreply@blogger.comtag:blogger.com,1999:blog-32609450.post-27391552401894405952009-05-11T15:16:00.000+01:002009-05-11T15:16:00.000+01:00Hi!
thx for the review, so i don't have to buy it...Hi!<br /><br />thx for the review, so i don't have to buy it. i was looking for the same, a book about rest, not wcf.<br /><br />i'm very interested in "Seb". could you may provide a link?mikenoreply@blogger.comtag:blogger.com,1999:blog-32609450.post-3051450387806857452009-05-11T14:41:00.000+01:002009-05-11T14:41:00.000+01:00Well personally I'd have hoped the book would have...Well personally I'd have hoped the book would have focussed on all aspects of REST, regardless of how they are supported in WCF. <br /><br />Where WCF wasn't inherenty powerful enough I'd have you would have mentioned this and preferably then identifying solutions (extending WCF being one option). <br /><br />So in summary I'd have preferred if you started from a REST mindset, rather than a WCF (and related MS technologies) mindset.<br /><br />However I realize its difficult to write a book to please everyone, so if you were starting from the WCF mindset then yeah defining it more upfront would have definitely helped.Colin Jackhttps://www.blogger.com/profile/01403166737046938219noreply@blogger.comtag:blogger.com,1999:blog-32609450.post-52012052818754705942009-05-11T14:24:00.000+01:002009-05-11T14:24:00.000+01:00So you are saying your primary disagreement is abo...So you are saying your primary disagreement is about what I specifically say the book isn't in the foreward?Unknownhttps://www.blogger.com/profile/14906665264360635548noreply@blogger.comtag:blogger.com,1999:blog-32609450.post-8797129423969639532009-05-11T09:31:00.000+01:002009-05-11T09:31:00.000+01:00I guess my primary disagreement was that if I boug...I guess my primary disagreement was that if I bought the book as it is I might consider it a general purpose REST book, which isn't what you were targetting.Colin Jackhttps://www.blogger.com/profile/01403166737046938219noreply@blogger.comtag:blogger.com,1999:blog-32609450.post-19933763444933435702009-05-11T08:50:00.000+01:002009-05-11T08:50:00.000+01:00@Jon
On it not being a REST book, sure it says it ...@Jon<br />On it not being a REST book, sure it says it part way through but the title contains the word REST. If its not a REST book then it definitely needs renamed.<br /><br />On utter lack of HATEOS support, I agree other RESTful ideas have power even without HATEOS but I was amazed you made no real effort to cover it.Colin Jackhttps://www.blogger.com/profile/01403166737046938219noreply@blogger.comtag:blogger.com,1999:blog-32609450.post-10626236286841983172009-05-11T06:39:00.000+01:002009-05-11T06:39:00.000+01:00Hi Colin Jack - first of all - the book is really ...Hi Colin Jack - first of all - the book is really clear that it isn't REST book and it recommends RESTful Web Services for that very purpose. Publishers pick the title btw :)<br /><br />On the HATEOAS issue - yes WCF's support isn't very optimal. That doesn't mean it isn't useful - http://www.intertwingly.net/blog/2008/10/21/Progressive-DisclosureUnknownhttps://www.blogger.com/profile/14906665264360635548noreply@blogger.com