Remote DCOM and Windows CE


Windows CE for Platform Builder/OEMs has DCOM as a module that can be optionally included.  It is not, never has been, and never will be an option for Windows Mobile/PocketPC/Smartphone devices.  CE's DCOM was based off of the NT4 SP5 era.


If you select the component in Platform Builder in CE 5.0, you'll get a very strongly worded security warning that begins with the words "The remoting component of DCOM will be removed from future releases of Windows CE."


We haven't solidified on the exact plans for our next release yet, but the fact that we put this comment up should be taken as fair warning.  If you're creating a new project for WinCE and you don't have to deal with legacy DCOM clients/servers, you should under no circumstances be using DCOM.


The best alternative in my opinion is using "web servicy" type technologies.  For server side, we have a web server and a soap toolkit.  For client side we have C#, wininet, and also the soap toolkit helps there.  You can also use Windows Sockets and roll your own protocol, but we think HTTP (and XML) are the future.  A lot of hard problems, like authentication and encryption, have been solved at the HTTP layer already for you.


CE will continue to support in-process COM.  If I removed that I'd break half the CE apps in the world and would have to go into hiding.  We will also continue to support COM between processes on the same machine.  Removing this would break a bunch of things, most notably popups on IE (and where would we be without popups ?:)).


A general introduction to Web Services (desktop specific, not WinCE) is available at http://msdn.microsoft.com/webservices/default.aspx?pull=/library/en-us/dnwebsrv/html/introwsa.asp


[Author: John Spaith]

Comments (11)

  1. Peter Falke says:

    Will this decision be presented at Medc2006?

    If you think Web Services are the future, how do you see the replacement of COM event notification handling?

  2. Werner says:

    What are the plans for DCOM in CE 6.0?

  3. rlesavre says:

    Hi John,

    Is there is any official information about the support (or not) of DCOM in the future releases of Windows CE ?

    Best Regards.

    Romain LESAVRE

    http://rlesavre.info/

  4. cenet says:

    To all those wondering about our official DCOM story for CE 6.0, I’m not able to tell you unless you have a non disclosure agreement with Microsoft since I can’t comment about un released products in public.  If you do you have an NDA you can contact me directly.  Sorry folks, not my call.

    John

  5. Paul Faust says:

    Hi John,

    What about a performant implementation of some sort of RPC call on CE.  So far Windows CE has skipped .NET remotiing (Actually a good choice given the version issues you run into; both your objects as well as versions of the framework) and there seems to be no public commitment to WCF on CE.

    Web services is a nice technology but slow for many application scenarios…  The soap toolkit web site from time to time has made threats of the functionality being removed as well .  Additionally, it would be convenient to serve up the SOAP objects within the process space of an applicaton rather than a thread of the web server.  Much like you can do on XP with the HttpListener class today in the 2.0 framework on XP.  For these reasons we have been looking into the open source gsoap technology.

    Will CE ever implement the ApplicationHost namespace?  it would be nice to get a managed Web Service implementation as well as ASP.NET support to complement the legacy asp.

    I can understand the rationale for cell phones and PDA’s… Never will be a server and with it’s connectivity to the network as it is, the traffic would never make it through the firewall.  However, in a local internet behind a firewall with internet appliances, dcom does make sense.  Additionally, with the COM interop with Managed code introduced in 2.0, it is very easy to define a "shim" COM object that passes the traffic up to a Managed object that implements the same COM interface and does all the heavy lifting.

  6. cenet says:

    Paul – sorry for the very long delay here.  We have many fast interproc communication mechanisms on ce (http://blogs.msdn.com/cenet/archive/2005/07/13/438424.aspx) but they tend to be primitive, not as nice as RPC admittedly.  Unfortunately it gets into a where do we spend our resources for the platform (esp ROM/RAM, but development heads also is important) and we don’t assume there’s enough folks doing "RPC-esque" stuff to do RPC on a smart-phone.  We do have same machine RPC today and that is not deprecated in CE 6.0, but it costs +500KB of RAM which is why Windows Mobile won’t take it and it’s general embedded only.

    As far as some of your other ideas, these are more in the range of C# which I really don’t know anything about.  You should probably track down a C# newsgroup/blog and bring these to their attention.

    [John Spaith]

  7. As I hinted at here , in CE 6.0 we have removed DCOM remoting due to security concerns. This is only

  8. Alex Oleynikov says:

    What about writing OPC-based applications in WinCE 6.0?

    To the best of my knowledge regular OPC (not OPC-UA) requires DCOM for its underlying communication and Industrial controllers based on CE may very much need OPC support.

  9. cenet says:

    Alex — we’re aware that Industrial Controllers need DCOM remoting for OPC; in fact they’re the only customers I know of that actually use DCOM remoting.  I hint around as much as I’m allowed to about the future of DCOM here — http://blogs.msdn.com/cenet/archive/2006/11/29/dcom-demystified-kindof-on-ce-6.aspx.  

    Sorry I can’t give you more definitive information now, for whatever it’s worth this is a scenario we’re thinking about still.

    John

  10. cenet says:

    It has come to my attention that there is at least one MS Gold Partner who has a solution that is able to help with effectively a DCOM/OPC replacement.  I don’t want to endorse them if only for fear of setting a precedent of that an the blog, but I want folks concerned over this to know that there are alernatives out there should they just look for them.

    John

Skip to main content