See http://wso2.com/products/storage-server/
On Thu, Feb 20, 2014 at 7:49 PM, Chan <[email protected]> wrote: > Hi folks, > In our platform - we don't yet have a solution for storing static files in > the cloud. A solution that provides a simple service of persisting a file > and getting back a URI. The Enterprise Store team built a storage module in > the Publisher app that provides persisting of files to a database and > getting back URIs. My proposal is to build a jaggery-app that specifically > handles file storage with a REST interface extending what the ES team has > done. > > *Use case* > I will be using the Enterprise Store as an example for the Storage App. > [image: Inline image 1] > 1:- Developer uploads a file to the publisher app using an entry form > 2:- Publisher app calls the storage module to contact the storage provider > 3:- Storage module contacts the Storage app with a HTTP PUT call and > returns the URI of the file persisted. Publisher app will persist this URI > to the registry along with other information. > 4:- A client contacts the server requesting an asset page. > 5:- The server will contact the storage module to request a token. It will > in turn call the Storage app requesting a token. After retrieving the token > It will append the token to the URI when rendering the pages server side. > 6:- Browser will contact the Storage app directly when requesting the file > using HTTP GET. Since the browser is passing a valid token - Storage app > will return the file in the response. > > *Architecture overview* > Storage app will have service providers. These service providers will be > apps that require the Storage service from the Storage app. First let's > start off with the API. Storage app will provide an HTTP interface as below > GET > > GET interface is used to request a file. The request can be > for permanent links or token based links. > > PUT > > PUT can only called by a registered service provider. A token (Provider > token) has to be passed to validate the service provider. It will also > allow options of - security, permanent links etc. > > DELETE > > URI is passed to the DELETE API as well as the provider token. Used to > delete files. > > > Next is what the real storage options are. For the first cut we can have > the storage app connected to a database. Afterwards we can move to HDFS > type storage or Cassandra perhaps. > > As with Multi-tenancy - we can handle multi-tenancy the same way we handle > it for jaggery apps (SaaS multi-tenancy). > > Ultimate objective of this proposal is to build a cloud storage service > like Amazon S3, Google Cloud storage [1]. WDYT guys? > > [1] - > http://www.quora.com/Amazon-S3/What-are-the-best-alternatives-to-S3-and-what-are-the-pros-and-cons > > Cheers~ > -- > Chan (Dulitha Wijewantha) > Software Engineer - Mobile Development > WSO2Mobile > Lean.Enterprise.Mobileware > * ~Email [email protected] <[email protected]>* > * ~Mobile +94712112165 <%2B94712112165>* > > * ~Website dulithawijewantha.com <http://dulithawijewantha.com/> * > > * ~Blog blog.dulithawijewantha.com > <http://dulichan.github.io/chan/>* > * ~Twitter @dulitharw <https://twitter.com/dulitharw>* > -- *Afkham Azeez* Director of Architecture; WSO2, Inc.; http://wso2.com Member; Apache Software Foundation; http://www.apache.org/ * <http://www.apache.org/>* *email: **[email protected]* <[email protected]> * cell: +94 77 3320919 blog: **http://blog.afkham.org*<http://blog.afkham.org> *twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> * linked-in: **http://lk.linkedin.com/in/afkhamazeez <http://lk.linkedin.com/in/afkhamazeez>* *Lean . Enterprise . Middleware*
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
