Archived

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

Can ICE be used in my platform?

My platform is a web-based service,which can provide some special image processing service.Current implementation is as follows:
User use jsp to upload image files,the java servlet then process the corresponding files by invoking the C++ implementated library using JNI.
The C++ image process library is not thread safe and therefore the servlet invocation has to be dispatched using "synchonized".Each process procedure will last about 500ms due to its computing complexity.
Therefore,in order to provide better service,the platform has to be extended to run on more computers. Can ICE be used in such a situation? I am a newer to ICE(only knows from just now).Thanks a lot!

Comments

  • matthew
    matthew NL, Canada
    Before we can offer support you must fill in your signature information as detailed here http://www.zeroc.com/vbulletin/showthread.php?t=1697
  • is it ok now?

    signature has been added
  • matthew
    matthew NL, Canada
    You can certainly use Ice in this platform. The java servlet can call on an Ice server to do the image processing. You could either use a custom solution for the load balancing or use the load balancing/replication features of IceGrid to automatically distribute the load among many different servers (you can see the articles that Benoit & I wrote in our newsletter "Connections" for details on this).

    Note that a C++ server will only have a single thread of execution by default so your image processing library should work without changes.
  • matthew wrote:
    You can certainly use Ice in this platform. The java servlet can call on an Ice server to do the image processing. You could either use a custom solution for the load balancing or use the load balancing/replication features of IceGrid to automatically distribute the load among many different servers (you can see the articles that Benoit & I wrote in our newsletter "Connections" for details on this).

    Note that a C++ server will only have a single thread of execution by default so your image processing library should work without changes.
    Very thankful! Furthermore,Can a contrast between ICE and ACE in this kind of implementation be given?
  • matthew
    matthew NL, Canada
    This is comparing apples and oranges. ACE is (among many other things) a network programming toolkit. Ice is a distributed object system. They both have very different goals. ACE is a much lower level toolkit. In my opinion to do what you want Ice would be significantly easier to use and implement.
  • matthew wrote:
    This is comparing apples and oranges. ACE is (among many other things) a network programming toolkit. Ice is a distributed object system. They both have very different goals. ACE is a much lower level toolkit. In my opinion to do what you want Ice would be significantly easier to use and implement.
    very thanksful!