如何实现异构数据共享
设置好活动之后,就知道需要什么样的输入信息,也知道输出信息将去往何处。在整个处理过程中,都将实施跟踪,看连接是否保持打开状态。这种跟踪机制使我们能够在操作完成的时候将连接返回,并在适当的场合重新利用这个连接(比如在prepared statement 中)。
SQL 活动中的处理可以分为三个阶段:
? startProcessing 获得连接,设置下一条语句。根据活动的不同,连接可能会设置为只读。
? getResult 从输出流中获得下一个数据块。由于执行语句的结果可能是 ResultSet,这样就对应多个数据块,因此调用这个方法并不总会执行一条语句(当然了,第一次调用的时候肯定会执行语句的)。
? endProcessing 结束输出流,并返回连接。然而,如果活动对应于 prepared statement,将选择保持连接,并允许重用该活动。
MetaDataExtractor 类
OGSA-DAI 使用了 GT4 的 ServiceDataValueCallBack 接口,这样就能根据需要,通过 MetaDataExtractor 类的getMetaData()来获得元数据。
OGSA-DAI执行文挡,通过OGSA-DAI在数据库中执行查询或者其它操作,这些操作可以由自己定义。每次操作请求称为一个活动,需要创建预先写好的服务活动事例,在数据库端执行。实际运用中,OGSA-DAI还支持其它类型数据源的扩充访问。执行文档可以包括多项SQL操作,如查询操作,但无需编写任何数据库连接语句,因为创建网格数据服务时,OGSA-DAI在后台会进行相应的数据库连接。查询请求的输出结果需要被格式化为WebRowSet格式,OGSA-DAI需要返回一个执行XML文档,在XML文挡中包括查询操作返回的所有行。
基于网格的异构数据源集成,从访问数据库的角度看,在网格环境下访问数据库的方式和在网格环境之外访问数据库的方式相似,但是利用网格开发工具可以屏蔽各个业务节点数据库的结构、运行环境上的差异、网络分布状况和具体的物理位置,保证各个节点数据库的独立性和数据的安全。相比较其它异构数据源的集成环境这是它的优势所在,随着网格技术的进一步完善与规范,数据网格的应用会越发的成熟。
0
相关文章