An Intro to Neo4j and Doctor Who at JAX London 2011
The Web is now twenty years old, but it’s only in recent years that we’ve come to view it as a viable application platform for enterprise systems.
is returning for a second run in 2011, with a brand-new track
dedicated to Android, and the usual blend of full day tutorials,
community events, sessions, and speakers’ panels. And, we are proud
to be hosting 2011’s JAX London Autumn Edition, alongside JBoss’
JUDcon London 2011!
As part of JAX London, Neo Technology’s Ian Robinson will
deliver a full-day workshop on RESTful Web Service techniques, and
a session on Neo4j and Doctor Who. In this interview, we speak to
Ian Robinson, about the link between the science-fiction TV series
and the Neo4j graph database, and what to expect from his full-day
introduction to REST.
JAXenter: As part of Jax London, you will run a
full-day workshop; ‘REST in Practice – A Workshop on Web-based
Distributed Systems.’ What are the main topics you plan to cover,
in this workshop?
Ian Robinson: The core focus for the workshop
is on designing and building hypermedia-driven Web-based systems.
The workshop starts by baselining everyone’s understanding of the
Web’s architecture and its foremost application protocol, HTTP. We
then very quickly get into the details of designing
resource-oriented systems that implement complex workflows using
HTTP and the simple navigation mechanisms we’re all familiar with
from the human Web – links and forms. Here, we run through a couple
of detailed examples, each of which illustrates a number of
different design and implementation strategies. The workshop ends
with a look at a couple of staple enterprise concerns: event-driven
systems, and security.
JAXenter: In your opinion, what impact is the
rise of the web having on traditional enterprise architecture
Ian: The Web is now twenty years old, but it’s
only in recent years that we’ve come to view it as a viable
application platform for enterprise systems. Though it began as a
publishing platform, it is now emerging as a means of connecting
distributed applications. The Web as a platform is the result of
its architectural simplicity, the use of a widely implemented and
agreed-upon protocol (HTTP), and the pervasiveness of common
representation formats. It succeeds as a platform in large part
because it combines architectural simplicity with a small set of
widely accepted technologies, providing scalability, security, and
reliability for those systems that embrace its simple tenets.
Traditionally, distributed systems development has focused on
exposing custom behaviour in the form of application-specific
interfaces and interaction protocols. Conversely, the Web focuses
on a few well-known network actions (the now-familiar HTTP verbs)
and the application-specific interpretation of resource
representations. The Web’s low-ceremony middleware environment
comprises a set of widely deployed, commoditized servers. From the
obvious — web servers that host resources (and the data and
computation that back them) — to the hidden: proxies, caches, and
content delivery networks, which manage traffic flow. Together,
these elements support the deployment of a planetary-scale network
of systems, with the result that our systems architecture focus has
shifted from intricate object models to information and document
sharing using hypermedia.
JAXenter: What can attendees expect to learn
from your ‘An Introduction to Neo4j (and Doctor Who)’ session?
Ian: Attendees can expect to learn about 2
things dear to my heart: Neo4j and Doctor Who. Neo4j is a graph
database, a type of NOSQL database that allows us to model, store
and query extremely complex, densely connected data using
document-like nodes and named relationships. I’ll show how to
create and query data using Neo4j’s Java APIs, before going on to
describe a supply chain traceability problem based on the history
of the Dalek props from the popular British science-fiction show,
Doctor Who. Using Neo4j’s new graph query language, codename
Cypher, we’ll identify the hardest working Dalek prop part in
showbiz – an enduring piece of TV memorabilia which, like the graph
theory behind Neo4j, is older than Codd’s relational data
JAXenter: You are the Director of Customer
Success for Neo Technology, the company behind Neo4j. Neo4j 1.4.1
GA was recently released. What’s new in this release?
Ian: To the features introduced in 1.4 –
Cypher, our new graph query language; automatic indexing of nodes
and relationships; paging and batching in our REST API; self
relationships; an improved Webadmin tool; and many, many
performance improvements – 1.4.1 adds some small changes to our
support for large backups, better cross-platform server scripts,
and more predictable commit semantics when working with indexes.
1.4 was the summer’s big release: 1.4.1 added some less glamorous,
but nonetheless important features that early adopters of 1.4 had