漳州信息港
法律
当前位置:首页 > 法律

SOA标准与构件技术的结合

发布时间:2019-06-19 14:57:41 编辑:笔名

  软件从它诞生之日起就带着“手工”生产的烙印,甚至有人将软件看作是程序员的“艺术作品”,而“艺术作品”当然是只能用“手工”方式生产的。这些年来,尽管软件发展得愈来愈大,愈来愈复杂,但它的生产率仍然十分低下。颇有讽刺意味的是,当一些传统行业,比如制造业,在软件的帮助下走向自动生产、柔性制造时,软件本身的生产却仍然远离自动化、缺乏灵活性,基本上还停留在落后的“手工”生产阶段。  在IT领域,作为孪生兄弟的硬件和软件,经过了几十年以后,这两兄弟的差距却愈来愈大了。这些年来,硬件的发展始终遵循着“摩尔定律”,每一年半性能翻一番,而支撑着硬件的这种指数律增长的是硬件的自动设计技术,即EDA技术。依托EDA工具,硬件的设计已经达到了高度的自动化,例如一个开发组可以在几个月的时间里设计出包含百万晶体管甚至千万晶体管的集成电路芯片。相比之下,软件的发展并没有类似的“摩尔定律”,软件落后的“手工”生产方式使软件的发展大大落后于硬件,比如软件规模似乎只能以很慢的速度增长,从Windows 3.1发展到Windows 2000,在9年的时间里源代码行数只增长了9倍左右。

  我们可以对软件生产率作个估算。中国一些公司的经验表明,从零开始,开发百万行源代码等级的大型软件,几百人的团队大约需要五、六年时间才能达到实用水平。折算起来,也就是每人年约2000行源代码而已。近欧盟关于开源软件的研究报告(《开源软件对欧盟信息通信技术(ICT)部门创新与竞争力的影响》)对开源软件Debian 3.1作了估计,它的2.21亿行源代码如果由专门程序员开发,将需要16.4万人年,折算起来,也就是每人年约1300行源代码。由此可见,大型软件的生产率每人年只有一、二千行源代码,而且软件愈大,生产率愈低。

  图灵奖获得者、计算机科学家布鲁克斯曾在其文章《没有银弹》一文中提出一个论断:“没有一种单纯的技术或管理上的进步,能够独立地承诺在10年内大幅度地提高软件的生产率、可靠性和简洁性”。他的这个论断是要强调,提高软件生产率是多么困难!但即使如此,人们还是要朝这个方向努力,因为对此有迫切的需求。

  首先,提高软件生产率是软件厂商的迫切要求。今天,几乎所有的软件公司都不能摆脱软件计划延迟、开发预算超支、版本不能及时推出的困扰; 至于软件缺陷更是无法避免,人们不得不一次次地发布补丁,而又一次次地发现新的缺陷。

  其次,提高软件生产率也是用户的迫切要求。现在的企业面临激烈的竞争,为了提高竞争力,就要推进信息化。如按需求重新开发软件,无论是自己开发还是委托软件公司开发都需要很长的时间; 如是购买现存的通用软件,也需要进行定制,同样非常费时。即使软件开发或定制出来了,但市场情况瞬息万变,软件应当能快速响应,而现在的软件却很难做到。所以,很多企业的业务都受到软件的制约。总之,软件厂商也好,软件用户也好,都希望能突破软件生产率的瓶颈,寻找解决这一问题的出路。

  布鲁克斯认为,提高软件生产率不能由一种技术或管理的进步达到,也就是不能用一颗“银弹”解决问题,他也许是对的。但是否会有某些技术或管理对提高软件生产率产生重要的、甚至是决定的作用呢?也就是说,如果不能用一颗“银弹”,那么是否能用一些“银弹”解决问题呢?

  构件技术显然有可能成为这样的“银弹”。在集成电路领域,构件技术取得了极大的成功,硬件的构件小至“标准单元”,大到“IP核”,都可以在集成电路设计中复用,大大提高了硬件的生产率。可是软件的构件概念提出了多年,却很难实现产业化,看来至少有两方面的原因。一方面原因是,将软件构件技术产业化需要有一个高效、实用的构件平台。正如普元公司的经验所表明的,它们开发了EOS中间件平台,即一个以构件为核心的生态系统,包括了构件运行环境、开发环境、应用管理环境、基础性的公共构件库、以及面向构件的方法学和经验论,有了这样的平台,很多用户就容易采纳构件技术,并容易取得成效。

  另一方面原因是缺乏标准。虽然从软件本身来看,一个成熟的软件,其中有60%-70%的功能是可以被复用的,但是现实情况是,当我们淘汰一个软件的时候,往往是把它完全抛弃掉,然后再重新设计一个拥有诸多类似功能和少量新鲜功能的软件。这是由软件程序本身的编写规则决定的,拥有数百万行源代码的程序几乎没有人能完全看懂,也极难维护和更新。长期以来,软件行业缺乏一个标准,每个企业的标准都不一样,难以形成足够的标准化的构件。好在这个问题现在可以解决了,服务导向架构SOA已经成为行业标准,符合服务构件架构SCA标准的构件将可在一切遵循这一标准的系统中复用,从而使多年以来软件界所追求的“软件工业化生产”、“软件工厂”等等理念得到实践的机会。

  令人高兴的是,在这方面中国有后发优势。发达国家的银行、通信等等行业的软件系统基本上在90年代初就已完成,如今要用新的构件技术将以往的系统推翻重来是相当困难的,因此对构件技术的市场需求不大。而中国的情况是,大部分企业的信息化还处于基础建设阶段,很多软件系统都是空白,适合采用新的构件技术,因此对构件技术有巨大的市场需求。这也正是近年来构件技术在外国止步不前,而在中国却获得广阔发展空间的重要原因。同时,在中国发展构件技术另一个好处是,中国企业数量庞大,情况也复杂多变,这样,我们在设计构件的时候,能够有足够多的样本,构成更完善的构件库,使构件方法的软件生产达到更高的效率。

  现在我们可以勾勒一下构件技术将为企业信息化带来的变化。过去我们对于企业软件的概念是ERP、CRM等等,当业务部门有需求之后,规划出一个三、五年的时间开发一套庞大的程序来满足需求。但是现在我们可以按照细小的业务流程来设计每一个流程的小软件作为服务构件,再将成百上千个这样的服务构件集合起来,构成整个公司的IT系统。一旦某个业务流程需要改变,就可以将与之关联的服务构件抽取出来,重新编写,再镶嵌进去,构成一个新系统。这样一来,企业的信息系统将能随需应变,而不必像以往那样,当一个固定的系统用上若干年过时以后,不得不全部抛弃,重新开发一套新系统。

  总之,中国的特殊国情是构件技术在中国得以迅速发展的重要原因,这也是中国企业参与制订国际软件标准的契机。我们高兴地看到,普元公司已成为SOA标准有关国际组织(OASIS和OSOA)的核心成员,正在为制订服务构件架构和服务数据对象(SCA/SDO )的标准作出积极的贡献。我们相信,随着中国软件企业自主创新能力的增强,它们一定会在国际标准组织中发挥更大的作用。

  我们期待着,在广大软件企业和用户的努力下,SOA标准和构件技术的结合能成为提高软件生产率的一颗“银弹”。

  查看本文来源

