I'm not sure I'd say that "IIOP can be replaced with a SOAP plug-in", but you can easily make your existing CORBA service communicate using the SOAP protocol. Note that SOAP operates at a different layer in the communication stack than IIOP does. For example, you can send SOAP messages IIOP. SOAP is a message encoding protocol. Its equivalent in CORBA is CDR – the Common Data Representation, which is a binary encoding schema. SOAP encodes the message in XML, formatted in a SOAP envelope. SOAP messages can be transferred using any internet protocol, such as HTTP, SMTP, FTP, IIOP, WebsphereMQ, etc.
In any case, to make an existing CORBA client/service application communicate using SOAP, you need to generate a new client stub and server skeleton. You can generate the SOAP stub and skeleton by compiling the WSDL for the service (the same way that you compile CORBA IDL to generate CORBA stubs and skeletons). You can find WSDL compilers in any web services platform (WSP), such as Apache Axis, gSOAP, .NET, WebSphere, Systinet, PocketSOAP, SOAP::Lite, etc. (Choose your WSP based on the programming language you're using.)
OMG has defined a standard mapping between IDL and WSDL. The idl2wsdl and idl2soap utilities implement this mapping and can automatically convert a CORBA IDL definition to a WS-I compliant WSDL definition. The utilities are available as open source (Artistic license).
You might also turn to your CORBA provider for help. Both Borland and IONA support SOAP access to CORBA services within their application servers. Borland uses the Apache Axis web services platform and provides a Visibroker provider that allows Axis to map a SOAP request to a CORBA service method. Axis also provides a java2wsdl utility that helps you automatically generate a WSDL definition from a Java class. See info.borland.com/techpubs/bes/v6/html_books/developersguide/ws_partition.html for more information on Borland's support for Web services.
IONA Artix is an "enterprise service bus" (ESB) product that bridges SOAP and CORBA. Artix includes an IDL compiler that generates WSDL and SOAP wrappers for your CORBA service.
Other ESB providers also support automatic bridging between SOAP and CORBA. For example, Cape Clear makes it easy to integrate SOAP and CORBA.
This was first published in January 2005