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.


>
> 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.com<liftweb%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 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<liftweb%2bunsubscr...@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<liftweb%2bunsubscr...@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<liftweb%2bunsubscr...@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<liftweb%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.

Reply via email to