Bug 778981 (SOA-1407) - Strategies for WS Proxy - P2
Summary: Strategies for WS Proxy - P2
Keywords:
Status: CLOSED NEXTRELEASE
Alias: SOA-1407
Product: JBoss Enterprise SOA Platform 5
Classification: JBoss
Component: Documentation
Version: unspecified
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
: 5.0.0 GA
Assignee: Dana Mison
QA Contact:
URL: http://jira.jboss.org/jira/browse/SOA...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-07-09 00:56 UTC by Dana Mison
Modified: 2011-11-30 17:11 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-11-30 17:11:43 UTC
Type: Feature Request


Attachments (Terms of Use)
Programmers_Guide.pdf (2.45 MB, application/pdf)
2009-10-06 04:44 UTC, David Le Sage
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker SOA-1407 0 None None None Never

Description Dana Mison 2009-07-09 00:56:21 UTC
Affects: Documentation (Ref Guide, User Guide, etc.)
Date of First Response: 2009-07-16 15:26:39
project_key: SOA

Take the document WebService_Proxy_v3.odt, along with the changes for ESB 4.6 and incorprate into a professional quality user guide

From the PRD requirements: https://docspace.corp.redhat.com/clearspace/docs/DOC-19933

Comment 1 David Ward 2009-07-16 19:26:38 UTC
Link: Added: This issue depends JBESB-2672


Comment 2 David Ward 2009-07-16 19:26:39 UTC
Linking to JBESB-2672, which represents the ESB 4.6 WS Proxy stuff I implemented.

Comment 3 David Ward 2009-07-16 19:31:07 UTC
Linking to JBESB-2746, which represents the quickstarts which demonstrate the capabilities outlined as "P1" in the PRD: webservice_proxy_basic, webservice_proxy_routed, webservice_proxy_versioning.

Comment 4 David Ward 2009-07-16 19:31:07 UTC
Link: Added: This issue depends JBESB-2746


Comment 5 Dana Mison 2009-07-24 02:06:26 UTC
You've probably already incorporated the documentation changes from the Programmer's Guide.

Have a look at the JIRAs & the documentation changes that were made.  I suspect that this content would be in the "out of the box" actions chapter under webservices.

Also see if you can find WebService_Proxy_v3.odt if it exists ;-)

Comment 6 David Le Sage 2009-10-05 05:31:46 UTC
Hello David


I believe that Section 11.9 of the SOA 5.0 Programmers' Guide now contains all of the information that you require.

Do you have a copy of the WebService_Proxy_v3.odt document, to which Darrin refers in the comment above?  Does it contain any information that I need to incorporate into the Programmers' Guide?


Many thanks,


David Le Sage

Comment 7 David Ward 2009-10-05 14:01:48 UTC
Please provide me a link to the newest SOA-P 5.0 Programmer's Guide.

I do have a copy of the WebService_Proxy_v3.odt file.  I'll take another look at it and respond.

Comment 8 David Ward 2009-10-05 14:19:10 UTC
Kevin requested this to be assigned to him for now.

Comment 9 David Le Sage 2009-10-06 04:44:49 UTC
Latest draft of 5.0 Programmers' Guide.

Comment 10 David Le Sage 2009-10-06 04:44:49 UTC
Attachment: Added: Programmers_Guide.pdf


Comment 11 David Ward 2009-11-10 15:19:08 UTC
FYI, I've updated the Programmer's Guide on trunk for ESB 4.7:
http://anonsvn.jboss.org/repos/labs/labs/jbossesb/trunk/product/docs/ProgrammersGuide.odt
http://anonsvn.jboss.org/repos/labs/labs/jbossesb/trunk/product/docs/ProgrammersGuide.pdf
One of the doc improvements was describing different WSDL URLs that are now supported, per JBESB-2855.

Comment 12 Jiri Pechanec 2010-01-05 12:22:48 UTC
The title of this issue says - Strategy for... - what I found in the documentation is mostly description of SOAPProxy action.
I am assigning it to Burr to verify that the current level of documentation is sufficient. If so the issue can be closed

