Sanjiva Weerawarana wrote:
> Wait wait .. why do we need that parameter?
>
> If we write a custom dispatcher, we can simply have the path to be
> /{user}/{service} and then have the dispatcher look that up either in a
> user-specific table (my preference) or mangle the name to say
> {user}--{service} and look it up.
Well we can dispatch but the problem is how are we gonna have two
services with the same name?
How can I have 2 axis services both with the name sudoku? Axis disallows
this at present which pushes us to use something like jonathan-soduku
and keith-sudoku.
I can have jonathan-soduku and keith-sudoku as the actual service name
and even make them available at /services/jonathan/sudoku and
/services/keith/sudoku and dispatch accordingly. But the wsdl will have
jonathan-soduku and keith-sudoku as the service name and hence will
have that in the address of the wsdl.
Thanks,
Keith.
>
> Deepal- there's no difference between having multiple configs and a
> single config in terms of the cost of having the WSDLs in memory etc..
> If there are n services there are n WSDLs - whether they're in one
> hashtable or 3 makes little difference.
>
> I was originally thinking of using entirely different AxisConfig
> objects- which is possible but probably a more heavy weight solution ..
> in particular it'll also mean different http endpoints for each user. If
> the requirement is only to have a per-user service table then that's
> easier to do with a customer dispatcher.
>
> Sanjiva.
>
> Keith Chapman wrote:
>> Hi Deepal,
>>
>> I like the solution of having an Axis2 parameter control whether I can
>> have a two services with the same name. We can write a custom dispatcher
>> for this no problem on that.
>>
>> Can you take this proposal to the Axis-dev list so that we can discuss
>> this with the axis2 community.
>>
>> Thanks,
>> Keith.
>>
>> [EMAIL PROTECTED] wrote:
>>>> The right solution is to use a different Axis2 configuration for each
>>>> user- there's absolutely no problem doing that.
>>>>
>>> If you remember correct this is the same approach that someone proposed
>>> when designing synapse , and there he asked to use different
>>> AxisConfigurations for different mediators, and I was arguing with that
>>> said it is so expensive to have different AxisConfiguration for
>>> different
>>> mediators. Then we came into a conclusion not have separate
>>> AxisConfig for
>>> different mediators. For me this case is also somewhat similar to that ,
>>> here we are trying to have different AxisConfig for different users.
>>>
>>> I do agree that the AxisConfig is a set of list and maps , but those
>>> maps
>>> have considerable amount of data , for example if we deploy a service
>>> with
>>> WSDL then we keep the WSDL in the memory and so on.
>>>
>>> I have few question regarding this
>>> - Are we going to have separate repo for different users ?
>>> - How can we dispatch to the AxisConfiguration ?
>>>
>>> Why can't we have policy saying that we can not have two mashups with
>>> the
>>> same name ? and if some one tries to add a mashup with the name which is
>>> already exist then we can suggest him a new name.
>>>
>>> If this is so much important thing and very useful feature we can
>>> think of
>>> providing configuration parameter in Axis2. At the moment we have
>>> hardcoded that the two services can not have same name , but we can
>>> change
>>> that to have a configuration option , where if someone want to have two
>>> services with the same name in the system the he can use the parameter.
>>> But the catch is he has to write with a way to dispatch to the
>>> service. If
>>> we do so , then in the mashups server we have only one AxisConfiguration
>>> but they will write a dispatcher to dispatch the service based on the
>>> user
>>> name. I think this make more sound than having different AxisConfig
>>>
>>> -Deepal
>>>
>>>
>>>> Let me know if you guys need help to figure out the details of that-
>>>> what
>>>> we need to do is use the user name as a key to pick the configuration.
>>>>
>>>> Sanjiva.
>>>>
>>>> Jonathan Marsh wrote:
>>>>> We can use "-" as a splitter if we preclude it from mashup names -
>>>>> can't
>>>>> remember whether we do or not at present.
>>>>>
>>>>> Having a separate instance of Axis2 per user sounds good. Having an
>>>>> option
>>>>> to turn off the "services" segment is good too.
>>>>>
>>>>> Jonathan Marsh - http://www.wso2.com -
>>>>> http://auburnmarshes.spaces.live.com
>>>>>
>>>>>> -----Original Message-----
>>>>>> From: [EMAIL PROTECTED]
>>>>>> [mailto:[EMAIL PROTECTED]
>>>>>> On Behalf Of Glen Daniels
>>>>>> Sent: Saturday, December 08, 2007 6:17 AM
>>>>>> To: [email protected]
>>>>>> Subject: Re: [mashup-dev] Some thoughts on the scripts folder, paths,
>>>>>> and urls
>>>>>>
>>>>>> Jonathan Marsh wrote:
>>>>>>>> to differentiate between two services with the same service name
>>>>>>>> (channa/sudoku and jonathan/sudoku).
>>>>>>> You mean we'd need to do some front-end rewriting of the url:
>>>>>>> /jonathan/Sudoku
>>>>>>> to something like
>>>>>>> /services/jonathan;Sudoku
>>>>>>> ?
>>>>>> I'd steer away from semicolon since that's our reserved(?)
>>>>>> metadata-splitter character. But we could either do
>>>>>> "jonathan-Sudoku"
>>>>>> or just "Sudoku2" for the second one. IIUC, it doesn't matter as
>>>>>> much
>>>>>> exactly what the /services/* URL is, at least compared to the UI URL.
>>>>>>
>>>>>>> Or we'd have to actually work at building a service hierarchy into
>>>>>> axis2?
>>>>>>
>>>>>> I don't think that's likely to fly at this point, although some more
>>>>>> flexibility into the way A2 maps URLs to services is probably a good
>>>>>> idea.
>>>>>>
>>>>>>> It's too bad Axis2 is limiting us here, but I just can't see scaling
>>>>>> a
>>>>>>> mashup community site to a large number of users with a single name
>>>>>> space
>>>>>>> for the mashups.
>>>>>> We could always give each user their own instance of A2...
>>>>>> "jonathan/services/Sudoku". Or we could make it *look* this way by
>>>>>> building servlet mappings for "user/services/*" which
>>>>>> automatically map
>>>>>> to Axis services "{user}-{servicename}", either with a redirect
>>>>>> (slow)
>>>>>> or just another instance of AxisServlet which knows about the
>>>>>> translation....
>>>>>>
>>>>>> --Glen
>>>>>>
>>>>>> _______________________________________________
>>>>>> Mashup-dev mailing list
>>>>>> [email protected]
>>>>>> http://www.wso2.org/cgi-bin/mailman/listinfo/mashup-dev
>>>>> _______________________________________________
>>>>> Mashup-dev mailing list
>>>>> [email protected]
>>>>> http://www.wso2.org/cgi-bin/mailman/listinfo/mashup-dev
>>>>>
>>>> --
>>>> Sanjiva Weerawarana, Ph.D.
>>>> Founder, Chairman & CEO; WSO2, Inc.; http://www.wso2.com/
>>>> email: [EMAIL PROTECTED]; cell: +1 650 265 8311 | +94 77 787 6880
>>>>
>>>> "Oxygenating the Web Service Platform."
>>>>
>>>> _______________________________________________
>>>> Mashup-dev mailing list
>>>> [email protected]
>>>> http://www.wso2.org/cgi-bin/mailman/listinfo/mashup-dev
>>>>
>>>
>>> _______________________________________________
>>> Mashup-dev mailing list
>>> [email protected]
>>> http://www.wso2.org/cgi-bin/mailman/listinfo/mashup-dev
>>>
>>
>>
>> _______________________________________________
>> Mashup-dev mailing list
>> [email protected]
>> http://www.wso2.org/cgi-bin/mailman/listinfo/mashup-dev
>>
>
_______________________________________________
Mashup-dev mailing list
[email protected]
http://www.wso2.org/cgi-bin/mailman/listinfo/mashup-dev