Architecture is about intent, we have made it about frameworks and details, Robert C. Martin, “Uncle Bob”, stated earlier at this year’s DDD Exchange Day in London. Robert refers to a book by Ivar Jacobson from 1992 and brings the original thoughts about use cases into architecture models, e.g. Hexagonal architecture and Clean architecture to improve these models.
To take advantage of the great concurrency opportunities the new multi-core machines gives us we should use a programming model that helps us achieve this, and the Actor model gives us a number of tools for doing that, Vaughn Vernon stated at this year’s DDD Exchange Day in London.
The first thing a team should do on a new software project is drawing a context map to help them understand the context, the core domain and what other contexts they may need to interact with to get a shared understanding of the domain between everyone involved, Paul Rayner explains when sharing his experiences what kind of documentation teams doing Domain-Driven Design, DDD, should produce.
PostSharp 3.0 brings with it deep integration with Visual Studio and NuGet. With a couple of mouse clicks PostSharp can apply aspects to a method in a clean project. All of the required packages for the aspect are automatically downloaded.
Using the Hexagonal architecture style allows for delaying decisions for architectural mechanisms and promotes using the same internal API irrespective of type of client, Vaughn Vernon explained last week when describing different architecture styles from a DDD perspective; the classical Layered Architecture and the more advanced Hexagonal and Actor Model styles.
The latest version of CQRS framework Axon supports MongoEventStore, which uses MongoDB as a backing store, and comes with a simplified API and performance improvements. The recently released version 2.0 also lets event objects be based on POJOs and annotations to define messages, payload and metadata.
VMware's SpringSource team has released the GA version of Spring Framework 3.2, exactly one year after 3.1. The new release emphasises the Spring MVC web framework.
SharpCrafters, makers of the AOP framework PostSharp, have developed a drop-in deadlock detection toolkit. This toolkit works with most standard locking primitives such as Mutex, Monitor, and ReaderWriterLock with only a single line of code added to the project.
A Collection of Agile Resources by J. Sutherland, K. Schwaber, D. Star, M. Lacey, and D. J. Anderson
Microsoft has put together a number of resources for Visual Studio developers, containing principles, practices and guidelines for Agile development. These resources are condensed articles written by influential Agile leaders -Jeff Sutherland, Ken Schwaber, David Star, Mitch Lacey, David J. Anderson - containing the essence of several Agile methodologies and being usable by any software dev team.
Simon Cropp has released an IL weaving tool that wires property changed notifications into automatically implemented properties. IL weaving is a technique in which the IL code in an assembly is rewritten to add functionality.
JBoss has released Byteman 2.0.0, an open source Java bytecode manipulation tool licensed under GNU LGPL 2.1. Byteman is a Java agent which helps testing, tracing, and monitoring code. It allows developers to change the operation of Java applications, either as it is loaded or during runtime.
BigLever, one of the few companies focusing on product line engineering, has recently appointed Dr. Paul Clements Vice President of Customer Success. Clements is well-known as one of the pioneers of software architecture in general and product line engineering in particular.
Uncle Bob and Simon Brown debate on the infrastructure’s role in drawing a system’s architecture.
The MagLev project has released version 1.0 of their Ruby VM. The Ruby implementation is based on the GemStone/S Smalltalk VM which comes with GemStone's distributed cache, ACID transactions, and persistence system (OODB). InfoQ caught up with Monty Williams of the MagLev project to talk about where MagLev fits on the NoSQL spectrum, and much more.
Imagine you are doing maintenance on an application from the late 90’s that uses the classic ADO libraries. The recompiled code works fine on any Windows 7 SP1 machine, but mysteriously crashes on the Windows XP machines that have been running the program for nearly a decade. This is the problem facing lots of maintenance developers.