XpCom ( "Cross Platform ComponentObjectModel" ) is a set of InterfaceDefinitionLanguage spec for CeePlusPlus and JavaScript (via XpConnect), used by TheMozillaProject (of cross platform MozillaFirefox fame) for creating extensions that serve in RichInternetApplications.
The OpenSource XpCom technology supports threading, but are not required to be re-entrant. This is where outward similarities with MicrosoftCorporation's ComComponent end. XpCom does not have the elaborate performance related implementations to make thread safe distinctions between in-process and out-of-process situations.
see http://www.peerfear.org/rss/permalink/2004/11/28/DistributedXPCOMAMozillaRemoteScriptingFramework/ getting the best of Emacs and Mozilla (talk about XmlRPC, REST) from Kevin Burton
MozillaXul extension is MozillaBrowser-based tool to develop RichInternetApplications. see http://www-128.ibm.com/developerworks/webservices/library/co-xpcom4/
Some SoapProtocol based XpCom components exist already. What practical opportunities, if any, exist for people wanting to expose legacy BigIron information to intranet? [I avoid internet because WebServicesSecurity is "BleedingEdge" technology]
Resources
http://www.xulplanet.com/references/xpcomref/ Mozilla XPCOM interface FAQ
http://www.mozilla.org/scriptable/ XpConnect
http://www-128.ibm.com/developerworks/webservices/library/co-xpcom5.html dealing with re-entrant applications
http://web.archive.org/web/20021119115318/http://c2.com/cgi/wiki?XpCom Earlier XpCom description which I helped to destroy before the debut of wonderful FireFox extensions (e.g. SAGE RssViewer)
http://www.communitywiki.org/odd/MozillaJavaScript/HomePage - OddWiki? for Mozilla Javascript XPCOM.