Re: AxKit2 continuations

2008-04-18 Thread Jörg Walter
On Wednesday, 16. April 2008, Martijn wrote:

 one thing at a time. Doesn't this mean that it can also do one XSLT
 transformation or XSP interpretation at a time so if someone requests
 a 'heavy' page than no one else will be able to access the AxKit
 server?

Right. So keep your XSLT / XSP small. The point of AxKit2 is to make it easy 
to do application logic in pure perl code (which can use asynchronous 
processing using pseudo-continuations). That way, the presentation layer 
remains small and fast.

-- 
CU
  Jörg

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: AxKit2 continuations

2008-04-17 Thread Martijn
On Wed, Apr 16, 2008 at 5:23 PM,  roseyaxkit wrote:
  Yes, one thing at a time. So, if you have something that takes a long time
 to complete, no other clients will be served or indeed be able to connect.
 However, with asynch IO (AIO) enabled, most stuff is _very_ fast.
  With AIO you can asynch fds, sockets, file handles etc. This is fine for
  static files and even xslt, the problem is with anything that isn't
  asynchable. I had that problem with my app. The app had to go to a database
 for every request. This is fine for most requests, but you only need one
 slow request to break it. So, what I have is an axkit2 front end that sends
 requests to a perl rpc server (Net::Server).

Cool. Thanks a lot for that. Depending how fast '_very_ fast' is I
might go for the Net::Server solution too.

In any case, it's a pleasure to play with AxKit2 - it's a really nice
piece of software.

Martijn.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



AxKit2 continuations

2008-04-16 Thread Martijn
Hello.

I'm currently looking into AxKit2 again, this time with the ultimate
(and hopefully not-so-long-term) goal of converting our web server to
run on AxKit2 (with an Apache front-end that is). Now that I have a
better understanding of how AxKit2 works, I am quite excited about it
and am already looking forward to developing some new modules. One
thing that I don't understand though is how continuations work. The
way I read it, but I may very well be wrong, the AxKit server can do
one thing at a time. Doesn't this mean that it can also do one XSLT
transformation or XSP interpretation at a time so if someone requests
a 'heavy' page than no one else will be able to access the AxKit
server?

Thanks.

Martijn.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: AxKit2 continuations

2008-04-16 Thread roseyaxkit . 20 . ftumsh

Martijn wrote:

I'm currently looking into AxKit2 again, this time with the ultimate
(and hopefully not-so-long-term) goal of converting our web server to
run on AxKit2 (with an Apache front-end that is). Now that I have a
better understanding of how AxKit2 works, I am quite excited about it
and am already looking forward to developing some new modules. One
thing that I don't understand though is how continuations work. The
way I read it, but I may very well be wrong, the AxKit server can do
one thing at a time. Doesn't this mean that it can also do one XSLT
transformation or XSP interpretation at a time so if someone requests
a 'heavy' page than no one else will be able to access the AxKit
server?


Yes, one thing at a time. So, if you have something that takes a long 
time to complete, no other clients will be served or indeed be able to 
connect. However, with asynch IO (AIO) enabled, most stuff is _very_ fast.

With AIO you can asynch fds, sockets, file handles etc. This is fine for
static files and even xslt, the problem is with anything that isn't
asynchable. I had that problem with my app. The app had to go to a 
database for every request. This is fine for most requests, but you only 
need one slow request to break it. So, what I have is an axkit2 front 
end that sends requests to a perl rpc server (Net::Server).
The rpc server just takes requests and returns xml. Ax2 listens for 
requests asynch and sends requests and receives xml results asynch too.
All the web stuff is in ax2, all the app logic is in the rpc server. It 
should also be scalable, I can in theory easily put the rpc server on 
multiple boxes, as well as the ax2 server.


John

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]