In part one of this post I explained the need to have a content management system that was detached from the web service. In explaining this need I also described how I am going to use Drupal for the CMS, MongoDB for the secondary data store, and Node.js as the web service platform. Now it is time time for the fun part, setting up our integration! In this post I will demonstrate how to take your existing Drupal CMS and integrate it with MongoDB to take the first step in building out data for your web service.
Over the last couple of months I have been struggling with an idea that involved using Drupal as the content management system and the web service for an application that I am currently building in iOS and Android. The reason I am struggling with this idea is because I am using Drupal 7 and Drupal 7 was not intended to serve data to a web service, but rather to serve web pages.
When dealing with a high traffic web site it is often nice to implement some sort of caching mechanism or load balancer into your site architecture. Varnish cache is often a popular caching daemon used to serve cached web pages. Varnish in most cases also acts as a reverse proxy and detects values in the header of the request to delegate traffic in a specific way. One example of this might be to route all traffic to slave servers, or to route all traffic to a failover server in a case of an emergency.
Today I was catching up on some back episodes of the Shop Talk Show , a podcast all about front end web development and design, and Dave Rupert, one of the hosts, mentioned that his company, Paravel , had been hired by Microsoft to recreate one of their old sites from 1994. Now I know that does not seem that long ago, but in internet time, 1994 is like the dawn of time. We are talking about a time before the <table> tag, thank god!
This year I was lucky enough to attend LinuxCon in Chicago. Three days of project demos, technical presentations, and code sprints all centered around the Linux ecosystem. There was a lot going on to say the least, I was able to attend a great presentation by Matthew Miller, the Fedora project lead, that discussed where Fedora is now with F20, and where they are going with Fedora 21 and how they would like to make the future releases of Fedora workstation more centered around developer.
I have been developing a concept lately in which I thought I got all of the kinks worked out, but it looks like I am having some issues. Basically in my iOS application I have a model that holds all of the data for my application and in that model I have a UIModel that inherits from my model where I build out all of my UI elements that are to be used throughout my application in many different places.