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.
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