axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Davanum Srinivas <dava...@gmail.com>
Subject Re: [Axis2] Improvements to engaging modules in Axis2
Date Fri, 14 Mar 2008 12:43:12 GMT
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Saminda,

Could you live with a ExtensibleAxisConfiguration that extends AxisConfiguration and put these
methods on it? You can do
that right now :) no?

- -- dims

Saminda Abeyruwan wrote:
| Hi Devs,
|
| We have a use case where  a client or stub need to be invoked from a web
| service running in server side. If this client or stub need to use any QOS
| such as security etc,
|
| [1]. It needs to create an AxisConfiguration pointing to a repository
| containing such modules
|
| [2] It could use the AxisConfiguration that is available from server, if the
| server AxisConfiguration has relevant QOS modules.
|
| If the client uses the first approach, it needs to point to a repository
| and possibly to an axis2.xml. Thus, either the user has to use the server's
| repository or user has to ship his own one. If user uses the server's
| repository, this would possibly cause axis faults from different reasons.
| Ex: if the repository contains services that need https or jms transport and
| if user has given default axis2.xml or some other axis2.xml, user cannot
| create AxisConfiguration.  Even if use has given axis2.xml that comes with
| server, this could fail, if it is optimized for server.
|
| If the client uses 2nd approach, it could also produce axis faults, if the
| user is not aware of the environment.
|
| Thus, the most safe and user centric way to support this scenario is to give
| the user the ability to create a default AxisConfiguration and later allow
| the user to "install" modules into AxisConfiguration. Thus, this would
| require an extension to AxisConfiguration ,say
|
| public class AxisConfiguration .. {
|   ...
|   // Install a module to Axis2
|   public int installModule(URL moduleLocation) throws AxisFault {...}
|
|   // Uninstall a module with the given id or url
|   public void uninstallModule(int id) {...}
|   public void uninstallModule(URL moduleLocaiton) throws AxisFault {...}
|
|
| }
|
| Thus, user can create an empty AxisConfiguration and later he could install
| a module say Sandesha2.mar from
| http://ws.apache.org/axis2/qos/Sandesha2-1.5.mar<http://wos2.org/qos/axis2/Mercury-1.0.mar>or
| file:/usr/local/share/Ramprt-1.4.mar<file:///usr/local/share/Ramprt-1.4.mar>or
| from a public registry and do users work. "installModule" only install
| a
| given module archive with  .mar extension and nothing else and produced an
| unique id that can be later used to reference that module.
|
| Later one could remove (merely uninstall) a module saying,
| AxisConfiguration#uninstallModule(URL moduleLocation) or
| AxisConfiguration#uninstallModule(int id) giving an ID that coming from when
| installing the module.
|
| Simply,  we would like a way to install modules (only the required ones)
| from runtime, if the associated AxisConfiguration dose not have the required
| modules.
|
| Thank you
|
| Saminda
|
|
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Cygwin)

iD8DBQFH2nLggNg6eWEDv1kRAjbnAKCovk8b1iDbV/tVhuqk7xvmZVxK2ACfWf9s
CgTlxs437gMhPnELHSi7las=
=VfnC
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Mime
View raw message