@Azeez AFIK storage server is about provisioning of storage. It's doesn't
have the capability of persisting files via an HTTP API. After developing
the storage app we can bundle it with SS as well.


On Thu, Feb 20, 2014 at 8:08 PM, Afkham Azeez <[email protected]> wrote:

> 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 <%2B94%2077%203320919> 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*
>



-- 
Chan (Dulitha Wijewantha)
Software Engineer - Mobile Development
WSO2Mobile
Lean.Enterprise.Mobileware
 * ~Email       [email protected] <[email protected]>*
*  ~Mobile     +94712112165*

*  ~Website   dulithawijewantha.com <http://dulithawijewantha.com/>*

*  ~Blog         blog.dulithawijewantha.com
<http://dulichan.github.io/chan/>*
*  ~Twitter     @dulitharw <https://twitter.com/dulitharw>*
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to