Comment 13 Burr Sutter 2010-01-05 20:35:51 UTC
There was supposed to be a section/chunk of content that would "compare & contrast" the following tools:
- SOAPProxy
- HTTPRouter
- SOAPClient (WISE)
- SOAPClient (non-WISE)
- SOAPProcessor

So that an end-user can make the best decision about which tool to use.



Comment 14 Burr Sutter 2010-01-22 17:21:25 UTC
Darrin, I believe you will need to go back to the ESB team for more input on this task.  

Comment 15 Dana Mison 2010-01-25 00:28:57 UTC
Do we have any information that matches Burr's request ?

Comment 16 Kevin Conner 2010-01-25 09:53:29 UTC
There is nothing like that in the Programmer's Guide, so it will have to be written.

Comment 17 Lukáš Petrovický 2010-01-26 08:41:36 UTC
Link: Added: This issue is a dependency of JBQA-2865


Comment 18 Dana Mison 2010-01-27 04:03:15 UTC
The initial requested content is done, I'll raise a JBESB JIRA for the "compare & contrast" content that Burr would like.

Comment 19 Len DiMaggio 2010-02-03 17:43:02 UTC
This is not resolved in the docs for ER8.

Comment 20 Dana Mison 2010-02-04 00:19:32 UTC
What is not resolved apart from the "compare & contrast" content that Burr requested ?

Comment 21 David Ward 2010-02-05 19:41:27 UTC
I had added this to the SOAPProxy section of the programmer's guid a while back, when distinguishing SOAPProxy from the others:

- SOAPClient is used to invoke external web services, not mirror them.
- SOAPProducer only executes internally-deployed JBoss WS services.
- HttpRouter requires too much by-hand configuration for easy WS proxying.
- EBWS strips out the SOAP Envelope and only passes along the body.

Of course, that should say "SOAPProcessor" not "SOAPProducer" - oops.

Also, here are more specifics on the benefits of SOAPProxy over HttpRouter:

1) HttpRouter can only talk to one endpoint.  One WSDL can specify multiple soap:address locations.  With the SOAPProxy, you just config the one location of the WSDL, and it can dynamically route the request to the correct soap:address location.

2) To use HttpRouter with SOAP, you have to always configure a MappedHeaderList (usually "Content-Type, Accept, Authorization, SOAPAction").  This is unnecessary with the SOAPProxy.

3) The SOAPProxy allows you to specify a wsdlTransform, which allows you to transform the original WSDL to something else you want the SOAPProxy to expose.  (This handles the "versioning" use case, and also usually means you'll want to use XsltAction or SmooksAction in the action pipeline.)

4) If you are proxying to a BASIC Auth secured web service, the "clientCredentialsRequired" property of the SOAPProxy allows you to specify if the credentials should be passed into the SOAPProxy from the client (the default, in which case the credentials are propagated), or if you want the proxy to be wide-open, but *it* will handle the authentication to the proxied service for you.

5) SOAPProxy is designed to talk to more than just HTTP endpoints, although HTTP is all that is implemented right now.

6) When using the new http-gateway to front the SOAPProxy, the ESB will automatically transform and cache the WSDL and make it available at the well-known location of ${endpoint}?wsdl (or ?WSDL). 

Finally, here's a blog post I did a while back which might also help:
http://jbossesb.blogspot.com/2009/11/proxying-soap-web-services-in-jbossesb.html



Comment 22 Dana Mison 2010-02-12 01:16:48 UTC
This content was added to the upstream ESB Programmers Guide.  It would seem to have been missed when updated the product doc.  I'm looking at this now.

Comment 23 Dana Mison 2010-02-25 06:13:52 UTC
opps, resolved.

Comment 26 Dana Mison 2010-03-04 03:29:16 UTC
#1 & 2 added to the list of reasons not to use HttpRouter

#3 is already described

#4 to the list of advantages to using SOAProxy

#5 added as a note at the end of the section

#4 & #6 added to list of what SOAProxy provides

pushed to redhat.com/docs/en-US/JBoss_SOA_Platform/

Comment 27 Len DiMaggio 2011-11-30 17:11:43 UTC
Closing - the book was updated in the 5.2 release.


Note You need to log in before you can comment on or make changes to this bug.