It's not news that at the heart of successful software systems (and, frankly, fulfilling software careers) is good design. Also not news is that defining what "good design" really means has been at the heart of many debates, papers, talks, books, discussions, and more for ages. To help, J.B. Rainsberger and Scott Bellware offer some advice to follow until that one true definition comes along.
In a new article, Jim Webber, Savas Parastatidis and Ian Robinson show how to drive an application's flow through the use of hypermedia in a RESTful application, using the well-known example from Gregor Hohpe's "Starbucks does not use Two-Phase-Commit" to illustrate how the Web's concepts can be used for integration purposes.
In this article, Joshua Bloch, Chief Java Architect at Google and former Distinguished Engineer at Sun Microsystems, presents a list of maxims intended to be a concise summary of good API design guidelines. The maxims represent the abstract written by Joshua for his session "How to Design a Good API and Why it Matters" held during JavaPolis 2006.
Introducing the concept of architectural shelf life, Dan Pritchett defines the average duration of an architectural life span. Stressing that failing to evolve the architecture at the end of its life span may have important business implications, he provides some advices that aim at facilitating architecture update with new technologies and patterns, thus making architectures last longer.
Microsoft patterns and practices group has released a WCF Security Guide. The 689 pages compendium offers a general introduction to Web Service security fundamentals as well as in-depth knowledge about several security threads and appropriate counter-measures.
The Law of Demeter or Principle of Least Knowledge is a design guideline for developing software. It's not rare to see common Rails practices violating it. Luke Redpath brings a way to remedy this by providing Demeter's revenge plugin.