tiger_hsiaoID:tiger_hsiao
[修改头像]
29886次访问,排名3336(1)好友0人,关注者3
tiger_hsiao的文章
原创 12 篇
翻译 0 篇
转载 0 篇
评论 37 篇
劳虎的公告
萧百龄 (笔名:劳虎)--曾担任独立技术咨询顾问,并曾服务于专注于XML数据库及XML相关领域的德商Software AG公司,担任解决方案研发经理。目前就职于SOA软件的领导厂家- BEA Systems大中国区,担任首席SOA顾问(之前为 BEA 台湾分公司技术总监)。 过去任务涉及Unix/Linux系统及网站管理、HTML、Perl、面向对象分析及设计、Java、中间件(包括应用服务器、Portal、应用与数据集成)、XML、Web services等不同的科技领域。在W3C推广XML技术的初期,1999年著作《无废话XML》。
最近评论
tangdch2008:很好
debugself:正持续关注中
dgdlxh:???
广泛大使馆:dfasdfasdf
gunsand:SOA网上查了一些。也不知道是太深还是咋回事。感觉虚头八脑的。。。。
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes
文章分类
    收藏
      相册
      我的相册
      特别推荐
      欢迎加入 SOA 专家群
      存档

      原创 规划 SOA 参考架构

      新一篇: 喋喋不休困扰 REST 的两大问题

      注:这阵子参与编写一本专为下个月在上海的 BEAWorld 大会所准备的 SOA 专刊,因篇幅关系,部分内容无法纳入,在此将其以博客形式发表。

      SOA 参考架构 (Reference Architecture) 是一个框架,使各个项目都有一个遵从的依据,借以促进一致性、最佳实践典范,和标准化。参考架构并不受限于目前的 IT 现况,而应该针对一个经过深思熟虑的愿景目标,可以说是 IT 指导未来所有的新开发工作,借以实现该目标的参考依据。一般来说,2-3 年的规划,是一个比较合适的涵盖范围,既能提供足够的时间来达成面向服务的转型,而又不至于过于长远而虚幻。因此,参考架构提供了一个沟通目标愿景的方 法,协助部门和角色各异的 IT 人员,逐渐朝向该目标会合。

      高效的 SOA 需要采用新的方法来对待 IT 基础设施,并且根据个别企业的需求来量身定做,并将服务基础架构、共享的技术服务、安全服务,以及信息/数据、和遗留系统访问服务等,全部定义在内。

      为了满足 SOA 的要求,所有公司都需要 SOA 参考架构和路线图,来指导部署一套能随时间演进、而逐渐丰富的工业级服务基础设施,同时指导对面向服务应用的开发和管理。
      此外,企业也需要对参与 SOA 架构的各个个别系统的设计,进行监管,并在适当的地方,建立通用服务,透过协作来发挥更高的效率。对于这些举措,连接端点的标准化(通过建立定义清晰的契约和接口),是达成 IT 系统一致性的先决条件。

      SOA 参考架构指导所有实施 SOA 的各个项目,能共同朝向企业级服务,和 SOA 基础架构标准方向的集中发展,尽早使企业从中获益。换句话说,参考架构规划的重点,在于开发一个特定于某个企业需要、切实可行的路线图,以填补当前和愿景 目标之间的鸿沟;评估用于开发、部署和管理、监控的现有系统和技术,定义目标状态愿景,目标参考架构模型。

      SOA 参考架构可说是指导 SOA 成功的蓝图,其作用包括:

      • 促进 IT 与业务的紧密配合: 参考架构的制定,以业务驱动力和 IT 目标为出发点,分析 SOA 解决方案能对这些驱动力带来多大的正面影响,进而为从目前 IT 现况演化到愿景架构,定出实现架构、相关规范及路线图。参考架构因此提供了从业务和 IT 目标,到实现架构间的可跟踪性,是业务与 IT 之间进行沟通的重要媒介,是企业实现业务灵活性、可管理性和变更规划的基础。
      • 协助企业向重用、团队协作和资源共享的文化迁移:参考架构确立了 SOA 架构标准和技术部署的最佳实践,为日后各个 SOA 的实施项目,订立架构遵从性的度量标准和指标。

      参考架构并非一成不变。在一个新的 SOA 策略与规划迭代中,SOA 的参考架构和规范标准,可能需要针对新的业务、IT 情况,和已实施的 SOA 项目中得到的反馈,进行调整,因此,SOA 参考架构不仅是 IT 模板,也是也描述 SOA 原则和标准的活文档。

      我们可以将参考架构的内容,粗分为两大部分:

      1. 对服务建立一套共同的词汇和做法,包括:
        • 服务的正式定义 – 例如服务必须由契约 (contract)、接口 (interface),和实现 (implementation) 所组成
        • 服务的分类(核心业务功能服务,数据服务,展现服务等),以及各类服务的设计原则和建议
        • 接口标准 (JMS, RMI, HTTP 等),建议的接口样式(例如:尽量采用粗粒度、异步的服务调用模式),可靠性要求等
        • 需要遵从的 WS-* 标准
        • 安全策略
        • 服务版本控制策略
        • 服务和数据模型采用规范
        • 服务生命周期定义
      2. 与服务基础设施,例如企业服务总线 (ESB)、业务流程管理 (BPM)、注册库 (Registry)、资产库 (Repository) 等相关的规范,包括:
        • 必须支持什么样的部署配置
        • 必须具备什么样的能力
        • 各个部件的责任
        • 部件之间的耦合关系和原则,应避免的事项,例如,展现服务和业务流程服务不可直接调用数据服务,而必须通过核心业务服务;换句话说,数据服务不可直接与展现服务和业务流程服务有耦合关系
        • 各个部件应支持那些科技和标准(例如:SCA, SDO…)
        • 有哪些安全顾虑需要考虑,如何管理权限
        • 要采用哪些产品

      由于在规划服务基础设施参考架构时,需要涵盖几类 SOA 参与者和干系人 (stakeholders) 各自不同的顾虑,包括架构师、程序员、和负责部署、运营、监控的 IT 人员,我们可以采用一个针对服务基础设施参考架构调整过的 4+1 视图(如下),来协助我们分离顾虑,来将不同层面的规范和目标架构一一制定,通过逻辑、实现、部署,和进程等四个视图,配合最佳实践典范和模式,来对参考 架构的各个层面,进行描述和规范,如附图。


      图说: 为 SOA 参考架构调整过的 4+1 视图,源于 Kruchten 在 1997 年发表的《Architectural Blueprints – the 4+1 view model of software architecture》


       图说: 服务基础设施参考架构的逻辑视图 (Logical View)


      图说: 服务基础设施逻辑视图下的功能视图 (Functional View)


      图说: 服务基础设施参考架构的实现视图实例(场景为某电信客户的 provisioning service),描绘所计划采用的产品,以及如何通过这些产品间的交互,来实现解决方案

      参考架构的规划过程(如下图),应先起于业务驱动力 (business drivers) 分析,可有助确保目标架构能够支持业务的发展策略和方向,展现 SOA 建设对业务的价值,彰显 SOA 投资的正当性,并获得相关业务部门的经费赞助。以金融行业为例,业务驱动力包括像是:

      • 提升效率
      • 借贷流程优化
      • 呼叫中心优化
      • 增长销售额,并显著超越同业
      • 快速灵活地推出创新的金融商品
      • 扩展客户关系,统合客户数据
      • 交叉销售
      • 依据关系定价的策略
      • 降低成本

      这一类的价值驱动。分析业务的价值驱动后,接着考虑各种 IT 目标,以及它们如何支持这些业务驱动力;例如:

      • 从关注各业务线烟囱/竖井式的应用系统,转向专注于跨系统/业务线的流程/服务
      • IT 资产重用
      • 提高跨部门协作的业务流程的透明度

      并且应订立评价标准,作为日后考核实现各价值驱动力的指标。接着下来,我们可以根据业务和 IT 驱动力,进一步制定恰当的 SOA 策略,考虑采用 SOA,将对那些业务线,在那些驱动力方面,产生最大的价值,据以订立实施 SOA 项目的优先级别。


      图说: 参考架构规划过程


      图说: 从业务驱动力和价值链分析,来找出应优先考虑采用 SOA 来协助提升的业务和 IT 能力。
      √√ 代表 SOA 项目能产生很大的正向影响,依此类推。

      针对各价值驱动力,我们可以参考附图中的矩阵分析方式,从价值链或业务线中的各个主要的职能(纵向),和各个识别出来的业务和 IT 驱动力(横向),对 SOA 所可能产生的正面影响力,一一进行评估,进而挑选出面向服务解决方案最能嘉惠的业务能力,作为首期实施 SOA 项目的切入点。图中的范例只是一个三万尺高空的起点,在真实的情况下,往往会针对范例中某个或某几个得分较高的业务线,往下展开细化,对该业务线中的各个 主要业务能力,进一步进行 SOA 价值驱动力分析;换句话说,价值链分析中的各个职能域,应该自粗到细,逐步钻取、drill down 到适当的深度,才能更精准地确定 SOA 能对哪些要迫切改善的业务能力,带来最大价值。

      依据业务和 IT 驱动力,选定了 SOA 策略后。接着应根据企业目前的现况,和未来 2-3 年的目标,进行差距分析,并根据最佳实践典范 (best practices),制定 SOA 发展的蓝图、路线图和指导规范,完成参考架构的规划。接着便可开始根据路线图中制定的项目,以渐进的方式,通过一致的服务工程方法,一个接一个项目去执 行,并在此过程中,逐渐将蓝图中的服务基础设施搭建起来。


       

      发表于 @ 2007年12月04日 09:44:00|评论(loading...)|编辑

      旧一篇: 从城市建设看 SOA

      评论

      #mdot 发表于2007-12-11 18:59:15  IP: 121.33.137.*
      我目前在研究SCA和BPEL,在做在职硕士的论文.但对SCA有很多问题,因此想请教.目前我有一个简化的实际场景如下:
      在一个集团中,分别有A,B两间子公司的网站,它们分别是用PHP实现的电子购物网站.现在新有一个系统C,用JAVA
      编写.现在想实现的效果是:当一个注册C网站的用户,在登陆C网站后,在最后的订单提交之后,想先通过SCA,
      分别去调用A,B网站,通过A,B网站上的WEB服务分别得到这个有用户在A,B网站上的消费记录,然后通过规则计算出
      C用户应该享受的折扣和优惠.

      在这个场景中,我觉得如果仿照apache tuscany的DEMO的一些做法,可以在C中应用SCA,分别去调用
      A,B提供的WEB服务(当然,我自己有点觉得这是单单为了写论文做DEMO服务),但如果换个角度来看,如果一定

      要用SCA这样调用的话,大家觉得其好处是什么?比如我的这个场景,其实用传统的WEB服务调用也可以,
      这就令我想到一个问题,到底用SCA有什么好处?
      我目前学习所得,好象在对不同的异构系统使用SCA的时候,感觉都是要调用WEB服务(尽管可以绑定JSON,DWR,RMI,BPEL)
      ,但如果象我的这个场景的话,对于合作伙伴来说,还是要封装WEB服务呀.那这好象体现不出SCA的优点.
      另外,如果对于同一个大系统来说.比如在同一台机器上,跑了一个SPRING的应用,一个EJB的应用,
      那么是不是用SCA的话,它们之间的组件互相调用就不用WEB服务了?


      #coldwinter_stone 发表于2007-12-18 19:51:08  IP: 211.100.14.*
      SOA 大家都在谈,
      但不知谁真正使用了.

      都在谈封装,都在谈SOAP,都在谈这些东西,谁真正使用了?

      #过客 发表于2007-12-29 13:47:05  IP: 222.212.169.*
      实在看不太明白,SOA天天都在说,大师能不能从实际中举个例子来阐述SOA.SCA应用.
      #Tiger 发表于2008-01-02 17:50:41  IP: 66.248.222.*
      mdot: 你的问题根源在于范畴和粒度,还有可能将 SCA 过分理想化 -- 你所描述的跨公司、跨系统 runtime 场景,按照 SCA 规范的设计,会各自隶属于不同的SCA domain、各有各的 SCA runtime (套用你的例子,一个会是基于 PHP 实现,而另一个基于 Java),很可能由不同的厂商来提供,实现方式,和对远程调用绑定协议种类的支持,自然会有很大的差异。因此当调用范畴大到像你描述的跨系统、跨语言的场景时,在现实世界,自然会落到使用当今跨异构的 “公约数” -- Web services。

      > 另外,如果对于同一个大系统来说.
      > 比如在同一台机器上,跑了一个SPRING的应用,
      > 一个EJB的应用,那么是不是用SCA的话,
      > 它们之间的组件互相调用就不用WEB服务了?

      前提是,如果机器上安装有某个厂商的 SCA runtime, 它能同时支持 EJB 和 Spring 绑定,而这些服务组件又都能运行在这个容器中,那么答案是肯定的
      #gunsand 发表于2008-01-30 17:16:58  IP: 61.135.207.*
      SOA网上查了一些。也不知道是太深还是咋回事。感觉虚头八脑的。。。。
      发表评论  


      登录
      Csdn Blog version 3.1a
      Copyright © 劳虎