·门户建设怎样应用知识管理
·企业BPM的管理特点
·信息化项目协作的成功之道
·2008年IT渠道之变
·流程管理的热潮悄然兴起
·管理IT谁先行
·BPR“卖拐”
·IT规划和行医看病
 
2007电子政务走向务实
·2007年,一批具有重大影响力的电子政务工程项目取得重要进展,将对今后的电子政务建设产生深远的影响。 ...
零售业BI应用或将破冰
·关于本土零售企业“规模不经济”的诟病,在最近两年被业界时时提起,而支撑这一说法的相关数据也比比皆是 ...
信息化有的放矢
·信息化目标明确、有的放矢,是一航成仪在信息化建设过程中秉承的原则。大到整个集团、小到每个具体的IT项目,一航成仪都有明确的目标指向 ...
·英特尔下周将推Silverthorne芯片
·2008年存储行业十大预测新鲜出炉
·希捷混合硬盘即将全线提速
·如何增强Exchange服务器的安全性
·认识木马的所有隐藏启动方式
·复印机成像故障汇总排除
·2008年美国CIO状况调查
·人力资源行业信息化应用
·IT项目中如何激励信息共享
·SaaS无法解决"关键"问题
·COO是CIO的第一客户
·IT项目管理中的原则问题
·关于SOA的七个关键性问题解答
·诊断中小企业软件项目管理
·ERP也无法解决的问题
·软件并购风 独立BI厂商能否独善其身
·ERP项目实施的规律
·WinXP下的8步快速设置无线网络
·笔记本电脑能效比之战
·彩色喷墨传真一体机横向评测
·负载越重 双路服务器越强劲
·激光一体机 三星SCX-4500评测
·45nm服务器功耗详尽测试
·爱普生EMP-280防尘性能评测

关于SOA的七个关键性问题解答


上篇
佚名 论坛 SMB.PCWorld.COM.CN | 2008-01-30 10:59:16

引:Web 服务以及越来越多的面向服务架构(Service Oriented Architecture,SOA)已经在市场上投放了大量广告。两者都可以给企业带来广泛的短期和长期利益。但对于SOA,尤其是像开发人员和CIO等仍有若干关键问题需要回答。


  Web 服务以及越来越多的面向服务架构(Service Oriented Architecture,SOA)已经在市场上投放了大量广告。两者都可以给企业带来广泛的短期和长期利益。但对于SOA,尤其是像开发人员和CIO等仍有若干关键问题需要回答。

  问:SOA的前提是能够使应用程序像服务那样工作。软件如何像服务一样工作呢?

  答:没有SOA,软件包是被编写为独立的(self-contained)软件,即在一个完整的软件包中将许多应用程序功能整合在一起。实现整合应用程序功能的代码通常与功能本身的代码混合在一起。我们将这种方式称作软件设计"单一应用程序"。与此密切相关的是,更改一部分代码将对使用该代码的代码具有重大影响,这会造成系统的复杂性,并增加维护系统的成本。而且还使重新使用应用程序功能变得较困难,因为这些功能不是为了重新使用而打的包。

  SOA旨在将单个应用程序功能彼此分开,以便这些功能可以单独用作单个的应用程序功能或"组件"。这些组件可以用于在企业内部创建各种其他的应用程序,或者如有需要,对外向合作伙伴公开,以便用于合作伙伴的应用程序。

  "服务"的概念是要使用与实施细节无关的标准化接口来构建这些"组件"。针对一套应用程序服务的Web服务描述语言文档,描述需要作为请求特殊服务(例如,"检查库存"功能可能需要零件数)输入来传输的数据名称和类型,并描述服务响应的细节(它可能返回表示库存中零件数量的一个整数)。

  这些详细信息看上去好像与 Java、C++、COBOL 等中实施的功能相同,因此,服务的请求程序无需知道使用的何种语言,而且可以使用任何语言来编写请求程序。这就使一个平台上的服务可以和为另一个平台编写的应用程序集成。互操作性的关键是请求和响应消息,例如,使用SOAP消息发送,其消息使用 XML 编写代码。

  问:请举例说明 SOA 如何使企业受益。

  答:关键的优势是互操作性,可以使用任何平台之间的功能,而与编程的语言、操作系统和计算机类型等等无关。在上述示例中,"检查库存"功能可能已经编写为一个应用程序要求的服务,例如,监控库存并在需要时自动重新定购的服务,但我们后来发现,同样的服务无需修改即可用于支持由员工使用的基于 Web 的库存监控工具。

  就内部而言,应用程序的重复使用是一项关键优势,因为它可以降低开发成本。服务的重复使用,其长期作用在于减少企业中冗余的功能,简化基础架构,从而降低维护代码的成本。通过按服务的使用者来组织应用程序,与传统的编程技术相比,我们获得一个要灵活敏捷得多的集成模型,使我们可以迅速修改业务流程模型。

  就外部而言,为服务交互而详细定义的"合同"使业务合作伙伴之间的交互"自由联合",提供集成所必需的稳定性,并提供更改基层软件(underlying software)问题的一个解决方案。当保留了相同的消息格式时,支持该格式的软件只要仍然支持消息合同,则可以按需进行更改。只要它支持相同的消息格式,甚至可以使用另一种编程语言的实施来完全替换系统,请求程序无需更改。当消息合同不断发展而必须更改时,与相当困难的任务,即支持多个版本的程序 API 和文件格式相比,它使用版本控制(versioning),更容易作为过渡策略支持多个版本的应用程序。

  这些是部分关键益处,还有许多其他益处。

  问:SOA与Web服务以及SOA和网格计算之间是何关系。

  答:SOA是一种面向业务应用程序系统的体系架构设计风格,但可以应用于其他系统,包括中间件技术,例如网格计算。

  Web服务是可以用于创建SOA的一套标准。尽管没有Web服务标准也可能创建SOA(例如,在SOAP之前,人们已经在HTTP或JMS上使用XML来实现相似的结果),但运用Web服务标准却是我们目前针对与外部软件交互的最佳方法。

  网格计算是一种系统管理策略,其目标是最大限度地减少硬件资源的使用。例如,当突然的需求溢出指定的服务器时,它可能临时将一些请求转向相对没那么繁忙的服务器。网格计算设计为一种面向服务架构(用于调整网格计算的服务叫做网格服务)。

  随着我们转向SOA,我们将看到该方法用于支持各种其他新的系统功能。另外一个示例是自主计算伙子管理系统。事实上,SOA是Web服务高级功能的基础,例如WS-Trust和联合身份识别管理规范。

1 2 下一页 >> 末页 推荐】【打印
Copyright(c) 2000-2008 pcworld.com.cn. All Rights Reserved.
京ICP备 05038969 号