New-age Transactional Systems - Not Your Grandpa's OLTP
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Jonathan Allen on Apr 13, 2008
Normally our book reviews on InfoQ start at mostly positive and go up from there. But once in a while we come across a lemon, and WCF Unleashed is one of them. Written by four authors, the book reads as though all four authors voted on the words for each sentence.
The first chapter is dedicated to C# syntax introduced back from 2005. Then it mentions the Lightweight Transaction Manager from System.Transactions and Role Providers from System.Web.Security. Using phrases like "Evidently, it defines ten simple methods for managing roles", one must wonder if the manuscript got swapped with author's preliminary notes by accident.
Moving on, there is a long and rambling account of the history of COM, JAVA, .NET, and various terms which the author never really defines. There are however plenty of quotes and references to other papers and books. Not only are many of these quotes taken out of context, the author actually inserts bracketed words to change their meanings. For example, in a quote from Cwalina the author changes the passage from "and finally calling simple methods" to "'and finally [either] calling simple methods' or handling the instance's events". Other times the author feel it necessary to include references to back up claims such as "The Java Virtual Machine Specification defines a standard format for the output of compilers".
About halfway through chapter 2 is the introductory paragraph for the chapter explaining how it will detail how to use WCF. It does this using reasonably good examples and rather incoherent explanations. One of the most bizarre paragraphs is how the service needs to be hosted within an Application Domain and how Windows needs to initialize the Common Language Runtime for the service. Don't let the technical terms confuse you, essentially all the author is saying is the program won't work unless you run it.
Chapter three doesn't get any better. It includes a 5 page rant on "the XML Fetish", space that would have been better spent actually explaining how the DataContract and DataMember attributes are supposed to be used.
Chapter four has some topics that look promising, such as one on session management. However, the totality of the text is this sentence.
To better manage the resources associated with a session, developers can stipulate which operation may be invoked to initiate a session and which operations signal the end of a session.
That's it, the rest of the topic is just a code snippets without any details describing which attributes are important or how to use them.
The next chapter starts the book on Windows Workflow Foundation. That's right, we have just barely got started and we are pulled into a discussion on a completely unrelated technology. And that's where we are going to end this review.
In conclusion, if you are looking for a good starter book for WCF, this isn't it but it will work in a pinch. If, on the other hand, you want a reference manual or an in depth explanation for how WCF actually works, this book is completely useless.
Windows Communication Foundation was written by Craig McMurty, Marc Mercuri, Nigel Watling, and Matt Winkler. It was published by SAMS and retails for 49.99 USD.
I enjoy reading the reviews on this site, because they often conflict with Amazon. For example, as of this writing, WCF Unleashed has 11 reviews averaging 4 stars, with several reviews including the words must read.
I guess this just furthers my conspiracy theory that authors and/or publishing companies post fake positive reviews of their books on Amazon.
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
1 comment
Watch Thread Reply