This forum has been archived. Please start a new discussion on GitHub.

Is IceStorm the right choice?

I have generally read the manual in last 3 weeks. But i still cannt find the right direction. What i want to realize is,that some RFID Sensors are on one side, a programm for control is on the other side. They can communicate with eachother in TWO directions

1. Is the IceStorm the right choice for me?
2. Is IceStorm the only standard way to transfer package between client and server?


  • xdm
    xdm La Coruña, Spain

    In short IceStorm is a publish–subscribe event distribution service that allows you to create push applications that decouple publishers and subscribers.

    see a more complete guide is include in Ice manual
    1. Is the IceStorm the right choice for me?

    Is difficult to say without more info about your application. Usually you want to use IceStorm when you want to decouple publisher from subscribers.
    2. Is IceStorm the only standard way to transfer package between client and server?

    That isn't strictly correct, IceStorm is just an Ice service, but it isn't the standard way to communicate between client and servers.

    Ice use RPC (remote procedure calls) to communicate between client and servers, this RPC are send over the wire using Ice protocol, and so is what IceStorm does.

    Typically a server register some Ice objects and clients do RPC by invoking a method on a proxy.

    I think you need to work a bit more with the basics (client/server) architecture, using the demos in Ice sub directory as start point, and once you have a better understanding of this basics, you could try to use advanced services like IceStorm.

    I suggest you to take a look to bidir and callback demos in Ice distribution.

  • Hello Jose,
    first of all, thank you soooo much , that u have answered so much in detail. Thank you very much. That's really important for me to know, what i should do to make this project to move on. I will see more basic knowledage and code as u have suggested.

    Now i still wanna describe little more about this application. If you have time, could you please give me little more directions?

    Communication between a GUI and some Sensors. We hope, people can add the sensors or remove as they want. The communication should be with 2 directions. GUI to Sensor and Sensor to GUI. GUI send the control signal to Sensor to tell it how to work. Sensors reply the results of the measurement.
    How can i realize it with ICE? If u could tell me little directions , that would be very helpfull.

    Thanks a lot

    best wishes
  • xdm
    xdm La Coruña, Spain

    I think i will start with a single central server , and several interface to handle each communication type.

    I would first define two interfaces one for messages send to sensors, and other for messages send to GUI clients, let us call this the callback interfaces, here we define methods that sever use to communicate with the client applications, in this sense GUI and sensors are both client applications.

    Then i would define two different session interfaces, one for sensors and other for GUI clients, in these interfaces define the methods that sensors and GUI clients use to communicate with the server.

    With and architecture like this later you could easy replace the server implementation to rely on IceStorm for handle the message distribution.

    You could use some of the concepts and ideas exposed in our Chat Demo