Archived

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

complex applications

I'm sorry for this trivial question.

I've read the manual and done many examples. Now I'm facing to the real world and I need to develop an application that should expose some methods for RPC while doing some background work (i.e worker thread) and these threads should publish data on topics.

I need to put all these things together inside one application/service. Is there an example which show how to do this (I would say a sort of "ice application pattern").

I remember that someone else made a question like mine on this forum, but I don't find it more.

Thanks
Enrico

Comments

  • benoit
    benoit Rennes, France
    Hi Enrico,

    Can you perhaps detail a little more what you are looking for? Are you looking for advices to write the Slice interface of your service? Are you wondering whether or not you should use IceStorm? Or is your question more about how to deploy your application and the Ice services it might need?

    Cheers,
    Benoit.
  • My application should do two things.
    1. It has to expose an interface that is used from client to stimulate the application.
    2. It has to publish alla data read from a signal acquisition board on a topic.

    While the point 1 could be the real main of my application, is it correct to do a worker acquisition thread from where I initialize and handle the publisher of my topic? Is this the better choice ? Or instead I should prefere to do a second application for data logging and publishing on the topic?
  • benoit
    benoit Rennes, France
    Hi,

    With 2 processes, you can more easily update one while the other is still running. However, it's a bit more complex since you have to manage 2 processes. There are also many other things you have to take into account to take a decision on this. Such as for example whether or not the implementations of these 2 services need to communicate between each other (and how often). I'm afraid without more information it's difficult to give you some good advices on this.

    Perhaps you should also consider implementing these 2 services as IceBox services? This way, you can host the 2 services within the same process initially and decide later to split them if needed. For more information, see the IceBox documentation.

    Cheers,
    Benoit.
  • benoit wrote: »
    Hi,

    With 2 processes, you can more easily update one while the other is still running. However, it's a bit more complex since you have to manage 2 processes. There are also many other things you have to take into account to take a decision on this. Such as for example whether or not the implementations of these 2 services need to communicate between each other (and how often). I'm afraid without more information it's difficult to give you some good advices on this.

    Perhaps you should also consider implementing these 2 services as IceBox services? This way, you can host the 2 services within the same process initially and decide later to split them if needed. For more information, see the IceBox documentation.

    Cheers,
    Benoit.

    I really didn't understand that IceBox could handle two services inside the same process. So I think that IceBox could be the right choice for me. Thank you very much Benoit, I will try the IceBox.