サーバをインプリメントするいちばん簡単な方法は,継承を使用することです。それは,サーバオブジェクトとオブジェクトリファレンスが同じように見えて,同じように動作し,まったく同じコンテキストで使用できるからです。サーバオブジェクトがクライアントと同じプロセス内にある場合,メソッド呼び出しは,トランスポート,インディレクション(間接),または各種デリゲーションのない通常のJava関数呼び出しになります。
各IDLインタフェースがマッピングされるのは,対応するJava版IDLインタフェースをインプリメントするPOAのabstractクラスです。
/*From Bank.idl:*/
module Bank {
interface Account {
};
};
// Generated java
package Bank;
public abstract class AccountPOA extends
org.omg.PortableServer.Servant implements
org.omg.CORBA.portable.InvokeHandler,
Bank.AccountOperations {...}
// Linking an implementation to the ORB :
public class AccountImpl extends Bank.AccountPOA {...}