Joe Armstrong presents 6 laws to obey in order to obtain high system reliability, Isolation, Concurrency, Failure Detection, Fault Identification, Live Code Upgrade, and Stable Storage, showing how they are respected in Erlang and followed by some examples from practice.
Based on real-life cases from the financial industry, Michael Poulin shows how to use 7 service oriented principles, Composability, Autonomy, Contracts, Abstraction, Loose Coupling, Reusability, and Discoverability, to handle service behavior in the execution context and UI changes, and how to prepare for unexpected changes.
Graeme Rocher introduces Groovy and its corresponding web framework, Grails, followed by a code writing demo intended to highlight the advantages of using Grails over Java EE in order to develop web applications.
Agile and distributed development seem to be at odds with each other. One is about close communication and short feedback loops, the other is about being effective with people in a different location. This talk discusses a number of patterns common for setting up Agile Distributed Development and will show the results that can be achieved once you get into a good Fully Distributed Scrum.
Sadek Drobi shows how he applied functional programming principles to a real-life project which needed to meet certain performance requirements. He shares the lessons learnt on using mutation, laziness, recursion, functions, monads, list comprehensions and parallelization in an attempt to achieve a functional domain model.
Michael Foord discusses IronPython, the DLR, dynamic languages on .Net, static vs. dynamic typing, Visual Studio integration, Resolver One, Intellipad, Crack.net, embedding IronPython, the ScriptEngine, error handling, dynamic operations, functions as delegates, and the C# 4.0 dynamic keyword.
Phillip Ghadir presents a financial application that was initially built using SOAP, WSDL, WS-*, and was later migrated to use REST, Atom, and AtomPub, explaining the decisions made, the pitfalls and the lessons learned along the way.
Peter Pilgrim makes an introduction to the Java FX platform, presenting its scripting language, the standard deployment method of applications, client integration with the server and what’s planned for its future.
Many organizations will tell you that they are "doing" continuous integration. A boat anchor of a PC in the corner running an old version of CruiseControl might tick a few boxes, but is it really effective? As we get better at CI, we should see our feedback loop extend out past development. But what strategies do we have for doing this and keeping the feedback loop tight for the developers?
Jimmy Nilsson makes a case for DDD explaining that while DDD uses some similar elements as DB-driven design does, for example, entities and repositories, the difference is in how they are used, the way the design is approached and elaborated, building on collaboration and feedback, incorporating deep domain knowledge, having as end result: reduced complexity, testability, and maintainability.
This session takes an inside look at successfully delivering from concept to cash, showing the technical aspects of what's required to iteratively build a robust product that always performs, and the skill and discipline needed to deliver high-quality software to production every week. We know this because we wrote one of the busiest entertainment Web sites in the UK from scratch.