有关SOA架构的 7个关键性问题的解答

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

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

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

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

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

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

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

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

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

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

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

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

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

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


="xspace-totlerecord">2="xspace-totlepages">1/2="xspace-current">12>
Tags: 

延伸阅读

最新评论

发表评论