You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by Frank Zammetti <fz...@hotmail.com> on 2004/06/03 21:46:23 UTC
Struts Web Services Enablement Project
Hello devs! This is my first time posting here, and my first attempt at
contributing to an Apache project. I hope I'm going about it properly! :)
In short, I have a little project going with the stated goal of allowing a
Struts developer to expose any existing business logic, as implemented in
Struts Actions and their subordinate helper classes, as Web Services, and do
this with NO changes required to any existing application code, and as
little change to Struts itself as possible. Simplicity is the key to this!
Today I released a second version of this project to the user's mailing
list, and after some feedback I think it's at a point where I'd like to make
you all aware of it, and get some higher-level feedback. It's certainly far
from complete at this point, but I think even now it's in a useful form.
My hope is that eventually it will be good enough to be included in the base
Struts distro, but that's obviously a long way off, if ever.
With all that in mind, please at your convenience visit
http://www.omnytex.com/strutsws
There you will find some more detailed technical information and a download
which contains everything you need, including a simple sample webapp
demonstrating the whole mess.
I thank you in advance for any time you spend on this!
Frank W. Zammetti
_________________________________________________________________
Looking to buy a house? Get informed with the Home Buying Guide from MSN
House & Home. http://coldwellbanker.msn.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org
Re: Struts Web Services Enablement Project
Posted by Duncan Mills <du...@oracle.com>.
Frank forgive me here, but playing Devils Advocate, if you have clean
MVC separation then surely the last thing you want to do is to expose
Actions as Web Services.
It is reasonable to want to expose Business Service Providers such as
EJB, or TopLink beans as Web Services but that's up in the model layer,
what's the point in pushing the access point down into the Controller code?
Or do you see here a solution for all those folks who've not followed
best practice and have intermingled Controller functionality with
Business logic..?
Regards
Duncan Mills
Senior Principal Product Manager
Oracle Application Development Tools
Frank Zammetti wrote:
> Hello devs! This is my first time posting here, and my first attempt
> at contributing to an Apache project. I hope I'm going about it
> properly! :)
>
> In short, I have a little project going with the stated goal of
> allowing a Struts developer to expose any existing business logic, as
> implemented in Struts Actions and their subordinate helper classes, as
> Web Services, and do this with NO changes required to any existing
> application code, and as little change to Struts itself as possible.
> Simplicity is the key to this!
>
> Today I released a second version of this project to the user's
> mailing list, and after some feedback I think it's at a point where
> I'd like to make you all aware of it, and get some higher-level
> feedback. It's certainly far from complete at this point, but I think
> even now it's in a useful form.
>
> My hope is that eventually it will be good enough to be included in
> the base Struts distro, but that's obviously a long way off, if ever.
>
> With all that in mind, please at your convenience visit
> http://www.omnytex.com/strutsws
>
> There you will find some more detailed technical information and a
> download which contains everything you need, including a simple sample
> webapp demonstrating the whole mess.
>
> I thank you in advance for any time you spend on this!
>
> Frank W. Zammetti
>
> _________________________________________________________________
> Looking to buy a house? Get informed with the Home Buying Guide from
> MSN House & Home. http://coldwellbanker.msn.com/
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org
RE: Struts Web Services Enablement Project
Posted by Andrew Hill <an...@gridnode.com>.
I can see a use for this in what Im doing! :-)
Im busy writing (in what little spare time I have!) a multiplayer strategy
game - using Struts of course, and while its cool having it go through a
browser interface, being able to do a richer UI in Swing (or whatever) for
those players willing to download such a thing (or even write one
themselves!) would be cool, and of course web services would be the way to
do it. If I could just dump in your request processor and immediately have
the web services running, that would be very nice indeed. In this case the
'use cases' of the actions would mostly match what Id like a richer client
to be able to do too.
As for what Ted said about using the chain, that would be a good thing to
follow up. My apps generally tend to have a customised request processor and
Struts 1.1 doesnt let you have multiple RPs, but using the chain will make
it a lot easier to integrate 3rd party request processing logics without
having to do too much extra work. :-)
btw: does your thing generate the wsdl files?
That would be really neat. I could whack em straight into Axis and bang up a
swing client extra fast then!
-----Original Message-----
From: Ted Husted [mailto:husted@apache.org]
Sent: Friday, 4 June 2004 19:57
To: Struts Developers List
Subject: Re: Struts Web Services Enablement Project
Yes, you did the right thing. You cobbled up enough code to prove the
concept and brought it out to show before it was too late to go another way.
:)
I've an interest in Web Services, so I'll be taking a closer look at this.
But here are some superficial points:
* Please consider putting the code under Apache License 2.0
<http://apache.org/licenses/>. I
* It's true that, in practice, the Struts Actions create a coarsely-grained
business API. But, attaching the moniker "business logic" to Actions will
start theological discussions. It's true that if an Action is factored
properly, it would be easy to recreate as some web service class. It's also
true that exposing existing Actions as Web Services, would be valuable to a
lot of people. So, keep the idea but drop references to "business logic"
from the documentation. An Action is what an Action is :)
* Working at the RequestProcessor level seems like the right approach to me,
but you'll want to take a look at the Struts-Chain RequestProcessor in
Contrib. It's based on the Commons Chain package and is slated to become the
default RequestProcessor in the Struts 1.3.x series.
* http://cvs.apache.org/viewcvs.cgi/jakarta-struts/contrib/struts-chain/
* http://cvs.apache.org/viewcvs.cgi/jakarta-commons-sandbox/chain/
I'll take a closer look at the code tonight, but wanted to get these
preliminary points off to you.
-Ted.
On Thu, 03 Jun 2004 15:46:23 -0400, Frank Zammetti wrote:
> Hello devs! This is my first time posting here, and my first
> attempt at contributing to an Apache project. I hope I'm going
> about it properly! :)
>
> In short, I have a little project going with the stated goal of
> allowing a Struts developer to expose any existing business logic,
> as implemented in Struts Actions and their subordinate helper
> classes, as Web Services, and do this with NO changes required to
> any existing application code, and as little change to Struts
> itself as possible. Simplicity is the key to this!
>
> Today I released a second version of this project to the user's
> mailing list, and after some feedback I think it's at a point where
> I'd like to make you all aware of it, and get some higher-level
> feedback. It's certainly far from complete at this point, but I
> think even now it's in a useful form.
>
> My hope is that eventually it will be good enough to be included in
> the base Struts distro, but that's obviously a long way off, if
> ever.
>
> With all that in mind, please at your convenience visit
> http://www.omnytex.com/strutsws
>
>
> There you will find some more detailed technical information and a
> download which contains everything you need, including a simple
> sample webapp demonstrating the whole mess.
>
> I thank you in advance for any time you spend on this!
>
>
> Frank W. Zammetti
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org
Re: Struts Web Services Enablement Project
Posted by Ted Husted <hu...@apache.org>.
Yes, you did the right thing. You cobbled up enough code to prove the concept and brought it out to show before it was too late to go another way. :)
I've an interest in Web Services, so I'll be taking a closer look at this. But here are some superficial points:
* Please consider putting the code under Apache License 2.0 <http://apache.org/licenses/>. I
* It's true that, in practice, the Struts Actions create a coarsely-grained business API. But, attaching the moniker "business logic" to Actions will start theological discussions. It's true that if an Action is factored properly, it would be easy to recreate as some web service class. It's also true that exposing existing Actions as Web Services, would be valuable to a lot of people. So, keep the idea but drop references to "business logic" from the documentation. An Action is what an Action is :)
* Working at the RequestProcessor level seems like the right approach to me, but you'll want to take a look at the Struts-Chain RequestProcessor in Contrib. It's based on the Commons Chain package and is slated to become the default RequestProcessor in the Struts 1.3.x series.
* http://cvs.apache.org/viewcvs.cgi/jakarta-struts/contrib/struts-chain/
* http://cvs.apache.org/viewcvs.cgi/jakarta-commons-sandbox/chain/
I'll take a closer look at the code tonight, but wanted to get these preliminary points off to you.
-Ted.
On Thu, 03 Jun 2004 15:46:23 -0400, Frank Zammetti wrote:
> Hello devs! This is my first time posting here, and my first
> attempt at contributing to an Apache project. I hope I'm going
> about it properly! :)
>
> In short, I have a little project going with the stated goal of
> allowing a Struts developer to expose any existing business logic,
> as implemented in Struts Actions and their subordinate helper
> classes, as Web Services, and do this with NO changes required to
> any existing application code, and as little change to Struts
> itself as possible. Simplicity is the key to this!
>
> Today I released a second version of this project to the user's
> mailing list, and after some feedback I think it's at a point where
> I'd like to make you all aware of it, and get some higher-level
> feedback. It's certainly far from complete at this point, but I
> think even now it's in a useful form.
>
> My hope is that eventually it will be good enough to be included in
> the base Struts distro, but that's obviously a long way off, if
> ever.
>
> With all that in mind, please at your convenience visit
> http://www.omnytex.com/strutsws
>
>
> There you will find some more detailed technical information and a
> download which contains everything you need, including a simple
> sample webapp demonstrating the whole mess.
>
> I thank you in advance for any time you spend on this!
>
>
> Frank W. Zammetti
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org