王洪伟的专栏

http://blog.teamlet.org 本站搜索关键字:王洪伟+teamlet

王洪伟ID:teamlet
155392次访问,排名449好友1人,关注者44
10年软件开发设计经验,专注J2EE领域的技术架构和应用.
teamlet的文章
原创 95 篇
翻译 9 篇
转载 67 篇
评论 135 篇
teamlet的公告

本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享. 转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议.

关注SOA技术的发展,跟进SCA技术的理论和实现,努力实践。愿与同行者一起分享,互相勉励,共同进步。
最近评论
SNOW:还请问一下,我按照你的说明步骤操作,
出现org.apache.axis2.engine.DependencyManager.configureBusinessLogicProvider 未定义
getElement() 未定义,
请问这是什么原因呢?
陈森虎:常看王老师的东西,自已不会学,只有顶一下了
lixinso:可以使用代理吧,ultralsurf,很好用
sse:想请教您gforge的安装过程中,按照您 的安装配置过程一步步进行,可是今天来了重启后http.conf 里有个模块加载不上, LoadModule php5_module modules/libphp5.so
LoadModule dav_svn_module modules/mod_dav_svn.so请问好何解决。邮箱是cqupt_wang@hotm……
xaser:GOOGLE一下“Vidalia Bundle”,安装后就能正常访问SF了,也能正常下载文
文章分类
收藏
    相册
    资源联接
    Cruise Control
    Open CSA
    OSOA
    SOA Tools Project
    theserverside
    中国Java开发网
    满江红
    知识共享@中国大陆
    左邻右舍
    donews的blog
    msn的blog
    Tuscany中文社区
    我用Subversion
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 回复:细说SCA V1.0规范(2) --Composite与架构收藏

    新一篇: AccessController.doPrivileged 小记 | 旧一篇: 细说SCA V1.0规范(2) --Composite与架构

    网友sca提了几个问题,csdn的回复无法提交,所以作为文章发出。

    回复:细说SCA V1.0规范(2--Composite与架构  sca  9/28/2007 11:20:53 AM    
     还是支持一下
    不知道你为什么要这么分成三层,有什么作用么
    而且不知道能否深入一些
    比如:Composite如何提供服务,服务如何打包,如何被其他服务引用.更进一步,服务如何组装.
    对于非SOA架构的系统,如何拆分服务,如何把这些服务包装为符合SCA标准的服务.
    还有能否通过例子来讲解,那样比较直观,实践最重要,理论上的东西比较抽象.
    还是谢谢LZ了,很辛苦,期待继续

    感谢支持!

    1、为什么分成三层?有什么作用?
    Composite架构层虽然都是由Composite组件构成的,但不同的Composite在架构层中起到的作用是不同的,虽然它们的内部结构是相同的---即都有Services,References,Component等.
    对Base-Composite关注的是它提供了什么,它的作用体现在提供了哪些Services,这些Services主要都是由这些Composite的Component提供的,或者说至少有一部分是由Component提供的(因为它还可以通过References引用其他组件的Services)。这些由Component实现的Services是整个Composite架构层的基石。如果没有这些Base-Composite,没有它们包含的Component提供的实现,这个SCA系统就是个空壳,引用来调去最后调用的服务都是空的。这些Composite的Component的实现方式决定了它与另外两种Composite作用的不同。
    Top-Composite的作用体现在它的Services是面向业务层的。通过使用URI命名这些Top-Composite,业务层可以直接通过URI使用这些Top-Composite提供的Services。Top-Composite是Composite架构层的门面。所以它的作用与其他两种Composite是不同的。
    如果说Base-Composite是一层包含component的实现,Top-Composite是Composite架构层的门面,那么Arch-Composite的作用就非常的重要了。如果要发挥Arch-Composite的作用,还要涉及一个话题就是:Composite实现粒度的大小,或者说implementation实现的粒度的"度"。这个文章后面会谈到。
    所以,Base-Composite体现的是实现(Component),只不过在Component外面包了一层Composite的外壳,使得Component借用Composite的外壳,和其他的Composite使用统一的、标准的调用方式:即用Services输出服务、用References输入服务、用Property传值等。在上篇文中说过,在SCA模型中,Component组件对应实现层,Composite组件对应架构层。Base-Composite就是两层的边界。Base-Composite对架构层来说提供了实现;而对实现层来说,第一提供了封装,第二提供了Promote机制。
    Top-Composite也类似,只不过与它对应的是架构层和业务层(Domain对应业务层)。这个在后面的Domain与业务中会详细说明。

    2、关于Composite如何提供服务后面会继续,敬请关注。

    3、服务如何打包,如何被其他服务引用,服务如何组装?
    这是些非常实际的问题。在Tuscany的SCA早期实现中,服务是通过jar方式打包的。jar包需要通过一些方式部署到SCA环境中,SCA会在宿主机上有一个指定的或者默认的安装路径,将服务放在这些系统文件目录下使用。这是一个Tuscany SCA 引导和装配的过程供参考,http://blog.csdn.net/teamlet/archive/2007/03/26/1542064.aspx
    以后会针对Tuscany SCA 1.0 做比较详细的解析。

    4、对于非SOA架构的系统,如何拆分服务,如何把这些服务包装为符合SCA标准的服务?
    对于非SOA架构的说法我觉得不够准确,如果说非SCA架构的系统,那么针对的就是目前的规范。因为SOA规范也可以使用其他的、非SCA的规范实现。
    还有就是要求是基于J2EE架构的系统。对于其他的实现比如,.net,php等没有相关的实践,无法作出评述。
    把非SCA的J2EE架构的系统包装为符合SCA标准架构的系统,拆分的重点是component实现的粒度考虑。这些component实现粒度多大合适,这个"度",不好把握。粒度小,复用度很高,系统灵活,松散偶合度高,改变系统的行为容易,但是会使Composite层变厚,性能上会有些损失,管理上会麻烦一些。粒度大,复用度低,不能充分发挥Composite层的作用。

    另外,component的实现如果粒度小,那么相应的每一个实现的代码就很少。很少的代码量可以减少代码的错误、降低逻辑复杂度、方便测试、降低维护和管理的成本、实现的功能定位清楚、目标明确,实现层的开发人员将精力集中在代码上,无需关心其他层的事情,专业化程度提高,提高了代码的质量,也提高了开发的效率和开发成本。同时可以构建本单位的Component实现的组件库,分类保存Component的实现组件,在多个SCA架构系统的项目中复用已有的Component实现组件。如果这个组件库足够大,那么Component实现组件开发成本几乎为零。充分发挥SCA架构的优势,为企业降低成本,提高软件质量,延长产品的生命周期,降低维护成本。

    5、能否通过例子来讲解,那样比较直观,实践最重要,理论上的东西比较抽象
    以后会结合Tuscany SCA 1.0 做比较详细的解析和示例,进度还是要看时间是否充裕。 

    发表于 @ 2007年09月28日 22:51:00|评论(loading...)|编辑

    新一篇: AccessController.doPrivileged 小记 | 旧一篇: 细说SCA V1.0规范(2) --Composite与架构

    评论

    #支持一下 发表于2007-09-30 13:04:46  IP: 202.112.148.*
    不知道能否结合tuscany来讲下,要不看起来感觉有点虚。
    在apache-tuscany-sca-1.0-incubating.zip中有些实例。但是照着里面的步骤,好像有问题,有些编译通不过。难道与我JDK的版本有关么。我用的是1.4版本,是不是需要5.0版本呢。
    很支持你,文章很有条理,很辛苦的。
    期待下一篇。

    呵呵,下次写的时候,结合示例的时候那些配置写详细些哦
    2007-09-30 20:26:40作者回复
    是的,apache-tuscany-sca-1.0 运行需要java 5.0以上版本,因为用到了java 5.0的新特性 annotations,当然还有其他的特性了.<br />如果自己编译代码需要maven 2.4+和ant 1.7+<br /><br />离开tucany几个月,sca变化很快.不久sca 1.0就要脱离孵化器了.<br />现在我也是两手抓:一边快速跟进代码,包括代码的分析和示例的制作,另一边在标准方面也要吃透. 新的Transation规范草稿刚出来,这是我等待已久的.另外其他的方面规范不久以后也会陆续出来,比如安全规范,日志规范等.<br /><br />呵呵~~敬请关注!有什么建议欢迎提出,谢谢~!顺祝十一快乐,轻松过一个愉快的假期!
    #SCA 发表于2007-10-03 01:32:06  IP: 59.64.12.*
    谢谢
    期待能继续写下去
    希望能看到关于架构方面的分析,即面向服务架构分为几层比较合适,是否表示层,业务层,数据层足够了呢.每层都包含些什么?
    希望能重点讲讲Tuscany SCA 1.0
    #SCA 发表于2007-10-22 02:19:03  IP: 59.64.12.*
    等好久了
    都不见更新了啊 呵呵
    关于DOMAIN以及Composite与domain的关系能接着谈谈么
    谢谢LZ啊
    看不文章很久了啊
    #WAIT 发表于2007-10-26 11:21:18  IP: 202.112.148.*
    怎么不写了呢
    2007-10-26 23:00:53作者回复
    最近比较忙,一有时间我就来更新.感谢关注!
    #xiexie 发表于2007-10-27 22:41:24  IP: 202.112.148.*
    我有这么几个问题想问下您:
    (1)Component是不是不能提供服务,是不是必须通过Composite向外提供服务?Composite是SCA里面提供服务的最小单元么,它的上一级是否是Domain,那domain是不是也是一个服务,只是服务粒度比较大而已?
    (2)Composite可以被发布为WEB service,那么在SCA里面WEB service处于一个什么样的地位,它属于“非SCA组件”么,在SCA规范里面WEB service能被直接绑定,直接调用么?
    (3)在SOA架构里面,ESB是一个非常重要的概念。SCA作为SOA的一个规范,ESB是怎么实现的。我现在所了解的是IBM的WID中可以通过构建Mediation module(在SCA 0.9里面好像module对应现在的Composite)来提供ESB服务。
    (4)在SCA里面好像组件能打包,是不是只有Domian才能打包呢?打包有什么作用,Contribution到底是一个什么样的东西?
    (5)SOA的概念层次从下到上一般分为:操作系统层、组件层、服务层、业务流程层、和表示层(IBM好像就是这么分的)。具体到SCA,它分别对应于SCA的什么呢?看过LZ写的文章,依我理解是不是“组件层”对应Component,“服务层”对应Composite,“业务流程”对应Domain呢?
    (6)LZ的文章把Composite分为三层,是不是TOP-Composite对应业务流程?TOP-Composite与Domain就服务粒度上有什么不同呢?
    (7)这个问题还是关于WEB service的,现在很多文章,还有基本所有的工具包括IBM,在实现SOA的时候基本都是用WEB service。虽然IBM声称它的产品支持SCA1.0,但是在实现的时候都需要把服务发布为WEB service。既然SOA可以用WEB service来实现,而SCA又是SOA的一个实现规范,那么SCA和WEB service的关系是什么样的?
    (8)我经常看到好多文章题目是“基于SOA的、、、、实现”,还有的是“基于SCA的、、、实现”。后面的提法是不是有问题,比如“基于SCA的物流信息共享平台的实现”。因为从概念上讲,SCA只是一个实现而已.
    LZ写的每篇文章基本都看过,可以说SOA的入门已经SCA的了解都是LZ这里开始的。真诚的谢谢了。
    看过SOA和SCA的很多文章,这些问题始终不得明白,还望LZ赐教,谢谢
    #Wait 发表于2007-11-03 19:17:07  IP: 59.64.12.*
    LZ不见写了啊
    能接着这个话题写完不
    component和Composite已经谈完了

    关于DOMAIN的能接着写完不 谢谢啊
    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © teamlet