<<< Previous speaker next speaker >>>

James Lewis, Principal Consultant at Thoughtworks

 James  Lewis

James Lewis is a Principle Consultant for ThoughtWorks based in the UK and a member of the ThoughtWorks Technical Advisory Board. Most recently he has been helping to introduce Agile at various blue chip companies: Investment Banks, Publishers and media organisations. Sometimes I even write software.

James studied Astrophysics in the 90's but got sick of programming in Fortran. Fourteen years of DBA, Java development, software design and software architecture later, he believes that writing software is the easy part of the problem. Most of the time it's about getting people thinking right.

Most recently, James has been spending his time helping ThoughtWorks' clients develop enterprise software as a coding architect and is particularly interested in the design of distributed systems and the web as middleware.

Blog: http://bovon.org/

Presentation: "RESTful-Enough: How to cope with the real world and still make sure your Public API doesn't suck"

Time: Wednesday 11:40 - 12:30

Location: Seacliff AB

Abstract:
SoundCloud is the biggest repository of audio content on the web, with ore than 30 million users. Since our inception we had a HTTP API available for 3rd party developers to integrate with the platform.

Over time we had all kinds of integrations, from hobbyists building quick hacks to professional DJ tools and Apple's GarageBand. We quickly
learnt that public APIs are a different beast from internal web services, and here usability is king. To better support all these use cases, we had
to compromise on some of the core REST principles, including less focus on hypermedia and welcoming URI templates.

In this talk let's explore the good and bad technical decisions we've made, how we've implemented continuous delivery --deploying changes to
the API twice a day-- without breaking our thousands of clients, and the impacts of the public API experience on our own internal services.

Training: "Micro services - evolutionary approaches for systems of systems"

Track: Tutorial

Time: Tuesday 09:00 - 16:00

Location: Seacliff D

Abstract:

Write programs that do one thing and do it well. Write programs to work together” was accepted 40 years ago yet we have spent the last decade building monolithic applications, communicating via bloated middleware and with our fingers crossed that Moore’s Law keeps helping us out. There is a better way.

Micro services. In this tutorial we will discover a consistent and reinforcing set of tools and practices rooted in the the Unix Philosophy of small and simple. Tiny applications, communicating via the web’s uniform interface with single responsibilities and installed as well behaved operating system services. So, are you sick of wading through tens of thousands of lines of code to make a simple one line change? Of all that XML? Come along and check out what the cools kids are up to (and the cooler grey beards).

In this tutorial we will cover the following topics:

Principle-driven evolutionary architecture
Capability modelling and the town planning metaphor
REST, web integration and event-driven systems of systems
Micro services, versioning, consumer driven contracts and postels law
Testing, Building and continuous delivery
Operational concerns

There will be a hands-on element to the tutorial looking at some simple tooling that allows us to very quickly create and operationalise micro-service based designs.