软件质量之路-面向组件的大规模软件架构
作者: 林星
提交人: 项目管理者联盟[林星]
属性: 提交人转载
发布时间: 2007/5/16
点击: 6601
【收藏本文 】
项目管理者联盟 组件污染talent.mypm.net 转自项目管理者联盟 在IOC 的第一类型中,由于组件需要实现一些特定的接口,或是从某个类集成。这将使得组件受到一些约束(称为Invasive),例如组件移植不便。另一种情况是组件需要依赖于一个特定的容器,最为典型的就是EJB,组件无法脱离容器单独存在,这也使得组件受到约束。这两种情况都属于组件污染。项目管理者联盟 talent.mypm.net 最理想的组件是只专注于自身工作的组件,它没有其它额外的逻辑。不过按照这种标准,目前大部分的代码都是不符合的。因此,目前在开源软件界出现了一些轻量级的容器框架,典型的如上文提到的PicoContainer和spring。他们的定位就是提供一个对组件管理的统一模式,而组件可以单独的使用,也可以放在另一个容器中,容器仅仅只是为组件提供了一些额外的功能,和组件本身没有直接的依赖。项目管理者联盟文章 项目管理者联盟 为什么我们说接口比继承好,很重要的一个原因就是接口更加灵活,组件的依赖性更弱,同样的,目前另一种做法则是采用一些标记性的语言来实现比接口更大的灵活度。例如基于xml的配置文件,以及J2SE1.5中将要引入的属性。项目管理者联盟 club.mypm.net 组件的测试club.mypm.net 项目经理圈子 组件和容器的依赖脱离为组件测试提供了一个很好的环境。我们在测试一节中讨论过容器内测试往往是比较麻烦的,其原因就是在于上面所说的组件污染问题。例如在 spring框架中,组件是一个标准的JavaBean,你可以直接编写代码来设置组件的属性和定义组件之间的依赖关系(适用于自动化测试),也可以把这项工作交给spring容器(适用于开发和部署)。项目管理者联盟 club.mypm.net 组件测试在测试的分类中属于集成测试。项目管理者联盟 bbs.mypm.net 理解服务 项目管理者联盟 www.mypm.net 在讨论组件时我们谈论了组件粒度的问题。当组件的粒度不仅仅限于单个对象的时候。在构成组件的多个对象中,有些对象处于组件内部,不和其它的组件交互,有些对象需要和外部组件进行交互。后一种对象起的就是服务的作用。在设计模式中,这种设计被称为Facade模式。而在OO语言中,他们相当于接口的概念。不管如何比喻,服务订立了组件和组件之间的契约。这种契约是稳定的(如果业务需求是稳定的),不会随着组件内部的变化而发生变化。项目管理者联盟 blog.mypm.net 要理解这一点也非常的容易。对于一个提供用户认证的组件,一个可能的服务对用户进行认证和授权,至于组件内部采用LDAP还是关系数据库来存放用户信息,对服务来说没有任何的差别。项目经理圈子 项目管理者联盟 这样做的好处有很多,一是组件之间能够以一种稳定的方式存在,组件内部的变化不至于扩散到整个软件系统。二是软件设计将会转向重点设计组件之间的服务,而组件的实现细节将会隐藏起来,这不但有助于设计者更好的把握软件的全局架构,而且有助于分工的细化。club.mypm.net service.mypm.net 服务并不是什么新颖的概念,RPC、IDL都是类似的技术。但我们谈的服务侧重架构和理念,不涉及到具体的技术,这一点同SOA和WebService的关系类似-SOA是一个结构性的概念,而WebService是实现SOA的一种适合的技术。 项目管理者联盟 项目经理圈子 服务最好实现为接口。原则上服务可以是任何一种技术:JMS、WebService、RPC、或是简单方法调用。但是出于服务的稳定性的考虑,我们不应该将一个服务和具体的技术绑定起来,这样会使的服务发生变化的可能性增大。在Java语言中,接口是具有极大的灵活性的,因此,将接口实现为普通的Java接口是较好的选择。不过,这样做的话,我们也许就不能够使用远程调用,Web服务之类的功能了,不过这并不要紧,以下就是原因。bbs.mypm.net 项目管理者联盟 服务适配器 项目管理者联盟 客户端可以直接使用接口,也可以通过适当的适配器来将普通的接口服务转换为特定技术实现的服务。项目管理者联盟 项目管理者联盟 项目管理者联盟 如上图所示,一个普通的接口通过适配器模式转换成和特定技术相关的服务。在JMX技术中,也采用这种方式,JMX平台能够将一个普通的服务端口通过适配器进行转换,以适用于各种的协议,例如http、sock、snmp等等。项目管理者联盟 项目经理博客 AOP技术对服务的帮助talent.mypm.net 项目管理者联盟 由于有很多的文章讨论了AOP技术,我们这里就不再重复了,所以以下的内容是假设你已经拥有基本的AOP概念。在qca网站上对AOP做了一些简单的整理。 AOP作为OO技术的补足,能够以一种优雅的方式来处理系统的横切点。服务层面是应用AOP的绝佳位置:项目管理者联盟 项目管理者联盟 项目管理者联盟 在上图中,我们看到一个普通的用户注册服务通过AOP可以动态的添加各种各样的能力。AOP提供了几个好处,一是能够通过简单的代码为所有的服务添加功能,而不用为每个服务编写代码,从而大大节省了代码量;二是把横切点分离出来,这样服务仅保留了核心的代码,提高了系统的模块化程度;最后一点是模块化的增加使得为服务动态的增加或删除功能成为可能,例如,可以通过配置动态的将新的Aspect添加到用户注册服务上。PgMp.mypm.net 项目管理者联盟 服务的测试 项目管理者联盟 service.mypm.net 服务测试在测试的分类中属于接受测试。服务概念的引入使得自动化的接受测试变得容易了。在大规模的软件设计中,业务流程往往涉及到各种组件通过服务介面的相互协作。所以这就是测试的重点。回到我们之前讨论的组件粒度问题,如果此时你编写出的测试代码过于繁琐,说明组件的设计粒度太小了,如果组件的粒度太大,你会发现有些测试代码根本无法编写。项目管理者联盟 项目管理者联盟 服务的管理 项目管理者联盟 项目经理博客 服务的管理是一个比较大的话题。一方面,在一个大规模的系统中,虽然通过组件和服务的形式能够降低系统的复杂度,但是服务仍然很多,需要进行管理;另一方面,服务的状态,服务的可用性需要监控和管理,这对于大规模应用来说是必须的。因此,服务需要一种管理形式。training.mypm.net 转自项目管理者联盟 JMX规范提出的目的也是一个对各种不同的组件进行统一管理。和我们所阐述的有类似之处。JMX分为规范和远程接口两个部分,在J2SE1.5版本中,JMX已经纳入到J2SE的范畴中了,有兴趣的读者可以参考sun的相关文档。项目管理培训
栏目说明
《文库》栏目为项目管理者联盟网站核心栏目,收录了十大行业项目管理文章5000余篇,囊括了项目管理五个阶段、九个知识领域的相关文章,是广大项目管理爱好者学习的知识库,欢迎大家发表原创文章、转贴文章,或直接发给编辑 。须联盟会员且登陆 后才能发表文章。
更多>> 专题集锦
企业项目化管理
PMO实践与应用
如何处理项目客户关系
更多:
---请选择更多专题---
项目经理职业生涯规划
PPP项目融资与项目管理
IT项目风险管理
工程项目成本管理
CMMI与项目管理
BT项目管理
ERP项目管理
项目经理职业生涯规划
项目管理与知识管理
项目组合管理
游戏研发项目管理
项目经理职业化
软件项目收尾管理
项目群管理
业主工程项目管理
医药研发项目管理
敏捷项目管理
项目经理领导能力培养
软件项目质量管理
研发团队绩效管理
工程项目合同管理
工程项目管理之EPC
虚拟团队管理
如何处理项目客户关系
软件项目风险管理
软件工程与项目管理
软件项目管理流程
项目管理的核心项目经理
软件外包项目管理
项目管理与企业文化
项目启动阶段的管理
企业项目化管理
手机研发项目管理
航天国防科研项目管理
企业多项目管理模式
项目融资之ppp模式
项目成本核算体系建设
组织级项目管理
项目管理绩效考核
项目管理办公室(PMO)
项目组织结构设计与选择
做好工程项目收尾工作
能源工程项目管理
基础设施建设工程管理
房地产项目管理
国际工程索赔与反索赔
工程招投标管理
建筑工程项目分包管理
项目融资模式—BOT
工程项目管理—代建制
项目管理承包PMC
如何做好项目沟通计划
工程项目之总承包管理
项目需求管理
技术人员转做项目管理
如何开好项目会议
项目经理的素质和职责
工作分解结构WBS
无处不在的项目管理
工程项目管理FIDIC
项目管理办公室(PMO)
经理访谈
更多:
--请选择更多访谈--
张富贵:PgMP不仅要正确地做事,更要做正确的事
张冰:从PMP到PgMP :不畏浮云遮望眼,提升视野有高瞻
朱华睿:PgMP助力项目收益实现,业务价值提升
龚光耀:PgMP,一场刻骨铭心的修行
戴晓梅:项目集管理是组织战略落地的最佳途径
杨菲:PgMP,项目经理迷航时的灯塔
江锦:项目集管理应理论与实践相结合,体系与流程并重
郭炜:PgMP升维项目管理的视野和格局
商侠斐:金蝶软件建筑与地产事业部高级顾
王丽娟:项目集管理的核心目标是收益最大化
张良:只有跨越鸿沟才能实现自我突破
郑婕:项目集管理要有大局观,大处着眼小处着手
李进:PgMP助力我的职业生涯更上一层楼
肖站:某研发公司高级硬件研发工程师
班学朋:某集团公司PMO高级经理
石磊:维益食品(苏州)有限公司产品主管
王琦:某集团公司产品经理
缪际星:某生物医药行业公司PMO高级AI项目经理
高瑞泽:美团点评支付平台部PMO负责人
宋娉:不断升级与绽放的玫瑰
王林:同方软银项目集经理
苏东升:北京融云PMO负责人
郭颖:天津南大通用数据智能事业部PMO
侯飞冰:某知名消费金融公司PMO执行总监
王艳琼:中兴通讯营销项目管理总监 杨艳玲:安胜(天津)公司项目经理
郑昊:Modix中国区总经理
谢少斐:先声药业研究院项目管理部总监
胡向辉:飞利浦中国数字创新中心高级研发经理
张梅:江苏铁锚集团项目副总
黄红军:特变电工项目总监
黄怡琴:贝朗爱敦(上海)高级商务经理
黄春阳:哈电股份高级项目集经理
熊涛:新拓尼克(成都)公司大客户经理
褚娜:杜邦公司可持续解决方案事业部总监
刘黔龙:中兴通讯全球交付PMO首席项目管理总监
李莹:北京蓝吉新能源综合管理部主管
张明:罗克韦尔高级项目经理
中船三井总经理办公室公司级项目经理 朱碧霄
杰瑞油气工程集团副总裁JAMES谈项目组合管理
PgMP俞雷:费森尤斯医药全球研发中心项目总监
PgMP梅金钟:中元金信金融PMO业务副总裁
宣晓锋:访项目管理者联盟创始人
张建才:东软集团项目管理资深顾问
张明军:国际高级项目经理PgMP
靳朝阳:美国艾默生中国天然气业务PMO总监
杨朋艳:PMP学习经历与感受
张泽晨:PMP学习之旅
胡喻:IP衍生品高级产品经理
郑双华:利得金融服务集团项目总监
代先生 某高新技术企业项目经理
陈晨 北京众标公司产品经理
姜鹏 卓越集团国际高级项目经理
王作琪 PMP学习经历与感受
王善民 首批国际产品经理
王焘 宝峨机械产品经理
叶景发 京东高级项目经理
陈正洪:项目管理者联盟高级顾问及首批认证PgMP培训师
龚毅红:跨文化跨地域的项目团队建设的实践感悟
林侃:项目集管理提高项目成功率
刘颖:慧与(中国)有限公司项目集经理
党新宁:国际项目组合经理PfMP获得者
李京基:百硕同兴项目咨询总监
高志兴:极客三个爸爸智能环境科技公司副总裁
张会斌:高远华信科技有限公司总经理
谢志杰:产品管理首席顾问
利镇有:跨国实业投资集团项目总监/高级顾问
高屹:项目管理者联盟研究院高屹副院长
马旭晨:中国项目管理研究院副院长
乔东:金融IT系统项目管理专家
高国伟:中国移动通信研究院产品管理经理
郭富才:深圳汉捷研发管理咨询公司副总经理
赖一飞:武汉大学经济与管理学院副教授
蒋卫平:复杂工程项目管理
檀爱民:先声药物
林志国:高阳科技
隋继周:中智慧聚
陈永涛:PMI
刘文圣:久其软件
马健锋:易和元通
包晓春:普华科技
郑杰:外专局
潘东:神州数码
苗云升:中国电子
王守清:清华大学
陈信祥 薛 岩
赵春明: 复斯管理
陈芳: 神州数码
孔争昕 :上海奔驰
吴年发 :中国寰球
张大鹏:神州数码
林森:天津辰达工程.
高学武:中国石化.
李福和:上海攀成德.
武晔卿:瑞迪航科技.
孙磊:上海锐科无线.
潘津平:天津天士力.
蔡培堃??????.
曹蕾:第29届奥组委.
卢有杰:清华大学建.
石海东:北京视锐达.
崔惠钦:中国建筑工.
刘毛华:制造业项目.
占文松:制造业项目.
许江林:项目管理者.
符志民:中国航天科.
关一卓:中油吉林化.
王宇红:HP项目管理.
丁昌银:广州市建筑.
席相霖:中国科学院.
洪布坤:上海普华科.
丁荣贵:山东大学管.
侯岚:德创赛思工程.
王宇:英国格利资工.
曹德成:清华大学建.
李大明:英国WSP集.
李卫星:项目管理专.
王爱华:北京广联达.
何磊:神龙汽车有限.
陈虔:项目管理专家
曹济:项目管理专家
刘大双:项目管理软.
王树文:华南资讯科.
王守清:清华大学教.
吴之明:北京中科项.
卢毅访谈:合力金桥.
钱福培:国际项目管.
赵巍:神州数码中国.
王景山:制造业项目.
吴建中:西气东输工.
潘东:神州数码金融.
陈奕雍:游戏项目管.
刘景梅:朗讯公司项.
周小桥:项目管理专.
陈和兰:项目管理高.
黄绍良:项目管理专.
甄进明:项目管理专.
个人专栏
更多:
---请选择更多会员---
联盟会员专栏—朱华睿
联盟会员专栏—涂斌
联盟会员专栏—李志安
联盟会员专栏—程兴勇
联盟会员专栏—谢二菊
联盟会员专栏—张建才
联盟会员专栏—路仲滨
联盟会员专栏—尹义法
联盟会员专栏—Lily
联盟会员专栏—马琛
联盟会员专栏—肖杨
联盟会员专栏—高国伟
联盟会员专栏—张鲁峰
联盟会员专栏—张为
联盟会员专栏—高屹
联盟会员专栏—车飞扬
联盟会员专栏—高茂源
联盟会员专栏—戚安邦
联盟会员专栏—宋学军
联盟会员专栏—张志坚
联盟会员专栏—杨铭伟
联盟会员专栏—杨立东
联盟会员专栏—曹济
联盟会员专栏—丁荣贵
联盟会员专栏—侯利军
联盟会员专栏—刘羚
联盟会员专栏—齐保良
联盟会员专栏—周炳学
联盟会员专栏—周劲松
联盟会员专栏—王凌宇
联盟会员专栏—蒋昕炜
联盟会员专栏—贾宗元
联盟会员专栏—张保军
联盟会员专栏—高扬
联盟会员专栏—司馥声
联盟会员专栏—郑德辉
联盟会员专栏—潘东
联盟会员专栏—冷力强
联盟会员专栏—潘德有
联盟会员专栏—蒋卫平
联盟会员专栏—王志远
联盟会员专栏—赵玫梅
联盟会员专栏—郭致星
联盟会员专栏—孙晓枚
联盟会员专栏—濮立松
联盟会员专栏—张雪峰
联盟会员专栏—张连永
联盟会员专栏—吴党明
联盟会员专栏—于学勇
联盟高级顾问—吴之明
联盟高级顾问—强茂山
联盟高级顾问—蔚林巍
联盟高级顾问—乔 东
联盟高级顾问—杨光清
联盟高级顾问—黄绍良
联盟高级顾问—徐成彬
联盟高级顾问—熊培霖
联盟高级顾问—王景山
联盟高级顾问—陈和兰
联盟高级顾问—黄萌凌
联盟高级顾问—何 丰
联盟高级顾问—刘大双
联盟高级顾问—袁月建
联盟高级顾问—郑文彬
联盟高级顾问—周小桥
联盟高级顾问—甄进明
联盟高级顾问—胡允清
联盟高级顾问—沈 音
联盟高级顾问—许江林
联盟高级顾问—刘景梅
联盟高级顾问—卢 毅
联盟高级顾问—石海东
联盟高级顾问—侯利军
联盟高级顾问—黄堰江
联盟高级顾问—周坤坪
联盟高级顾问—李子健
联盟高级顾问—徐 非
联盟高级顾问—李大明
联盟高级顾问—马正肖
联盟高级顾问—郑承满
联盟高级顾问—孙爱军
联盟高级顾问—吴 超
联盟高级顾问—杜寿兴
联盟高级顾问—胡云峰
联盟顾问—人月神话
联盟高级顾问—王树文
联盟高级顾问—耿岚岚
联盟高级顾问—孙 武
联盟高级顾问—赵春明
联盟高级顾问—商蓉蓉
联盟高级顾问—刘 睿
联盟高级顾问—白思俊
联盟会员专栏—郭远刚
项目管理者联盟特刊
联盟特刊是对网站会员发行的内部刊物,刊物内容包括:案例及分析等,得到了会员好评。
电子期刊:
---请选择---
2017年01月
2016年11月
2016年09月
2016年07月
2016年05月
2016年03月
2016年01月
2015年11月
2015年09月
2015年07月
2015年05月
2015年03月
2015年01月
2014年08月
2014年06月
2014年04月
2014年01月
2013年12月
2010年10月
2010年09月
2010年08月
2010年07月
2010年06月
2010年05月
2010年04月
2010年03月
2010年02月
2010年01月
2009年12月
2009年11月
2009年10月
2009年09月
2009年08月
2009年07月
2009年06月
2009年02月
2009年01月
2008年12月
2008年11月
2008年10月
2008年09月
2008年08月
2008年07月
2008年06月
2008年05月
2008年04月
2008年03月
2008年02月
2008年01月
2007年12月
2007年11月
2007年10月
2007年09月
2007年08月
2007年07月
2007年06月
2007年05月
2007年04月
2007年03月
2007年02月
2007年01月
2006年12月
2006年11月
2006年10月
2006年09月
2006年08月
2006年07月
2006年06月
2006年05月
2006年04月
2006年03月
2006年02月
2006年01月
2005年12月
2005年11月
2005年10月
2005年09月
2005年08月
2005年07月
2005年06月
2005年05月
2005年04月
2005年03月
2005年02月
2004年11月
2004年10月
2004年09月
2004年08月
2004年07月
2004年06月
2004年05月
特刊下载:
---请选择---
13年01-03月
12年04-06月
11年07-09月
10年10-12月
10年04-06月
09年07-09月
09年01-03月
08年10-12月
08年07-09月
08年04-06月
08年01-03月
07年10-12月
07年07-09月
07年04-06月
07年01-03月
06年10-12月
06年07-09月
05年特刊
02年04-06月
02年10-12月
02年1-7合集
2017合刊
2016合刊
2015合刊
2014合刊
2010合刊
2009合刊
2008合刊
2004合刊
2005合刊
2006合刊
2007合刊
施工企业管理
《施工企业管理》创刊于1986年1月,中国施工企业管理协会主办,是反映施工企业管理杂志。
浏览往期:
---请选择---
2013年04月刊
2011年10月刊
2011年09月刊
2011年08月刊
2011年07月刊
2011年06月刊
2011年05月刊
2011年04月刊
2011年03月刊
2011年02月刊
2011年01月刊
2010年12月刊
2010年11月刊
2010年10月刊
2010年09月刊
2010年08月刊
2010年07月刊
2010年06月刊
2010年05月刊
2010年04月刊
2010年03月刊
2010年02月刊
2010年01月刊
2009年12月刊
2009年11月刊
2009年10月刊
2009年09月刊
2009年08月刊
2009年07月刊
2009年06月刊
2009年05月刊
2009年04月刊
2009年03月刊
2009年02月刊
2009年01月刊
2008年12月刊
2008年11月刊
2008年10月刊
2008年09月刊
2008年08月刊
2008年07月刊
2008年06月刊
2008年05月刊
2008年04月刊
2008年03月刊
2008年02月刊
2008年01月刊
2007年12月刊
2007年11月刊
2007年10月刊
2007年09月刊
2007年08月刊
2007年07月刊
2007年06月刊
2007年05月刊
2007年04月刊
2007年03月刊
2007年02月刊
2007年01月刊
2006年12月刊
2006年11月刊
2006年10月刊
2006年09月刊
2006年08月刊
2006年07月刊
2006年06月刊
2006年05月刊
2006年04月刊
2006年03月刊
2006年02月刊
2006年01月刊
2005年12月刊
2005年11月刊
2005年10月刊
建造师杂志
《建造师》杂志由清华国际工程项目管理研究院主办,是中国面向建设企业管理人的高端杂志。
浏览往期:
---请选择---
2011年04月刊
2011年03月刊
2011年02月刊
2011年01月刊
2010年11月刊
2010年09月刊
2010年07月刊
2010年05月刊
2010年03月刊
2010年01月刊
2009年11月刊
2009年10月刊
2009年09月刊
2009年08月刊
2009年07月刊
2009年06月刊
2009年05月刊
2009年04月刊
2009年03月刊
2009年02月刊
2009年01月刊
2008年12月刊
2008年11月刊
2008年10月刊
2008年09月刊
2008年08月刊
2008年07月刊
2006年12月刊
2006年11月刊
2006年10月刊
2006年09月刊
2006年08月刊
2006年07月刊
2006年06月刊