You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by rs...@us.ibm.com on 2002/08/08 00:45:04 UTC
[axis] User Roles and AXIS components
I think the time has come to reopen an issue regarding user roles and AXIS
component. We have the following roles for which we are providing
solution(s):
1. AXIS developers - Develops and Tests AXIS code
2. AXIS user-developer - Develops WebServices applications using AXIS
core technology
3. AXIS user-admin - Manages WebServices applications in production
environments.
4. AXIS end-users - WebService users who needn't be aware of AXIS at all,
other than stability, performance, etc.
N. others? [feel free to enumerate if it contributes to conversation]
Arguably, the single most important role is (4) - and much effort *is*
being expended to satisfy this.
However, I'm focusing more on the next TWO most important roles: (2) and
(3). These are our up-front customers, and these will make-or-break AXIS
in the end. It is a fine balance between (2) and (3): (3) (based on
understanding of (4)) is a the final decision maker/breaker in the end,
but it will never get that far without (2).
The axis.jar contains element that facilitate each of these to varying
degrees, but not always in a way that is desirable for the end users
(2,3).
I believe that AXIS can, and should, be *usable* with MINIMAL
configuration/settings out-of-box for both (2) and (3).
I'd like to start by proposing that we break axis.jar apart using the
following guidelines:
1. axis.jar : Core runtime components (standalone to satisfy (3)) -
nothing in here should make a admin/security-guru uncomfortable.
2. axis-tools.jar : java2wsdl, wsdl2java? [maybe core of these goes in
'axis.jar', but not standalone programs].
3. axis-opt.jar : we have 'many' tools that are outside the charter of
'axis' (this could be argued... let's not :-) that some users MAY choose
to use. Great, on the one hand, but other users see these as both
unnecessary overhead and security concerns (think corporate world,
controlled production environments, etc - no loose ends).
4. axis-dev.jar : Other tooling useful for AXIS user-developers & AXIS
developers: log4j.properties?, SimpleAxisServer (read the javadoc!), local
transport support?
Developer support (i.e. setting 'local' transport, others?) can be
introduced using pluggable startup logic: axis-dev.jar would provide the
appropriate plugs and config so that it defaults to keep developers happy.
Remove axis-dev, and you fall-back to reasonable defaults/environs for
end-user runtimes.
As a side benefit, this will help draw *clear* lines between various
components in the system.
<ras>
*******************************************
Richard A. Sitze
IBM WebSphere WebServices Development
Re: [axis] User Roles and AXIS components
Posted by Steve Loughran <st...@iseran.com>.
----- Original Message -----
From: <rs...@us.ibm.com>
To: <ax...@xml.apache.org>
Sent: Wednesday, August 07, 2002 3:45 PM
Subject: [axis] User Roles and AXIS components
> I think the time has come to reopen an issue regarding user roles and AXIS
> component. We have the following roles for which we are providing
> solution(s):
>
> 1. AXIS developers - Develops and Tests AXIS code
> 2. AXIS user-developer - Develops WebServices applications using AXIS
> core technology
> 3. AXIS user-admin - Manages WebServices applications in production
> environments.
> 4. AXIS end-users - WebService users who needn't be aware of AXIS at all,
> other than stability, performance, etc.
> N. others? [feel free to enumerate if it contributes to conversation]
5. AXIS pointy-haired-bosses: these know nothing about axis but think Web
Services are cool and want one.
Maybe axis client and axis server should be split up
>
> However, I'm focusing more on the next TWO most important roles: (2) and
> (3). These are our up-front customers, and these will make-or-break AXIS
> in the end. It is a fine balance between (2) and (3): (3) (based on
> understanding of (4)) is a the final decision maker/breaker in the end,
> but it will never get that far without (2).
agreed. production side (3) are always paranoid control freaks who distrust
(2) and (4) in my experience.
>
> 1. axis.jar : Core runtime components (standalone to satisfy (3)) -
> nothing in here should make a admin/security-guru uncomfortable.
maybe axis-core.jar; perhaps have a split between client and server with
different depenencies.
> 2. axis-tools.jar : java2wsdl, wsdl2java? [maybe core of these goes in
> 'axis.jar', but not standalone programs].
+1. A separate axis-tools.jar is good.
NB, Say I was to start creating a version of the ant tasks for (2), what is
a good directory tree for it
I was thinking java/tools/ant/ so one could later do java/tools/taglib or
java/tools/xdoclet or whatever
these may devolve into separate deliverables, axis-antlib.jar,
axis-taglib.jar, etc.
> 3. axis-opt.jar : we have 'many' tools that are outside the charter of
> 'axis' (this could be argued... let's not :-) that some users MAY choose
> to use. Great, on the one hand, but other users see these as both
> unnecessary overhead and security concerns (think corporate world,
> controlled production environments, etc - no loose ends).
=0
> 4. axis-dev.jar : Other tooling useful for AXIS user-developers & AXIS
> developers: log4j.properties?, SimpleAxisServer (read the javadoc!), local
> transport support?
+1; though a good jetty hosted server may move into axis server.
>
> As a side benefit, this will help draw *clear* lines between various
> components in the system.
I think a client/server split may also be appropriate, with axis-core
containing everything a client needs, but axis-server adding server
specifics. This keeps the client download skinny.
now, counter arguments against change
-more separate jars means version conflics inside axis itself from users who
get things wrong (imagine tomcat4\common\lib having axis-core1.1 but the WAR
includes the 1.2 version of everything.
-confusion as to whether optional stuff is needed or not.
The other way of supporting (3) is having a central config point for
security, letting them turn off any helpful but insecure features in single
place.