注册 | 登录 | 控制面板 | 会员列表 | 搜索 | 投稿 | 留言本  
繁体中文
设为首页
加入收藏
当前位置: 首页 >> 网络技术 >> 业务层复用:软件复用的必然趋势
业务层复用:软件复用的必然趋势

作者:admin      来源:     发表时间:2006-12-25     浏览次数:     字号:    

在现代商业社会,软件开发过程,尤其是行业应用软件的开发过程已经完全不再是软件发展早期许多人所追求的那种艺术创作过程,而是尽可能地朝着工业化、标准化的方向发展。而软件复用正是人们朝着这一方向努力的一个重要表现。而今,软件复用经过多年发展,已经进入一个新的层次。

为什么中式快餐难以取得像麦当劳、肯德基这样席卷全球的发展攻势?为什么中国的连锁餐馆里大厨的工资甚至要高于店长的工资,而且即使这样,我们在同一品牌下的不同中式连锁餐馆用餐时的体验还存在着较大偏差呢?而在全世界任何一家肯德基买到的汉堡却都是一样的味道。这就是因为中餐的操作流程不具备大范围可复用的特点,而西式快餐则可以实现流水线式的工厂化生产。

因此,对于软件开发,如果能够实现在满足个性化需求的同时实现工业化生产,那么软件开发的效率和软件实施的成功率将取得巨大突破。然而,个性化和工业化似乎是一对不可调和的矛盾。于是人们在许多年前就展开了对软件复用的研究,希望找出各种软件之间通用的部分,把它们提取出来,通过概要贴切地描述事物,忽视次要的细节来加以抽象,然后重复使用。而记者在第四届中国软件技术大会现场明显体会到,软件复用技术已经从前期的技术层面的复用发展到业务层面的复用,以SOA为代表的业务层复用技术已经真正进入务实阶段,成为程序员最为关心的话题之一。

技术层面的复用

国内著名的计算机软件工程领域研究专家杨芙清教授曾发表论文指出: 探讨应用系统的本质,可以发现其中通常包含三类成分: ①通用基本构件: 是特定于计算机系统的构成成分,如基本的数据结构、用户界面元素等,它们可以存在于各种应用系统中; ②领域共性构件: 是应用系统所属领域的共性构成成分,它们存在于该领域的各个应用系统中; ③应用专用构件: 是每个应用系统的特有构成成分。应用系统开发中的重复劳动主要在于前两类构成成分的重复开发。

正是由于应用系统存在这种本质,越靠底层的部分越容易复用,所以人们在软件复用方面的研究和应用经历了从底层到高层的过程,先后经历了库函数、面向对象、软件构件、开发框架等等。目前各种开发框架,尤其是开源框架已经得到广泛应用,它是对系统整体结构设计的刻划,包括全局组织与控制结构,构件间通信、同步和数据访问的协议,设计元素间的功能分配、物理分布,设计元素集成,伸缩性和性能,设计选择等。

由于开发框架本身的通用性造成其组件粒度比较小,抽象程度比较高,所以,近来又出现了对领域工程方面的研究。它是为一组相似或相近系统的应用工程建立基本能力和必备基础的过程,覆盖了建立可复用软件构件的所有活动。领域工程对领域中系统地进行分析,识别这些应用的共同特征和可变特征,对刻划这些特征的对象和操作进行选择和抽象,形成领域模型,依据领域模型产生出领域中应用共同具有的体系结构(即特定领域的软件构架)或生成过程,并以此为基础识别、开发和组织可复用构件。这样,当开发同一领域中的新应用时,可以根据领域模型,确定新应用的需求规约,根据特定领域的软件构架形成新应用的设计,并以此为基础选择可复用构件进行组装,从而形成新系统。由于适用领域的具体化,使得其可复用的组件粒度比较大,其可复用的软件构件包括: 领域模型、领域构架、领域特定的语言、代码生成器和代码构件等。

领域工程有助于产生具有较高可复用性的构件,而且通过产生构架定义了复用的时机和复用的上下文。这样就对开发者复用这些构件提供了有力的支持,使得复用变得规范、系统和高效。

业务层面的复用

但是,上述的软件复用大多还是从技术角度出发的,例如J2EE组件框架只是一个以库、类和接口形式提供的基础架构,最终构成应用的业务逻辑和表现/控制逻辑则要由建立在这个框架上的业务组件实现。而应用软件最终要解决的却是应用问题,或者说是业务问题,如果软件能够在更高层次的业务层面上进行大范围复用,那么对提高软件开发效率的作用将会更大。由于大部分软件的生产过程是使软件产品从抽象级别较高的形态向抽象级别较低的形态演化,所以较高级别的复用容易带动较低级别的复用,因而复用的级别越高,可得到的回报也越大。而如何实现这一点,正是软件开发各界当前最关心的问题之一,由此也引发了技术人员对SOA架构、构件技术以及样本程序等的热衷。

