Presentation: Protocols - The Glue for Applications
Most teaching and modelling revolves around synchronous techniques and solutions, as they are easier to grasp in the beginning. As multi-core and distributed architectures is becoming the norm the need for asynchronous design is increasing.
This is where old school protocols starts to shine again. The dragon of telecommunications is coming to life again.
All systems, but in particular asynchronous ones, can benefit from a more thorough focus on the interaction (aka the protocols) between the entities in the system. Programming the internals of a component - be that an object or a process - is not the hard part; making sure that the components can work together is the real challenge.
For synchronous systems you can avoid looking at the protocols for a long time, only to realise that you need them when things are becoming complex.
That approach will not even get you started with asynchronous systems, which is one of the reasons that many people find them hard to work with. It also has the effect that technologies, like Erlang, that embraces the asynchronous model can be hard to learn how to use to ones advantage.
In this talk we will spend most of the energy on how to design systems with asynchronous message passing between processes that do not share any memory.
We will see how The Golden Trinity of Erlang - share nothing processes, fail-fast and failure handling - relates to asynchronous protocols and how this mix of features provides a good solution for exploitation of the new multi-core and distributed architectures.
Talk objectives:
- Show how to model asynchronous designs with Message Sequence Charts (aka Sequence Diagrams).
- Show how Erlang's programming model fits implementation of asynchronous protocols in a robust way.
- Explain why embracing failure is necessary to thrive on modern architectures.
Target audience: People looking for a better way of crafting systems, asynchronous or synchronous.
Torben Hoffmann Elsewhere
Tracks
Covering innovative topics
Wednesday, 4 March
-
Architecture Improvements
Next gen architecture, Arch over the full lifecycle, Bleeding edge tech in legacy, Cognitive biases in architecture, Evolving Architecture.
-
Big Data Frameworks, Architectures, and Data Science
As big data tools and architectures continue to evolve, how do you architect and select technologies that work now but are also future-proof?
-
DevOps and Continuous Delivery: Code Beyond the Dev Team
As infrastructure becomes as malleable as code, a unified approach from reqs to ops is needed to deliver promised breakthroughs.
-
Engineering Culture
The best teams and companies talk about how to create amazing engineering cultures.
-
Java - Not Dead Yet
Java is evolving to meet developer and business needs, from lambdas in Java 8 to built-in support for money types rumoured for Java 9.
-
Mind Matters at Work
How theories from neuroscience and psychology can help us better understand IT professionals and discover what really motivates them.
Thursday, 5 March
-
Docker, containers and application portability
People building stuff for and with containers showing why application portability is important, and what can be done with expanding ecosystems.
-
Evolving agile
Reflecting on and learning from successes and failures in applying agile approaches since the creation of the Agile Manifesto and exploring ways of applying agile practices to increase business value.
-
HTML and JS Today
The state of the art in web technologies. What is important to know and why?
-
Internet of Things
What software devs need to know to design and build for instrumented environments and reactive things, what new issues and questions it raises.
-
Modern CS in the Real World
How modern CS helps you tackle today's problems.
-
Reactive Architecture
How to create reactive systems is more than simply learning a framework. Thinking in a reactive way helps you to design responsive architectures.
-
The Go Language
The Go Language - Concurrency, Performance, Systems Programming.
Friday, 6 March
-
Architectures You've Always Wondered About
Get a rare look behind the scenes and get to see the architectures of the most well-known sites with the least known architectures.
-
Low latency trading
The 'race to zero' continues. Join us to learn about the latest tecniques being deployed to optimise order routing and execution.
-
Open source in finance
Financial services have changed from OS as cost-saving to a competitive weapon. See open source projects that are disrupting the finance industry.
-
Product Mastery
Come have fun with fellow PMs and BAs as you learn about Value Management. We'll even tell you dark tales of Snarks, Hippos and other obstacles.
-
Taming Microservices
Tackling the challenges of microservices in practice.
-
Taming Mobile
Mobile is no longer the Next Big Thing but a requirement for your business. Hear from those who have implemented successful mobile systems.