Hi, I submitted following proposal for GSoC 2012 under ASF please provide your feedback to improve my proposal.
Regards, Keerthi *Cache Component for Apache Nuvem * Due to huge adoption of cloud platforms and technologies, one of the important issue for application developers is to avoid lock-in to a specific cloud application platform. Apache Nuvem address above issue by providing an independent application programming interface which abstracts common cloud platform services. Apache Nuvem defines an open application programming interface for common cloud application services, allowing applications to be easily ported across the most popular cloud platforms. This project intends to define Memcache based Cache API for Apache Nuvem and implementations based on Google App engine, Amazon ElasticCache and standalone implementation based on EHCache. *Nuvem Cache API * The Nuvem Cache API will be a vendor independent, simple API which facilitate to 1. Store objects 2. Retrieve stored objects. 3. Clear Cache. 4. Delete objects from Cache. In addition to above this project supports for JSR 107 - Java Temporary Caching (JCache) API that becoming de-facto industry standard. *Nuvem Cache Google App Engine implementation.* Google App Engine (GAE) provides high performance scalable distributed in-memory data cache to use with GAE web applications. GAE Cache API is made up of key- value concepts and both can be Java Objects. Nuvem Cache API Google implementation will facilitate to use GAE cache service without exposing its native vendor API. Further GAE already supports for JCache API Nuvem JCache and Nuvem Google implementation also support for JCache. In this case it’s a simple delegation. *Nuvem Cache EHCahe Implementation.* Ehcache is an open source, standards-based cache used to boost performance, offload the database and simplify scalability. Nuvem Cache EHCahe implementation facilitate to initialize and use EHCache services through the Nuvem Cache API. Further this implementation also support for JCache. *Nuvem Cache Amazon ElsticCache implementation * Amazon ElastiCache is a web service that makes it easy to deploy, operate, and scale an in-memory cache in a cloud. Design of this implementation is harder than above two implementations because it is required to perform and hide some administrative jobs transparently such as creation of Cache Clusters and Nodes etc. For administrative tasks this project use AWS SDK while one of the following client will used as a cache client for frontend. 1.) javamemcachedclient - http://code.google.com/p/javamemcachedclient/ 2.) xmemcached - http://code.google.com/p/xmemcached/ During the project, it is required to evaluate and find a proper client to use with above design. This diagram <http://i.imgur.com/8Omis.png> describes current design.
