Android-Drupal Marriage
The goal of this blog is to envision us to build interesting application beyond a website or a simple mobile application, by using the platforms that are already available to us.
Android is a great open source mobile platform. On the local device, it has many sensors (for example, GPS, Accelerometer, barometer, etc) to collect much information that a user can or cannot easily gather. The information travels through the internet, works with remote resources, and returns to users with rich customized results and functionality. This awesomeness -- because of much processing power and logic workflow needed on the Cloud -- demands an equally powerful and open platform on the server end. If developers build a powerful server framework from stretch, it is not fun and too costly to be a favorable solution. Therefore, finding an open-sourced, powerful, extensible and scalable framework should be the first thing on the developers' mind.
What's Drupal Services for?Drupal with and without Services Module
Drupal, on the other hand, is used by web developers worldwide to build sophisticated community interactive websites. Its big success has been proven since many diverse organizations use Drupal as their core social publishing system for websites and internal collaboration applications. With add-on modules support, Drupal is also a web application framework with tens of thousands of features such as flagging system, approximate search, barcode generation, and many other social publishing functions. The Drupal Services module is the add-on module that allows Drupal content to be retrieved and saved through a standard API using pluggable communication mechanisms including XMLRPC, JSON, SOAP and REST. Also, with pluggable authentication mechanisms including OAuth and Key Auth, the communication between frameworks is highly secured. Furthermore, developers can also easily create their own web services to expose additional integration with contribute Drupal modules or custom code.
Therefore, developers will appreciate a marriage between these two great platforms. Building cloud applications with the two platforms will immediately have
1.) Both web portal and mobile portal
2.) The development cost is predictively minimal since the huge open source communities support together with hundreds of thousands of existing add-on features.
3.) The business logistics and workflow is handled on the cloud by Drupal. As we already have a lot of experience with Drupal.
4.) The application will be able to reach bedroom, garage, bathroom, office, subway, ..., anywhere the mobile goes.
Reference links:
Drupal Services Module: http://drupal.org/project/servicesBeerCloud/GreatBrewers.com Architecture Diagram: A Drupal-Android case studyA case study (written by my colleague and me and once was promoted to frong page of drupal.org): Drupal + Services Module + Beer = BeerCloud on Android and iPhone http://drupal.org/node/659772
Open Source Android Library (work in progress) to work with Drupal Services: http://github.com/skyred/DrupalCloud
Files: architecture_layers.pngwhy_need_services.pngDrupal Diagram for Sheng_1.preview.jpgTag: Drupal Planet