SOA Agents──当网格遇上SOA
创始人
2024-03-23 22:21:13
0

最近几年,SOA获得了巨大进步。它由软件爱好者的实验性实现走向了今天IT的主流。这一进步背后的一个主要驱动力就是对服务接口背后现有企业IT 资产的合理运用和虚拟化能力,而这一能力又是与企业业务模型和当下及今后的企业流程高度对齐的。此外,通过引入企业服务总线实现了SOA的进步,而它正是一个虚拟化服务基础设施的模式。通过利用仲裁、服务位置解析、服务水平协议(SLA)支持等,ESB允许软件架构师显著地简化服务基础设施。整个SOA中所缺失的***一个环节就是企业数据访问。这一问题的一个可行解决方案就是引入企业数据总线(EDB 一个对企业数据进行普适访问的模式)。

EDB的一个可行实现是使用数据网格,如Websphere eXtreme Scale,Oracle Coherence数据网格,GigaSpaces数据与应用网格或者NCache分布式数据网格。

数据网格是为构建某类解决方案而设计的软件系统,其适用的解决方案范围从简单的内存数据库到分布于规模达数千台服务器之上的强大分布式一致缓存。典型的数据网格实现会将数据分割到跨机器存储于内存里的不重合的块中。其结果是,通过标准的流程可达到极高水平的性能和伸缩性。性能是通过并行执行更新和查询(数据的不同部分可以在不同的机器上同时访问)实现的,而伸缩性和容错性则通过在多台机器上复制同一数据得以实现。

尽管基于网格的EDB简化了对企业数据的高速访问,它仍然有可能要求EDB和服务实现之间进行大量的数据交换。服务必须加载所有所需数据,执行其处理,然后将结果存储回网格中去。

一个更优的架构是让服务执行点离企业数据更近;将服务实现为Agent(代理)的协调人[7],而这些Agent则在包含企业数据的内存空间里执行(图3)。在这个例子中,服务实现接收一个请求并启动一个或多个Agent,它们在网格节点的上下文里执行,将结果返回给服务实现,服务实现再组合 Agent的执行结果并将服务执行结果返回。

Agent的概念可以回溯到分布式人工智能(DAI)的早期研究,当时引入了这一自完备、可交互、并发执行的对象概念。这一对象有某些被封装好的内 部状态并能对其它类似对象发来的消息作出响应。根据文献[7],“一个Agent是一个能精确行动以代表用户完成任务的软件组件以及/或硬件。”

EDB的引入允许架构师进一步简化SOA实现,这是通过在服务实现和企业数据之间引入“标准化的”访问实现的。它同时简化了服务调用和执行模型,还为服务提供了进一步的解耦。使用网格作为EDB实现对EDB的可伸缩性和高可用性提供了支持。***,使用直接在网格内部执行的服务Agent更进一步提升了可伸缩性和性能。本文所描述的网格的高级架构和编程模型,为这一实现提供了一个简单却健壮的基础。

【编辑推荐】

  1. CIO五项注意 不要给虚拟化留下安全漏洞!
  2. SVM5:存储虚拟化的新强者
  3. 大幅节约成本 桌面虚拟化必将普及

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
P2P的自白|我不生产内容,我... 现在一提起P2P,人们就会联想到正在被有关部门“围剿”的互联网理财服务。×租宝事件使得劳...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...