Hi Dulitha,

This is a useful use-case. If you have the time, can you use ES, SS and
G-Reg and get this to work? I can help too.

IMO, in thoery this should be doable, but practically there might be gaps.
We can surely write an article/case-study around some useful integration
scenarios like this.

Thanks,
Senaka.

On Thu, Feb 20, 2014 at 4:38 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*
>
> _______________________________________________
> Architecture mailing list
> [email protected]
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 


*[image: http://wso2.com] <http://wso2.com> Senaka Fernando*
Senior Technical Lead; WSO2 Inc.; http://wso2.com



* Member; Apache Software Foundation; http://apache.org
<http://apache.org>E-mail: senaka AT wso2.com <http://wso2.com>**P: +1 408
754 7388 <%2B1%20408%20754%207388>; ext: 51736*;


*M: +94 77 322 1818 <%2B94%2077%20322%201818> Linked-In:
http://linkedin.com/in/senakafernando
<http://linkedin.com/in/senakafernando>*Lean . Enterprise . Middleware
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to