[jbossts-issues] [JBoss JIRA] Commented: (JBTM-776) Enable XTS client deployments without the need for a JaxWS endpoint

Andrew Dinn (JIRA) jira-events at lists.jboss.org
Wed Sep 1 10:25:12 EDT 2010


    [ https://jira.jboss.org/browse/JBTM-776?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12548335#action_12548335 ] 

Andrew Dinn commented on JBTM-776:
----------------------------------

This is now working. The coordinator side now includes two extra endpoints which handle AT and BA termination requests using an RPC MEP. These are declared in the ws-t11-coordinator web-app.xml and are initialised by CoordinatroSideInitialisation. The assumption is that both the RPC-based and OneWay based services will run on the coordinator side allowing both types of client to be served.

The client side can be configured to use the RPC based termination protocol simply by switching to a different implementation of the UserTransaction and UserBusinessActivity classes. The implementation classes specified in the xts-properties.xml or jboss-beans.xml needs to be modified from

  com.arjuna.mwlabs.wst11.at.remote.UserTransactionImple
  com.arjuna.mwlabs.wst11.ba.remote.UserBusinessActivityImple

to

  com.arjuna.mwlabs.wst11.at.remote.UserTransactionStandaloneImple
  com.arjuna.mwlabs.wst11.ba.remote.UserBusinessActivityStandaloneImple

Currently, this is all the only configuration change needed on the client side. The associated manager classes do not need to be redefined. The client deployment can drop the ws-t11-client war because the endpoint is no longer needed.

Strictly, the client side initialisation class should be changed to drop the calls to CompletionInitiatorInitialisation.startup() and TerminationParticipantInitialisation.startup() and just call WSTXInitialisation.startup(). However, these calls do no harm. This can be addressed in a later patch by providing an alternative client side init routine which only does WSTX initialistaion.


> Enable XTS client deployments without the need for a JaxWS endpoint
> -------------------------------------------------------------------
>
>                 Key: JBTM-776
>                 URL: https://jira.jboss.org/browse/JBTM-776
>             Project: JBoss Transaction Manager
>          Issue Type: Feature Request
>      Security Level: Public(Everyone can see) 
>          Components: XTS
>    Affects Versions: 4.12.0
>            Reporter: Andrew Dinn
>            Assignee: Andrew Dinn
>
> It would be very useful if the XTS client code could be deployed embedded with JBossTS without the need to deploy any JaxWS endpoints i.e. so that it only required httpclient capability. This would allow development of, say, CXF-based clients running on a simple desktop system which use embedded TS/XTS to provide transactional access to web services. Removal of the JaxWS endpoints avoids the need to expose the desktop machine with a public IP address, open up fire walls etc which are serious barriers to such deployments.
> At present implementing this change  is stopped by two factors:
> - the XTS code cannot be built and configured as a client only deployment
> - the  Completion protocols used by WS-AT and WS-BA to terminate transactions employ one way messages
> the latter requirement forces the client to expose an endpoint for delivery of the message confirming and  identifying  the outcome of a termination request.
> The first problem will be addressed by a related issue.
> Solving the second problem requires implementing an alternative version of the Completion services employing protocol messages with an RPC  message exchange pattern. For WS-BA this raises no serious issues since the BA standard does not specify the details of the Completion protocol -- we can do what we like in this regard.
> In the case of WS-AT the spec does define the protocol. So, any alternative we provide will be non-standard i.e. it willl only work if the client is talking to a JBoss coordinator (this is already the situation for our or anyone else's BA client implementation, mind you). While this does not invalidate adding this feature it does qualify its utility since clients developed using  this extension will  not be portable. If this feature works and is useful it woudl be worth lobbying to get it adopted as part of the standard.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jbossts-issues mailing list