Jim Webber, Chief Scientist at Neo Technology and Co-Author of "Rest in Practice"

Jim Webber

Biography: Jim Webber

Dr. Jim Webber is Chief Scientist withNeo Technology the company behind the popular open source graph database Neo4j, where he works on graph database server technology and writes open source software. Jim is interested in using big graphs like the Web for building distributed systems, which led him to being a co-author on the book REST in Practice, having previously written Developing Enterprise Web Services - An Architect's Guide. Jim is an active speaker, presenting regularly around the world. His blog is located at http://jimwebber.org and he tweets often @jimwebber.

Workshop: "REST in Practice - A Tutorial on Web-based Distributed Systems"

Track: REST Architectures Training / Time: Monday 09:00 - 16:00 / Location: Room 104/105

The Web is fast becoming a serious competitor to traditional enterprise architecture approaches. This tutorial will provide an introduction to RESTful Web Service techniques, both from a theoretical and practical perspectives. The tutorial is broken down as follows:

* Introduction and Motivation
* The Web Architecture
* Simple Web Integration including POX and URI tunnelling
* CRUD Services using URI templates and HTTP
* Semantics using Microformats and RDF
* Hypermedia and the REST architectural style
* Scalability and how a text-based client-server polling protocol outperforms everything else!
* ATOM and ATOMPub for event-driven and pub/sub applications Security
* Conclusions and further thoughts

Participants should be comfortable with distributed computing concepts, but won't need any particular integration or middleware experience

Workshop: "A Programmatic Introduction to Neo4j"

Track: Training: Back-end Development / Time: Tuesday 09:00 - 16:00 / Location: To be announced

Graph databases are an esoteric but powerful member of the NoSQL family. For highly connected data, graph databases can be thousands of times faster than relational databases, making Neo4j popular for managing complex data across many domains from finance to social, and telecoms to geospatial.

This tutorial covers the core functionality from the Neo4j graph database, providing a mixture of theory and accompanying practical sessions to demonstrate the capabilities of graph data and the Neo4j database. Specifically attendees will learn about:

- NoSQL and Graph Database overview
- Neo4j Fundamentals and Architecture
- The Neo4j Core API
- Neo4j Traverser API and declarative querying
- Graph algorithms
- Alternative Language Bindings [optional, depending on time]
- The Neo4j REST API and using the database from non-JVM platforms
- Solutions architecture: using Neo4j in large systems

Each session (apart from the fundamentals and architecture) will be a mixture of a small amount of theory combined with a set of practical exercises designed to reinforce how to achieve sophisticated goals with Neo4j. The practical parts of the tutorial consist of Koan-style lessons where a specific aspect of the Neo4j stack is presented as a set of failing unit tests which participants will work to fix, gradually becoming more challenging until the attendees are capable of implementing sophisticated graph operations against Neo4j.

Attendees won't need any previous experience with Neo4j or NoSQL databases, but will require some fluency in Java, a little familiarity with a modern IDE, and a basic understanding of JUnit to help complete the lab tasks.