RE: [Fwd: Re: [mashup-dev] Some thoughts on the scripts folder, paths, and urls]

2007-12-13 Thread Jonathan Marsh
  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]

2007-12-13 Thread Keith Chapman
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

2007-12-13 Thread Keith Chapman
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

2007-12-12 Thread Keith Chapman
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

2007-12-12 Thread Jonathan Marsh
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

2007-12-12 Thread Sanjiva Weerawarana

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