面向服务的网格编程与高阶组件服务架构
1. 高阶组件服务架构(HOC - SA)中的参数数据库
在HOC - SA中,通过将代码参数上传到代码服务提供给高阶组件(HOC),这些参数可以在多个应用程序中重复使用,因为它们被持久存储。
1.1 持久性和代码复用
以图像处理应用为例,当需要对多个图像应用相同的过滤器时,代码参数的复用就非常有用。可以将Farm - HOC嵌套成一个“农场的农场”结构,每个图像由多个处理器组成的农场进行处理,所有图像并行处理。客户端只需将顺序过滤代码上传到代码服务一次,而不是为每个特定的农场重复传输,这样所有工作节点都可以使用该代码。
另一个例子是使用部分参数化的HOC。假设有不同的图像处理应用,一个可能生成分形图像,另一个可能对这些图像应用过滤器以添加模糊、褪色或发光等效果。这两个应用都可以使用从持久存储加载相同主代码的Farm - HOC实现。对于像图像处理这样的重复应用,当需要标准过滤器时,工作单元也不必每次都重新编写,可以持久存储并重新选择。
1.2 多数据库的使用
HOC - SA利用OGSA - DAI框架将代码单元持久存储在数据库中。OGSA - DAI提供了通过Web服务将网格应用程序连接到数据库的标准化方法,网格应用程序可以查询、更新、转换和传输数据库内容。它还提供了对(可能分布式的)数据库的全网格透明访问,代码服务可以使用标准的DAI数据检索机制访问代码单元,而无需关心底层数据库系统的实际位置和类型。
不同类型的数据库在HOC - SA中都有其用途:
- XML数据库(如Xindice) :如果程序员只