严健 张娜
一、框架结构
网格系统有哪些组成部分,组成部分之间的关系以及如何协同工作是网格结构研究需要解决的关键问题。我们提出了企业信息网格Loglo系统结构,Loglo系统是基于Web服务范型基础,由全局注册中心、提供者、消费者构成。全局注册中心节点实现了信息全局注册、信息查询和信息的动态发现,消费者在全局注册中心发现提供者发布的信息,最后通过访问提供者节点的信息服务获得信息。
二、提供者节点
提供者节点结构如图2所示。其中共享信息模块提供共享信息服务,本地注册模块完成信息的本地注册,全局发布模块实现信息的发布和注销。在Loglo系统中,根据Web服务的全局注册中心,我们提出了本地注册的概念,实现信息的一致性维护和管理的灵活性,其中本地注册功能模块是我们研究的重点。
本地注册模块采用存储系统和文件实例方式来抽象底层的资源。把这些底层可读可写的物理单元抽象成一个更高层次的本地注册表,目的为给上层提供一致的、透明的访问,即上层操作的只是一些注册表,不需要知道物理资源的存储方式和存储位置。其中本地注册中心由资源模块、JDBC接口模块、基于XML元信息管理模块、自动访问模块、信息发布员管理模块构成。
三、JDBC接口模块
JDBC是一种能通过Java语言访问结构化数据的应用程序接口(API),为SQL兼容的数据库提供了一个标准的接口集合。JDBC/ODBC允许用户使用统一的接口通过ODBC去连接数据库,而不需要专门研究ODBC的技术和规范。对于Windows操作系统下,注册者本地原有的数据库通过JDBC/ODBC桥进行动态连接。其它类型操作系统通过JDBC驱动进行连接。
四、自动访问模块
自动访问模块其核心为本地注册表reg.xml和database_reg.xml以及对它们的一些操作。信息发布员通过本地注册API对本地信息资源进行注册,应用程序根据注册者所注册资源的基本信息,如对于数据库资源,将注册资源的JDBC驱动、数据源,基本表名等控制信息自动提取写入本地注册表reg.xml、database_reg.xml,信息服务开发者根据企业中经常用的几种类型数据库如,Excel、Access、MYSQL、MSSQL、ORACLE开发统一的信息查询服务,并将这些服务封装一次性部署,当有新的数据库资源注册时,避免了手工部署的麻烦。当信息访问请求到达时,应用程序通过读本地注册表reg.xml、database_reg.xml完成了应用程序和数据库的动态连接。
对于文本资源,将注册资源的物理位置等信息写入本地注册表,根据对文本的常用查询方法开发通用的服务,即使有新的文本信息资源注册,也无须开发新的服务。当信息访问请求到达时,应用程序通过读本地注册表完成了应用程序的对文本信息资源的定位。
五、基于XML元信息管理模块
基于XML元信息管理模块,其核心为本地注册表table_info.xml,以及对它的一些操作。完成基于XML的应用元数据表示和物理资源之间的映射,即把物理资源用基于XML应用元数据表示,描述所有共享数据(物理资源)的属性,其中数据库包括字段名、类型、主键等。一般的元数据包括,数据库名、构架、表名、列名、数据类型、长度、小数位数、精度,是否允许空值等(参照Microsoft SQL Server 2000元数据表结构),按照此体系结构需要,应用元数据表中的字段可以定义为数据表定义字段、扩展字段。
根据应用元数据表构建本地注册表table_info.xml,将表头作为元素,表头对应的值作为元素值。在应用元数据表中,相同序号reource_id为同一个数据库下的表(对应一个信息资源目录subid)构造基于XML元信息管理表结构。
其中对于文本文件的元数据可以定义为,文件名、文件标题、文件段落数。
通过上面的分析我们得到由物理资源到本地注册表table_info.xml的抽象过程如图3所示。
综上所述,基于XML元信息管理模块和自动访问模块,即可协助完成信息查询功能。对数据库信息资源的查询操作除了面向数据库的表不同(具体的说,就是数据库驱动和数据源不同),而导致其表名、字段名、类型等信息不同外,其他内容基本都是相同的的,在具体实现上,数据库连接时Class.forName()和DriverManager.getConnection()参数值不同而已,因此我们对数据库信息资源操作时通过本地注册表得到JBDC接口信息(Class.forName()和DriverManager.getConnection()参数值)进行统一操作在理论上和实践上都是可行的。同时,又是用户访问数据库时动态完成数据库驱动和数据源连接较好的一个方案。对于文本信息资源通过读本地注册表就可以定位到某一个具体的文件甚至可以定位到文件的某一段落。
提供者结点通过JDBC接口模块、基于XML元信息管理模块和自动访问模块屏蔽了资源层中分散、动态异构的各种资源,为企业信息资源的共享、集成和互操作提供透明的、一致的使用接口,以支持企业用户访问。