Paul Downey discusses the risks of premature standardisation, unnatural constraints, partial implementations and open extensions, how to avoid cloud computing lock-in, formal activities versus lightweight open processes as exemplified by open source, Microformats, OpenID, OAuth and other Web conventions being ratified through open, lightweight, continuous agreement.
Rod Johnson talks about Java’s evolution, in particular J2EE, presenting the lessons to be learned from its failures, like committee-led standards and container-managed frameworks, preparing to avoid such mistakes in the future.
Kevlin Henney does not make recommendations for architecting software but rather brings into discussion five considerations useful to be reflected upon: economy, visibility, spacing, symmetry, emergence.
Domain Driven Design (DDD) is about evolving a shared model of the domain letting the domain model drive the design. BDD is about establishing a shared understanding of “done” working from the outside in until you get there. DDD enables the use of BDD effectively creating software and BDD helps structure the conversations for DDD.
Ian Robinson on what organizational and social issues should be addressed when starting a new SOA project by identifying business capabilities using user stories, describing services and their contracts, and how to set up teams for delivery.
Dan Bergh Johnsson refreshes the listeners’ memory on using value objects showing by example how their good use can revolutionize a program’s architecture, simplifying it, making it more readable and testable, in a word, better.
Dan North discusses an example of rearchitecting an application without rewriting it from scratch, and explains general strategies for a holistic rearchitecture such as changing the team culture, removing obsolete technologies, allowing mistakes to be made (and learned from), transitional architectures, introducing bounded contexts, refactoring and emergent simplicity, and rotating through roles.
Self-organization is a tricky thing. Agile coaches are challenged with how to motivate/persuade/trick their teams into self-organizing and doing things, without telling them what to do. This tutorial presents an approach utilizing leading-edge research and techniques from social complexity science and team dynamics to change the dynamics of a team with the aim of optimizing their work together.
Eric Nelson explains what are ORM, EDM, and ESQL, what is the difference between LINQ to SQL and LINQ to Entities, which one is going to be further developed by Microsoft in the future, accompanied by hands on demos showing how to use them.
Eoin Woods explains how Barclays Global Investors (BGI) designed Apex, a new porfolio management system, to meet the challenges it faces and why BGI chose to combine mainstream, boutique and open source Java technologies, including Oracle, WebLogic, Spring, Swing, JIDE, Flux, CPLEX, MVEL and XStream, to create an architecture with some interesting variations on the standard J2EE form.
Brian Oliver explains a number of data grid design patters: Command, Functor, Store and Forward Messaging, and Push Replication. He also mentions some traditional patterns used so far and Coherence Incubator, a repository for design patterns reference implementations.
What is better, a generic solution or a specific one? Stefan Tilkov’s answer is “It depends.” He compares XML vs HTML, DSM-UML, Internal-External DSL, SOAP-REST, and others, outlining the advantages and disadvantages of each solution, showing that there is no certain answer to an architect’s quest to solve his problem, but there are some guidelines helping along the way.