Go Back   ZeroC Forums > Help Center

Reply
 
LinkBack Thread Tools Rate Thread Display Modes
  #1 (permalink)  
Old 07-06-2007
beaudetious beaudetious is offline
Registered User
 
Name: Brian Beaudet
Organization: InterAct Public Safety Systems
Project: Mobile
 
Join Date: Jul 2007
Posts: 3
ICE and Low Bandwidth/Disrubtable Environment

My team is working on a C# application for vehicles that operate in a low bandwidth, TCP/IP wireless (but secure) environment prone to frequent dropped connections, etc. Multiple vehicles (clients) communicate with a single server sending and receiving messages. Currently we communicate with the server (on the backend) using standard VS.NET 2005 generated web services.

We've been tasked with improving our messaging performance and, as such, I've been doing some reading on ICE. My understanding so far is that we are just begging for problems - using SOAP and it's xml parsing overhead, compression overhead, encryption overhead, etc.

Is ICE something more suited to what we are trying to achieve? I'm concerned with some of the blog posts out there indicating that ICE is nice (can I trademark that?) but it's not appropriate for interoperability. However, my reading on your site makes me feel that you've got that covered (as far as Java, C++, Python, C#, etc. are concerned).

Thanks for any input I may recieve,

Brian
Reply With Quote
  #2 (permalink)  
Old 07-06-2007
matthew's Avatar
matthew matthew is offline
ZeroC Staff
 
Name: Matthew Newhook
Organization: ZeroC, Inc.
Project: Internet Communications Engine
 
Join Date: Feb 2003
Location: NL, Canada
Posts: 1,061
On the face of it Ice sounds ideal for what you are trying to achieve. If you try to use SOAP then you will have to deal with many things that Ice deals with automatically yourself such as request retry, connection re-establishment. In addition, you will have to deal with the bloated request size, the CPU required to process the unearthly XML, lack of standardized language APIs and, of course, the lack of any real object model, etc.. In addition, you will not be able to take advantage of the significant existing infrastructure components that Ice provides (IceGrid, IceStorm, Freeze, SSL, IceBox, Glacier2).

Quote:
Is ICE something more suited to what we are trying to achieve? I'm concerned with some of the blog posts out there indicating that ICE is nice (can I trademark that?) but it's not appropriate for interoperability. However, my reading on your site makes me feel that you've got that covered (as far as Java, C++, Python, C#, etc. are concerned).
As to the above comment -- when you speak of interoperability this can mean many different things. Interoperability with what?

Other object systems, for example, with SOAP? What you cannot do is talk natively to a SOAP Server with Ice and vice versa -- that is you need to write some sort of bridge (if indeed you need to bridge). There have been many different automatic bridging products written in the past for other RPC systems which have invariably resulted in failure because of mismatches in the object models, type systems and so on. Hand coded bridges are invariably better -- they present a more suitable object model which is more convenient to use and more efficient.

A better question is why would you want to bridge? Using Ice in your applications certainly does not precludes the use of SOAP. For example, you could write an Ice server that issues SOAP requests to some web service out there, and you can write Ice clients that talk to both Ice servers and SOAP servers.

How about other platforms? Ice is supported on most modern operating systems, such as Linux, Windows, Mac OS, Solaris, etc.

Language interoperability? In this respect I think Ice has all modern popular languages covered.

Another thing you might want to consider is support and documentation. In this respect I think we are second to none. As you can see we provide timely accurate support here on our forums. Our documentation is in many forms -- the Ice book a large tome of knowledge, our monthly connections newsletter where we provide real world advice on how to use Ice, the ZeroC forums and our community of developers.

Hope that helps!
Reply With Quote
  #3 (permalink)  
Old 07-09-2007
beaudetious beaudetious is offline
Registered User
 
Name: Brian Beaudet
Organization: InterAct Public Safety Systems
Project: Mobile
 
Join Date: Jul 2007
Posts: 3
Thanks for the prompt reply. I was given a few hours notice to explain the benefits of ICE and then the meeting was promptly canceled. So I have spent little more time familiarizing myself with the ICE API and reading through the (immense) documentation.

I hope I can make a clear argument for ICE because I like what I see and our Java developers agree. It's just our C# devs (me included) that are more familiar with the auto generated web service code via Visual Studio.

Personally, I think it's time to expand our knowledge base.

Take care,

Brian
Reply With Quote
  #4 (permalink)  
Old 07-09-2007
beagles's Avatar
beagles beagles is offline
ZeroC Staff
 
Name: Brent Eagles
Organization: ZeroC, Inc
Project: Ice Developer
 
Join Date: Feb 2003
Location: Newfoundland
Posts: 110
I'd like to add a little bit about platform support and portability. IceE picks up where Ice leaves off, allowing very small devices to participate in your Ice based systems. Check out our supported platforms page, for a list of platforms that we currently are developing and testing on.
Reply With Quote
  #5 (permalink)  
Old 07-09-2007
beaudetious beaudetious is offline
Registered User
 
Name: Brian Beaudet
Organization: InterAct Public Safety Systems
Project: Mobile
 
Join Date: Jul 2007
Posts: 3
In our case, Mobile is a project name. Our client software is installed on a touch screen laptop running Windows XP (in an officer's patrol car) and our server is typically deployed on Windows 2000 or higher.

The big problem we are facing is reliable message transfer. I can't get into specifics because a) I'm not supposed to and b) I'm still learning the architecture myself.
Reply With Quote
Reply



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
Question about ICE_CONFIG environment variable in Ice for java ? rc_hz Comments 2 09-18-2006 06:54 AM
How to implement bandwidth control with ICE? OrNot Help Center 2 02-13-2006 05:03 AM
Using Ice in an environment with changing IP addresses hiasl Help Center 7 09-19-2005 06:36 AM
How to release client soft without ICE environment auhua Help Center 2 04-20-2005 10:36 AM
ICE crashed in Lotus Notes Environment chaosun Help Center 1 09-24-2004 01:29 PM


All times are GMT -4. The time now is 12:11 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.0.0
(c) 2008 ZeroC, Inc.