看了标题就知道时两件事了,对,今天晚上上网看了下新闻,看到两件值得去做的事,相信会收益良多。
CSDN网站上开展了一个写书评得奖励的活动,得奖励的几率很渺茫,但看些文章看看书评应该感觉会不错;
成都举办了软件设计比赛,我刚好算了下,有四个周末去备战该比赛的预赛,还没做题目,但发现大纲里的要求并不低,照着做做,寻找些差距吧。从大纲也看到现在的潮流,没有C和C++的题目了(至少没有专门列出),现在分两个类别(JAVA和C#),而这并不时100%,还需要许多相关的知识。当然我发现该比赛的要求的确不低,一般程序员谁又会关注整个软件流程开发呢,或许只参与了编写代码,平常所做的设计仅仅时在头脑中的一幅图而已,最多形成一份并不规范的文档。像我现在所左更郁闷,二次开发,没啥突破性,做好了的平台上修修补补,当然给了自己很大机会去自学,真时考验人哦~~~发现我总是面对这样的机会。。。还时那句话,寻找些差距,充充电吧。
顺便贴个非常的书评:
软件工作者的核心任务就是开发软件,20世纪60年代提出了结构程序设计方法,解决了编程中的程序正确性问题。到20世纪70年代,为了设计大型软件,提出了软件工程的设计方法,但软件工程有先天不足,开发成本高、开发周期长,并且不能适应系统不断改进和变化。为此,20世纪80年代提出了采用可重用技术,产生了面向对象技术,对某些大型软件,能解决软件工程中的不足之处,但还是不尽人意,原因是:①技术要求较高,一般技术人员(编程人员)很难学会、掌握;②由于概念上不统一,因此很难建立起标准和规范;③在工程实施中有不少难点没有解决。因此,只能在某些应用上被少数技术人员使用。
为此,在面向对象方法基础上出现了构件技术,这种思想来自于汽车制造业和建筑业,采用流水线生产方式的预制件装配方式,它的预制件要求并不苛刻,而只要是重用就可以了,所以称为构件。在这个生产流水线上的各阶段,可以由不同专业人员去完成,社会有了分工,效率和质量都有了提高,这种开发技术称为“基于构件/构架的开发技术”。
到21世纪的今天,各企事业单位都己经普遍使用了信息技术(简称IT),建立了各种软件系统,如财务软件、信息管理系统、CAD、实时工控系统等,可是这些系统都是自身相时独立的,也就是说,相互之间无法连通。当今社会IT技术发展日新月异,已经进入网络新时代,企业的竞争相当激烈,企业的负责人都要考虑如何整合各种资源,把现有系统连接起来,发挥资源最大能量,使得机构运转更畅通。例如,为解决奥运会的交通问题,需要把北京市现有的八个智能交通系统连起来,建立一个新的系统。同样,各企事业单位,不但要把内部各系统连接起来,还要与上级的系统互连,同时还要与其它单位的信息系统横向互连。总之,当前需要把在不同平台开发的软件连起来,迫切需要新的技术。
从上世纪末到本世纪初,一些重大的创新软件技术都是围绕着软件互通互连展开的,微软OLE技术实现了二进制代码级互连,采用了嵌入和连接两种技术,有效地将微软内部的系统连起来,并实现了拖拉等技术,只要是在微软平台开发的软件,安装一些接口就可以互通互连了。但是,还有大量软件不是在微软平台上开发的,就无法实现互连了。于是,世界上各计算机大公司共同组织起来,解决它们之间的软件互连问题,提出了CORBA。,这种技术的核心就是提供一种大家公认的代理,即提供一种中间过渡语言,这相当于要求大家向世界语靠拢。这种技术实现时难度很大,虽然经过多年的努力,取得很大进展,但离实用却仍有距离。接着Sun公司提出将C语言改进后的Java语言作为互连的通用中间语言。但是,就如同英语可以被很多国家作为母语,却无法要求全世界人都用英语讲话一样,虽然这种语言实用性强,应用广泛,但不可能做到被普遍接受。由此面向服务的构架(SOA)应运而生了,而且很快被公众认可和接受,成为当前解决大型软件系统互连的最佳开发方案,SOA的推广和应用已经成为软件开发中的头等大事。
八年前我的最后一位博士生王文军的学位论文是“分布式系统的联邦结构”,即面向服务的架构,但未被应用和发展。而三年前IBM公司提出SOA后,却很快被广泛接受,其原因主要在于客观需求和技术成熟度两个方面:
⒈ 客观上需要 随着网络普及化,越来越迫切地需要集成现有的多个应用系统,以实现更强的信息处理功能。如电子商务的供应链、智能交通、电子政务、数字地球等已是本世纪发展的热点,都需要互连技术。我预言今明二年将是国内IP行业的发展热点。
⒉ 技术成熟度
现在面向对象和构件架构的基础理论和技术已趋向成熟,发展到统一建模语言,提供建模工具,并提出了中间件、inter bus等技术。 浏览器技术普及,已成为行业标准,奠定了SOA的基础理论和技术规范基础,接着许多关键技术得以解决,如用ESB(企业服务总线)、BPEL(业务过程执行语言)来描述用户需求,由BPM(业务过程管理平台)来解释执行等。由此已是水到渠成,SOA茁壮成长。
SOA的优点就是把企事业单位中现有的系统以松耦合方式很方便地整合起来,称为“整合创新”,新系统管理起来很方便、集成时间很短,成本也很低。另外当前SOA技术已与BPM工作流管理技术结合起来了,企业人员自己可以写出它的工作流,很快地响应外部变化,能够使企业在市场上取得很强竞争力,称为“随需应变”。
近三年来,IBM公司大力宣传和推广SOA,我曾多次听取IBM公司中国培训中心毛新生先生的精彩讲话,他介绍了IBM公司在SOA方面的成果,展示了在中国的实践经验。特别是在IBM的SOA 和 Web services网站(http://www.ibm.com/developerworks/cn/webservices/)上登载着数百篇高质量论文,影响极大。去年,全世界的大公司都在北京做了开发SOA的报告,我曾听取了甲骨文、微软等公司的报告,认为我国对SOA的认识和应用已经跨出了历史性的一大步。在国内反应很快的首先是各个政府部门,国家科委和北京市科委都大力支持这项技术的实施和推广工作。除此之外,中国的许多企业纷纷开始采用SOA技术,作为今后IT的策略。然而当前国内发展SOA存在着两个问题:首先,没有一本较系统全面地介绍SOA技术的书,指导如何开发应用软件,目前仅看到零散的论文,但用户无从入手,不知道看哪几篇好,先看哪一篇,再看哪一篇。其次,中国有几十万企业都在拭目以待,只要我们把样板搞好,看到典型,看到效应,我相信中国企业都会采用,在几年之内,SOA的技术一定能进入大大小小的企业,今明两年在中国SOA一定会持续升温,构成新的热点。
毛新生先生主编的《SOA原理?方法?实践》一书,是代表了IBM开发中心,将IBM所遵循的理论和方法,提炼后编写了此书,弥补了空白。特别是写了IBM公司在中国指导开发的实例,总结出宝贵的经验,我确信此书会大大促进SOA技术的应用和发展,并将有一大批SOA的书跟着出版,以解释和发展本书的内容。
中科院软件所研究员仲萃豪
2007年8月6日