In a message dated 11/3/2003 1:42:53 PM Eastern Standard Time, DouglasStvnsn writes:
I have a tcp oriented service that I have done with a DBI type backend thingy in a run wheel...
 
My problem with the SOAP wasn't so much the SOAP stuff but the type of data I was attempting to SOAPify...  My data is like a grep of a pattern on a file or a tail -f of a file...  I push a line back to the client as each line is received.  With POE + SocketFactory and Run wheels to handle the elements that could take some time, it works fine.
 
In SOAP, however, this does not work.  SOAP is actually an XML based "Envelope" of XML Data transferred via HTTP.  Within an Envelope, you expect what you send to be ALL of the data in a letter. However, if you're grepping a 2GB file, it may contain several hundred lines that match the grep string.  In the case of SOAP, you load this into memory (Which could get H U G E! especially if some user greps on *!!!...) Plus, if I lag output as part of waiting on ALL of the data to be retrieved, then my users will not use it.
 
The POE::Component::Server::SOAP function does maintain state of each request.  This is done via @_[ARG0] where it passes a reference to the transaction.  From there, you can get the parameters...  Look at the sub do_sum in the doco at http://search.cpan.org/~rcaputo/POE-Component-Server-SOAP-0.03/SOAP.pm
 
Also, take a look at POE::Component::LaDBI...
 
SOAP and Security? Ha!  SOAP is inherently insecure...  But it can be secured IF you secure it via HTTPD.  I've heard XMLRPC is more secureable but haven't explored this....
 
Dougie!!!
 
 
 
In a message dated 11/3/2003 9:37:09 AM Eastern Standard Time, [EMAIL PROTECTED] writes:
Hi

Having lurked on this list (when time permits) for a while, I'm still not sure
for what range of applications Poe should be the right choice.

Right now I'm looking at writing a soap server as a backend to an embperl
application. SOAP::Lite includes an example for using HTTP::Daemon, which
looks simple.

I've seen soap mentioned with Poe as well.

Why would I want to use Poe over HTTP::Daemon and vice-verse ?

If I add this information
- The soapserver will talk to a PostgreSQL database.
- I'm not sure how to handle the database connection. No need for a new
  handle for each new request, but handles expire after some time of
  inactivity.
- I'd like the server to do its own maintenance. Once in a while it could
  remove old sessions or do other tricks like time-based business methods.
- It will perform a lot of methods from a lot of business modules.
- Can a Poe-server hold the state over several requests ? I guess the answer
  is  yes, but do examples exist ?
- How about security. I suppose that ssl is no problem ?
- Authenticity - the server has to know who's requesting the service and see
  if they'r allowed to do so.

--
Kaare Rasmussen            --Linux, spil,--        Tlf:        3816 2582
Kaki Data                tshirts, merchandize      Fax:        3816 2501
Howitzvej 75               �ben 12.00-18.00        Email: [EMAIL PROTECTED]
2000 Frederiksberg        L�rdag 12.00-16.00       Web:      www.suse.dk
--- Begin Message ---
I have a tcp oriented service that I have done with a DBI type backend thingy in a run wheel...
 
My problem with the SOAP wasn't so much the SOAP stuff but the type of data I was attempting to SOAPify...  My data is like a grep of a pattern on a file or a tail -f of a file...  I push a line back to the client as each line is received.  With POE + SocketFactory and Run wheels to handle the elements that could take some time, it works fine.
 
In SOAP, however, this does not work.  SOAP is actually an XML based "Envelope" of XML Data transferred via HTTP.  Within an Envelope, you expect what you send to be ALL of the data in a letter. However, if you're grepping a 2GB file, it may contain several hundred lines that match the grep string.  In the case of SOAP, you load this into memory (Which could get H U G E! especially if some user greps on *!!!...) Plus, if I lag output as part of waiting on ALL of the data to be retrieved, then my users will not use it.
 
The POE::Component::Server::SOAP function does maintain state of each request.  This is done via @_[ARG0] where it passes a reference to the transaction.  From there, you can get the parameters...  Look at the sub do_sum in the doco at http://search.cpan.org/~rcaputo/POE-Component-Server-SOAP-0.03/SOAP.pm
 
Also, take a look at POE::Component::LaDBI...
 
SOAP and Security? Ha!  SOAP is inherently insecure...  But it can be secured IF you secure it via HTTPD.  I've heard XMLRPC is more secureable but haven't explored this....
 
Dougie!!!
 
 
 
In a message dated 11/3/2003 9:37:09 AM Eastern Standard Time, [EMAIL PROTECTED] writes:
Hi

Having lurked on this list (when time permits) for a while, I'm still not sure
for what range of applications Poe should be the right choice.

Right now I'm looking at writing a soap server as a backend to an embperl
application. SOAP::Lite includes an example for using HTTP::Daemon, which
looks simple.

I've seen soap mentioned with Poe as well.

Why would I want to use Poe over HTTP::Daemon and vice-verse ?

If I add this information
- The soapserver will talk to a PostgreSQL database.
- I'm not sure how to handle the database connection. No need for a new
  handle for each new request, but handles expire after some time of
  inactivity.
- I'd like the server to do its own maintenance. Once in a while it could
  remove old sessions or do other tricks like time-based business methods.
- It will perform a lot of methods from a lot of business modules.
- Can a Poe-server hold the state over several requests ? I guess the answer
  is  yes, but do examples exist ?
- How about security. I suppose that ssl is no problem ?
- Authenticity - the server has to know who's requesting the service and see
  if they'r allowed to do so.

--
Kaare Rasmussen            --Linux, spil,--        Tlf:        3816 2582
Kaki Data                tshirts, merchandize      Fax:        3816 2501
Howitzvej 75               �ben 12.00-18.00        Email: [EMAIL PROTECTED]
2000 Frederiksberg        L�rdag 12.00-16.00       Web:      www.suse.dk

--- End Message ---

Reply via email to