友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
八万小说网 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

borland传奇-第29部分

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!



趋势变得更令人困惑。在经过了Internet/Intranet、Linux和Open Source的洗礼之 
后,目前信息技术的发展似乎已经趋向多元化的状态。虽然许多的信息系统仍然在使 
用我们早已熟悉的技术(例如Web和主从架构),但各种新的信息技术也在层出不穷地 
出现(例如SOAP和Web Service),再加上和Java两大平台之间逐渐升温的战火, 
让许多软件开发人员眼花缭乱,继而心生疑惑〃自己未来的前途到底在哪里?〃   
其实,信息人员产生这样的疑惑是很正常的。因为信息技术的发展到达了前所未有的 
阶段,不但各种程序语言之间掀起了混战,操作系统平台、虚拟执行平台、开发工具、 
组件模型等都兴起了热战。而虚拟执行平台让跨平台模糊了以往壁垒分明的开发领域, 
程序语言的多样化稀释了原本由数种语言瓜分天下的态势,而Web和多层架构又逐渐 
瓦解了传统的信息架构。这些信息技术的多元化发展,不但让传统的开发人员面临难 
以抉择的命运,虚拟平台、程序语言和信息架构等众多的组合变量,也让开发人员顿 
然之间感觉负担沉重,担心自己已经跟不上信息发展的快速脚步,那软件开发人员的 
未来到底在哪里呢?       
信息技术多元化的发展   
和许多人的工作一样,也许你还在使用Delphi/C++Builder开发主从架构或是Web或者 
一般的应用系统,又或许是使用JBuilder开发Java应用系统。总之,你可能已经熟知 
目前所使用的技术,并且大量地应用在日常的应用系统中。但是,身为软件开发人员, 
必须了解软件趋势的发展,必须随时注意新的软件技术,因为唯有不断地增加自己的 
附加价值,才能够在这个竞争激烈、演进快速的产业中生存下去。   
其实从整个软件技术发展的趋势中,细心的软件人员已经能够看出未来的方向。在软 
件开发的过程中,每一个时代都有主导的软件技术在影响着当时的产品以及软件公司 
的兴衰。当然,能够掌握软件趋势的人或是公司也都获得了成功。从下图中我们可以 
看到,在不同年代中不同的信息技术掌握了当时的主宰力量。60/70年代是由数据处 
理和程序语言独领风骚,到了80年代便由数据库当家作主,90年代各种组件和中间件 
又主导了系统架构。   
但是从60/70/80/90年代的软件技术来看,每一个时代都是由一个点的信息技术来主 
导。不过在Internet/Intranet时代,面向对象和Modeling等技术对于信息系统的影 
响愈来愈大,信息技术的演进逐渐从点形成了面,上图就显示了在2001年之后主要的 
软件力量来自平台的整合和竞争、以及全方位的软件技术。其实,作为软件人员,我 
们也可以从自己的信息生涯中咀嚼出这个趋势,问题只是在于有没有花时间进行自我 
思考。   
数年前的软件人员可能只需要了解程序语言即可,例如只需要会C/C++就可以找到工 
作。那时数据库也几乎属于专门的技术领域,当时的DBA只要会管理数据库就行,因 
为还有许多专门写SQL的程序员。但随着时间的推移,软件人员开始需要同时会程序 
语言、SQL以及管理数据库。接着又需要了解组件技术、Web技术、终至面向对象和 
Modeling等技术。为什么对软件人员的要求会愈来愈高?这是因为整个软件的发展 
趋势正在走向信息技术整合的道路。   
未来的软件趋势是走向软件和系统整合,这代表着软件人员必须知道得更多,掌握更 
多的技术才能够顺利迎接未来的挑战。唯有掌握每一个独立的软件技术,软件人员才 
可能有能力拥有系统整合的能力。从许多的观察、分析和统计中,我们可以抽离出下 
面这些最重要的软件技术或是软件特质。这些技术需求和软件特质是未来成功的软件 
人员都必须具备的,唯此才能够持续地在竞争愈来愈激烈的软件业中保持高度的竞争 
力。   
■  了解多种程序语言 
■  熟悉更多的系统架构 
■  面向对象和UML模型技巧成为软件人员的基本要求 
■  快速学习和开发的能力 
■  精致化的开发能力   
对于上述的技术和特质,许多读者会认为这本来就是正常的事项,为什么还需要在这 
里再次提出?这是因为其中许多的事项由于时空因素的关系,不是有了新的意义,就 
是有了更大的压力。在本章和第13章中我会分别做详细的说明。   
软件人员在发展本身技能并且了解信息技术发展的趋势之时,当然也需要了解目前各 
种软件平台和软件领域发展的状况,以便规划本身的发展方向。目前,如果我们以平 
台作为分类的标准,便可以概略分成UNIX/Mainframe、Windows、Java以及四大 
平台。由于未来趋势的演进,在这些不同平台中的软件人员也会有不同的境遇和发展。 
不过总体来说,UNIX/Mainframe和Windows平台的前景都属于逐渐下滑的趋势,其原 
因就在于这些平台已经处于成熟、饱和或是即将由新的平台所取代。   
如果仔细观察Java平台,可以发现它已经开始进入爆炸成长期。事实确实如此。Java 
在历经了数年的奋斗之后,的确开始在全世界开花结果。Java除了在美国和欧洲快速 
占据市场之外,在亚洲也开始快速崛起。例如Java在台湾的表现一年比一年好,不但 
使用Java的人数增长了许多,Java的开发工具(例如JBuilder)也一年比一年卖得好。 
JBuilder已经隐然有和Delphi/C++Builder分庭抗礼的趋势。也由于Java的势力日盛, 
因此Java软件人员的身价也水涨船高。   
更有趣的是的发展。虽然在2002年才正式推出,但是许多的分析和预测都显 
示了的发展将不会像Java一样需要花上6/7年才达到一定的高度,的脚步将 
快上许多。从上图中我们也可以看到平台的趋势已经处于温和上升的状态。根据 
Microsoft最新公布的信息,到目前为止,全世界已经有4千万台的PC安装了的虚 
拟执行环境。估计在2003年,Microsoft推出下一代的操作系统Microsoft  Server 
之后,将有为数更多的PC安装虚拟执行环境。当然这也代表了的时代可能会 
比我们想像中更早到来,这同样预示着软件人员的需求会开始浮现。   
根据Gartner Group的调查显示,以后的信息势力会由Java/平分市场,最有可能 
的结果是Java将会称霸中/后端以及UNIX/Linux/Mainframe市场,而则可能控制 
客户端、Microsoft的行动消费端,并且逐渐朝向中间件攻城略地。未来更有可能通 
过Intel/AMD高阶CPU的计算能力以及Microsoft的 Server而在原本由UNIX控制的 
低/中/高阶工作站市场取得一定的优势。   
下面的分析图更是显示了四大平台之间势力消长的情形。将很快取代Microsoft 
原本的DNA架构而成为Windows平台下的企业系统核心技术和架构。我认为这个现象是 
合理的,但是更有趣的问题是何时将穿透Mainframe和Java平台呢?   
看完了平台之间的竞争后,再让我们看看2002年应用程序开发种类的趋势。     
应用系统分布趋势   
每一位读者实际开发的应用系统种类可能都有不同。有的读者可能是开发MIS应用系 
统的,有的可能在开发Web解决方案,也有读者是在开发分布式应用系统或是低阶的 
系统软件、嵌入(Embedded)式软件,或者驱动程序系统。不管读者主攻哪一种信息系 
统,了解整个信息产业的开发分布状况都会是很有帮助的,因为这些信息有助于信息 
人员准备和规划自己的职业生涯,了解整个信息产业的走势。   
下图显示了2002年信息人员开发的应用系统种类统计结果。从图中可以看出,主从架 
构仍然是第1名,如果结合数据库的开发,一共拥有24。8%的占有率。同时我们也可 
以看到,Web的开发几乎已经超过主从架构,估计到了2003年,Web开发将超越主从架 
构,成为最流行的应用系统开发种类。   
在Java和企业平台愈来愈有影响力之际,未来最重要的系统种类是什么?其实答 
案已经相当明显了,那绝对不会是低阶的系统种类,而是多层架构、Web/Web Service 
系统、组件系统等应用。各位读者可看到了未来所需求的人才?     
组件架构使用趋势   
Java的EJB和Microsoft的+都想在企业市场竞逐,成为企业对象应用系统的核心组 
件架构。但是EJB和+却选择了两个不同的发展方向。对于EJB,SUN只是定义出其 
标准功能规格,再由各个EJB厂商根据标准EJB规范来开发EJB服务器。而+却是由 
Microsoft定义标准规范并且自己实现。正由于EJB和+采取不同的策略,因此EJB 
获得了较多厂商的支持,推出了许多不同的EJB服务器,但是+却凭借着内建于 
Microsoft的操作系统而拥有较多的使用者。   
目前EJB的功能规格已经发展到2。x版本,Microsoft也准备推出+1。5版。SUN和 
Microsoft推广了许多年的EJB和+,到底这两个组件架构在业界被使用的状况如何? 
两者是不是雷声大雨点小呢?   
根据去年调查的结果显示,EJB的确已经开始在企业生根,已经有19。3%的企业在使 
用EJB技术;另外有15。3%的企业准备开始使用EJB。这个趋势和Gartner Group对于 
EJB的预测非常符合,估计到了2004年,有40%左右的企业会使用EJB。从这个现象来 
看,EJB实在可以说是已经成功了,其实用性也获得了证明。台湾EJB的实用性正日渐 
普及,许多的大型企业、ISV都已经开始使用EJB作为关键企业应用系统的核心技术, 
EJB的人才需要也日渐升高。   
由于+是内建在Microsoft的Windows的操作系统中,理所当然地其使用率应该是不 
低。只是+的前身/MTS等由于其延展性受人质疑,因此使用/MTS作为企业核 
心技术的并不多,大多数是使用作为客户端的可重复使用软件组件。但是+推 
出之后,由于其执行效率和延展性都大幅精进,再加上Microsoft在TPCC上显示的惊 
人效率也都是使用+组件,因此+逐渐打入企业市场,成为Windows平台核心的 
组件架构,被许多企业的应用系统所采用。   
根据2002年调查结果显示,+使用率已经超过了34。5%,同时还有13。9%的企业有 
兴趣采用。Microsoft在努力推广技术数年之后终于有了一定的成果。不过Microsoft 
现在面临的挑战是对于+的影响,由于Microsoft的平台正从原生窗口转换到 
的阶段,许多人也开始困惑起来,中的组件架构仍然是+?还是有其他的 
组件架构来代替?如果仍然要使用+作为组件架构,那么纯的开发工具又 
无法开发原生的+组件,如此一来在中+不就又不是First Class的组件架 
构了吗?如果纯粹使用的组件,那么纯组件的延展性尚未经过实际的验证, 
也不提供Two…Phase mit和分布式mit的能力,又如何能用来作为企业应用系统 
的核心组件呢?看来Microsoft在这方面还有很长的一段路要走。   
CORBA呢?在EJB/+的强攻之下,CORBA似乎失去了原有的光彩,但是不可否认的是, 
CORBA仍然是架构/服务最完整、经过最长时间验证的组件模型。根据2002年的调查结 
果显示,CORBA仍然有相当数量的使用率,而且未来也仍然保有稳定的使用率,可见 
CORBA仍然受到相当的欢迎。   
随着Microsoft 的出现和成长,CORBA似乎反而可以在平台有更大的潜力, 
相关的讨论请参考下一章〃EJB对抗CORBA?有趣的假设〃。   
信息技术到了现在的阶段可以说是〃平台逐渐整合,但是程序语言则呈现百家争鸣的 
情形〃。再加上UML等Modeling的技术和软件愈来愈贴近软件人员,数据库和SQL技术 
更已经成为软件人员最基本的技能,因此软件人员本身也自然朝向身通18般武艺的阶 
段。只是好的软件人员耍起来虎虎生风,而一般的软件人员在愈学愈多的情形下则一 
无精通,到最后反而是害了自己。   
回到前面的问题,目前的信息技术的确是朝着多元化的方向发展。太多的技术、产品、 
架构、程序语言、数据库、客户端种类等技术,造成了许多软件人员的困惑和焦虑, 
这是很自然的现象。但是另一方面,平台在收敛,系统开发正走向整合阶段,对软件 
人员的要求也走向整合。因此,除了焦虑之外,软件人员在了解了软件趋势之后,更 
应该提出疑问:   
                            你准备好了吗?     