但无论哪种技术,都依赖于首先形成一个个遵循一定业务规则、执行一定业务逻辑并管理一定数据的可在各种应用项目中,或者某一领域内的各种项目中重复使用的组件。他们不同于Struts、JdonFramework、Hibernate这样的技术组件或者由技术组件形成的框架,后者并不能解决特定的业务问题,而是为业务组件提供赖以生存的运行基础——一些核心底层机制,特别是组件的管理,如组件的创建、组件的获得、组件的资源管理、组件的消亡等生命周期支持。例如,基于这些技术框架开发的样本程序就在一定程度上具有业务层复用的功能。样本程序可以集成行业领域系统开发所需要用到的几乎所有横向组件和绝大部分业务对象,能够很好地指导不同的项目在统一技术标准上的实施,针对不同的客户需求,从平台中选择合适的横向组件和业务组件进行组装,而这些组件都是经过长期验证的高可靠性的模块,这样就能最大程度地保证快速搭建的系统的可靠性。由于样本程序的指导性,使得项目经理和程序员都能将大部分精力放在研究客户需求,满足业务逻辑上,而不用每天为技术问题焦头烂额。

从中可以看出,构件技术正呈现业务化的发展趋势。在构件化概念应用早期,以CORBA、微软的DCOM以及Sun的EJB为代表。当时的构件复用体现在用户界面上的构件复用,这个层次上的构件应用确实对当时的软件开发起到了促进作用。但随着技术层次构件的积累和成熟,企业应用开发迫切需要的不再是细粒度的技术构件,而是粗粒度的业务构件,以业务构件为中心的面向构件开发才能够真正提升开发速度、降低开发成本,并改善软件质量。而且面向构件技术的构件业务化强调的是粗粒度的构件,是对一个完整业务功能的实现与复用,而这正是SOA中所关注的。

而且,高级的业务层面软件复用已经不是停留在软件编译之前的状态了,而是在软件编译后,甚至是运行状态下可以随时即插即用的组件。例如SOA架构中的服务是可以根据业务逻辑的需要随时调用的,它提供了一种系统运行时动态改变其功能的方法,而不像技术组件在使用时,需要技术人员导入组件包,然后混同已有代码一起重新编译。

因此,业务层软件复用技术将促进软件产业的变革,使软件产业真正走上工程化、工业化的发展轨道。软件复用将造成软件产业的合理分工,专业化的构件或服务生产将可能成为独立的产业而存在,软件系统的开发将由软件系统集成商通过购买商用构件或者服务,集成组装而成。软件复用所带来的产业变革将会带来更多的商业契机,形成新的增长点。

小资料:概念辨析

开发框架:即framework,它是某种应用的半成品,就是一组组件,供开发人员选用完成自己的系统。在某些方面使用别人成熟的框架,就相当于让别人帮你完成一些基础工作,你只需要集中精力完成系统的业务逻辑设计。框架一般处在低层应用平台(如J2EE)和高层业务逻辑之间的中间层。

构件技术:构件是一种软件开发技术,它的基本理念是将软件开发过程中会重复用到的部分封装起来,等到有新的同样的需求时调用。构件是应用开发层面的概念,适用于企业应用的开发。构件是SOA的实现形式。

SOA:SOA是一种表现形式,是通过服务对企业的应用需求进行展现。SOA注重将已经存在的应用系统进行集成,同时又可以根据标准规范新的应用系统的开发过程,使得企业内部甚至企业之间能够基于相同的服务框架实现信息和数据的共享与交互。

