Google Summer of Code Veteran Orgs: Apache Software Foundation

Friday, October 4, 2013

The Apache Software Foundation has been participating in Google Summer of Code since its inception in 2005. Over the years members of our projects’ communities have mentored hundreds of students and their projects with dozens of past students now involved as active contributors, committers and members. This year we accepted 51 students mentored by 78 mentors. Of these, four of the mentors would like to take this opportunity to present their student’s projects.
Apache Isis  -- Students: Bhargav Golla and Dimuthu Upeksha

Apache Isis is a Java framework for rapidly developing domain-driven apps. This summer we had two students working on new “viewers” that interact with a REST API that Isis automatically generates, reflecting the structure and behavior of the domain objects. In the past the Isis community has worked on single-page HTML5/JS viewer and on a Windows Store App viewer. For Google Summer of Code our two students are each building their own viewers, one for Android, and one using JQueryMobile (to be packaged using Apache Cordova/PhoneGap). 

Both students have become quite fluent in the REST API, and both have a viewer running that is quite usable and can be deployed to an Android mobile device.  The two viewers are broadly similar in terms of features implemented, and indeed towards the end of the project hit the limits of the available features in the REST API.  Both students have said they are keen to continue developing their viewers after the Google Summer of Code program ends. 
By Dan Haywood, Apache Mentor

Apache OODT -- Student: Rajith Siriwardana
Some exciting work to make Apache OODT interoperate with the scalable Ganglia open source resource monitoring system has been undertaken by Rajith Siriwardana. Rajith and his mentor, Chris Mattmann, divided the project up into several manageable milestones, first developing a fast Java parsing library for Ganglia's XML based response format. This is one of the first modular Java-based Ganglia clients that exists, and to our knowledge is the first one to exist at Apache.

With the Ganglia Java client in hand, Rajith and Chris worked to develop a weighted average load balancing algorithm that plugged into Apache OODT's Resource Monitor interface, allowing it to poll Ganglia for current metrics like 5-min, 1-min avg load, and current disk capacity and space. The algorithm then takes this information into account, along with the requirement for job load, and plugs into the Capacity based scheduler part of the OODT Resource Manager, thereby allowing OODT to poll its resource monitoring information from Ganglia.

We are excited that Rajith is now a member of the Apache OODT Project Management Committee (PMC) and a committer on the project. Apache OODT is a better overall project because of his efforts this summer.
By Chris Mattmann, Apache Mentor 
Apache OODT -- Student Ross Laidlaw
Just as a pencil needs to be kept sharp in order to be useful, computer software needs to be regularly improved and polished in order to stay relevant. Fortunately for the Apache OODT project, this is exactly the type of work Ross Laidlaw, under the mentorship of Rishi Verma, has performed over the past few months through the Google Summer of Code program. Ross has taken a component of the OODT framework called the Product Server, and sculpted it into a more intuitive and usable package. He's taken the Java servlet-based set of web applications constituting the Product Server framework, and ported them to easier-to-maintain JAX-RS RESTful end-points. Moreover, Ross has advanced the content dissemination package, that's a part of the framework, to help make available OODT metadata in various forms like: JSON, RSS, and RDF.  
Why perform all this refactoring as well as new development work? Simple: it helps to keep the OODT Product Server framework relevant, maintainable, and sharp. Ross has done an excellent job through his Google Summer of Code project, and we're definitely looking forward to his continuing involvement with OODT. 
By Rishi Verma, Apache Mentor 
Apache Gora -- Apostolos Giannakidis
Data volumes have been growing at an astronomical rate in recent years with the term 'Big Data' being used ubiquitously within tech circles, mainstream media, governments and society alike. Apache Gora is an open source object-to-datastore mapping framework providing an in-memory data model and persistence for big data. Gora supports persisting to column stores, key value stores, document stores and RDBMSs, and analyzing the data with extensive Apache Hadoop™ MapReduce support.  

Apostolos Giannakidis’ project involved extending datastore support for Oracle's NoSQL database as part of the Gora suite of datastore modules. Work on the design and implementation of the gora-oracle module included the provision of full CRUD operations while exploiting the ACID transactions, flexible consistency options and the simple data mode of Oracle NoSQL database. With these, Apache Gora will be able to integrate seamlessly with the Oracle stack and the Big Data Appliance. Also, this module is one step further toward rendering Apache Gora as the standard persistence framework for NoSQL databases. 
By Lewis John Mcgibbney, Apache Mentor
We are pleased to announce that Apache had 44 students successfully complete this year’s Google Summer of Code program. If you would like to read more about the work students completed on Apache CloudStack, during this year’s program, you can check out our blog post.

By Ulrich Stärk Apache Organization Administrator for Google Summer of Code