Software Development: Simplicity tops the agenda

Lightweight and service-oriented approaches combine sophistication and ease

Software development continued to move toward simplicity in 2006. Most evident was the widespread adoption of SOA (services-oriented architecture), which has become the technology of choice for integrating systems of all kinds -- in-house between departments, across stovepipe applications, and in B2B and B2C commerce.

Web services became easier to develop and use as a result of the emerging popularity of REST (Representational State Transfer). REST does away with SOAP wrappers and other overhead, bringing Web services down to the simplest possible implementation: an XML file sent over the wire via HTTP. Four basic commands (the REST equivalent of CRUD), combined with resource files, make all actions simple to implement. REST is likely to replace much of socket-based communication and a good portion of SOAP-based services as well, especially in straightforward applications where solutions need to be cobbled together quickly.

Web services are increasingly providing the back end to so-called Web 2.0 user interfaces. Web 2.0 relies largely on AJAX (Asynchronous JavaScript and XML) toolkits that push JavaScript snippets and XML data to the client to perform GUI operations locally, rather than driving them by a remote server. The greater responsiveness of this approach, which was popularized by Google’s Gmail, can be seen easily by comparing Gmail with any standard Web mail interface. Sites that see in Web 2.0 the possibility of migrating their client software to strictly browser-based interfaces have an increasing number of tools upon which to draw, both commercial and open source.

The demand for simpler technologies was clearly evident in programming languages and frameworks. Java 6, released in December, added numerous features to simplify development. It also added better support for scripting languages. One language primarily associated with simplicity, Ruby, will tap these benefits with JRuby, a JVM implementation that should ship in 2007. Likewise, an elegant scripting language called Groovy, due to ship in early 2007, will put the fun back into Java programming.

Frameworks such as Spring and Ruby on Rails continued gaining in popularity and commercial support, as developers and their managers came to accept the view that many business apps don’t need the heavy enterprise aspects. By giving up some features, and especially scalability, these frameworks have enabled many sites to cut a swath through their backlog.

The rise of lightweight frameworks, the continued popularity of scripting languages, and the success of SOA show that IT sites and developers are increasingly relying on simpler technologies. And this trend is made possible by fact that these simpler tools are delivering increasingly sophisticated results. Technologies that deliver this productive ease of use will continue to thrive for years to come.