The code for the example application is provided in the bank_agent.html file. You can find this file in:IDL is the language that an implementer uses to specify the operations that an object will provide and how they should be invoked. In this example, we define, in IDL, the Account interface with a balance() method and the AccountManager interface with an open() method.With the interface specification described in step 1, use the idl2java or idl2cpp compilers to generate the client-side stubs and the server-side classes for the implementation of the remote objects.To complete the implementation of the client program, initialize the VisiBroker ORB, bind to the Account and the AccountManager objects, invoke the methods on these objects, and print out the balance.To complete the implementation of the server object code, we must derive from the AccountPOA and AccountManagerPOA classes, provide implementations of the interfaces' methods, and implement the server's main routine.You then use the idl2cpp compiler to generate stub routines and servant code compliant with the IDL specification. The stub routines are used by your client program to invoke operations on an object. You use the servant code, along with code you write, to create a server that implements the object.The sample below shows the contents of the Bank.idl file for the bank_agent example. The Account interface provides a single member function for obtaining the current balance. The AccountManager interface creates an account for the user if one does not already exist.module Bank{
interface Account {
float balance();
};
interface AccountManager {
Account open(in string name);
};
};The interface specification you create in IDL is used by VisiBroker's idl2cpp to generate C++ stub routines for the client program, and skeleton code for the object implementation.Because the Bank.idl file requires no special handling, you can compile the file with the following command.