<<< Previous speaker next speaker >>>

Jim Webber, Chief Scientist, Neo4J, Co-Author of "Rest in Practice"

 Jim  Webber

Dr. Jim Webber is Chief Scientist with Neo Technology the company behind the popular open source graph database Neo4j, where he researches and develops distributed graph databases and writes open source software. Previously, Jim spent time working with 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 active in the development community, presenting regularly around the world. His blog is located at http://jimwebber.org and he tweets often @jimwebber.

Presentation: "Wednesday's Introduction"

Time: Wednesday 09:00 - 09:20

Location: Salon A, B, C, D

Abstract: Floyd Marinescu Introduces: Amr Awadallah, Dave Hussman, Dionysios Synodinos, Jim Webber and Ari Zilka

Presentation: "Highly Connected Data in NOSQL Databases"

Time: Wednesday 12:05 - 13:05

Location: Salon D

"In this talk, we'll cover the key ideas of NOSQL databases, including motivating similarities and more importantly their different strengths and weaknesses. In more depth, we'll focus on the characteristics of graph stores for connected data and the kinds of problems for which they are best suited. To reinforce how useful graph stores are, we provide a rapid, code-focussed example using Neo4j covering the APIs for manipulating and traversing graphs. We'll then use this knowledge to explore the Doctor Who universe, using graph databases to infer useful knowledge from connected, semi-structured data. We conclude with a discussion of when different kinds of NOSQL stores are most appropriate."

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

Time: Thursday 09:00 - 16:00

Location: Roebling/Gleason

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

Keywords: REST, Web, Scalability, CloudComputing

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

Training: "A Programmatic Introduction to Neo4j"

Time: Friday 09:00 - 16:00

Location: Salon F

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
- Indexing
- Neo4j Traverser APIs
- Declarative querying with Cypher
- Graph algorithms
- 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.