Hi Roshan,

On Thu, Oct 9, 2014 at 10:12 PM, Roshan Deniyage <[email protected]> wrote:

> * Adding the missing images.*
>
> Hi All,
>
> Currently I’m working with php application type support for wso2
> appfactory product. The scenario is as follows,
>
> Multi-Tenant Cartridge Case
>
> The existing supported application types (ex: java web application) work
> with in-container multi-tenancy support which means those applications run
> inside wso2 application server, deployed inside one cartridge instance of
> stratos (of course with many for clustering).
>
> Based on the current “dev setup” and “production deployment”, when new
> tenant is created with app factory, relevant tenant is created in the
> wso2-as of the shared cartridge instance illustrated as follows.
>
> The sample is for dev cloud without LB. (same as dev setup). The cartridge
> instance could be spawned before tenant is created. Hence, the “Public IP
> address” or the “DNS name” is know.
> [image: Inline image 1]
>
> ​
>
>
> Single Tenant Cartridge Case
>
> But, in the “php application type” case, no multi-tenant cartridges are
> there, we have to use single tenant cartridges with “apache http server”.
> In this case, Need to spawn a new instance when a new tenant is created.
> The workflow would be as follows.
>
> ​[image: Inline image 2]
>
>
>
> Generating Application URL of Single Tenant Application Types
>
> But the problem in single-tenant case is, the Public IP or the DNS name of
> the newly spawned cartridge is unknow. Or in case of clustering, the Public
> IP or the DNS name of the LB is unknow. Hence, In order to get the Public
> IP of entry point, I propose the following workflow.
> ​
> [image: Inline image 3]​
>
>
> The purpose of this design is to get the “Public IP of DNS Name” of the
> newly spawned cartridge or the LB of the cartridge cluster (If cluster is
> present). The logic is as follows,
>
>    1.
>
>    When server is started App-Fac’s “StratosMemberActivated Listener” is
>    subscribed to topic in active mq.
>    2.
>
>    Tenant user create new single tenant type application.
>    3.
>
>    App-Fac do the necessary logic and then, subscribed to new cartridge
>    via stratos controller.
>    4.
>
>    When cartridge is spawning it sends events to topic in active mq and
>    when cartridge is activated, it send the “MemberActivated Event” to the
>    topic.
>    5.
>
>    App-Fac receives the “MemberActivated Event” and get the “Public IP”
>    of the cartridge or the LB.
>    6.
>
>    App-Fac generates the “Application URL” using received public IP and
>    store in the registry.
>    7.
>
>    When user request the “Application URL” of the newly created
>    application, App-Fac get the url from registry.
>
>
>
> In this feature, upto figure :02 is already done and the application url
> generation has designed based on the figure: 03.
>
> NOTE : In order to get the cartridge’s Public IP or DNS name (or LB
> Public IP if clustering is present), there are 3 options.
>
>
>    1.
>
>    Subscribe to topic in stratos and get the relevant information.
>    2.
>
>    Stratos can provide a REST API and app-fac can pool to get the
>    information.
>    3.
>
>    Cartridge agent can be modified to send information to provided url of
>    app-fac.
>
>
> From above 3 approaches, the first one is selected.
>
> I expect your valuable comment on this design and approach to generate url
> of the applications deployed with single tenant cartridges, Any comment
> would be appreciated.
>


I would like to propose go with option #2. Because this is a valid scenario
for external users. Without implementing AppF specific code, you can
provide propose enhancement to apache Stratos code based.  Please send a
pull request.


>
> Thanks,
>
>
> Roshan Deniyage
> Associate Technical Lead
> WSO2, Inc: http://wso2.com
>
> Mobile    :  +94 777636406
> Twitter    :  *https://twitter.com/roshku <https://twitter.com/roshku>*
> LinkedIn :  https://www.linkedin.com/in/roshandeniyage
>
>
>
>
> _______________________________________________
> Architecture mailing list
> [email protected]
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 
Lakmal Warusawithana
Vice President, Apache Stratos
Director - Cloud Architecture; WSO2 Inc.
Mobile : +94714289692
Blog : http://lakmalsview.blogspot.com/
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to