This year, a small team of developers delivered a ASP.NET MVC app, with a Neo4j backed, all running in Azure. This isn't in POC; it's a production system. Also, unlike most graph DB talks, it's not a social network!
In this session you'll hear the stories of:
- what our project is, why we chose a graph db, how we modelled it to start with and how our model was wrong
- how we deploy neo4j in Azure
- how we diagnosed and fixed a performance problem that spanned the CLR, the JVM and Azure
- how we built our own Neo4j client for .NET, complete with a fluent interface and internal logic to serialize .NET - expressions into Groovy comparisons (It was only slightly scary.)
When you build real world applications, you are not always on the "happy path". You must deal with validation, logging, network and service errors, and other annoyances.
How do you manage all this within a functional paradigm, when you can't use exceptions, or do early returns, and when you have no stateful data?
This talk will demonstrate a common approach to this challenge, using a fun and easy-to-understand "railway oriented programming" analogy. You'll come away with insight into a powerful technique that handles errors in an elegant way using a simple, self-documenting design.