Re: [Lift] Lift on Atmosphere

2010-01-06 Thread Jonas Bonér
Akka has excellent Atmosphere support. Akka can be used with Lift.
http://doc.akkasource.org/comet

2010/1/6 paksegu paks...@gmail.com:
 Hello World.
 I am a Lift beginner and I would like to know if anyone has
 successfully succeeded in running Lift on Atmosphere: 
 https://atmosphere.dev.java.net
 thanks.

 --
 You received this message because you are subscribed to the Google Groups 
 Lift group.
 To post to this group, send email to lift...@googlegroups.com.
 To unsubscribe from this group, send email to 
 liftweb+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/liftweb?hl=en.







-- 
Jonas Bonér

twitter: @jboner
blog:http://jonasboner.com
work:   http://scalablesolutions.se
code:   http://github.com/jboner
code:   http://akkasource.org
also:http://letitcrash.com
-- 
You received this message because you are subscribed to the Google Groups 
Lift group.
To post to this group, send email to lift...@googlegroups.com.
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en.




Re: [Lift] Lift on Atmosphere

2010-01-06 Thread Timothy Perrett
paksegu,

Lift does have better comet support than Atmosphere, but it depends what your 
use case is and what you specifically want to do. If you chose to run lift with 
atmosphere you'd essentially be loosing out on some of lift's best features. As 
jonas says, Akka does indeed use Atmosphere to good effect, but its a different 
tool, for a different job IMHO (although you can run them in tandem if your use 
case dictates that need).

So, lets try to add some clarity here by ascertaining what exactly you want to 
do... before this turns into a my comet is better than your comet flame war 
;-)

Cheers, Tim

On 6 Jan 2010, at 11:29, Jonas Bonér wrote:

 Akka has excellent Atmosphere support. Akka can be used with Lift.
 http://doc.akkasource.org/comet
 
 2010/1/6 paksegu paks...@gmail.com:
 Hello World.
 I am a Lift beginner and I would like to know if anyone has
 successfully succeeded in running Lift on Atmosphere: 
 https://atmosphere.dev.java.net
 thanks.
 
 --
 You received this message because you are subscribed to the Google Groups 
 Lift group.
 To post to this group, send email to lift...@googlegroups.com.
 To unsubscribe from this group, send email to 
 liftweb+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/liftweb?hl=en.
 
 
 
 
 
 
 
 -- 
 Jonas Bonér
 
 twitter: @jboner
 blog:http://jonasboner.com
 work:   http://scalablesolutions.se
 code:   http://github.com/jboner
 code:   http://akkasource.org
 also:http://letitcrash.com
 -- 
 You received this message because you are subscribed to the Google Groups 
 Lift group.
 To post to this group, send email to lift...@googlegroups.com.
 To unsubscribe from this group, send email to 
 liftweb+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/liftweb?hl=en.
 
 

-- 
You received this message because you are subscribed to the Google Groups 
Lift group.
To post to this group, send email to lift...@googlegroups.com.
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en.




Re: [Lift] Lift on Atmosphere

2010-01-06 Thread Paul Sandoz


On Jan 6, 2010, at 12:49 PM, Timothy Perrett wrote:


paksegu,

Lift does have better comet support than Atmosphere, but it depends  
what your use case is and what you specifically want to do. If you  
chose to run lift with atmosphere you'd essentially be loosing out  
on some of lift's best features. As jonas says, Akka does indeed use  
Atmosphere to good effect, but its a different tool, for a different  
job IMHO (although you can run them in tandem if your use case  
dictates that need).


So, lets try to add some clarity here by ascertaining what exactly  
you want to do... before this turns into a my comet is better than  
your comet flame war ;-)




How does Lift achieve portability across the various Comet APIs  
supported by Web/App servers?


Would i be right in assuming that currently only Jetty is supported? [*]

If so the Atmosphere Comet Portable Runtime may be of benefit.

Paul.

[*] I had a quick look at the lift source and specifically looked at  
net.liftweb.http.provider.servlet.HTTPRequestServlet.



Cheers, Tim

On 6 Jan 2010, at 11:29, Jonas Bonér wrote:


Akka has excellent Atmosphere support. Akka can be used with Lift.
http://doc.akkasource.org/comet

2010/1/6 paksegu paks...@gmail.com:

Hello World.
I am a Lift beginner and I would like to know if anyone has
successfully succeeded in running Lift on Atmosphere: 
https://atmosphere.dev.java.net
thanks.

