Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Certiorem is an implementation of the PubSubHubub protocol for ROME.

It is dependent on ROME and ROME-Fetcher for the base implementations, and will provide standard plugins for Propono to allow for publish eventing, where applicable.

Primary Components

Hub Implementation and Scaffolding (Underway - kebernet)

The first part of Certiorem is a basic set of scaffolding classes that can be used to create a PSH notification hub. Initially, this will include a non-guaranteed delivery hub, with standard implementations suitable for deployment on most JavaEE application servers or Google App Engine. It is intended that there should be at least one simple, drop in WAR file, utilizing JavaEE classes that can work in a default configuration for various standard web containers. Subsequently,  each of the classes in the PSH implementation up through the primary Controller class use constructor-time composition/configuration so that the user/developer can easily construct a custom configuration of the Hub.

Client Implementation Integrated with ROME-Fetcher

For web-based applications that use ROME-Fetcher, an extended push-notified store wrapper that will update based on callbacks from a Hub of change notifications. This will include a highly configurable callback servlet to write into the Fetcher cache as changes are made. Additionally, the system should support (semi-)real time notifications of changes in the form of a listener that exectutes in a TBD thread state relative to the callback servlet. This should be packaged as a simple JAR with no more deps than fetcher that defines the callback servlet, and automagically does subscribes where link=rel appropriate.

Notification Implementation for Propono based and JAX-RS based Servers

This should be a simple API call to notify a Hub of changes to topics. Again, this should provide real-time notifications either synchronously or asynchronously. Importantly for Asynchronous notifications, they should block subsequent change notifications pending a notification to the Hub.

References: 

https://github.com/nlothian/RTUpdates/blob/master/src/com/nicklothian/pubsubhub/PubSubHubSubscriptionServlet.java

http://grack.com/blog/2009/09/09/parsing-the-pubsubhubbub-notifications/

Notes on the Code

It is still mostly a rough sketch, but the big outlines are there:

  • No labels