Skip to main content

  • Login | Forgot Password?
Ribbit Developer logo

What CallBack URL do I specify ?

  • Login or register to post comments
4 replies [Last post]
Sun, 2010-01-31 17:21
shahed
User offline. Last seen 5 weeks 5 days ago. Offline
Joined: 2010-01-23
For async notifications, I need to specify a callback url. So my question is, what is this URL ?? It cannot be any application on my PC, as how would the java library / event notification mechanism know when the event was recieved ?? So my guess is that when I start my app, it should start up a webserver ?? If it does (which I dont think it seems to do) what is the URL I need to passs in updateApplication ?? Thanks
Top
  • Login or register to post comments
Mon, 2010-02-01 15:58
#1
shahed
User offline. Last seen 5 weeks 5 days ago. Offline
Joined: 2010-01-23
see below
see below
Top
  • Login or register to post comments
Mon, 2010-02-01 12:29
#2
jwill
User offline. Last seen 1 week 5 days ago. Offline
Joined: 2009-07-29
Yes, the url you specify
Yes, the url you specify would be the means to get notified that a function has completed. *You* would need to set up a webserver for your apps if you don't already have one to receive the notifications.
Top
  • Login or register to post comments
Mon, 2010-02-01 15:57
#3
shahed
User offline. Last seen 5 weeks 5 days ago. Offline
Joined: 2010-01-23
But how do I link it to my app ??
If I specify the URL to a web server that I am running, then I will get the callback. But how will it trigger the addListener() method in the JVM where my application is running ? There has to be some way to link the callback, to the event dispatcher, and that cannot be done if they are running in different JVMs (with no Inter Process Communication) !!
Top
  • Login or register to post comments
Mon, 2010-02-08 06:56
#4
san1t1
User offline. Last seen 1 week 1 day ago. Offline
Joined: 2009-04-07
Callback marshalling

You are correct, it is not necessarily straightforward to marshal callback notifications that REST sends to client code.

The async operations provided in the library are really intended for GUI applications, simply so that the HTTP calls don't lock the user interface; there is no particular benefit to using them server side, as the library should (I believe) take advantage of Java's non blocking IO.

So currently you need to write your own solution for marshalling callbacks to the correct place in code. You can either do this by having an HTTP listener in the same JVM (I use the Apache Commons HTTP libraries), or by using some kind of signalling - a socket, a named pipe, even a database table. Which of these you choose is up to you, and how you event these to your code is also up to you.

There are improvements being worked on to make this much easier within the REST libraries, but for now I'm afraid pulling this together is something you have to architect for yourself - currently the libraries really just help you construct requests to the Ribbit Server and manage user sessions, but not track call state.

Cheers

Tim

Top
  • Login or register to post comments
  • Login or register to post comments
sales@ribbit.com
(619) 916-2565
 Talk to Us!
Get Started
     Ribbit Idea Wall
Industry Solutions

  • Digital Agencies
  • Hosted Call Centers
  • Systems Integrators
  • Carriers/ISPs
  • Company
    • Corporate Site
    • About Us
    • Careers
    • Contact Us
    • LegalPrivacy
    • News
    • Media Kit
  • Products
    • Platform
    • Mobile
    • Salesforce
    • Oracle
  • Solutions
    • Digital Agencies
    • Carriers
    • Systems Integrators
    • Hosted Contact Centers
  • Community
    • Corporate Blog
    • Developer Blog
    • CRM Blog
    • Moble Blog
    • Idea Wall
    • Events Calendar
  • Support
    • Developer Help
    • Ribbit for Salesforce Help
    • Ribbit for Oracle Help
    • Ribbit Mobile Help
    • Feedback
    • Developer Forums
    • Ribbit Mobile Forum
  • Developers
    • Developer Center
    • Develop for Ribbit Mobile
    • Register
    • Ribbit Labs

© 2010 Ribbit Corporation. All Rights Reserved.