RE: [Fwd: Re: [mashup-dev] Some thoughts on the scripts folder, paths, and urls]
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 - The problem is each single config will have n number of wsdls so , if we have m number of users then we will have mXn number of wsdls. I don't understand. User jonathan creates the superduper mashup. User deepal creates the evenbetter mashup. Number of users = 2 Number of mashups = 2 How do you calculate number of WSDLs = 4? ___ Mashup-dev mailing list Mashup-dev@wso2.org http://www.wso2.org/cgi-bin/mailman/listinfo/mashup-dev
Re: [Fwd: Re: [mashup-dev] Some thoughts on the scripts folder, paths, and urls]
Jonathan Marsh wrote: 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 - This is not an issue for the Mashup Server (At least at the moment) because we do not support WSDL first deployment, hence we do not have a WSDL to store in the axisConfig. We auto generate the WSDL when needed. Thanks, Keith. The problem is each single config will have n number of wsdls so , if we have m number of users then we will have mXn number of wsdls. I don't understand. User jonathan creates the superduper mashup. User deepal creates the evenbetter mashup. Number of users = 2 Number of mashups = 2 How do you calculate number of WSDLs = 4? ___ Mashup-dev mailing list Mashup-dev@wso2.org http://www.wso2.org/cgi-bin/mailman/listinfo/mashup-dev ___ Mashup-dev mailing list Mashup-dev@wso2.org http://www.wso2.org/cgi-bin/mailman/listinfo/mashup-dev
Re: [mashup-dev] Some thoughts on the scripts folder, paths, and urls
Sanjiva Weerawarana wrote: Keith Chapman wrote: 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. Nahh .. you can control all of that in Axis2. 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. Nope; you just need to take control of WSDL generation and fix up the name too. Yes it takes a bit of work as Deepal noted but that doesn't scare me ;-). Deepal, can you please point to the WSDL generation logic so that Keith can see how he can take control of the EPR fully? I know the ?wsdl2 logic (cause I wrote it) :). We get the eprs using getMyEprs from AxisService. I'll check whether there is a possibility of overriding this method (Because ultimately wsas is the one that provides the EPRs) Thanks, Keith. Sanjiva. ___ Mashup-dev mailing list Mashup-dev@wso2.org http://www.wso2.org/cgi-bin/mailman/listinfo/mashup-dev
Re: [mashup-dev] Some thoughts on the scripts folder, paths, and urls
Sanjiva Weerawarana wrote: Keith Chapman wrote: Sanjiva Weerawarana wrote: The right solution is to use a different Axis2 configuration for each user- there's absolutely no problem doing that. Will that scale well? (Say we have a 100 users) Its just an object with a bunch of hashtables .. it'll be fine! The ConfigurationContext and AxisConfiguration has a 1:1 relationship hence keeping a separate configuration for each user is like having a separate instance of Axis2 for each user. Isn't that going to be a problem? Who is going to accept the request and delegate it to the correct configuration? Thanks, Keith. Sanjiva. ___ Mashup-dev mailing list Mashup-dev@wso2.org http://www.wso2.org/cgi-bin/mailman/listinfo/mashup-dev
RE: [mashup-dev] Some thoughts on the scripts folder, paths, and urls
below Jonathan Marsh - http://www.wso2.com - http://auburnmarshes.spaces.live.com -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] Sent: Wednesday, December 12, 2007 8:52 AM To: mashup-dev@wso2.org Subject: Re: [mashup-dev] Some thoughts on the scripts folder, paths, and urls 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. Yes, but with n mashups we need to cache n WSDLs regardless. Is there some large pool of truly redundant data? 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. This simply doesn't scale to a community site. I don't like it for individual use either. It diminishes your ability to choose a meaningful name for your creation based on what someone else has done. It's bad enough for usernames (e.g. [EMAIL PROTECTED]) when the pool gets large, but that's unavoidable since your username is allocated by the community. I don't want community allocation of mashup names, but individual allocation. There are lots of scenarios where one or more users might benefit from reusing the service 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 That sounds good too, though I leave it to you experts to figure out the best way to implement it. All I want is to be able to deploy a service at /jonathan/mashup that doesn't conflict with /deepal/mashup. Or at /jonathan-playground/mashup that won't conflict with /jonathan-production/mashup. -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:mashup-dev- [EMAIL PROTECTED] On Behalf Of Glen Daniels Sent: Saturday, December 08, 2007 6:17 AM To: mashup-dev@wso2.org 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
Re: [mashup-dev] Some thoughts on the scripts folder, paths, and urls
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. 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: mashup-dev@wso2.org 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