"Server push" technologies

I would like to know about the technologies available in Java which could help me achieve something like this...
"the server sends down a chunk of data; the browser display the data but leaves the connection open; whenever the server wants it sends more data and the browser displays it, leaving the connection open..."
Basically the server should have the ability to push data whenever it wants rather than the client requesting a data refresh after a fixed interval of time so that I can create a real-time online system.Also, this should be possible over the "internet" across firewalls etc.
Please let me know if this is possible and how.
Any tips/ideas/previous experiences of working on such a system would be a big help.

Have u find out any solution for this? if yes please post ur solution here
regards
B.Parameswaran

Similar Messages

  • How to use server push technology

    I need to write a Chatroom by using Server-push technology. Who would like to offer some information about this technology for me? Thanks!!

    Define "server-push" technology.client-pull is where the client pulls, via a specific request, information from the server.
    Server-push is where the server pushes information to a client when that information becomes available. The client does not initiate the exchange.

  • Push-Technology Support for Exchange - and for Mac OS X Server - users?

    To have support and compatibility for using push-email, -calendaring and -address books updating with Microsoft Exchange Server 2007 is very much appreciated. But how about small enterprises who so far relied in Leopard Server and seek for similar push technologies in conjunction with the iPhone? I am not a professional but can push-email, -calendaring and -address books updating with the current state of Leopard Server? If not, does Apple plan to integrate a solution? If yes, when?

    We're all just your fellow users here and have no insight into Apple's future plans. You can submit your comment and suggestion to Apple through their feedback pages:
    http://www.apple.com/feedback/

  • How to server-push to a JSP?

    I want to refresh the content of a JSP as and when a collection available in server session is updated. The JSP displays the messages from this collection. Presently, I am using a meta tag, which refreshes the page after a specified time. But, this is not I want. I want it to somehow tell the JSP to refresh itself. I am open to ideas of putting an applet, socket programming, etc. But, I am not sure of how to go about it, as I am using Struts.
    I hope, you must have got my problem. Can anybody help me?
    Regards,
    VK
    [email protected]

    HTTP is stateless - so no push technology. Refreshing is one workaround, Scripting/Applet is another. there is no way for the server (no matter if a servlet or any other server component) to tell the client something without being asked. HTTP is a simple request/response protocol. all "push" technologies for HTML pages use such workarounds that the client polls the server (refreshing, etc.) in short amount of times. if the server want's to "push" something, it really just answers a (poll) request from the client.
    HTML is far to outdated. JSP, Struts, JavaServerFaces, etc. can't help that. It's time for a new internet protocol.

  • Implementing Server Push using LCDS 2.6

    Hi All,
    We have created an application where we are using polling to get certain constant updates. Now this polling is client polling wherein the client polls the server at regular intervals to get the fresh data for certain actions.
    Now we wish to take this to another level and implement Server Data Push so that the client does not keep polling unnecessarily and the server notifies the client as and when the data gets updated with the server. For this we have the DataService Transaction class that needs to be implemented.
    But there are a couple of questions that are in my mind regarding this technology. It would be great if someone could answer them.
    My questions are:
    1) Does the LCDS server know which client to push data to in case of multiple clients looking at the same data scenario. e.g. Two clients A and B are looking at the same data. A performs an action and that action needs some time to get completed at the server. Now in case we use Server Data Push, will the LCDS be intelligent enough to send the message on completion of the requested activity to only A and not B.
    2) In order to push data to the client, the server will invoke some method which will return the desired data to te client. How do we keep the parameters registered with the server that this method would need while getting invoked. SInce, the call to the method will not be client initiated, how does the server know what parameters to be passed to the method in order to invoke it. How will this work in a multi-user looking at the same data/screen scenario.
    The answers to these questions will really help us. In case anyone is well versed with this technology, please pitch in to give your inputs.
    Many Thanks.
    Regards,
    Shally

    Hi,
    As also, suggested by you, we were thinking of using an RTMP channel only for this since its a two way socket that establishes a communication channel between the client and the server and then helps keep messages moving to and fro.
    We have successfully implemented RTMP channel and achieved the following functionalities.
    1) A client initiated change which gets propagated to the server and then to all the clients.
    2) Server push to all the clients.
    Now our last step is to implement data push to a particular client. As told by you, we will use the client id but we have some doubts and questions regarding this since we do not have the code examples or anything that could help us in implementing the same.
    I would therefore request you to kindly lead us on the following fronts:
    1) Is the client id the one that is part of the request- response thread, I saw a client id being printed in the logs when a request is made and the response comes.
    2) What code needs to be written on the server side to extract this client id once a call is made so that it can keep this client id with itself to push a message later on.
    3) What methods or API are available to be used to push this message to a particular client? Do we need to call the fill method of a particular client using the client id parameter and inform the client that its requested job has been done.
    For (3) is the Messaging(Publish and Subscribe model) the right way to go??
    It would be great if you could provide us some code snippets just to give us an idea from where we can take it up ourselves.
    Looking forward to hear from you.
    Many Thanks,
    Shally
    Message was edited by: testing34

  • Implementing Server Push

    How can i implement a server push in my jsp pages?
    any sample code would be appreciated.
    The server pushes the data to the jsp when the
    database changes because of an update.
    Thanks

    Http is a stateless protocol and cannot maintain a connection to the server. I am working on a project now that has the same type of requirement and we are using pushlet technology. You should have a look at the following
    www.pushlets.com
    Hope this helps
    SD

  • Server Push Intermittent message loss

    We are using LCDS 2.6 and using the RTMP port for the server push. However, at times the notifications in between the server to clients goes missing. It works pretty good at times and after some time, it does not shows notification.
    We are using DataTransactionServices for pushing the data from LCDS to the Flex clients.

    Hello,
    We are still facing the intermittent issue with LCDS. Following steps has been done:
    1. We tried different values in DataDestination property like autoSyncEnbaled , cache items and some other properties, but it did not work.
    2. We analysed LCDS logs in log file and found that :
       a. Java Code is pushing updated state to LCDS and message is also routing to client.
       b. At client side UI is receiving old data from LCDS.
    Do you have any idea, why is this happening?
    Gaurav Shukla
    Senior Technical Architect -ADCOE
    HCL Technologies Ltd.
    SEZ, Plot No. 3A, Sector 126, Noida 201301, U.P. (India)
    Mob: +91-9899 89 9189
    www.hcltech.com<http://www.hcltech.com>
    www.hcl.com<http://www.hcl.com>
    cid:[email protected]

  • Using the new Data/Services generation with server push

    Have moved my Flex/BlazeDS app (which uses Blaze AMFChannel for request/response messages and StreamingAMFChannel for server push messaging) from Flex Builder 3 to Flash Builder 4. The new Data/Services works fine to generate service classes and value objects for the request/response messages, question is can it provide any help setting up a messaging consumer and value objects for the pushed data?
    rick holland

    I am so sorry - I meant AirPort Express - not extreme - but it's moot since I missed the point of your post - you want two outputs - and one to not be digital.
    For what it's worth - I still think the express might be your best bet.
    http://www.apple.com/airportexpress/airtunes.html
    It has combined digital/analog out - you plug in one and it switches the output depending on which connection is inserted. I would expect a very short wait until everything accepts digital input - expecially for people who want good sound quality. If you have to go digital to analog outside of the receiver/amp (where it really belongs) - why not let it be the express sitting right next to where you want the second "receiver" to be...

  • Server-Push

    I read somewhere that Flex Data Services provides Server-Push
    functionality. That is, the server starts a conversation with the
    client. It's obvious that, In order to such thing ocurr, there has
    to be a persistent connection between server and client.
    I've being reading about Data Management Service to learn how
    to implement this Server-Push and all I see is about a method
    called Fill() that is thriggered from the client and syncronizes
    it's data with the server. But it's not server-push
    Does it really exist?

    Hi,
    When you create a DataService and fill your collection. The
    collection becomes managed. You don't have to call fill again if
    there is any change in the data. Server pushs updates to clients
    when the client's dataservice is using rtmp channel. It is a live
    connection between the server and the client. For example,
    you fill(collection, "hqsql", from products where price <
    100). If one of the product's price increases, server push a
    message to your collection to remove it. If a product's product's
    price decrease, it will be added to the collection. The push is
    happened based on your fill method.
    William Chan

  • Server Push redirecting to a pre-existing JSP

    Question:
    Has anyone tried to create a Server Push servlet that can be used to serve up pre-existing JSPs?
    Is it even possible for a servlet to serve a pre-existing JSP or does the web page code have to be embedded within the servlet?

    Hi, do you mean you want to redirect to another JSP?
    you could use the "sendRedirect" method in the HttpServletResponse object.
    for example:
    public MyServlet perform(...HttpServletRequest request, HttpServletResponse response)
         throws IOException, ServletException {
      String redirectTo = "http://www.companyname.com/index.jsp";
      response.sendRedirect(redirectTo);
    }something like that....

  • Server Push in JSP

    Hi AnyOne!
              I have a jsp, and a database . If a column in my table gets updated I
              want all of my clients who are connected to it , to see the refreshed value
              without click any refresh/Reload button on the browser. A kind of
              Server-Push.
              That is, If one client makes changes, then all of the other clients on the
              web should get intimated.
              How can I achieve this ?
              thanks
              vikas
              

    Vikas,
              There was a article about the same in java world a while back.
              http://www.javaworld.com/javaworld/jw-03-2000/jw-03-pushlet.html
              But I believe this is bad design. I don't think using opened HTTP Connections
              to do a real time operation is not a good Idea. What if you are serving couple
              of hundred clients?
              Kumar.
              Vikas Jolly wrote:
              > Hi AnyOne!
              >
              > I have a jsp, and a database . If a column in my table gets updated I
              > want all of my clients who are connected to it , to see the refreshed value
              > without click any refresh/Reload button on the browser. A kind of
              > Server-Push.
              > That is, If one client makes changes, then all of the other clients on the
              > web should get intimated.
              >
              > How can I achieve this ?
              >
              > thanks
              > vikas
              

  • Server push / Client pull

    Hi,
    Please let me know about Server push and Client pull . When this has to be needed. please explain.
    Thanks in advance.

    google ...

  • Server Push   pushing data to clients

    Need some ideas.
    I have been hunting around for info on a simple/clean method
    to push data out to clients. Client could be a Java application or maybe an applet. Solution must easily go through firewalls
    In either case I want the client to startup, register with the server
    and start receiving data. Without further user intervention.
    Whatever, scheme is used must be able to deal with network
    disconnects.
    I have looked at Pushlets, the article was 2 years old and I don't see
    any recent postings on Pushlets. So maybe that is not the way to go.
    I guess my other choice is JMS. SonicMQ?
    Server Push using Netscape?
    Or are there other options.
    Many thanks for your feedback.
    KD

    Have you considered J2ME.
    J2ME and WAP Push can be complementary. but for WAP Push to work the devices or the browsers in the devices have to be WAP 1.2 complaint.
    more details can be found at http://devforum.openwave.com
    hope this helps.
    williams

  • Server Push in Servlets

    Hi AnyOne!
              I have a servlet, and a database . If a column in my table gets updated I
              want all of my clients who are connected to it , to see the refreshed value
              without click any refresh/Reload button on the browser. A kind of
              Server-Push.
              That is, If one client makes changes, then all of the other clients on the
              web should get intimated.
              How can I achieve this ?
              thanks
              vikas
              

    I read the OP's message and imediately thought oh, cool, MVC candidate :-)          If I wanna talk about MVC I would prefer Sun's Design Patterns group.
              Kumar.
              [email protected] wrote:
              > "Mettu Kumar" <[email protected]> wrote in message
              > news:[email protected]...
              > > Ryan,
              > >
              > > I was not commenting on MVC pattern. I am talking about the problems
              > > pushlets implementation could potentially cause.
              >
              > Mettu, we completly crossed paths my friend. I read the OP's message and
              > imediately thought oh, cool, MVC candidate :-) Silly me! I understand what
              > you are talking about now :-)
              >
              > > 1. If you are serving 10,000 clients, probably a given instance your
              > server will
              > > be serving 100 or 1000 of the them. but with pushlets you have 10, 000
              > > conenctions open siumultaneously and your server is serving all the client
              > 100%
              > > of the time.
              >
              > No, you're right that isn't good.
              >
              > > Do you think this would scale? Imagine the number of threads on server.
              > > 2. This could potentially bring down the web server you are using.
              > >
              >
              > It would scale right up to the time the server came crashing down :-) Yes,
              > if the server kept a single connection, thread of execution, open to every
              > client while the client was running that would be not so hot indeed,
              > especially if your clients increased exponentially. This is precisely why I
              > like the callback method on each client, kind of a pain to implement though.
              >
              > >
              > > Kumar.
              > >
              > > [email protected] wrote:
              > >
              > > > I wasn't referring to the article on pushlets you mentioned when I said
              > the
              > > > idea of MVC was a valid one, nor have I read the article as I respond
              > but
              > > > heres the idea I was describing which is based on the concept of MVC.
              > It
              > > > provides perfectly for the scenario the OP described IMO. I think, at
              > least
              > > > based on what I've seen, that the notion of MVC in the J2EE sector is
              > used
              > > > mostly as a means to seperate business logic from presentation logic.
              > It
              > > > doesn't allow for any mechanisms to notify the ``views" when data
              > ``model"
              > > > changes. This is no big deal I guess for most applications but it does
              > > > break the MVC paradigm IMO. To aleiviate this problem we incorporate an
              > > > observer pattern to notify each subscribing view when the model changes.
              > > > There really isn't any difference in my mind between push and pull where
              > > > pull is a standard RFC 2616 request and push is a simple callback to the
              > > > object registered with the controller (servlet, jsp). If the server can
              > > > handle a thousand or so concurrent requests why couldn't it handle a
              > > > thousand concurrent callbacks. You could probably improve this by
              > > > multi-threading the controller. Just some thoughts I would like to hear
              > > > yours :-)
              > > >
              > > > ~Ryan
              > > >
              > > > "Mettu Kumar" <[email protected]> wrote in message
              > > > news:[email protected]...
              > > > > Ryan,
              > > > >
              > > > > Did you ever try to use to Pushlets serving thousands of clients?
              > > > > Why did you think its a good design? If you feel its a good design,
              > let
              > > > us
              > > > > know whats good about it.
              > > > >
              > > > > Kumar.
              > > > >
              > > > > [email protected] wrote:
              > > > >
              > > > > > "Mettu Kumar" <[email protected]> wrote in message
              > > > > > news:[email protected]...
              > > > > > > Vikas,
              > > > > > >
              > > > > > > There was a article about the same in java world a while back.
              > > > > > > http://www.javaworld.com/javaworld/jw-03-2000/jw-03-pushlet.html
              > > > > > >
              > > > > > > But I believe this is bad design. I don't think using opened HTTP
              > > > > > Connections
              > > > > > > to do a real time operation is not a good Idea. What if you are
              > > > serving
              > > > > > couple
              > > > > > > of hundred clients?
              > > > > > >
              > > > > > > Kumar.
              > > > > > >
              > > > > >
              > > > > > It's a perfectly valid design. OP, check out MVC and the observer
              > > > design
              > > > > > pattern I think you'll find what you're looking for there.
              > > > > >
              > > > > > ~Ryan
              > > > > >
              > > > > > > Vikas Jolly wrote:
              > > > > > >
              > > > > > > > Hi AnyOne!
              > > > > > > >
              > > > > > > > I have a servlet, and a database . If a column in my table gets
              > > > updated
              > > > > > I
              > > > > > > > want all of my clients who are connected to it , to see the
              > > > refreshed
              > > > > > value
              > > > > > > > without click any refresh/Reload button on the browser. A kind
              > of
              > > > > > > > Server-Push.
              > > > > > > > That is, If one client makes changes, then all of the other
              > clients
              > > > on
              > > > > > the
              > > > > > > > web should get intimated.
              > > > > > > >
              > > > > > > > How can I achieve this ?
              > > > > > > >
              > > > > > > > thanks
              > > > > > > > vikas
              > > > > > >
              > > > >
              > > > >
              > >
              

  • Server push with Javamail: idle() blocks

    Hi,
    today I tried to implement server push functionality in my mail application via Javamail.
    I did this by calling the following method everytime Javamail creates a new Folder instance for me:
    private void activateServerPush(Folder f) {
         if (f instanceof IMAPFolder) {
              final IMAPFolder ifo = (IMAPFolder) f;
              ifo.addMessageCountListener(new MessageCountListener() {
                   @Override
                   public void messagesAdded(MessageCountEvent arg0) {
                        DebugPrinter.print(this, "messagesAdded event called");
                        clear(false, true); // Clear cache
                        onMessageCountChanged();
                   @Override
                   public void messagesRemoved(MessageCountEvent arg0) {
                        DebugPrinter.print(this, "messagesRemoved event called");
                        clear(false, true); // Clear cache
                        onMessageCountChanged();
              MyThread thread = new MyThread() {
                   @Override
                   public void run() {
                        while (true) {
                             DebugPrinter.print(this, "Before idle");
                             try {
                                  ifo.idle();
                                  DebugPrinter.print(this, "After idle");
                             } catch (MessagingException e) {
                                  // TODO Auto-generated catch block
                                  e.printStackTrace();
                             DebugPrinter.print(this, "After idle try");
              // Start thread
              ServletThread.EXECUTOR_SERVICE.submit(thread);
    }Now, when I run the code above, I only get "Before idle" as output.
    The rest won't be printed so it seems like idle() is blocking.
    Also, the event listener messagesAdded(...) are not called. I tried this by sending an email to myself but nothing happens.
    What's wrong?

    Hi Bill and thanks for your reply.
    How does the idle command (line) look line in the debug output?
    I simply did a full text search for the word "idle" (ignore case) of everything that got printed to console and only found this:
    DEBUG: mail.imap.minidletime: 10
    * CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS AUTH=PLAIN AUTH=LOGIN
    A2 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS] Logged in
    Also, I noticed that the line "Before idle" (See source code in my initial posting here) gets printed but AFTER that line I can't find anything else that could refer to the idle command.
    When I leave Apple Mail (my default native email client on my computer) open, the email that I sent gets correctly (instantly) pushed.

Maybe you are looking for

  • IPad air safari not working in iOS 8.1

    I have an iPhone 5, 5S and ipad air all on version 8.1.  Safari is not working on any of them.  It tries to load, the blank safari screen comes up, then it crashes and goes back to home screen.  I have to use google chrome to access the internet. I t

  • Problem setting up IMAP client that is housed on my MacMini OS 10.6 Server

    I can access my mail account on my Mac Mini OS 10.6 server from my iMac. I can not set up the clients on my iPhone (3S) and iPad (Wi-Fi). Both access the sever through the same Wi-Fi circuit that the iMac uses. Both were originally are synced to the

  • Borrar en una listbox

    Hola: Tengo un problema con las listbox. Quiero borrar el elemento que este seleccionado en la listbox y lo hago a través del método deleteItemAt lista=this.getField("prueba"); lista.deleteItemAt(lista.currentValueIndices); Pero de vez en cuando da u

  • Best way to back up both and iMac and MacBook Pro

    What's the best/simplist solution for routine backing up my 2012 iMac and 2011 MacBook Pro ? I'd like to be able to sync the Pro with the iMac and then maybe just have to backup the iMac.

  • ICloud is not updating my iMac desktop.  Laptop, iPad and iPhone are fine but the desktop remains static.

    iCloud is not updating my desktop with new iCal and Contacts updates.  How do I get the information to download from iCloud to this device? The desktop is OS X 10.7.5.  My MacBook Air is OS X10.8.  iPad and iPhone are iOS6.  My Apple ID on the OS dev