--
You received this message because you are subscribed to the Google  
Groups Lift group.

To post to this group, send email to lift...@googlegroups.com.
To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com 
.
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en 
.









--
Jonas Bonér

twitter: @jboner
blog:http://jonasboner.com
work:   http://scalablesolutions.se
code:   http://github.com/jboner
code:   http://akkasource.org
also:http://letitcrash.com
--
You received this message because you are subscribed to the Google  
Groups Lift group.

To post to this group, send email to lift...@googlegroups.com.
To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com 
.
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en 
.





--
You received this message because you are subscribed to the Google  
Groups Lift group.

To post to this group, send email to lift...@googlegroups.com.
To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com 
.
For more options, visit this group at http://groups.google.com/group/liftweb?hl=en 
.





-- 
You received this message because you are subscribed to the Google Groups 
Lift group.
To post to this group, send email to lift...@googlegroups.com.
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en.




Re: [Lift] Lift on Atmosphere

2010-01-06 Thread Timothy Perrett
Yes, if you constantly change containers, then there is value in Atmosphere for 
that as it does leverage the native APIs for the container. We [lift] are 
waiting for servlet 3.0 to standardise the comet API - whilst its debatable if 
that will prove as an api standardisation solution, it should level the playing 
field somewhat - right now the different containers are all doing different 
things in different ways. 

Essentially lift uses special classes within Jetty (the continuation API) to 
make comet scalable... there is nothing stopping comet working in other 
containers with lift, the only restriction is that it does not use the native 
container API so it's essentially thread based - to that end, if you have a lot 
of connections things could get sticky. 

Lift has things that Atmosphere does not have (yet) like the multiplex support, 
and object delta'ing... perhaps other comet frameworks will get this in the 
future, but right now, using Jetty is not a deal breaker for most of our users. 
I guess its only really an issue if you have a heavy investment in something 
that is not jetty. However, I would stress that lift is an excellent framework 
even if your not using comet and that would of course deploy without any issues 
in any container. 

I actually had a discussion with Jean-Francois at Devoxx this year about 
Atmosphere and Lift ;-)

Cheers, Tim



On 6 Jan 2010, at 12:40, Paul Sandoz wrote:

 
 On Jan 6, 2010, at 12:49 PM, Timothy Perrett wrote:
 
 paksegu,
 
 Lift does have better comet support than Atmosphere, but it depends what 
 your use case is and what you specifically want to do. If you chose to run 
 lift with atmosphere you'd essentially be loosing out on some of lift's best 
 features. As jonas says, Akka does indeed use Atmosphere to good effect, but 
 its a different tool, for a different job IMHO (although you can run them in 
 tandem if your use case dictates that need).
 
 So, lets try to add some clarity here by ascertaining what exactly you want 
 to do... before this turns into a my comet is better than your comet flame 
 war ;-)
 
 
 How does Lift achieve portability across the various Comet APIs supported by 
 Web/App servers?
 
 Would i be right in assuming that currently only Jetty is supported? [*]
 
 If so the Atmosphere Comet Portable Runtime may be of benefit.
 
 Paul.
 
 [*] I had a quick look at the lift source and specifically looked at 
 net.liftweb.http.provider.servlet.HTTPRequestServlet.
 
 Cheers, Tim
 
 On 6 Jan 2010, at 11:29, Jonas Bonér wrote:
 
 Akka has excellent Atmosphere support. Akka can be used with Lift.
 http://doc.akkasource.org/comet
 
 2010/1/6 paksegu paks...@gmail.com:
 Hello World.
 I am a Lift beginner and I would like to know if anyone has
 successfully succeeded in running Lift on Atmosphere: 
 https://atmosphere.dev.java.net
 thanks.
 
 --
 You received this message because you are subscribed to the Google Groups 
 Lift group.
 To post to this group, send email to lift...@googlegroups.com.
 To unsubscribe from this group, send email to 
 liftweb+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/liftweb?hl=en.
 
 
 
 
 
 
 
 -- 
 Jonas Bonér
 
 twitter: @jboner
 blog:http://jonasboner.com
 work:   http://scalablesolutions.se
 code:   http://github.com/jboner
 code:   http://akkasource.org
 also:http://letitcrash.com
 -- 
 You received this message because you are subscribed to the Google Groups 
 Lift group.
 To post to this group, send email to lift...@googlegroups.com.
 To unsubscribe from this group, send email to 
 liftweb+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/liftweb?hl=en.
 
 
 
 -- 
 You received this message because you are subscribed to the Google Groups 
 Lift group.
 To post to this group, send email to lift...@googlegroups.com.
 To unsubscribe from this group, send email to 
 liftweb+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/liftweb?hl=en.
 
 
 
 -- 
 You received this message because you are subscribed to the Google Groups 
 Lift group.
 To post to this group, send email to lift...@googlegroups.com.
 To unsubscribe from this group, send email to 
 liftweb+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/liftweb?hl=en.
 
 

