Managed COBOL can invoke and be invoked by code in any other managed language. Managed COBOL can also invoke native COBOL.
In addition, managed code in languages other than COBOL and native COBOL can interoperate by going through managed COBOL code.
Overview of Interoperability Broadly, there are three Microsoft techniques for calling between native COBOL and managed code: CCW, RCW and Platform Invoke.
Calling a .NET Class from Native COBOL, Using CCW The COM-callable-wrapper (CCW) is a .NET technique for COM interoperability. CCW wraps managed code as a COM object so that
native code can call it like any other COM object.
Calling a Native COBOL COM Object, Using RCW The runtime-callable-wrapper (RCW) is a .NET technique for COM interoperability. RCW wraps a COM object so that the .NET runtime
system can call it. It effectively exposes a COM interface so that managed code can call it.
Platform Invoke and Calling Native COBOL Platform Invoke is a .NET technique that enables managed code to call unmanaged functions implemented in dynamic link libraries
(.dlls).
PInvoke Example The supplied PInvoke sample demonstrates Platform Invoke.
Callable Attribute in .NET COBOL Interoperation To call methods from COBOL safely, you need to set the MicroFocus.COBOL.RuntimeServices.CallableAttribute attribute on the non-COBOL methods and on the class and assembly containing them