Adam,
    We completed Servlet 3 implementation of BlazeDS streaming - so you can
scale your push servers as much as you need to. There is a bit of testing
and revamped samples that need to be added, but Adobe "samples" app works
without any changes on the Flex side.

I will be showing Jetty implementation at Flex Symposium in NYC on August
19th (http://www.eventbrite.com/event/126384018). Open source version should
be available at OReily in the Rough Cuts code section of our new book in
September/August. Some QoS pieces and streamlined DataServices
implementation will be available around that timeframe as well.
Hope this helps,
Anatole Tartakovsky
Farata Systems




On Fri, Jun 13, 2008 at 5:11 PM, aduston1976 <[EMAIL PROTECTED]> wrote:

>   Anatole, thank you sincerely for your message. I've always admired the
> Farata Systems blog posts and I will email you offline.
>
> Has anyone else taken a stab at this? Does anyone else have any
> thoughts about it?
>
> Thanks again,
> Adam
>
> --- In flexcoders@yahoogroups.com <flexcoders%40yahoogroups.com>, "Anatole
> Tartakovsky"
>
> <[EMAIL PROTECTED]> wrote:
> >
> > Adam,
> > 400 concurrent users is very low number - you might conside freee
> > express LCDS 2.6 in single multicore CPU version to support that. Adobe
> > creates standalone socket server (that you can place on the same servers
> > port 80 with separate host name within domain/tcp address). Then you
> would
> > get RTMP class functionality transparently working under HTTP wrapping.
> >
> > We did Tomcat implementation - however we encountered reliablity
> issues
> > in the base software and do not recommend it unless you build
> recoverability
> > stack that in our experience is very app specific. Also, you need
> > significant framework on the client as unlike RTMP solution as you
> have to
> > minimize number of subscriptions to 1 due to limit on number of HTTP
> > connections. Jetty implementation is better and more close to Servlet
> > 3/JSR-315 spec, but is would be waste of time at this point given
> the size
> > of the users group.
> >
> > Given the current state and availability of free LCDS 2.6 we were
> spending
> > more time on client-side components that mimic DataService object
> including
> > server push. Main goals are maintaing minimum requirements on
> connectivity
> > and actual channel implementation and provide application support
> for common
> > tasks and robustness/QoS.
> >
> > You can mail me directly at atartakovskyatfaratasystemsdotcom id
> you have
> > any questions
> >
> > Sincerely,
> > Anatole Tartakovsky
> >
> >
> >
> > On Fri, Jun 13, 2008 at 2:41 PM, aduston1976 <[EMAIL PROTECTED]> wrote:
> >
> > > Seth, Thank you very much for your thoughtful and very complete
> message.
> > >
> > > Is anyone else out there working on a Tomcat CometProcessor-based
> > > streaming implementation? I foresee about 2k LOC standing between the
> > > current code and one that includes an endpoint that can be used with a
> > > CometProcessor implementor. If you're already working on such an
> > > implementation or if you would like to, then let's please talk over
> > > Google Talk or whatever. I am [EMAIL PROTECTED] on Google Talk.
> > >
> > > Since BlazeDS already includes functionality to route messages across
> > > clusters, this would turn it into the server I've been looking for.
> > >
> > > Adam
> > >
> > >
> > > --- In flexcoders@yahoogroups.com 
> > > <flexcoders%40yahoogroups.com><flexcoders%
> 40yahoogroups.com>,
>
> "Seth
> > > Hodgson" <shodgson@> wrote:
> > > >
> > > > Hi Adam,
> > > >
> > > >
> > > >
> > > > Adobe is not working on this, although I'd encourage the
> community to.
> > > >
> > > > Here's why we're not.
> > > >
> > > >
> > > >
> > > > 1. We're participating in the Servlet 3 JSR which will add async
> > > > IO support to the Servlet API (in the form of suspendable/resumable
> > > > requests). Once that API is finalized you can expect official
> support
> > > > for it in BlazeDS.
> > > >
> > > > 2. The CometProcessor API in Tomcat and the pre-final version of
> > > > suspendable requests in Jetty are not standard APIs - they'll be
> > > > superceeded by what makes it into the official Servlet 3 spec,
> making
> > > > official Adobe support for these non-standard APIs a dead end.
> > > >
> > > > 3. We provide NIO-based HTTP endpoints that support both streaming
> > > > and long polling in LCDS 2.6 and scale into the 10s of thousands of
> > > > concurrent connections. These endpoints share their underlying
> plumbing
> > > > with our existing RTMP endpoint. This works in any servlet
> container,
> > > > not just Jetty or Tomcat, making it consistently useful to all our
> > > > customers and affording us the ability to tune it directly.
> > > >
> > > >
> > > >
> > > > That said, I'll reiterate that the community is encouraged to build
> > > > custom long-polling or streaming endpoints on top of the
> non-standard
> > > > Tomcat and Jetty APIs. Someone should take the lead on
> organizing the
> > > > community effort, and coordinating it. There's no sense in
> having ten of
> > > > you out there working on ten versions of the same thing J One thing
> > > > you'll need to be aware of is that for threadless long-polling
> support
> > > > you can't rely on the JVM saving the current Thread's execution
> stack
> > > > for you on a wait() and resuming later via a notify(); you
> actually need
> > > > to save off the request processing state yourself in order to
> resume it
> > > > later. To help out with this, I moved our suspendable AMF filter
> classes
> > > > into the BlazeDS codebase so you guys should use that rather
> than the
> > > > existing AMF filter classes that cannot be suspended/resumed;
> they're in
> > > > the same package: flex.messaging.endpoints.amf.
> > > >
> > > >
> > > >
> > > > Good luck and keep me posted,
> > > > Seth
> > > >
> > > >
> > > >
> > > > From: flexcoders@yahoogroups.com 
> > > > <flexcoders%40yahoogroups.com><flexcoders%
> 40yahoogroups.com>
> [mailto:
> > > flexcoders@yahoogroups.com <flexcoders%40yahoogroups.com> <flexcoders%
> 40yahoogroups.com>] On
> > > > Behalf Of aduston1976
> > > > Sent: Friday, June 13, 2008 9:21 AM
> > > > To: flexcoders@yahoogroups.com 
> > > > <flexcoders%40yahoogroups.com><flexcoders%
> 40yahoogroups.com>
> > > > Subject: [flexcoders] Non-Blocking IO and BlazeDS Streaming
> > > >
> > > >
> > > >
> > > > I need to push data to Flex clients, and I need more than 400
> clients
> > > > to connect to each host. Even though I'm using BlazeDS for RPC,
> I was
> > > > thinking of using the XIFF XMPP library with a jabber server for
> > > > pushing data to clients, since streaming in BlazeDS uses
> blocking IO.
> > > > But, looking at the relevant classes in flex.messaging,
> > > > flex.messaging.endpoints, and flex.messaging.client in BlazeDS,
> I see
> > > > that it might not be too difficult to create a new servlet that
> > > > implements org.apache.catalina.CometProcessor and a new
> > > > BaseHTTPEndpoint subclass that can support multiple connections for
> > > > each thread. Such an implementation would be able to support
> over 10K
> > > > simultaneous streaming connections per host.
> > > >
> > > > Is there anyone else who's working on this, or interested in working
> > > > on it? Is Adobe already on the case, making this a waste of
> time? Any
> > > > thoughts or suggestions are appreciated.
> > > >
> > > > Adam
> > > >
> > >
> > >
> > >
> >
>
> 
>

Reply via email to