-- 
You received this message because you are subscribed to the Google Groups 
Lift group.
To post to this group, send email to lift...@googlegroups.com.
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en.




Re: [Lift] Lift on Atmosphere

2010-01-06 Thread David Pollak
On Wed, Jan 6, 2010 at 5:23 AM, Timothy Perrett timo...@getintheloop.euwrote:

 Yes, if you constantly change containers, then there is value in Atmosphere
 for that as it does leverage the native APIs for the container. We [lift]
 are waiting for servlet 3.0 to standardise the comet API - whilst its
 debatable if that will prove as an api standardisation solution, it should
 level the playing field somewhat - right now the different containers are
 all doing different things in different ways.


Marius is actively working on an abstraction of the thread dropping so that
other containers that use different APIs can be plugged into Lift (or vice
versa) because the Servlet 3.0 spec is taking forever.



 Essentially lift uses special classes within Jetty (the continuation API)
 to make comet scalable... there is nothing stopping comet working in other
 containers with lift, the only restriction is that it does not use the
 native container API so it's essentially thread based - to that end, if you
 have a lot of connections things could get sticky.

 Lift has things that Atmosphere does not have (yet) like the multiplex
 support, and object delta'ing... perhaps other comet frameworks will get
 this in the future, but right now, using Jetty is not a deal breaker for
 most of our users. I guess its only really an issue if you have a heavy
 investment in something that is not jetty. However, I would stress that lift
 is an excellent framework even if your not using comet and that would of
 course deploy without any issues in any container.


As Tim points out, Lift has a number of advantages in its Comet support:

   - Multiplexing -- you can have many Comet components on a given page and
   they all talk over a single long poll.  You can see this at
   http://demo.liftweb.com.  Both the clock and the chat component are
   Comet.  Neither piece of code was special or required knowledge of the
   other.
   - Connection saturation detection -- Lift will avoid connection
   saturation by only allowing a single long poll to be active at once.  If a
   second connection (this is tunable and it's on my to-do list to make it
   browser tunable as Chrome has more than 2 connections per server) is opened
   from the browser, Lift will automatically terminate the long poll.
   - DNS wildcard support -- To avoid the connection saturation issue, you
   can have the long poll done on a DNS wildcarded server and tune the long
   poll connection termination logic.  This allows many different browser tabs
   to have open long polls.  The server name is automatically changed on each
   page reload and the actual client-side and server-side components are
   unchanged (that means the app developer doesn't have to worry about this
   part of the plumbing.)





 I actually had a discussion with Jean-Francois at Devoxx this year about
 Atmosphere and Lift ;-)

 Cheers, Tim



 On 6 Jan 2010, at 12:40, Paul Sandoz wrote:

 
  On Jan 6, 2010, at 12:49 PM, Timothy Perrett wrote:
 
  paksegu,
 
  Lift does have better comet support than Atmosphere, but it depends what
 your use case is and what you specifically want to do. If you chose to run
 lift with atmosphere you'd essentially be loosing out on some of lift's best
 features. As jonas says, Akka does indeed use Atmosphere to good effect, but
 its a different tool, for a different job IMHO (although you can run them in
 tandem if your use case dictates that need).
 
  So, lets try to add some clarity here by ascertaining what exactly you
 want to do... before this turns into a my comet is better than your comet
 flame war ;-)
 
 
  How does Lift achieve portability across the various Comet APIs supported
 by Web/App servers?
 
  Would i be right in assuming that currently only Jetty is supported? [*]
 
  If so the Atmosphere Comet Portable Runtime may be of benefit.
 
  Paul.
 
  [*] I had a quick look at the lift source and specifically looked at
 net.liftweb.http.provider.servlet.HTTPRequestServlet.
 
  Cheers, Tim
 
  On 6 Jan 2010, at 11:29, Jonas Bonér wrote:
 
  Akka has excellent Atmosphere support. Akka can be used with Lift.
  http://doc.akkasource.org/comet
 
  2010/1/6 paksegu paks...@gmail.com:
  Hello World.
  I am a Lift beginner and I would like to know if anyone has
  successfully succeeded in running Lift on Atmosphere:
 https://atmosphere.dev.java.net
  thanks.
 
  --
  You received this message because you are subscribed to the Google
 Groups Lift group.
  To post to this group, send email to lift...@googlegroups.com.
  To unsubscribe from this group, send email to
 liftweb+unsubscr...@googlegroups.comliftweb%2bunsubscr...@googlegroups.com
 .
  For more options, visit this group at
 http://groups.google.com/group/liftweb?hl=en.
 
 
 
 
 
 
 
  --
  Jonas Bonér
 
  twitter: @jboner
  blog:http://jonasboner.com
  work:   http://scalablesolutions.se
  code:   http://github.com/jboner
  code:   http://akkasource.org
  also:http://letitcrash.com
  --
  You 

