
图1 数据仲裁机制示意图
EJB仲裁器运行在Java虚拟机(JVM)上,它主要包含公共数据字典(Common Data Dictionary)和公共数据模式(Common Data Schema)和转换函数库(library)。其中,公共数据字典使所有系统都采用标准术语,并且对标准术语的解释都是唯一的;公共数据模式由覆盖特定功能域的E-R数据模型表示;EJB仲裁器通过转换函数库为客户端" title="客户端">客户端应用提供SQL语句转换和数据转换服务。
信源模式和信宿模式采用数据库视图来表示,在数据库视图中隐含了信源/信宿与公共实体之间的关联,并且包含每个数据元素的语义信息。EJB仲裁器可以根据不同情况选择适当的转换函数。除了模式关联以外,在信源/信宿模式中的每个属性都有相应的元数据,用来描述其含义和特征(如精度、单位等)。数据元素的含义由公共数据字典定义。每当需要在信源模式和信宿模式之间建立数据元素的关联时,EJB仲裁器通过搜索转换函数库来组织过程调用序列。
下面解释客户端应用怎样通过API调用来访问EJB仲裁器。
最简单的情况是客户端应用和EJB仲裁器位于同一JVM上,此时客户端应用可以直接调用EJB仲裁器提供的API接口。但在通常情况下,客户端应用与EJB仲裁器分布在不同的服务器上,这时需要借助CORBA、.NET、RMI等分布式计算技术来提供仲裁服务。
我们采用CORBA技术,即将EJB仲裁器与CORBA服务器绑定,并以CORBA服务的形式提供API接口。
下面具体介绍客户端程序怎样利用CORBA访问不同Java虚拟机上的EJB仲裁服务。
(1)启动EJB仲裁服务器
通过位于
如果利用缺省的配置文件启动EJB仲裁器,可以启动它提供的所有服务,但不能在CORBA注册表中绑定仲裁服务API接口。
(2)配置参数
为了将EJB仲裁服务与CORBA服务绑定,需要编辑位于
在将路径设置为
下面用一个实例程序来说明客户端程序访问EJB仲裁器的过程。
import org.omg.CORBA.ORB;
import org.omg.CosNaming.NameComponent;
import org.omg.CosNaming.NamingContext;
import org.omg.CosNaming.NamingContextHelper;
import com.adventnet.mediation.service.poll.corba.PollAPI_CI;
import
com.adventnet.mediation.service.poll.corba.PollAPI_CIHelper;
public class Sample
{
public Sample()
{
}
public static void main(String[] args)
{
try
{
// 创建并初始化ORB
ORB orb = ORB.init(args, null);
// 获得命名服务
org.omg.CORBA.Object objRef =
orb.resolve_initial_references("NameService");
NamingContext ncRef = NamingContextHelper.narrow(objRef);
// 对象引用
NameComponent nc = new NameComponent("PollAPI", "");
NameComponent path[] = {nc};
// 为PollAPI_CI取句柄
PollAPI_CI api = PollAPI_CIHelper.narrow(ncRef.resolve(path));
System.out.println(" 被初始化为 " + api.isInitialized());
}
catch (Exception e)
{
System.out.println(“在通过CORBA访问PollAPI时出现异常” + e);
}
}
}
5 结束语
数据互操作性是当前信息系统面临的重要问题,将来也仍然会有这种问题。数据标准化方法有助于解决这一问题,但它不是完整的解决方案。我们开发了一种基于EJB的数据仲裁服务器,用来弥补数据标准化方法丢失的部分解决方案。
数据标准化方法是数据共享的基础,数据仲裁方法是对数据标准化方法的必要补充。数据标准化与数据仲裁相结合是今后数据互操作技术的发展方向,与之相关的一些数据互操作关键技术:公共表示与元数据、数据仲裁和语义仲裁、中间件、数据仓库、XML门户等也将成为研究热点。
参考文献
[1] Sciore, E., Siegel, M., Rosenthal, A. Using semantic values to facility interoperability among heterogeneous information systems. ACM Transactions on Database Systems, 1994.
[2] Jerry Smith (DISA Interoperability Directorate), “The Data Is Key”, CALS/EC International Symposium, 2001.
[3] John S. Erickson, Information Objects and Rights Management: A Mediation-based Approach to DRM Interoperability, D-Lib Magazine April 2001.
[4] Sun Microsystems White Paper, Interoperability Across the Technical Enterprise, Technical Computing in the Network Economy, 1999.
[5] OMG, The Common Object Request Broker: Architecture and Specification (Version 2.4.2), Febuary 2001.
凡《网络安全与数据治理》(原《信息技术与网络安全》)录用的文章,如作者没有关于汇编权、翻译权、印刷权及电子版的复制权、信息网络传播权与发行权等版权的特殊声明,即视作该文章署名作者同意将该文章的汇编权、翻译权、印刷权及电子版的复制权、信息网络传播权与发行权授予本刊,本刊有权授权本刊合作数据库、合作媒体等合作伙伴使用。同时,本刊支付的稿酬已包含上述使用的费用,特此声明。