Archived
This forum has been archived. Please start a new discussion on GitHub.
Bunch of questions by a ICE newbie (I'm trying to decide to switch to ICE or not)
Hi everyone,
first, forgive me my (d)english. If invent some new words or phrases, sorry;-)
Second, I searched the archives and found some Discussions about some of my questions, but no easy answer. Some questions are simply there to assure that using ice is the right decision.
So I hope you don't think I'm impertinent to bother you with this bunch of questions. Answers aka RTFM are welcome, if you can give me a hint which manual
So, lets start!
1) Are the following platforms supported?
OS: Sun Solaris 10
Arch: Sparc and AMD64
Compiler: Sun Studio 11
2) Can ICE be used in 64-bit mode?
3) Can I have a C++ server and a Java client?
We are using the Prevalence pattern in combination with the Command pattern. The server will host a PrevalentSystem with a large object tree (only about 2000 object instances, but 25 GIGA byte memory). For access to the PrevalentSystem we have two base classes:
- Command (read access)
- RedoLogCommand (read/write access)
If I understand the basics right, the call flow has to be:
- Create the Command(Proxy) objects on the client
- Send the objects via ICE to the server
- Server executes the commands
4) If I'm right, this means I have to write IDL for this Command classes.
5) Can I still use my two base classes for the generated classes?
6) Even if my base classes are template classes?
7) Has someone used the command pattern wit ICE?
The Prevalence pattern relies heavily on object serialization/deserialization. I want to serialize my 25GB object space into a single file. I read some things about using a berkley db for this, but I think that's not performant enough. So I got the following idea:
- Create the classes for the object space via IDL
- Use the marshaling/unmarshaling capabilities of ICE to serialize/deserialize the object space
8) Is this a good idea??? (Would be nice, because I could send the whole object space over the line to another server)
9) Are there known problems / best practices for IDL specifications of classes with large arrays of primitive types?
Now that you have managed to read that far come my last 5 questions:
10) Does ICE have an integrated build environment like ACE/TAO
11) Is there an eclipse or <insert your ide> integration plugin for ICE
12) Are there known best practices for logging
13) Are there known best practices for function call tracing
14) Are there known best practices for error handling
Thanks a lot for reading to the bitter end
Once again: all comments are welcome
Best regards,
Markus
first, forgive me my (d)english. If invent some new words or phrases, sorry;-)
Second, I searched the archives and found some Discussions about some of my questions, but no easy answer. Some questions are simply there to assure that using ice is the right decision.
So I hope you don't think I'm impertinent to bother you with this bunch of questions. Answers aka RTFM are welcome, if you can give me a hint which manual
So, lets start!
1) Are the following platforms supported?
OS: Sun Solaris 10
Arch: Sparc and AMD64
Compiler: Sun Studio 11
2) Can ICE be used in 64-bit mode?
3) Can I have a C++ server and a Java client?
We are using the Prevalence pattern in combination with the Command pattern. The server will host a PrevalentSystem with a large object tree (only about 2000 object instances, but 25 GIGA byte memory). For access to the PrevalentSystem we have two base classes:
- Command (read access)
- RedoLogCommand (read/write access)
If I understand the basics right, the call flow has to be:
- Create the Command(Proxy) objects on the client
- Send the objects via ICE to the server
- Server executes the commands
4) If I'm right, this means I have to write IDL for this Command classes.
5) Can I still use my two base classes for the generated classes?
6) Even if my base classes are template classes?
7) Has someone used the command pattern wit ICE?
The Prevalence pattern relies heavily on object serialization/deserialization. I want to serialize my 25GB object space into a single file. I read some things about using a berkley db for this, but I think that's not performant enough. So I got the following idea:
- Create the classes for the object space via IDL
- Use the marshaling/unmarshaling capabilities of ICE to serialize/deserialize the object space
8) Is this a good idea??? (Would be nice, because I could send the whole object space over the line to another server)
9) Are there known problems / best practices for IDL specifications of classes with large arrays of primitive types?
Now that you have managed to read that far come my last 5 questions:
10) Does ICE have an integrated build environment like ACE/TAO
11) Is there an eclipse or <insert your ide> integration plugin for ICE
12) Are there known best practices for logging
13) Are there known best practices for function call tracing
14) Are there known best practices for error handling
Thanks a lot for reading to the bitter end
Once again: all comments are welcome
Best regards,
Markus
0
Comments
-
Hi Markus,
Welcome to the forums! Before we can offer you assistance can you please fill out your signature details as detailed in the link contained in my signature.0 -
Hi Markus,
Welcome to our forums. I fixed your signature; you forgot to check "Show your signature".1) Are the following platforms supported?
OS: Sun Solaris 10
Arch: Sparc and AMD64
Compiler: Sun Studio 11
No, this is not a supported platform. However I suspect building Ice on this platform would be very easy.
You can find the list of supported platforms at:
http://www.zeroc.com/platforms.html2) Can ICE be used in 64-bit mode?
Yes.3) Can I have a C++ server and a Java client?
Yes.We are using the Prevalence pattern in combination with the Command pattern. The server will host a PrevalentSystem with a large object tree (only about 2000 object instances, but 25 GIGA byte memory). For access to the PrevalentSystem we have two base classes:
- Command (read access)
- RedoLogCommand (read/write access)
If I understand the basics right, the call flow has to be:
- Create the Command(Proxy) objects on the client
- Send the objects via ICE to the server
- Server executes the commands
You can implement any pattern using Ice.4) If I'm right, this means I have to write IDL for this Command classes.
Yes, distributed operations must be described using Ice's Interface Definition Language, Slice.5) Can I still use my two base classes for the generated classes?
6) Even if my base classes are template classes?
The classes genererated from Slice definitions do not inherit from application-classes.7) Has someone used the command pattern wit ICE?
The Prevalence pattern relies heavily on object serialization/deserialization. I want to serialize my 25GB object space into a single file. I read some things about using a berkley db for this, but I think that's not performant enough. So I got the following idea:
- Create the classes for the object space via IDL
- Use the marshaling/unmarshaling capabilities of ICE to serialize/deserialize the object space
That's basically what Freeze maps do: use the Ice encoding to store Ice-formatted data in a Berkeley DB database (which is, at the end, a file).
If you don't need a map but just a sequence, using your own file and serialization could be faster.8) Is this a good idea??? (Would be nice, because I could send the whole object space over the line to another server)
Hard to say without more details.9) Are there known problems / best practices for IDL specifications of classes with large arrays of primitive types?
Yes, please look at our FAQs:
http://www.zeroc.com/faq/fileTransfer.html10) Does ICE have an integrated build environment like ACE/TAO
No, and I did not know ACE/TAO had one.11) Is there an eclipse or <insert your ide> integration plugin for ICE
See http://www.zeroc.com/vbulletin/showthread.php?t=166512) Are there known best practices for logging
13) Are there known best practices for function call tracing
14) Are there known best practices for error handling
I recommend to read past issues of our newsletter:
http://www.zeroc.com/newsletter/index.html
Best regards,
Bernard0 -
Thank you very, very much
The provided links help me very much.
Thanks for your time.
Best regards,
Markus0