Re: [Lift] Lift on Atmosphere

2010-01-06 Thread Paul Sandoz


On Jan 6, 2010, at 3:22 PM, David Pollak wrote:




On Wed, Jan 6, 2010 at 5:23 AM, Timothy Perrett timo...@getintheloop.eu 
 wrote:
Yes, if you constantly change containers, then there is value in  
Atmosphere for that as it does leverage the native APIs for the  
container. We [lift] are waiting for servlet 3.0 to standardise the  
comet API - whilst its debatable if that will prove as an api  
standardisation solution, it should level the playing field somewhat  
- right now the different containers are all doing different things  
in different ways.


Marius is actively working on an abstraction of the thread dropping  
so that other containers that use different APIs can be plugged into  
Lift (or vice versa) because the Servlet 3.0 spec is taking forever.


OK. Servlet 3.0 spec is now finalized, meaning there is at least one  
implementation (in GlassFish v3) but i guess it may take time for  
others to arrive.


Are the async features of Servlet 3.0 sufficient for lift's  
requirements?






Essentially lift uses special classes within Jetty (the continuation  
API) to make comet scalable... there is nothing stopping comet  
working in other containers with lift, the only restriction is that  
it does not use the native container API so it's essentially thread  
based - to that end, if you have a lot of connections things could  
get sticky.


Lift has things that Atmosphere does not have (yet) like the  
multiplex support, and object delta'ing... perhaps other comet  
frameworks will get this in the future, but right now, using Jetty  
is not a deal breaker for most of our users. I guess its only really  
an issue if you have a heavy investment in something that is not  
jetty. However, I would stress that lift is an excellent framework  
even if your not using comet and that would of course deploy without  
any issues in any container.


