迁移到 SOA 和网格
网格应用程序的一个永恒的问题是,使其足够灵活,以在各种平台和环境中使用。尽管早期的网格使用了专用的解决方案,其中采用的是严格受控的硬件和环境,但是最近的发展已经清楚地表明,将网格应用程序放到更为广泛的平台上运行,这样您只需要添加一些机器就可以很容易地扩展网格的范围和处理能力。
然而,平台之间微小的差异可能会导致非常令人头疼的事情。例如,Windows® 不同版本之间的改变,甚至是 Windows NT 和 Windows 2000 之间的差异,也都会导致那些网格环境中通常经过严格设计和优化了的应用程序出现问题。一个显然的解决方案是去掉那些高度与平台相关的元素,并切换到一个更加通用的环境中。
SOA 幕后的准则遵守一些基本的规则。SOA 是一个用来构建应用程序的基于组件的模型,可以将应用程序划分为很多离散的服务,这些服务各自执行某个特定的功能,但是可以将它们组合在一起构成更大的应用程序。
SOA 的基本原理现在已经并不新鲜了。面向对象的概念已经出现了很多年,分布式对象也已经在很多技术中存在很多年了,例如 CORBA。主要的区别在于,SOA 是基于面向对象和 Web 服务两个概念的组合,并在一个用来描述可用接口的开放系统中采用了这种结构。通过使得 Web 服务可以更容易发现和识别,SOA 可以极大地简化基于 SOA 应用程序的部署和分布。由于 Web 服务都是基于开放标准的,在其定义中就保证了体系结构和平台的无关性,因此基于 SOA 的应用程序可以部署到各种平台上。
简而言之,SOA 是一种对外提供服务的方法,让计算机可以彼此进行交谈,并共享自己的处理能力和功能。网格正在慢慢地朝 Web 服务架构发展,首先是 Globus 采用开放网格标准基础设施(OGSI),然后是发布 Globus Toolkit 4.0(GT4)。SOA 和网格技术正基于诸如 Web Services Resource Framework(WSRF)以及其他的一些解决方案,朝 Web Standards Interoperability 技术方向发展。
您还可以看到 SOA 和网格都可以为对方提供很多东西。这并不是网格技术利用 SOA 准则的情况,或者反之。从 SOA 的观点来说,网格为信息和资源的分布提供了一个异常模型,这是 SOA 模型的一个关键特性。从网格的观点来看,SOA 为调整网格解决方案的架构以及促进其透明性和更好地支持广泛的平台和环境,提供了一些可选的而又非常灵活的方法。
下面让我们来了解一下传统的网格模型,然后介绍一下基于 SOA 的网格模型,从而比较二者之间的区别,以及如何开始将网格和 SOA 应用程序作为一个单一的资源进行考虑。
传统的网格模型
为了全面地理解 SOA 如何才能改进网格服务,以及需要如何修改应用程序,下面让我们来看一个基于传统的网格技术的典型网格服务,包括基本的 Web 服务。这个服务的基本结构非常简单。
在图 1 中您可以看到一个典型的网格环境的结构图。其中我故意没有说明网格软件的类型,因为大部分网格软件都可以根据相同的原理进行工作。
图 1. 网格模型结构图
总体上来看,这个结构相当简单。我们有一个网格协调者负责分发信息并与各个节点进行工作。这个协调者(它还有很多别的名字,包括分发和管理节点)的职责就是运行网格。协调者与工作节点之间的通信可能在很多解决方案中都存在,不过大部分系统(包括 Globus)都是依赖于 Web 服务的。此处使用的模型通常都称为级联服务,因为信息和工作请求都是通过服务进行级联,从而将其从某个地方分发到各个节点上。
然而,不管采用哪种通信系统,其方法大体上是相同的:
总体来说,大部分网格服务(直到最近)都是基于大型的单一代码基础的,它使用了一些私有的方法来进行通信和共享信息。这使得 Web 服务模型也正在发生改变,但是即使采用了 Web 服务标准之后,很多解决方案也都可以对原有的单一应用程序使用一个 Web 服务接口。例如,从上面这个传统的模型中我们可以看出,将任务提交到一个节点是通过一个 Web 服务接口提交给网格节点的,这实际上会将面向 Web 服务的接口暴露给原来的应用程序。
这种单块方法存在一个问题,即使使用 Web 服务,它也会限制扩展和增长的能力。采用这种单块风格,将应用程序移植到其他平台和环境就会变得更加复杂。如果您的系统不是基于 Web 服务的,那么问题可能就更加严重。增长之所以会受到限制是因为它依赖于单个协调系统来负责在网络间分发信息。如果您的客户机也是一个单块接口(即使它同时还使用 Web 服务来提供接口),那么将网格应用程序部署到很多机器上也会变得更加困难。
| 共2页: 1 [2] 下一页 | ||
|
|
|||
| · 51CTO主编推荐经典专题 · RAID——磁盘阵列基础 · 充电计划之热门IT认证.. · 51CTO技术自测 挑战自.. · CISSP认证成长之路 · AMD Phenom三核处理器.. · 国际文档格式标准开战 · 2007年互联网大会 |
· 我是黑客我怕谁——讲.. · ARP攻击防范与解决方案 · Solaris 10 配置管理 · Solaris基础知识入门 · RIP路由协议专栏 · MPLS路由协议专栏 · OSPF路由协议专栏 · 思科路由器产品 |
||
|
|||
| · Java基础教程 · VPN技术 · ARP攻击防范与解决方案 · SQL Server 2005全解 · SOA 面向服务架构 · SQL Server 2005全解 · Java编程开发手册 · RAID——磁盘阵列基础 |
· 三层交换技术专题 · SQL Server入门到精通 · Windows Server 2003企.. · Windows远程桌面应用 · C#技术开发指南 · VPN技术 · Solaris 10 配置管理 · C#技术开发指南 |
||
|
|||
| · ARP攻击防范与解决方案 · VPN技术 · SQL Server 2005全解 · Java基础教程 · SQL Server入门到精通 · SQL Server 2005全解 · SOA 面向服务架构 · Java编程开发手册 |
· C#技术开发指南 · 三层交换技术专题 · C#技术开发指南 · Windows远程桌面应用 · RAID——磁盘阵列基础 · Windows Server 2003企.. · 邮件服务器专题 · wimax技术与趋势 |
||
| ·DB2 Viper快速入门 ·DB2 9数据库的镜像分割与.. |
·将XML应用程序从DB2 8.x.. ·DB2 9中的pureXML:如何.. |
| ·服务器中的“傻瓜机”在.. ·盖茨也喜欢登录Youtube看.. |
· · |
| ·拯救系统管理员 ·美国选民:我为什么选布什 |
·VMware公司中文命名挑战赛 ·我们真缺乏创新吗? |
| ·J0ker的CISSP之路:复习-.. ·J0ker的CISSP之路:复习-I.. |
·9月第3周安全回顾 内网安.. ·教你几招识别和防御Web网.. |
| · NGN:下一代网络 · 网络访问中断大排查 · FTTx光纤接入 |
· 教你使用Anti ARP Sniff.. · 网络嗅探教程:使用Snif.. · 常见病毒手工清除方法大.. |
| · C++是垃圾语言?! · 2007年IT界七大抄袭事件 · Java实用开发全集 |
· 解析Ajax开发框架 走进A.. · 基于Google Maps与Ajax.. · 基于Google Maps与Ajax.. |
| · 热门 IT 培训认证官方资.. · Ubuntu 中文开源频道 · Solaris基础知识入门 |
· 费力不讨好 数据中心主.. · AMD Phenom三核处理器解.. · 51CTO主编推荐经典专题 |
| · 甲骨文Oracle 11g正式发.. · Oracle数据库开发之PL/S.. · Oracle数据库开发基础教.. |
· 存储2006,一个并购的大.. · IDC宣布浪潮蝉联存储市.. · 双机热备技术 |