快速的开发周期   
上大学时,要学习系统分析和设计(System Analysis and Design)课程,正好看到一 
个统计,说程序员一天只写一行有效的程序代码,当时我简直乐坏了。心想一定要进 
入信息行业,又有高薪又有地位,更重要的是工作如此轻松,一天写一行代码,闭着 
眼睛都可以做到。没有想到,在真正进入了信息行业之后,情形却大为不同。不但工 
作繁重,每日更需撰写成百上千行的程序代码,这哪里是一天写一行的日子?不禁心 
生感叹,自己似乎入错了行。   
所有的读者都可以感觉到,现在系统开发的时程要求得愈来愈快。我记得5/6年前, 
系统和项目开发的速度还是1年到1年半左右,到了3/4年前已经缩短成10个月左右, 
在Internet/Intranet快速兴起之后,许多系统和项目甚至缩短到了3个月就要推出的 
迫人时限。信息机构的调查显示,系统和项目的开发时程将持续地缩短,到了2012年 
居然只有一天的时程,这种超高标准的要求可能会吓坏许多的软件人员。不管这份调 
查的数据是否100%正确,但是从这份信息调查趋势以及我本身的经验来看,愈来愈 
短的开发时程却是不争的事实。   
面对愈来愈短的开发时程,软件人员应该如何适应?这是许多人面临的困扰。其实许 
多的程序语言、开发工具、软件工程都强调帮助软件人员提高生产力,以适应快速开 
发的要求,只是随着时程的要求愈来愈高,许多传统的程序语言和开发工具都已经呈 
现力不从心的现象。既然如此,那解决问题的方案是什么呢?   
数年前,业界对于软件开发的速度要求愈来愈快,这造成了软件品质的下降。许多软 
件在完善率尚未达到一定的水准下便仓促推出,造成了更多的问题,因此软件业曾经 
被许多人讥笑为〃不可靠行业〃。为了改善这个现象,许多软件工程技术相继出现,以 
求提高软件品质。其中最为突出的是以面向对象的各种软件工程,强调软件IC、可重 
复使用的软件组件为特质,以加快软件开发的速度并且提高软件品质。面向对象的大 
旗造就了3位面向对象大师,也让UML等模型工程独领风骚,进而让Rational公司成为 
近年来最重要的软件公司之一。不过几年下来,UML对于软件开发的贡献一直受到争 
议,许多软件人员对于UML过于复杂的流程和过多的UML图形产生怀疑,因此前一阵子 
又兴起了Extreme Programming的热潮,强调轻便、动态、快速开发的特性。其实这 
个现象正反映了软件业界对于开发〃速度〃的要求已经超越了过份强调软件工程流程的 
重要性。现在的信息业界需要的是〃灵活的〃开发速度。   
右边的图片明确显示了从2002年下半年起,许多企业和软件公司对于软件开发特性的 
要求,其中列为最重要的特质就是〃灵活性〃,接着仍然是强调速度的Extreme  
Programming的特质。其实,这些对于软件开发的要求也正回应了上一张图形显示的 
对于开发速度的要求。   
我认为UML/RUP和Extreme Programming/Agile Development之间并没有冲突,反而是 
相辅相成的。对于大型、复杂的系统开发,UML/RUP仍然是目前为止最好的方法之一, 
只是需要适当的修正,不要过份强调所有的形式流程。而Extreme Programming/Agile  
Development则特别适合中/小型系统,需要快速反应时间的开发要求。   
既然快速开发已经成为现在最重要的软件开发要素之一,那传统软件人员应该如何适 
应呢?其实这个原理也不难了解,答案就隐含在上图中Developer…Centric包含的意 
义。想想看,现在的许多企业是如何增加效率的呢?答案之一就是组织扁平化,尽量 
减少不必要的重复浪费。软件开发也是一样,软件工具应该尽量以开发人员为中心, 
让开发人员使用较少的循环能够完成更多的开发阶段,并且提供更可靠的软件。例如, 
新一代的开发工具允许开发人员在一个开发环境中,同分析/设计人员以UML的模型来 
沟通,并且能够在一个开发环
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!