责任编辑:kulan
发表评论  打印本文  推荐本文  加入收藏  返回顶部  关闭窗口

  • 上一篇: 9种黑客常用的攻击方法
  • 下一篇: Linux环境下如何去远程登录Windows
  • □ 最新文章
    精华文章  CSS的常用技巧放送 12-21
    普通文章  业务层复用:软件复用的... 12-25
    普通文章  IE典型故障解决大全 08-25
    普通文章  使用QQ网络硬盘不排队的... 07-10
    普通文章  IE加速 07-10
    普通文章  网页浏览速度提高切实可... 07-10
    普通文章  网络管理人员注意:内部... 07-10
    普通文章  如何对 ADSL 上网相关参... 04-18
    精华文章  十大流氓软件及卸载方法... 04-07
    普通文章  快乐用网 手把手教你带... 03-06
    □ 推荐文章
    精华文章  CSS的常用技巧放送 12-21
    精华文章  十大流氓软件及卸载方法... 04-07
    精华文章  一些恶意网站,请大家注... 10-14
    □ 热点文章
    精华文章  CSS的常用技巧放送 12-21
    普通文章  计算机端口介绍 10-13
    普通文章  IE加速 07-10
    普通文章  国内常用域名商管理后台... 02-07
    普通文章  网页浏览速度提高切实可... 07-10
    普通文章  如何对 ADSL 上网相关参... 04-18
    精华文章  十大流氓软件及卸载方法... 04-07
    普通文章  你必须学会的几个常用网... 10-13
    精华文章  一些恶意网站,请大家注... 10-14
    普通文章  ADSL宽带常见故障及解决... 10-13
       发表评论 更多评论>>
      评论人 [ 五义宝贝 ]  评论时间:2008-11-12  评分:3
    好贴为什么没有人来支持下呢?我伤心啊。
      评论人 [ 五义宝贝 ]  评论时间:2008-11-11  评分:3
    花800元钱买的创意免费送给大家!! 免费的项目,能赚到钱的人有几个?!认真做起来的绝对不到1%,不相信,你可以去别的版块看看,大多 数看完一笑而过! 而花钱的项目就不一样了,你会去珍惜,你会去把这个本捞回来,所以能认真做的,能达到80%以上,这 个我在创业网站里做过调查 好了回归正题,说一下项目的内容 这个项目是给那些新手,而又不愿意下苦工夫的人准备的。 进入正题: 这个项目是我花的钱买完后,作为小项目给群里弟兄的 此项目,是我近几日发现的一个项目(中韩竞拍网,网站地址是:www.jp158.com)是一个关于竞拍的网 站,里面有几个点,我们就充分利用这俩个点去赚钱哦 简单来讲:就是小钱赚大钱的游戏,现在人少,好做,人多了咱们就不赚了,网站就赚了,所以最好早进。 我为什么不做呢?想一下,有能赚1万的你还会去做赚一千的吗?耗费相同 精力的前提下 详细来讲: 第一步:用一个身份证号注册帐号,最好是自己的,因为最后领钱的时候要用你的网上银行支付.(这个站 一般1秒钟到帐,速度超级快吧,我就看这点才花点小钱,慢慢变大的) 第二步:这个地方是重要的地方,他们的竞拍商品最高拍价是市场价格是50%(奇怪的规则),每拍出一 次扣一张或俩张券(一元=10张),一般拍到1/3的价格左右99%就能拿到该。 看不明白的话,我举个例子好了: 他们的游戏规则是谁出的价格最低且不重复,产品归谁。但是每出一次要扣一张或俩张的拍券。 假设:500元的MP4,我每出一次价格是花费0.1元,我就从0.1一直拍到250元,这样我百分百拿到,因为 所有的价格我都出了啊。但是一般我 只出到1/5左右,既:出价到100或者50左右就能拿到500元的MP4.这时候肯定有朋友问,他那产品可靠不 ?假货吧,他们还有一个规则会打消你的疑虑 ,我就是用这条赚的钱,hoho!!他们可以直接申请折算现金,不过是80%,不过很不错了,我一般用 10%的价格能博80%的钱,最幸运的时候是5快多 钱就能买到几百快钱的东西....~_~.详细的 你去看网站吧 别的竞拍站一般不给东西,不相信参加就知道了 。有朋友问我赚了多少,实话几K,主要手太 累 呵呵 主要是给新手 没钱赚的朋友做的项目,我现在做别的东东了 hoho 这个项目只适合没有什么项目可做的朋友. 一元换10张券,我上次用他们给的钱,就冲了50块钱的,也就是500张(对客服好一点,还能远远大于这 个数哦,送个50张应该不成问题 hoho,小秘密哦 ) , 这些在于发现嘛~ 我现在忙别的,公布也无所谓了 。用钱去赚钱也很爽...... 扯远了,不说了,要不 还以 为我是托呢 如果管理员把网站地址删除了,认为是宣传的话,那你们只好去地址栏搜索中韩竞拍网,就是jp158点com 哪个站,否则还以为我忽悠你们呢,呵呵 如果 都删除了没了,那我也没招了 嘎嘎!! 世界上三等人: 第一等:用体力劳动赚钱的人 第二等:用脑力劳动赚钱的人 第二等:用钱去赚钱的人(这个项目就是用钱去赚钱的一个典型例子) 最后祝大家多多发财 多多赚钱!!! 我是花钱为大家做好事情啊,不回帖, 真对不起我的苦心啊 :) ,下次有好的赚钱方法,我在最短的时间 内公布出来,让大家一起富裕!
       发表评论
    姓名: QQ:
    性别: MSN:
    E-mail: 主页:
    评分: 1 2 3 4 5
    评论内容:
      
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。
  • ·关于我们 ·联系方式
    © 电脑e路通(e6tong.net) 2005 All rights reserved