跟贴请点击 http://www.huihoo.com/cgi-bin/forum/viewthread.php?tid=1266
作者 文章标题 请问如何实现一个类似EJB BEAN的CORBA服务器???




新手上路



贴子数量 : 7
注册日期 : 6/24/2002
在线情况 : 离线

  发表于: 7/9/2002 - 02:20
也就是说,实现的CORBA服务器在多个方法调用之间能够维持用户的会话状态。
在此先感谢各位大侠了。

 

____________________

你可以侮辱我,但不能侮辱我的技术
 
查看此人的个人资料 发送E-Mail给此人 编辑贴子 引用回复 搜索此人的所有贴子 给此人发送短消息




版主



贴子数量 : 264
注册日期 : 10/28/2001
在线情况 : 离线

  发表于: 7/9/2002 - 07:08
你可以参考CCM规范(CORBA Component Model)

在CCM规范中,每个Component都是使用工厂创建出来的,如果是Session类型的Component,那么每个客户要使用它,都要自己创建一个。

CCM中的扩展类型的构件除外。因为它可能是一个Assembly的一部分(所谓Assembly,就是由多个Component组成,他们之间的通讯通道由部署工具连接而成)
 
发送E-Mail给此人 编辑贴子 引用回复 查看此人的所有贴子 给此人发送短消息




版主



贴子数量 : 198
注册日期 : 11/16/2001
在线情况 : 离线

  发表于: 7/9/2002 - 08:30
如果先不谈CCM(实际上原理都是一致),我们来看一个实际的IDL设计:

module BankDemo
{
typedef float CashAmount; // Type for representing cash
typedef string AccountId; // Type for representing account ids

// Forward declaration of Account
//
interface Account;

// Bank interface...used to create Accounts
//
interface Bank
{
exception AccountAlreadyExists { AccountId account_id; };
exception AccountNotFound { AccountId account_id; };

Account
find_account(
in AccountId account_id
) raises(AccountNotFound);

Account
create_account(
in AccountId account_id,
in CashAmount initial_balance
) raises (AccountAlreadyExists);

void
shutdown_bank();
};

// Account interface...used to deposit, withdraw, and query
// available funds.
//
interface Account
{
exception InsufficientFunds {};

readonly attribute AccountId account_id;
readonly attribute CashAmount balance;

void
withdraw(
in CashAmount amount
) raises (InsufficientFunds);

void
deposit(
in CashAmount amount
);
};
};

-摘自IONA OrbixE2A demo "servant management"
在这个例子子中,bank是工厂,且是non session的,product是有有状态的,客户端拿到bank的对象引用,调用bank的find_account,create_account方法得到得到有状态的product。

当然,在服务端的内存和对象管理较复杂,我认为这也是为什么会有CCM的最初动因吧。

 
发送E-Mail给此人 编辑贴子 引用回复 查看此人的所有贴子 给此人发送短消息




版主



贴子数量 : 198
注册日期 : 11/16/2001
在线情况 : 离线

  发表于: 7/12/2002 - 03:26
本人最近刚译了一篇关于这个论题的文章"EJB/CORBA的区别与联系":
http://www.huihoo.com/corba/EJB_CORBA_Comparison_chinese.pdf

请提意见。
 
发送E-Mail给此人 编辑贴子 引用回复 查看此人的所有贴子 给此人发送短消息