The Special Interest Group on Software Engineering (SIGSOFT) of the Association for Computing Machinery (ACM) have awarded Mary Shaw and Dave Garlan the Outstanding Research Award 2011. Both computer scientists have pioneered the work on Software Architecture at the Software Engineering Institute of the Carnegie Mellon University in Pittsburgh.
Software Architecture is one of the important topics for software engineers, because many failures of software development projects are caused by inadequate design. Thus, it is essential to learn more about architectural issues in theory and practice. Interesting new books that have been published recently or in the near future could be very helpful
There is a constant tussle between following Agile techniques and still managing to do enterprise architecture. While Agile development focuses on adjusting the design as more insight is gained, architecture establishes the technology stack and addresses quality attributes. Combination of the two is successful when agile techniques are leveraged to drive towards the desired architecture.
At the Interop 2011 conference in Las Vegas, Alistair Croll of Bitcurrent delivered a talk titled “How to Think Like a Cloud.” This session pointed out the differences between a traditional application development approach and a utility computing mindset.
Jon Galloway is researching dynamic ASP.NET MVC 3 models using Mono’s Compiler as a Service. Meanwhile Karsten Januszewski is looking into deserialized JSON in lieu of statically typed models.
Late last month Google released Guice 3.0, a Java framework that implements the dependency injection (DI) design pattern. The motivation behind Guice was to make it easier for programmers to write DI code by reducing the need to write boilerplate factories. This article examines the new 3.0 features, loks at how Guice 3.0 supports Spring DI, and introduces Guice 4.1 (a.k.a. MiniGuice).
ECMAScript 5 was standardized in late 2009 but only recently has it has started showing up in browsers. It supersedes the 3rd edition, which was ratified in 1999. ECMAScript 5 is actually two languages, ES5/Default and ES5/Strict. Future versions are going to be built on top of ES5/Strict and it is recommended that the default version be avoided.
Julian Simpson, Principal Consultant at The Build Doctor, has compiled a set of patterns for maintaining a fast and reliable application build process and avoiding some Continuous Integration (CI) pitfalls. He also presents a number of patterns for deployment automation and testing in production-like environments.
The OOP conference (Object Oriented Programming) was held in Munich, Germany, from 24th to 28th January 2011 with “Business Impact through Mastering Change” as its general motto. Despite of its name, the OOP represents one of the largest and long-lasting events on the general field of software engineering.
Over the last few months WMware's Steve Jin has published several design patterns around working with virtual machines in the cloud, especially vCloud.
SpringSource has just released Spring Integration 2.0. Spring Integration is a lightweight framework to help build event-driven and messaging oriented applications in the familiar Spring style. InfoQ caught up with project lead Mark Fisher to talk to him about the new release.
Karl Shifflett released the final release of Prism 4 to MSDN on November 12. Simultaneously, Karl also published the first installment of a series of multimedia training that is consumed within Visual Studio 2010 called, In the Box.
Evolve is a lightweight tool for creating, wiring up and executing Java components. Developers can use Evolve to graphically describe JavaBeans and also optionally generate Java code for setters and getters. InfoQ spoke with Andrew McVeigh about the tool.
Alex Scordellis posted an article on how the interaction of a client and a service can be modeled and designed for updating partial resources. It appears that it is easily solved if we model the resources appropriately. Often times just thinking of resources as entities that support CRUD is the problem and modeling resources as “resources” and the services they offer.
A number of commentators have written about common mistakes and antipatterns of Agile adoption. Factors range from over-reliance on tools to fixation with a particular process are commonly identified as inhibiting effective Agile adoption. The lists provide food for thought and advice on things to be wary of when implementing Agile.