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