频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

如何实现Web Service设计与整合模式?

来源: 作者:IT168 王翔 出处:巧巧读书 2007-11-07 进入讨论组
下一页 1 2 3 4 5 6 7 8 9 10 11 12 
一、SOA现状

    SOA渐渐进入到开发的应用实践,其本质是保持业务敏捷,也就是“全心全意”的根据业务需要找到或集成相关的服务,然后快速适应业务变化。
虽然通过很多管理的、技术协议的约束可以进行有效治理,但如果技术实现上缺乏灵活性,那么当技术环境变化的时候修改的代价一样会很大,为什么?

    以往单应用的开发模式模式下,与之相关的技术实体有限,通过采用软件工厂、合理运用设计模式、集成成熟框架的手段可以一定程度上降低应用内部模块间的耦合度。到了SOA时代,虽然服务接口被简化,应用间的耦合度降低了,但同时也等于把自己的应用推到一个更广泛的空间,怎样灵活的适配同样被置于互联网的各种服务也许成了更大的挑战。

    作为架构人员该考虑什么问题呢?把所有的变化“透明化”,无论是服务接口还是依赖的其它SOA组成变化时,要尽量确保应用感觉不到这些变化(或把变化集中在一个很小的范围)。

    XML Web Service作为SOA建设采用的一项普适技术,设计不当很可能成为阻碍业务敏捷的绊脚石,成为应用的累赘。本系列借鉴设计模式、架构模式和部分产品对Web Service的使用情况,结合相关项目的实施经验,介绍一些Web Service 设计与整合模式(Web Service Design &Integration Patterns),目的是找到特定上下文环境下设计和集成Web Service的“相对优”解。与其它模式方法介绍方法不同,Web Service更多的需要被放在整个SOA环境下考虑,而不仅仅是几个类的关系。

    下面是一个简化后的逻辑SOA环境:

如何实现Web Service设计与整合模式?(图一)
图1:简化后的逻辑SOA环境

    不难看出,在ESB之外,Web Service仅仅作为一个个Provider,以插件方式安置到ESB中,客户程序也更多的通过ESB找到每个Provider。但它仅仅是一个较为理想的状态,现实情况下很多时候根本没有中间的ESB,客户程序就是直接按需使用Web Service。因此,这个点对点的调用成了这样:

如何实现Web Service设计与整合模式?(图二)
图2:点对点的调用

    这里的中介者可能仅仅就是个网络,也可能包括一个在.NetJava平台编译好的WSDL代理,也可能是更复杂的机制,它的设计和集成就成了很关键的因素,那么希望它起到什么作用呢?

    笔者认为主要有三个:

    ?给客户程序一个透明的接口,借助它灵活的适应后端Web Service的变化。

    ?降低客户程序与Web Service直接调用带来的1:1甚至1:N直接耦合。

    ?提供高可用机制。

    (注:本系列很多内容引用到Apress出版的《Web Service Patterns: Java Edition》(下文简称WSP),但介绍的模式不仅限于该书提及的14种,而且实现上会采用Visual Studio.Net 2005,客户程序会以Test Project的Unit Test形式出现。)

http://www.qqread.com/erp/3/s380346.html进入讨论组讨论。
下一页 1 2 3 4 5 6 7 8 9 10 11 12 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章