·服务管理:提升核心竞争力
·知识密集型企业的知识管理
·流程再造PK流程优化及梳理
·房地产要不要成本信息化
·工程项目管理信息化的探讨
·从公司管理到IT审计
·IT融入战略四条路
·视频监控蝶变重生之路
 
零售业BI应用或将破冰
·关于本土零售企业“规模不经济”的诟病,在最近两年被业界时时提起,而支撑这一说法的相关数据也比比皆是 ...
信息化有的放矢
·信息化目标明确、有的放矢,是一航成仪在信息化建设过程中秉承的原则。大到整个集团、小到每个具体的IT项目,一航成仪都有明确的目标指向 ...
信息化和重要战略机遇期的关系
·信息化是本世纪头20年这一重要战略机遇期的重要内容和显著的时代特征。 ...
·阻止病毒木马侵害您的电脑
·柯尼卡美能达关爱农民工子弟行动
·研究显示Wi-Fi网络安全状况堪忧
·2007年20大互联网安全威胁出炉
·富士通展示迷你移动扫描仪(图)
·安全运维管理保障IT系统运转
·"微软Tech·Ed技术大会"亮相北京
·电子病历推广难题
·CIO顺畅走过“磨合期”
·让IT部门学会算帐
·一个ERP项目经理的管理感悟
·VMware总裁Diane Greene专访
·关于SOA的七个关键性问题解答
·"实时企业"ERP选型宝典
·我国软件外包寻求高端突围
·打开XP深层文件有妙招
·ERP成本计算有妙方
·挖掘寿险行业软件价值
·爱普生EMP-280防尘性能评测
·评测超短焦投影机明基MP771
·5999元的NEC VT590+ XGA投影机评测
·微电脑2007年度产品奖
·奥图码商务娱乐两用投影机评测
·明基MP511投影机评测印象

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


上篇
 SMB.PCWorld.COM.CN | 2007-11-30 09:32:57

引:对于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 号