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.

Reply via email to