As Tim points out, Lift has a number of advantages in its Comet  
support:
Multiplexing -- you can have many Comet components on a given page  
and they all talk over a single long poll.  You can see this at http://demo.liftweb.com 
.  Both the clock and the chat component are Comet.  Neither piece  
of code was special or required knowledge of the other.
Connection saturation detection -- Lift will avoid connection  
saturation by only allowing a single long poll to be active at  
once.  If a second connection (this is tunable and it's on my to-do  
list to make it browser tunable as Chrome has more than 2  
connections per server) is opened from the browser, Lift will  
automatically terminate the long poll.
DNS wildcard support -- To avoid the connection saturation issue,  
you can have the long poll done on a DNS wildcarded server and tune  
the long poll connection termination logic.  This allows many  
different browser tabs to have open long polls.  The server name is  
automatically changed on each page reload and the actual client-side  
and server-side components are unchanged (that means the app  
developer doesn't have to worry about this part of the plumbing.)




I am not suggesting Atmosphere can or should be utilized as a  
replacement for the useful features you enumerate. I think the area  
where Atmosphere can provide value to lift is scalable async support  
for many Web/App servers.


Paul.
-- 

You received this message because you are subscribed to the Google Groups "Lift" group.

To post to this group, send email to lift...@googlegroups.com.

To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com.

For more options, visit this group at http://groups.google.com/group/liftweb?hl=en.



Re: [Lift] Lift on Atmosphere

2010-01-06 Thread David Pollak
On Wed, Jan 6, 2010 at 7:17 AM, Paul Sandoz paul.san...@sun.com wrote:


 On Jan 6, 2010, at 3:22 PM, David Pollak wrote:



 On Wed, Jan 6, 2010 at 5:23 AM, Timothy Perrett 
 timo...@getintheloop.euwrote:

 Yes, if you constantly change containers, then there is value in
 Atmosphere for that as it does leverage the native APIs for the container.
 We [lift] are waiting for servlet 3.0 to standardise the comet API - whilst
 its debatable if that will prove as an api standardisation solution, it
 should level the playing field somewhat - right now the different containers
 are all doing different things in different ways.


 Marius is actively working on an abstraction of the thread dropping so that
 other containers that use different APIs can be plugged into Lift (or vice
 versa) because the Servlet 3.0 spec is taking forever.


 OK. Servlet 3.0 spec is now finalized, meaning there is at least one
 implementation (in GlassFish v3) but i guess it may take time for others to
 arrive.

 Are the async features of Servlet 3.0 sufficient for lift's requirements?


Yes and it will be supported by the work Marius is currently doing.







 Essentially lift uses special classes within Jetty (the continuation API)
 to make comet scalable... there is nothing stopping comet working in other
 containers with lift, the only restriction is that it does not use the
 native container API so it's essentially thread based - to that end, if you
 have a lot of connections things could get sticky.

 Lift has things that Atmosphere does not have (yet) like the multiplex
 support, and object delta'ing... perhaps other comet frameworks will get
 this in the future, but right now, using Jetty is not a deal breaker for
 most of our users. I guess its only really an issue if you have a heavy
 investment in something that is not jetty. However, I would stress that lift
 is an excellent framework even if your not using comet and that would of
 course deploy without any issues in any container.


 As Tim points out, Lift has a number of advantages in its Comet support:

- Multiplexing -- you can have many Comet components on a given page
and they all talk over a single long poll.  You can see this at
http://demo.liftweb.com.  Both the clock and the chat component are
Comet.  Neither piece of code was special or required knowledge of the
other.
- Connection saturation detection -- Lift will avoid connection
saturation by only allowing a single long poll to be active at once.  If a
second connection (this is tunable and it's on my to-do list to make it
browser tunable as Chrome has more than 2 connections per server) is opened
from the browser, Lift will automatically terminate the long poll.
- DNS wildcard support -- To avoid the connection saturation issue, you
can have the long poll done on a DNS wildcarded server and tune the long
poll connection termination logic.  This allows many different browser tabs
to have open long polls.  The server name is automatically changed on each
page reload and the actual client-side and server-side components are
unchanged (that means the app developer doesn't have to worry about this
part of the plumbing.)



 I am not suggesting Atmosphere can or should be utilized as a replacement
 for the useful features you enumerate. I think the area where Atmosphere can
 provide value to lift is scalable async support for many Web/App servers.


To date, the large Lift comet users have been using Jetty with success.  If
there is demand for Lift's Comet support on non-Servlet 3.0 platforms, we'll
look into Atmosphere integration.

Thanks,

David



 Paul.

 --
 You received this message because you are subscribed to the Google Groups
 Lift group.
 To post to this group, send email to lift...@googlegroups.com.
 To unsubscribe from this group, send email to
 liftweb+unsubscr...@googlegroups.comliftweb%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/liftweb?hl=en.




-- 
Lift, the simply functional web framework http://liftweb.net
Beginning Scala http://www.apress.com/book/view/1430219890
Follow me: http://twitter.com/dpp
Surf the harmonics
-- 

You received this message because you are subscribed to the Google Groups "Lift" group.

To post to this group, send email to lift...@googlegroups.com.

To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com.

For more options, visit this group at http://groups.google.com/group/liftweb?hl=en.



Re: [Lift] Lift on Atmosphere

2010-01-06 Thread Paul Sandoz

On Jan 6, 2010, at 5:44 PM, David Pollak wrote:


I am not suggesting Atmosphere can or should be utilized as a  
replacement for the useful features you enumerate. I think the area  
where Atmosphere can provide value to lift is scalable async support  
for many Web/App servers.


To date, the large Lift comet users have been using Jetty with  
success.  If there is demand for Lift's Comet support on non-Servlet  
3.0 platforms, we'll look into Atmosphere integration.




OK!

Paul.
-- 

You received this message because you are subscribed to the Google Groups "Lift" group.

To post to this group, send email to lift...@googlegroups.com.

To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com.

For more options, visit this group at http://groups.google.com/group/liftweb?hl=en.