前面我们已经讨论过伺服对象和Corba对象的不同生命周期事件以及伺服对象和Corba对象之间绑定创建的不同方式,现在从应用程序的角度来研究Corba对象实现的分类。这会帮助我们在下面的对BOA代和POA代ORB对象生命周期的讨论中能把重点放在应用问题上。
1. 伺服对象和状态
第一个分类和伺服对象的状态相关。基本上可以划分两类完全不同的伺服对象:无状态伺服对象和有状态伺服对象。
2. 无状态伺服对象
无状态伺服对象与内存中任一特定应用程序的状态没有关联。这并不是指由伺服对象实现的Corba对象必须是无状态的。例如, Corba对象的状态可驻留在数据库中,由伺服对象访问以执行请求。在这种情况中,伺服对象像一个瞬态的胶囊(capsule),它通过执行SQL语句而把到来的Corba请求委托给数据库服务器。
3. 有状态伺服对象
有状态伺服对象与某个特定应用程序的状态有关联,可由伺服对象实现的I D L操作来访问这些状态。