You are viewing details from a past event. Please check our upcoming event schedule if you are looking for current content.

Ian Robinson

Co-author of REST in Practice

Ian Robinson (@iansrobinson) is Director of Customer Success for Neo Technology, the company behind Neo4j, the world's leading open source graph database. He is a co-author of 'REST in Practice' (O'Reilly) and a contributor to the forthcoming books 'REST: From Research to Practice' (Springer) and 'Service Design Patterns' (Addison-Wesley). He presents at conferences worldwide on the big Web graph of REST, and the awesome graph capabilities of Neo4j, and blogs at http://iansrobinson.com.

Presentations

Designing RESTful Services

1:30 PM MDT

REST is ready for the enterprise. Imagine an information platform that is open and available to systems throughout the enterprise estate. A platform that eschews integration in favour of composition, connected data over siloed databases. A networked data structure with the power to implement valuable business behaviours: a distributed, hypermedia-driven application platform.

In this session you'll learn how to design and implement RESTful services to support complex business processes. With a detailed example, I show how to model business processes as domain application protocols; implement them in terms of resource lifecycles; and advertise and execute them using HTTP idioms, media types and link relation values.

REST in Practice - Full Day Workshop on Web-based Distributed Systems

9:00 AM MDT

The Web is fast becoming a serious competitor to traditional enterprise architecture approaches. This full day workshop will provide an introduction to RESTful Web Service techniques, both from a theoretical and practical perspectives.

This full day workshop 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

REST in Practice - Full Day Workshop on Web-based Distributed Systems

11:00 AM MDT

The Web is fast becoming a serious competitor to traditional enterprise architecture approaches. This full day workshop will provide an introduction to RESTful Web Service techniques, both from a theoretical and practical perspectives.

This full day workshop 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

REST in Practice - Full Day Workshop on Web-based Distributed Systems

3:15 PM MDT

The Web is fast becoming a serious competitor to traditional enterprise architecture approaches. This full day workshop will provide an introduction to RESTful Web Service techniques, both from a theoretical and practical perspectives.

This full day workshop 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

A Programmatic Introduction to Neo4j Workshop

9:00 AM MDT

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, 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, you'll 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.

A Programmatic Introduction to Neo4j Workshop

10:45 AM MDT

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, 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, you'll 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.

A Programmatic Introduction to Neo4j Workshop

1:30 PM MDT

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, 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, you'll 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.

A Programmatic Introduction to Neo4j Workshop

3:15 PM MDT

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, 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, you'll 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.

Books

Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services

by Robert Daigneau

Web services have been used for many years. In this time, developers and architects have encountered a number of recurring design challenges related to their usage, and have learned that certain service design approaches work better than others to solve certain problems.

 

In Service Design Patterns, Rob Daigneau codifies proven design solutions for web services that follow the REST architectural style or leverage the SOAP/WSDL specifications. This catalogue identifies the fundamental topics in web service design and lists the common design patterns for each topic. All patterns identify the context in which they may be used, explain the constituent design elements, and explore the relative strengths and trade-offs. Code examples are provided to help you better understand how the patterns work but are kept general so that you can see how the solutions may be applied to disparate technologies that will inevitably change in the years to come.

 

This book will help readers answer the following questions:

  • How do you create a web service API, what are the common API styles, and when should a particular style be used?
  • How can clients and web services communicate, and what are the foundations for creating complex conversations in which multiple parties exchange data over extended periods of time?
  • What are the options for implementing web service logic, and when should a particular approach be used?
  • How can clients become less coupled to the underlying systems used by a service?
  • How can information about a web service be discovered?
  • How can generic functions like authentication, validation, caching, and logging be supported on the client or service?
  • What changes to a service cause clients to break?
  • What are the common ways to version a service? How can web services be designed to support the continuing evolution of business logic without forcing clients to constantly upgrade? 

This book is an invaluable resource for enterprise architects, solution architects, and developers who use web services to create enterprise IT applications, commercial or open source products, and Software as a Service (SaaS) products that leverage emerging Cloud platforms.

REST: From Research to Practice

by

This volume provides an overview and an understanding of REST (Representational State Transfer). Discussing the constraints of REST the book focuses on REST as a type of web architectural style. The focus is on applying REST beyond Web applications (i.e., in enterprise environments), and in reusing established and well-understood design patterns when doing so. The reader will be able to understand how RESTful systems can be designed and deployed, and what the results are in terms of benefits and challenges encountered in the process.

Since REST is relatively new as an approach for designing Web Services, the more advanced part of the book collects a number of challenges to some of the assumptions and constraints of REST, and looks at current research work on how REST can be extended and applied to scenarios that often are considered not to be a good match for REST.

This work will help readers to reach a deeper understanding of REST on a practical as well as on an advanced level.

REST in Practice: Hypermedia and Systems Architecture

by Jim Webber, Savas Parastatidis, and Ian Robinson

Why don't typical enterprise projects go as smoothly as projects you develop for the Web? Does the REST architectural style really present a viable alternative for building distributed systems and enterprise-class applications?

In this insightful book, three SOA experts provide a down-to-earth explanation of REST and demonstrate how you can develop simple and elegant distributed hypermedia systems by applying the Web's guiding principles to common enterprise computing problems. You'll learn techniques for implementing specific Web technologies and patterns to solve the needs of a typical company as it grows from modest beginnings to become a global enterprise.

  • Learn basic Web techniques for application integration
  • Use HTTP and the Web’s infrastructure to build scalable, fault-tolerant enterprise applications
  • Discover the Create, Read, Update, Delete (CRUD) pattern for manipulating resources
  • Build RESTful services that use hypermedia to model state transitions and describe business protocols
  • Learn how to make Web-based solutions secure and interoperable
  • Extend integration patterns for event-driven computing with the Atom Syndication Format and implement multi-party interactions in AtomPub
  • Understand how the Semantic Web will impact systems design

The ThoughtWorks Anthology: Essays on Software Technology and Innovation (Pragmatic Programmers)

by ThoughtWorks Inc.

ThoughtWorks is a well-known global consulting firm; ThoughtWorkers are leaders in areas of design, architecture, SOA, testing, and agile methodologies. This collection of essays brings together contributions from well-known ThoughtWorkers such as Martin Fowler, along with other authors you may not know yet. While ThoughtWorks is perhaps best known for their work in the Agile community, this anthology confronts issues throughout the software development life cycle. From technology issues that transcend methodology, to issues of realizing business value from applications, you'll find it here.