If I the project had a motto it would be..."In the end, the Web Service
is just another View in the Model-View-Controller architecture. The
value of building this is that this "View" allows Struts Model and
Controller components to be accessed by a much broader range of clients
than currently."

Michael Oliver
AppsAsPeers LLC
7391 S. Bullrider Ave.
Tucson, AZ 85747
Phone:(520)574-1150
Fax:(520)844-1036


-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] 
Sent: Friday, January 24, 2003 2:37 PM
To: Struts Developers List
Cc: [EMAIL PROTECTED]
Subject: RE: [AXIS4STRUTS] The old In and Out



*FridayModeOn*

> Axis and Struts, like ice cream and sex, are both good things, but I
don't
> see much benefit to combining them.

I think it depends on the flavor of the Ice Cream... ;-)

*FridayModeOff*

> Is the idea behind Axis for Struts to expose Action classes as Web
Services?

Yes.

> Ideally Action classes don't have any business logic in them. If that
is
the
> case, why not expose the business tier methods as web services
directly?
I
> think the EJB 2.1 specification's support for exposing Session bean
methods
> as web services makes a good deal of sense.

The problem with this is that there is no defined interface for the
business-tier methods - they could not easily be exposed in a standard,
reuseable way. Plus, the value of the MVC framework would be gone if all
you had was the "M".

While the Action classes have no logic, they do drive decision making
and
alter the resulting output. Action classes make decisions about which
data
sources to access, whether or not to update systems, etc. They are too
important to leave behind.

> I am having a hard time seeing the benefits of Axis4Struts (aside from
the
> benefits inherent in web services). It seems like a way to bail out
people
> who mistakenly put valuable business logic in Action classes when the
right
> thing to do would be to move that code out of the Action class.

Clearly, not every situation would benefit from combining these two
apps.
But here are use cases I can envision:

 - Exposing functionality in an existing Struts application to
non-browser-based clients such as .NET, Cold Fusion Server, Flash,
Swing,
etc. (Yes some of these clients could build their own HTTP requests and
POST to Struts on their own. But I believe there is value in allowing
these
apps to use prebuilt Web Services client code.)

 - Allowing Struts Action/Model classes to be leveraged by *both*
Browser-based clients (classic Struts) and by Web Services based
clients.

 - Allowing a Web Services-based client application (.NET, Cold Fusion
Server, Swing, etc) that is accessing a variety of Web Services already
to
access Struts applications as just another web service. Many Web
Services
client apps access more than one Web Service for data - this simplifies
the
process of adding the Struts cunctionality to the application.

 - Allowing developers who already know Struts to easily build Web
Services
applications. Otherwise they need to learn Axis as well. I believe the
learning curve would go much faster if a Struts developer could build
Web
Services by "bolting on" axis4struts (as opposed to building Axis apps
from
the ground up).

In the end, the Web Service is just another View in the
Model-View-Controller architecture. The value of building this is that
this
"View" allows Struts Model and Controller components to be accessed by a
much broader range of clients than currently.



-- Kevin

------------------------------------------------------------------------
---
This e-mail message (including attachments, if any) is intended for the
use
of the individual or entity to which it is addressed and may contain
information that is privileged, proprietary , confidential and exempt
from
disclosure.  If you are not the intended recipient, you are notified
that
any dissemination, distribution or copying of this communication is
strictly prohibited.  If you have received this communication in error,
please notify the sender and erase this e-mail message immediately.
------------------------------------------------------------------------
---




--
To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to