Remote procedure call via DBMS_PIPE/AQ/whatever

  • From: "Moore, Paul" <Paul.Moore@xxxxxxxxxxxxxx>
  • To: "Oracle-L (E-mail)" <Oracle-L@xxxxxxxxxxxxx>
  • Date: Tue, 13 Dec 2005 10:50:35 -0000

I am building an application which needs to initiate a background process and 
receive its result. This is effectively a remote procedure call from one 
database session to another.

I have the application working using DBMS_PIPE - my "background" application 
runs as a Windows service, watching a pipe for requests, and processing them 
when they arrive then returning a result. The "main" application sends a 
request, plus a pipe name to use for the result, down the request pipe, then 
polls the result pipe to determine when the server has completed the request.

This works OK, but I've had to write a lot of fiddly code to manage request and 
response pipes, handle errors, etc. It feels like I'm reinventing a wheel here. 
I've also looked at the AQ documentation, but that also seems to focus on 
broadcast-style communication, rather than request/response interaction.

Have I missed anything? With internet service applications, there are a lot of 
options for remote requests (XML-RPC, SOAP) and I'm a little surprised that 
there isn't anything similar in Oracle (actually, if it helped, I could quite 
happily rewrite my "server" as an XML-RPC server, and use XML-RPC client code 
from the database, if such a thing existed...)

Any suggestions? Or should I just stick with my home-built solution?

Thanks,
Paul Moore.


__________________________________________________________________________
This e-mail and the documents attached are confidential and intended 
solely for the addressee; it may also be privileged. If you receive this 
e-mail in error, please notify the sender immediately and destroy it.
As its integrity cannot be secured on the Internet, the Atos Origin group 
liability cannot be triggered for the message content. Although the 
sender endeavours to maintain a computer virus-free network, the sender 
does not warrant that this transmission is virus-free and will not be 
liable for any damages resulting from any virus transmitted.
__________________________________________________________________________
--
//www.freelists.org/webpage/oracle-l


Other related posts: