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).
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.
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.
Microsoft’s ASP.NET team has taken the Agile philosophy of Deploy Early, Deploy Often to heart. Close on the heels of ASP.NET MVC 2, version 3 beta has already been approved for production use. With a whole host of promising new features including the Razor syntax, this will be a hard release to ignore.
J.D. Meier, a Principal Program Manager for the patterns & practices group at Microsoft, has listed a number of ASP.NET application patterns for Windows Azure, showing how the components work in the cloud. He also gave an example of mapping a standard web application to the cloud.
Serena Yeoh, a Microsoft consultant and a contributor to Microsoft pattern&practices Application Architecture Guide, has created a Layered Architecture Sample for .NET 4.0 which was later ported to Azure, showcasing various .NET technologies (WPF, WCF, WF, ASP.NET, ADO.NET EF) used in an architecture based on the Layered Architecture design pattern.
Microsoft pattern&practices has released Enterprise Library 5.0, a set of application blocks that can be used as building blocks for enterprise applications, representing Microsoft’s guidance on how to write good applications. The library contains a number of improvements, includes Unity 2.0, and supports .NET 4.0.
Sonatype, the professional services company that sponsors the development of many key Maven committers, has announced that they will build Maven 3 atop the Guice Dependency Injection (DI) container instead of the Plexus DI container employed for Maven 1 and 2. Backwards compatability will be ensured using a shim to support Plexus.
Dependency Injection has become a much more accepted and accessible approach in recent years, driven by many factors including increased popularity in SOA, TDD, and many other factors. With this has come increased usage of Dependency Injection frameworks. Bob Martin advises, with examples, applying a decoupling approach between your application code and your Dependency Injection framework.