On Sat, Aug 21, 2010 at 2:10 PM, Afkham Azeez <[email protected]> wrote:

> There is a better way to fix this. The Carbon webapp gets deployed first,
> and the deployment of other webapps follow. So, the WebappDeployer can get
> the list of registered sub-contexts (from the HTTPService?), and pass them
> down to Tomcat when it tries to deploy a webapp. If there is a clash between
> a Carbon sub-context & the context of a new webapp to be deployed, a
> deployment exception can be thrown preventing the deployment of the webapp.


HTTPService API does not provide a way to get the list of registered
sub-contexts. But we can write utility methods to extract these information,
since bundles running in Carbon  register these sub-contexts.

Even if we can get a listing of sub-contexts, I don't think it is good idea
to fail the deployment of certain webapps. The list of sub-contexts can grow
in the future. Consider the following scenario.

Say user has developeed a webapp with the web context "foo" and he was able
to depoy it in Carbon because there is no sub-context called "foo". Later he
extends his product by installing new features and these installed bundles
introduce a new sub-context "foo". When he restart the server,  he will get
an error saying, his webapp "foo" cannot be deployed due to a clash. This
may be a rare situation, but it is still possible. IMV, we should not
prevent users from deploying webapps with certain web contexts.

Thanks
Sameera




> Azeez
>
>
>
>
> On Fri, Aug 20, 2010 at 1:44 PM, Sameera Jayasoma <[email protected]>wrote:
>
>>
>>
>> On Fri, Aug 20, 2010 at 12:40 PM, Afkham Azeez <[email protected]> wrote:
>>
>>> Let's not worry too much about this problem. This error will definitely
>>> not occur on an MT deployment. Only the super-tenant will be able to deploy
>>> webapps having those contexts. This will occur even on Tomcat when multiple
>>> webapps with conflicting contexts are deployed. The super-tenant has to be
>>> aware of this when he is deploying his webapps, as it is in the case on any
>>> appserver.
>>
>>
>> I agree. But in the case of the standalone WSAS, this issue might occur.
>> Deployed web apps will continue to work, but some of the functionalities in
>> Carbon framework might be broken. This can also occur in private cloud
>> deployments as well.
>>
>> Sameera
>>
>>>
>>> Azeez
>>>
>>>
>>>
>>> On Fri, Aug 20, 2010 at 12:18 PM, Sameera Jayasoma <[email protected]>wrote:
>>>
>>>> Hi,
>>>>
>>>> Carbon webapp is deployed in root web context in all the Carbon based
>>>> products. During the Carbon initialization, we register servlets under this
>>>> root context using OSGi Http Service with paths such as carbon, services.
>>>> Users can access these servlets in the following manner.
>>>>
>>>> 1) https://localhost:9443/carbon
>>>> 2) https://localhost:9443/services
>>>> 3) https://localhost:9443/fileupload
>>>> 4) https://localhost:9443/filedownload
>>>> and many more..
>>>>
>>>> (1) is used to access the management console and (2) is used to serve we
>>>> service requests.
>>>>
>>>> Now with the webapp deployment support, users can deploy webapps with
>>>> any web contexts.  Say a user deploy a webapp with
>>>> the "carbon" web context, and that will crash the management console.
>>>> Because requests are now delegated to the deployed webapp. Please try
>>>> deploying the attached webapp to a latest WSAS distribution from trunk and
>>>> observe the behaviour.
>>>>
>>>> Likewise there can be many web contexts, we need to restrict.
>>>>
>>>> The issues here is, any bundle in Carbon can register a servlet using an
>>>> arbitary path(say foo). Now if there is a webapp with the web context 
>>>> "foo",
>>>> request will not be delegated to the servlet.
>>>>
>>>> I don't think restricting certain web contexts is not a good solution,
>>>> becuase in future people can introduce more servlets to Carbon. And then we
>>>> have to restrict more web contexts.
>>>>
>>>> One solution would be to deploy Carbon webapp with a web context other
>>>> that the root.
>>>>
>>>> Thanks
>>>> Sameera
>>>>
>>>>
>>>> --
>>>> Sameera Jayasoma
>>>> Technical Lead
>>>> WSO2, Inc. (http://wso2.com)
>>>> email: [email protected]
>>>> blog: http://tech.jayasoma.org
>>>>
>>>> Lean . Enterprise . Middleware
>>>>
>>>> _______________________________________________
>>>> Carbon-dev mailing list
>>>> [email protected]
>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>>>
>>>>
>>>
>>>
>>> --
>>> Afkham Azeez
>>> Senior Software Architect & Senior Manager; WSO2, Inc.; http://wso2.com,
>>> Lean . Enterprise . Middleware
>>> Member; Apache Software Foundation; http://www.apache.org/
>>> email: [email protected] cell: +94 77 3320919
>>> blog: http://blog.afkham.org
>>> twitter: http://twitter.com/afkham_azeez
>>> linked-in: http://lk.linkedin.com/in/afkhamazeez
>>>
>>> _______________________________________________
>>> Carbon-dev mailing list
>>> [email protected]
>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>>
>>>
>>
>>
>> --
>> Sameera Jayasoma
>> Technical Lead
>> WSO2, Inc. (http://wso2.com)
>> email: [email protected]
>> blog: http://tech.jayasoma.org
>>
>> Lean . Enterprise . Middleware
>>
>> _______________________________________________
>> Carbon-dev mailing list
>> [email protected]
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>
>>
>
>
> --
> Afkham Azeez
> Senior Software Architect & Senior Manager; WSO2, Inc.; http://wso2.com,
> Lean . Enterprise . Middleware
> Member; Apache Software Foundation; http://www.apache.org/
> email: [email protected] cell: +94 77 3320919
> blog: http://blog.afkham.org
> twitter: http://twitter.com/afkham_azeez
> linked-in: http://lk.linkedin.com/in/afkhamazeez
>
> _______________________________________________
> Carbon-dev mailing list
> [email protected]
> https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>
>


-- 
Sameera Jayasoma
Technical Lead
WSO2, Inc. (http://wso2.com)
email: [email protected]
blog: http://tech.jayasoma.org

Lean . Enterprise . Middleware
_______________________________________________
Carbon-dev mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev

Reply via email to