The Atmosphere Framework
Upcoming SlideShare
Loading in...5
×
 

The Atmosphere Framework

on

  • 13,256 views

Atmosphere talks @ Javaone 2010 on Websocket, Comet and JQuery

Atmosphere talks @ Javaone 2010 on Websocket, Comet and JQuery

Statistics

Views

Total Views
13,256
Views on SlideShare
13,199
Embed Views
57

Actions

Likes
9
Downloads
223
Comments
0

2 Embeds 57

http://www.lifeyun.com 54
http://cache.baidu.com 3

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    The Atmosphere Framework The Atmosphere Framework Presentation Transcript

    • Building Powerful WebSocket, Comet, and RESTful Applications Using Atmosphere
      http://twitter.com/atmo_framework
      Jeanfrancois Arcand
      http://twitter.com/jfarcand
      Paul Sandoz
      http://twitter.com/PaulSandoz
    • Creator of the Grizzly Framework
      Creatpr of GlassFish v3 Grizzly Micro Kernel
      Creator and Co-Leader of Atmosphere
      Jeanfrancois
      9 years @ Sun Microsystem
      Creator Async Http Client
      Co-leader of Atmosphere
      Creator and Lead of Jersey
      Paul
      13 years @ Sun Microsystem
      Java Champion
    • News and Update
      Comet and WebSocket Protocol
      The Atmosphere Framework
      Ya Ya Ya That’s Impossible
      High-level RESTful and asynchronous applications
      Twitter Search
      Conclusion
      Q & A
    • PrimeFaces (JSF) Spring IntegrationAkka (Scala/Actor) GWT-Comet Apache Tuscany Grails (Plug In)Atlassian (JIRA) Ning (Social Network)AutoDesk (AutoCad) Fabric3 (3D) Thinked (Journie), Sonatype (Secret)
      Wink Wicket Struts JQuery
      Atmosphere 0.6.2
      New! Atmosphere Gaming Framework
    • LongPolling
      Web
      Socket
      Streaming
      Browser
      Server
      Browser
      Server
      Browser
      Server
      Request
      Request
      Request
      Request
      Response
      Response
      Response
      Response
      Response
      Upgrade
      Data
      Data
    • Atmosphere
      Java WebServer
    • WebSocket
      Nothing
      Comet
      Java WebServer
      Atmosphere
    • Atmosphere
      WebSocket
      Comet API
      Servlet 3.0 API
      Nothing
      Comet
      Java WebServer
    • Atmosphere
      Atmosphere Application
      Atmosphere Runtime
      WebSocket
      Comet API
      Servlet 3.0 API
      Nothing
      Comet
      Java WebServer
    • Atmosphere
      Atmosphere Application
      Atmosphere Runtime
      Guice
      WebSocket
      Comet API
      Servlet 3.0 API
      Nothing
      Comet
      Java WebServer
    • Atmosphere
      Servlet
      Atmosphere Application
      Servlet runner
      Atmosphere Runtime
      Guice
      WebSocket
      Comet API
      Servlet 3.0 API
      Nothing
      Comet
      Java WebServer
    • Atmosphere
      Atmosphere Annotations
      Servlet
      Atmosphere Application
      Servlet runner
      Atmosphere Runtime
      Guice
      WebSocket
      Comet API
      Servlet 3.0 API
      Nothing
      Comet
      Java WebServer
    • Atmosphere
      Cluster
      Atmosphere Annotations
      Servlet
      Atmosphere Application
      Servlet runner
      Atmosphere Runtime
      Guice
      WebSocket
      Comet API
      Servlet 3.0 API
      Nothing
      Comet
      Java WebServer
    • Atmosphere
      Atmosphere Application
      Cluster
      Atmosphere Annotations
      Jersey
      Servlet
      Atmosphere Application
      Servlet runner
      Atmosphere Runtime
      Guice
      WebSocket
      Comet API
      Servlet 3.0 API
      Nothing
      Comet
      Java WebServer
    • Atmosphere
      Atmosphere JQuery
      Atmosphere Application
      Cluster
      Atmosphere Annotations
      Jersey
      Servlet
      Atmosphere Application
      Servlet runner
      Atmosphere Runtime
      Guice
      WebSocket
      Comet API
      Servlet 3.0 API
      Nothing
      Comet
      Java WebServer
    • Atmosphere
      Atmosphere JQuery
      Atmosphere Application
      Cluster
      Atmosphere Annotations
      Jersey
      Servlet
      Atmosphere Application
      Servlet runner
      Atmosphere Runtime
      Guice
      WebSocket
      Comet API
      Servlet 3.0 API
      Nothing
      Comet
      Java WebServer
    • Atmosphere
      Atmosphere JQuery
      Atmosphere Application
      Atmosphere Application
      Atmosphere Spade Server
      Powered by Grizzly
      Embed
      Guice
      WebSocket
      Comet API
      Servlet 3.0 API
      Nothing
      Comet
    • Why
    • Clustering
      Why
    • JMS
      JGroups
      Clustering
      Why
    • JMS
      JGroups
      Clustering
      Guarantee Delivery
      Why
    • Cache
      JMS
      JGroups
      OOM Manager
      Clustering
      Guarantee Delivery
      Events Aggregation
      Proxy
      Why
    • Cache
      JMS
      JGroups
      OOM Manager
      Clustering
      Guarantee Delivery
      Events Aggregation
      Proxy
      Why
      Portable & Unified
    • Cache
      JMS
      JGroups
      OOM Manager
      Clustering
      Guarantee Delivery
      Events Aggregation
      Proxy
      Why
      Servlet 3.0
      Blocking I/O
      Portable & Unified
      Comet Native
      Web
      Socket
      New protocol
    • Cache
      JMS
      JGroups
      OOM Manager
      Clustering
      Guarantee Delivery
      Events Aggregation
      Proxy
      Why
      Servlet 3.0
      Blocking I/O
      Portable & Unified
      Client
      Comet Native
      Web
      Socket
      New protocol
    • Cache
      JMS
      JGroups
      OOM Manager
      Clustering
      Guarantee Delivery
      Events Aggregation
      Proxy
      Why
      Servlet 3.0
      Blocking I/O
      GWT
      JQuery
      Portable & Unified
      Client
      Java EE
      Comet Native
      Web
      Socket
      Grails
      JSF
      New protocol
    • Cache
      JMS
      JGroups
      OOM Manager
      Clustering
      Guarantee Delivery
      Events Aggregation
      Proxy
      Why
      JRuby
      Servlet 3.0
      Blocking I/O
      GWT
      JQuery
      Portable & Unified
      Client
      Java EE
      Comet Native
      Web
      Socket
      Grails
      JSF
      New protocol
    • Cache
      JMS
      JGroups
      OOM Manager
      Clustering
      Guarantee Delivery
      Events Aggregation
      Proxy
      Why
      JRuby
      Groovy
      Servlet 3.0
      Blocking I/O
      GWT
      JQuery
      Portable & Unified
      Client
      Java EE
      Comet Native
      Web
      Socket
      Grails
      JSF
      New protocol
    • Cache
      JMS
      JGroups
      OOM Manager
      Clustering
      Guarantee Delivery
      Events Aggregation
      Proxy
      Why
      JRuby
      Scala
      Groovy
      Servlet 3.0
      Blocking I/O
      GWT
      JQuery
      Portable & Unified
      Client
      Java EE
      Comet Native
      Web
      Socket
      Grails
      JSF
      New protocol
    • Same API everywhere. No need to learn the protocol!
    • Comet
      Web
      Socket
      IE
      Chrome
      JQuery Plugin
      Auto detect best transport to use! Emulate WebSocket!
      Comet
      Web
      Socket
      Web
      Socket
      Server Side Events
      Safari
      Firefox
      Opera
      Comet
      Comet
      Comet
    • Ya Ya Ya
      That’s impossible!
    • @Path("/pubsub/{topic}")
      @Produces("text/html;charset=ISO-8859-1")
      public class JQueryPubSub {
      private @PathParam("topic") Broadcaster topic;
      @GET
      public SuspendResponse<String> subscribe() {
      return new SuspendResponse.SuspendResponseBuilder<String>()
      .broadcaster(topic)
      .outputComments(true)
      .addListener(new EventsLogger())
      .build();
      }
      @POST
      @Broadcast
      public Broadcastable publish(@FormParam("message") String message) {
      return new Broadcastable(message, "", topic);
      }
    • function subscribe()
      {
      function callback(response)
      {
      if (response.transport != 'polling' && response.state != 'connected'
      && response.state != 'closed') {
      if (response.status == 200) {
      var data = response.responseBody
      if (data.length > 0) {
      $('ul').prepend($('<li></li>').text(" Message Received: " + data + " using transport: " + response.transport));
      }
      }
      }
      }
      $.atmosphere.subscribe(document.location.toString() + 'pubsub/'
      + getElementByIdValue('topic'),
      callback : callback,
      $.atmosphere.request = {transport: getElementByIdValue('transport')});
      }
    • JAX-RS and Jersey with AtmosphereRESTful and asynchronous Web applications
      • JAX-RS is the Java API for RESTful Web services
      • Jersey is the reference implementation and provides additional functionality
      • Atmosphere leverages the extensibility of Jersey
      • Atmosphere and Jersey can evolve at their own rates
      • Combine JAX-RS and Atmosphere annotations
    • High-level Atmosphere conceptsLeveraging the power of REST, JAX-RS/Jersey
      • @Suspend or SuspendResponse API
      • Suspend a response
      • @Resume
      • Resume a response
      • @Broadcast or Broadcaster API
      • Broadcast events
      • @Schedule
      • Schedule execution of periodic broadcast
      • @Cluster
      • Cluster broadcasting
    • We want a Twitter Real Time Search!
    • Conclusion
      Write Powerfull Asynchronous Web Application using Atmosphere
      Write once, Run Anywhere
      Transport free!
      Browser nightmare free
      Extremely Simple!
      Join the community
      http://github.com/Atmosphere/atmosphere
    • THANKS YOU!
      http://twitter.com/atmo_framework
      Jeanfrancois Arcand
      jfarcand@apache.org
      Paul Sandoz
      Paul.sandoz@oracle.com