I had talked with Michael briefly yesterday and he mentioned that there
were some show stoppers in 2.8 that got in the way of enabling streaming server support in 7.6 so I figured I'd bring it up here to see what the problems were and if there was some way I could perhaps help the efforts? Cheers! -Boris -- +1.604.689.0322 DeepCove Labs Ltd. 4th floor 595 Howe Street Vancouver, Canada V6C 2T5 http://tinyurl.com/r7uw4 [hidden email] CONFIDENTIALITY NOTICE This email is intended only for the persons named in the message header. Unless otherwise indicated, it contains information that is private and confidential. If you have received it in error, please notify the sender and delete the entire message including any attachments. Thank you. _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
> I had talked with Michael briefly yesterday and he mentioned that there
> were some show stoppers in 2.8 that got in the way of enabling streaming > server support in 7.6 so I figured I'd bring it up here to see what the > problems were and if there was some way I could perhaps help the > efforts? What show stoppers? It works on Squeak. Why now? Seaside 2.8 is out for months, after a long beta phase where such a concern should have been raised. Lukas -- Lukas Renggli http://www.lukas-renggli.ch _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Lukas,
You have a streaming adaptor in Squeak? Like I said, I don't know what Michael was referring to specifically, I was hoping Martin and/or Tamara could chime in and set the record straight. Thanks! -Boris -- +1.604.689.0322 DeepCove Labs Ltd. 4th floor 595 Howe Street Vancouver, Canada V6C 2T5 http://tinyurl.com/r7uw4 [hidden email] CONFIDENTIALITY NOTICE This email is intended only for the persons named in the message header. Unless otherwise indicated, it contains information that is private and confidential. If you have received it in error, please notify the sender and delete the entire message including any attachments. Thank you. > -----Original Message----- > From: [hidden email] [mailto:seaside- > [hidden email]] On Behalf Of Lukas Renggli > Sent: Monday, April 21, 2008 10:09 AM > To: Seaside - general discussion > Subject: Re: [Seaside] [VW][7.6] Streaming? > > > I had talked with Michael briefly yesterday and he mentioned that there > > were some show stoppers in 2.8 that got in the way of enabling > streaming > > server support in 7.6 so I figured I'd bring it up here to see what the > > problems were and if there was some way I could perhaps help the > > efforts? > > What show stoppers? It works on Squeak. > > Why now? Seaside 2.8 is out for months, after a long beta phase where > such a concern should have been raised. > > Lukas > > -- > Lukas Renggli > http://www.lukas-renggli.ch > _______________________________________________ > seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
> You have a streaming adaptor in Squeak?
Yes, the streaming server adaptor was introduced in Seaside 2.6. Its use is a requirement for the Comet implementation I wrote in the beginning of 2006. I regularly use it to run all the functional tests and as far as I know it passes them all. I don't have much experience using the streaming adaptor in productive systems though. Lukas -- Lukas Renggli http://www.lukas-renggli.ch _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
2008/4/21, Lukas Renggli <[hidden email]>:
> > You have a streaming adaptor in Squeak? > > > Yes, the streaming server adaptor was introduced in Seaside 2.6. Its > use is a requirement for the Comet implementation I wrote in the > beginning of 2006. I regularly use it to run all the functional tests > and as far as I know it passes them all. I don't have much experience > using the streaming adaptor in productive systems though. And since this weekend we not only have a response-streaming adapter but also a request streaming adapter (for file uploads). There were no changes required that wouldn't make it run on Seaside 2.6. So this really surprises me. Cheers Philippe _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Ah, perhaps I misunderstood Michael then, I'll wait for clarification
from Martin... Thanks! -Boris -- +1.604.689.0322 DeepCove Labs Ltd. 4th floor 595 Howe Street Vancouver, Canada V6C 2T5 http://tinyurl.com/r7uw4 [hidden email] CONFIDENTIALITY NOTICE This email is intended only for the persons named in the message header. Unless otherwise indicated, it contains information that is private and confidential. If you have received it in error, please notify the sender and delete the entire message including any attachments. Thank you. > -----Original Message----- > From: [hidden email] [mailto:seaside- > [hidden email]] On Behalf Of Philippe Marschall > Sent: Monday, April 21, 2008 10:36 AM > To: Seaside - general discussion > Subject: Re: [Seaside] [VW][7.6] Streaming? > > 2008/4/21, Lukas Renggli <[hidden email]>: > > > You have a streaming adaptor in Squeak? > > > > > > Yes, the streaming server adaptor was introduced in Seaside 2.6. Its > > use is a requirement for the Comet implementation I wrote in the > > beginning of 2006. I regularly use it to run all the functional > > and as far as I know it passes them all. I don't have much experience > > using the streaming adaptor in productive systems though. > > And since this weekend we not only have a response-streaming adapter > but also a request streaming adapter (for file uploads). There were no > changes required that wouldn't make it run on Seaside 2.6. So this > really surprises me. > > Cheers > Philippe > _______________________________________________ > seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
I have to admit I'm sooo not ready for this discussion, but I guess I better say something.
First, when we were working on streaming integration with Seaside 2.8 back in August last year, Seaside 2.8 was nearing its release and it was quite late for any disruptive changes. So we tried to just hack our way through the problem and came up with an integration solution that we didn't like but seemed to be working. We were planning to ship 2.8 with our hack-ish solution and revisit streaming later at a more opportune time. Of course, as we were nearing our VW7.6 freeze dates we found out the hack-ish solution still had some issues, and in the end we decided to disable the streaming support altogether for the 7.6 release. Right now we're working to get Velocity 1.0 out and consequently didn't have time to look at Seaside 2.9 at all. So I feel completely unprepared to discuss this particular problem. However to say at least something more specific, IIRC one of the main problems we ran into was that the streaming support back in Seaside 2.8 was pretty much hardwired so that Seaside itself wanted to write the HTTP headers into the provided socket stream. That doesn't fit our server at all. The server is designed to write the headers and only the message payload/body is the responsibility of whatever the application layer is. There are of course mechanisms provided to let the app-layer add headers it wants to send, but the actually writing of headers out on the socket is the server's job. Moreover Seaside's HTTP writing support is rather simplistic and didn't seem prepared to deal with any of the more complex issues, like writing the "quoted" encoding (e.g. ?iso-8859-2?Q?....?, or the base 64 variant ?B?) for non-ascii header values, header field folding etc. So the hack we had was really suppressing all that in our server code and letting Seaside do its thing, as much as it could. I'm not sure anymore if the problems that lead us to disable streaming were due to Seaside's limited HTTP abilities or not. Either way we hoped to convince the Seaside folks that, rather than doing a bit here and bit there, Seaside should just stay away from HTTP writing/parsing as much as it can. So in the streaming mode the desired set of headers should be handed over to the server upfront and then there should be a separate call from the server back to Seaside to write just the streamed body into a provided socket stream. This may well be the direction that 2.9 already went, I don't know. There were more things we wanted to bring up, but I'll have to go back to find out. Martin Boris Popov wrote: > Ah, perhaps I misunderstood Michael then, I'll wait for clarification > from Martin... > > Thanks! > > -Boris > _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
I appreciate the feedback Martin, the reason I brought it up is because
I upgraded to the latest-and-greatest 7.6 last week and ported to Opentalk-Seaside at the same time. Figured might as well look into streaming as there was some talk about it back when the project was announced. I am not particularly missing anything given that we were on a non-streaming server before, but it's certainly something I wouldn't mind having if it were offered. -Boris -- +1.604.689.0322 DeepCove Labs Ltd. 4th floor 595 Howe Street Vancouver, Canada V6C 2T5 http://tinyurl.com/r7uw4 [hidden email] CONFIDENTIALITY NOTICE This email is intended only for the persons named in the message header. Unless otherwise indicated, it contains information that is private and confidential. If you have received it in error, please notify the sender and delete the entire message including any attachments. Thank you. > -----Original Message----- > From: [hidden email] [mailto:seaside- > [hidden email]] On Behalf Of Martin Kobetic > Sent: Monday, April 21, 2008 2:18 PM > To: Seaside - general discussion > Subject: Re: [Seaside] [VW][7.6] Streaming? > > I have to admit I'm sooo not ready for this discussion, but I guess I > better say something. > > First, when we were working on streaming integration with Seaside 2.8 > in August last year, Seaside 2.8 was nearing > its release and it was quite late for any disruptive changes. So we tried > to just hack our way through the problem and > came up with an integration solution that we didn't like but seemed to be > working. We were planning to ship 2.8 with our > hack-ish solution and revisit streaming later at a more opportune time. Of > course, as we were nearing our VW7.6 freeze > dates we found out the hack-ish solution still had some issues, and in the > end we decided to disable the streaming > support altogether for the 7.6 release. Right now we're working to get > Velocity 1.0 out and consequently didn't have > time to look at Seaside 2.9 at all. So I feel completely unprepared to > discuss this particular problem. > > However to say at least something more specific, IIRC one of the main > problems we ran into was that the streaming > support back in Seaside 2.8 was pretty much hardwired so that Seaside > itself wanted to write the HTTP headers into the > provided socket stream. That doesn't fit our server at all. The server > designed to write the headers and only the > message payload/body is the responsibility of whatever the application > layer is. There are of course mechanisms provided > to let the app-layer add headers it wants to send, but the actually > writing of headers out on the socket is the server's > job. Moreover Seaside's HTTP writing support is rather simplistic and > didn't seem prepared to deal with any of the more > complex issues, like writing the "quoted" encoding (e.g. ?iso-8859- > 2?Q?....?, or the base 64 variant ?B?) for non-ascii > header values, header field folding etc. So the hack we had was really > suppressing all that in our server code and > letting Seaside do its thing, as much as it could. I'm not sure > the problems that lead us to disable > streaming were due to Seaside's limited HTTP abilities or not. > > Either way we hoped to convince the Seaside folks that, rather than doing > a bit here and bit there, Seaside should just > stay away from HTTP writing/parsing as much as it can. So in the streaming > mode the desired set of headers should be > handed over to the server upfront and then there should be a separate call > from the server back to Seaside to write just > the streamed body into a provided socket stream. This may well be the > direction that 2.9 already went, I don't know. > There were more things we wanted to bring up, but I'll have to go back to > find out. > > Martin > > Boris Popov wrote: > > Ah, perhaps I misunderstood Michael then, I'll wait for clarification > > from Martin... > > > > Thanks! > > > > -Boris > > > > _______________________________________________ > seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Well there are of course conceptual issues streaming that are
implementation independent. Once a part of the response was been committed, you can not make up your mind and return something else. This is especially a problem in the rendering phase. This might seem strange but there are some interesting uses for this like WATask. Something like per-component error handlers simply can not work with a streaming server. We had to hack several places to move the #returnResponse: from #renderContentOn: to #updateRoot:. Cheers Philippe 2008/4/21, Boris Popov <[hidden email]>: > I appreciate the feedback Martin, the reason I brought it up is because > I upgraded to the latest-and-greatest 7.6 last week and ported to > Opentalk-Seaside at the same time. Figured might as well look into > streaming as there was some talk about it back when the project was > announced. I am not particularly missing anything given that we were on > a non-streaming server before, but it's certainly something I wouldn't > mind having if it were offered. > > > -Boris > > -- > +1.604.689.0322 > DeepCove Labs Ltd. > 4th floor 595 Howe Street > Vancouver, Canada V6C 2T5 > http://tinyurl.com/r7uw4 > > [hidden email] > > CONFIDENTIALITY NOTICE > > This email is intended only for the persons named in the message > header. Unless otherwise indicated, it contains information that is > private and confidential. If you have received it in error, please > notify the sender and delete the entire message including any > attachments. > > Thank you. > > > -----Original Message----- > > From: [hidden email] [mailto:seaside- > > > [hidden email]] On Behalf Of Martin Kobetic > > Sent: Monday, April 21, 2008 2:18 PM > > To: Seaside - general discussion > > Subject: Re: [Seaside] [VW][7.6] Streaming? > > > > > I have to admit I'm sooo not ready for this discussion, but I guess I > > better say something. > > > > First, when we were working on streaming integration with Seaside 2.8 > back > > in August last year, Seaside 2.8 was nearing > > its release and it was quite late for any disruptive changes. So we > tried > > to just hack our way through the problem and > > came up with an integration solution that we didn't like but seemed to > be > > working. We were planning to ship 2.8 with our > > hack-ish solution and revisit streaming later at a more opportune > time. Of > > course, as we were nearing our VW7.6 freeze > > dates we found out the hack-ish solution still had some issues, and in > the > > end we decided to disable the streaming > > support altogether for the 7.6 release. Right now we're working to get > > Velocity 1.0 out and consequently didn't have > > time to look at Seaside 2.9 at all. So I feel completely unprepared to > > discuss this particular problem. > > > > However to say at least something more specific, IIRC one of the main > > problems we ran into was that the streaming > > support back in Seaside 2.8 was pretty much hardwired so that Seaside > > itself wanted to write the HTTP headers into the > > provided socket stream. That doesn't fit our server at all. The server > is > > designed to write the headers and only the > > message payload/body is the responsibility of whatever the application > > layer is. There are of course mechanisms provided > > to let the app-layer add headers it wants to send, but the actually > > writing of headers out on the socket is the server's > > job. Moreover Seaside's HTTP writing support is rather simplistic and > > didn't seem prepared to deal with any of the more > > complex issues, like writing the "quoted" encoding (e.g. ?iso-8859- > > 2?Q?....?, or the base 64 variant ?B?) for non-ascii > > header values, header field folding etc. So the hack we had was really > > suppressing all that in our server code and > > letting Seaside do its thing, as much as it could. I'm not sure > anymore if > > the problems that lead us to disable > > streaming were due to Seaside's limited HTTP abilities or not. > > > > Either way we hoped to convince the Seaside folks that, rather than > doing > > a bit here and bit there, Seaside should just > > stay away from HTTP writing/parsing as much as it can. So in the > streaming > > mode the desired set of headers should be > > handed over to the server upfront and then there should be a separate > call > > from the server back to Seaside to write just > > the streamed body into a provided socket stream. This may well be the > > direction that 2.9 already went, I don't know. > > There were more things we wanted to bring up, but I'll have to go back > to > > find out. > > > > Martin > > > > Boris Popov wrote: > > > Ah, perhaps I misunderstood Michael then, I'll wait for > clarification > > > from Martin... > > > > > > Thanks! > > > > > > -Boris > > > > > > > _______________________________________________ > > seaside mailing list > > [hidden email] > > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > _______________________________________________ > seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by mkobetic-2
2008/4/21, Martin Kobetic <[hidden email]>:
> I have to admit I'm sooo not ready for this discussion, but I guess I better > say something. > > First, when we were working on streaming integration with Seaside 2.8 back > in August last year, Seaside 2.8 was nearing its release and it was quite > late for any disruptive changes. So we tried to just hack our way through > the problem and came up with an integration solution that we didn't like but > seemed to be working. We were planning to ship 2.8 with our hack-ish > solution and revisit streaming later at a more opportune time. Of course, as > we were nearing our VW7.6 freeze dates we found out the hack-ish solution > still had some issues, and in the end we decided to disable the streaming > support altogether for the 7.6 release. Right now we're working to get > Velocity 1.0 out and consequently didn't have time to look at Seaside 2.9 at > all. So I feel completely unprepared to discuss this particular problem. The time to discuss the problem is now. Otherwise once you have time Seaside 2.9 will be in the same state as Seaside 2.8 and the functionality will be the same because that's what works for us. > However to say at least something more specific, IIRC one of the main > problems we ran into was that the streaming support back in Seaside 2.8 was > pretty much hardwired so that Seaside itself wanted to write the HTTP > headers into the provided socket stream. That doesn't fit our server at all. > The server is designed to write the headers and only the message > payload/body is the responsibility of whatever the application layer is. > There are of course mechanisms provided to let the app-layer add headers it > wants to send, but the actually writing of headers out on the socket is the > server's job. Moreover Seaside's HTTP writing support is rather simplistic > and didn't seem prepared to deal with any of the more complex issues, like > writing the "quoted" encoding (e.g. ?iso-8859-2?Q?....?, or the base 64 > variant ?B?) for non-ascii header values, header field folding etc. So the > hack we had was really suppressing all that in our server code and letting > Seaside do its thing, as much as it could. I'm not sure anymore if the > problems that lead us to disable streaming were due to Seaside's limited > HTTP abilities or not. That's the implementation that WAListener uses. This is not hardwired into Seaside. Standard Seaside does no serialization / de-serialization of headers, not even for cookies, this happens only in the server adapter. The only exceptions here are: - WABasicAuthentication - caching - redirects - #attachmentWithFileName: WABasicAuthentication is bad, I admit that. Caching simply sets ASCII string key/value pairs, so does #attachmentWithFileName:, I can't see anything wrong with that. The server adapter does encoding of the strings like for all the other headers the user might add. The only potential problem is the encoding of the URL in the redirect. But Seaside at the moment supports only ASCII urls anyway. So I don't really see a problem here. > Either way we hoped to convince the Seaside folks that, rather than doing a > bit here and bit there, Seaside should just stay away from HTTP > writing/parsing as much as it can. So in the streaming mode the desired set > of headers should be handed over to the server upfront and then there should > be a separate call from the server back to Seaside to write just the > streamed body into a provided socket stream. This may well be the direction > that 2.9 already went, I don't know. There were more things we wanted to > bring up, but I'll have to go back to find out. Come up with code and we'll sure have a look at it. Cheers Philippe > Martin > > Boris Popov wrote: > > > Ah, perhaps I misunderstood Michael then, I'll wait for clarification > > from Martin... > > > > Thanks! > > > > -Boris > > > > > > _______________________________________________ > seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Free forum by Nabble | Edit this page |