灯盏生脉胶囊好吗
人为什么会得痴呆症
灯盏生脉胶囊效果
友情链接
孩子发烧怎么办39度 宝宝高烧怎么办 小孩发热怎么办 儿童感冒发烧 4岁儿童反复发烧的原因 小孩发烧怎么治疗 宝宝持续低烧 宝宝半夜咳嗽白天不咳 宝宝经常咳嗽 孩子咳嗽不停怎么办 婴儿感冒咳嗽怎么办 宝宝早上起床咳嗽什么原因 小孩健脾胃的药有哪些 宝宝正常大便 宝宝大便黑色 小孩子便秘怎么办 宝宝晚上睡觉出汗是怎么回事 小儿干咳怎么办 一个多月的宝宝感冒了怎么办 1岁宝宝发烧 孩子营养不良的表现 宝宝发烧反复 小孩晚上睡觉流鼻血 孩子发烧 3岁宝宝口臭怎么消除 孩子夜间咳嗽厉害怎么办 小孩眼屎多 小孩化痰止咳吃什么药最好 小儿流鼻血 小孩中暑怎么办 小孩经常便秘怎么办 小儿反复发烧 宝宝发烧怎么办 小儿便秘治疗 孩子夜里咳嗽怎么办 宝宝半夜发烧39度怎么办 孩子低烧怎么处理 宝宝晚上咳嗽厉害怎么办 宝宝便秘了怎么办 宝宝咳嗽怎么办 小孩发烧39度 小孩持续高烧不退是什么原因 宝宝半夜发烧39度怎么办 儿童低烧怎么处理 小孩子发热 四个月宝宝怎么止咳 小孩发烧推拿 四个月宝宝发烧怎么办 宝宝咳嗽吃什么好 小孩老是咳嗽是怎么回事 宝宝热咳嗽吃什么好的快 宝宝不吃饭什么原因 五岁孩子咳嗽老不好怎么办 小儿感冒吃什么药 小孩子发烧 小儿止咳药排名 一岁多宝宝发烧 小孩咳嗽吃什么 小孩发烧怎么治疗 小孩咳嗽有痰吃什么好 宝宝白天咳嗽晚上不咳嗽怎么回事 孩子高烧不退怎么办 小孩子发烧39度怎么办 孩子发烧39度怎么办 龙岩牙周科医院哪家好 西安皮肤科医院哪家好 延安普外科医院哪家好 榆林眼科医院哪家好 安康中医肛肠科医院哪家好 萍乡室缺医院哪家好 鹰潭针灸科医院哪家好 鹰潭法四医院哪家好 赣州重症监护室医院哪家好 宜春小儿精神科医院哪家好 上饶神经内科医院哪家好 吉林地方病科医院哪家好 四平中医肿瘤科医院哪家好 松原核医学科医院哪家好 钦州五官科医院哪家好 贵港儿科医院哪家好 百色新生儿科医院哪家好 贺州康复科医院哪家好 来宾眼科医院哪家好 梧州有哪些肿瘤康复科医院 普洱妇产科医院哪家好 梧州有哪些烧伤科医院 金昌生殖中心医院哪家好 迪庆有哪些肿瘤内科医院 吐鲁番儿科医院哪家好 哈密康复科医院哪家好 拉萨有哪些小儿骨科医院 阿克苏胸外科医院哪家好 克州中医肾病内科医院哪家好 那曲有哪些骨科医院 那曲有哪些理疗科医院 阿勒泰免疫科医院哪家好 石嘴山有哪些中医老年病科医院 吴忠有哪些中医五官科医院 石河子血液科医院哪家好 中卫有哪些室缺医院