⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 -

📁 borand传奇,有关borand公司的书籍
💻
📖 第 1 页 / 共 2 页
字号:

第十章  令人焦虑的时代

"通向未来之路在哪里?"

时间进入2000年之后,许多事情变得似乎都不确定了,世界经济的走向和信息技术的
趋势变得更令人困惑。在经过了Internet/Intranet、Linux和Open Source的洗礼之
后,目前信息技术的发展似乎已经趋向多元化的状态。虽然许多的信息系统仍然在使
用我们早已熟悉的技术(例如Web和主从架构),但各种新的信息技术也在层出不穷地
出现(例如SOAP和Web Service),再加上.NET和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以及.NET四大
平台。由于未来趋势的演进,在这些不同平台中的软件人员也会有不同的境遇和发展。
不过总体来说,UNIX/Mainframe和Windows平台的前景都属于逐渐下滑的趋势,其原
因就在于这些平台已经处于成熟、饱和或是即将由新的平台所取代。

如果仔细观察Java平台,可以发现它已经开始进入爆炸成长期。事实确实如此。Java
在历经了数年的奋斗之后,的确开始在全世界开花结果。Java除了在美国和欧洲快速
占据市场之外,在亚洲也开始快速崛起。例如Java在台湾的表现一年比一年好,不但
使用Java的人数增长了许多,Java的开发工具(例如JBuilder)也一年比一年卖得好。
JBuilder已经隐然有和Delphi/C++Builder分庭抗礼的趋势。也由于Java的势力日盛,
因此Java软件人员的身价也水涨船高。

更有趣的是.NET的发展。虽然.NET在2002年才正式推出,但是许多的分析和预测都显
示了.NET的发展将不会像Java一样需要花上6/7年才达到一定的高度,.NET的脚步将
快上许多。从上图中我们也可以看到.NET平台的趋势已经处于温和上升的状态。根据
Microsoft最新公布的信息,到目前为止,全世界已经有4千万台的PC安装了.NET的虚
拟执行环境。估计在2003年,Microsoft推出下一代的操作系统Microsoft .NET Server
之后,将有为数更多的PC安装.NET虚拟执行环境。当然这也代表了.NET的时代可能会
比我们想像中更早到来,这同样预示着.NET软件人员的需求会开始浮现。

根据Gartner Group的调查显示,以后的信息势力会由Java/.NET平分市场,最有可能
的结果是Java将会称霸中/后端以及UNIX/Linux/Mainframe市场,而.NET则可能控制
客户端、Microsoft的行动消费端,并且逐渐朝向中间件攻城略地。未来更有可能通
过Intel/AMD高阶CPU的计算能力以及Microsoft的.NET Server而在原本由UNIX控制的
低/中/高阶工作站市场取得一定的优势。

下面的分析图更是显示了四大平台之间势力消长的情形。.NET将很快取代Microsoft
原本的DNA架构而成为Windows平台下的企业系统核心技术和架构。我认为这个现象是
合理的,但是更有趣的问题是.NET何时将穿透Mainframe和Java平台呢?

看完了平台之间的竞争后,再让我们看看2002年应用程序开发种类的趋势。


应用系统分布趋势

每一位读者实际开发的应用系统种类可能都有不同。有的读者可能是开发MIS应用系
统的,有的可能在开发Web解决方案,也有读者是在开发分布式应用系统或是低阶的
系统软件、嵌入(Embedded)式软件,或者驱动程序系统。不管读者主攻哪一种信息系
统,了解整个信息产业的开发分布状况都会是很有帮助的,因为这些信息有助于信息
人员准备和规划自己的职业生涯,了解整个信息产业的走势。

下图显示了2002年信息人员开发的应用系统种类统计结果。从图中可以看出,主从架
构仍然是第1名,如果结合数据库的开发,一共拥有24.8%的占有率。同时我们也可
以看到,Web的开发几乎已经超过主从架构,估计到了2003年,Web开发将超越主从架
构,成为最流行的应用系统开发种类。

在Java和.NET企业平台愈来愈有影响力之际,未来最重要的系统种类是什么?其实答
案已经相当明显了,那绝对不会是低阶的系统种类,而是多层架构、Web/Web Service
系统、组件系统等应用。各位读者可看到了未来所需求的人才?


组件架构使用趋势

Java的EJB和Microsoft的COM+都想在企业市场竞逐,成为企业对象应用系统的核心组
件架构。但是EJB和COM+却选择了两个不同的发展方向。对于EJB,SUN只是定义出其
标准功能规格,再由各个EJB厂商根据标准EJB规范来开发EJB服务器。而COM+却是由
Microsoft定义标准规范并且自己实现。正由于EJB和COM+采取不同的策略,因此EJB
获得了较多厂商的支持,推出了许多不同的EJB服务器,但是COM+却凭借着内建于
Microsoft的操作系统而拥有较多的使用者。

目前EJB的功能规格已经发展到2.x版本,Microsoft也准备推出COM+1.5版。SUN和
Microsoft推广了许多年的EJB和COM+,到底这两个组件架构在业界被使用的状况如何?
两者是不是雷声大雨点小呢?

根据去年调查的结果显示,EJB的确已经开始在企业生根,已经有19.3%的企业在使
用EJB技术;另外有15.3%的企业准备开始使用EJB。这个趋势和Gartner Group对于
EJB的预测非常符合,估计到了2004年,有40%左右的企业会使用EJB。从这个现象来
看,EJB实在可以说是已经成功了,其实用性也获得了证明。台湾EJB的实用性正日渐
普及,许多的大型企业、ISV都已经开始使用EJB作为关键企业应用系统的核心技术,
EJB的人才需要也日渐升高。

由于COM+是内建在Microsoft的Windows的操作系统中,理所当然地其使用率应该是不
低。只是COM+的前身COM/MTS等由于其延展性受人质疑,因此使用COM/MTS作为企业核
心技术的并不多,大多数是使用COM作为客户端的可重复使用软件组件。但是COM+推
出之后,由于其执行效率和延展性都大幅精进,再加上Microsoft在TPCC上显示的惊
人效率也都是使用COM+组件,因此COM+逐渐打入企业市场,成为Windows平台核心的
组件架构,被许多企业的应用系统所采用。

根据2002年调查结果显示,COM+使用率已经超过了34.5%,同时还有13.9%的企业有
兴趣采用。Microsoft在努力推广COM技术数年之后终于有了一定的成果。不过Microsoft
现在面临的挑战是.NET对于COM+的影响,由于Microsoft的平台正从原生窗口转换到
.NET的阶段,许多人也开始困惑起来,.NET中的组件架构仍然是COM+?还是有其他的
组件架构来代替?如果.NET仍然要使用COM+作为组件架构,那么纯.NET的开发工具又
无法开发原生的COM+组件,如此一来在.NET中COM+不就又不是First Class的组件架
构了吗?如果纯粹使用.NET的组件,那么纯.NET组件的延展性尚未经过实际的验证,
也不提供Two-Phase Commit和分布式Commit的能力,又如何能用来作为企业应用系统
的核心组件呢?看来Microsoft在这方面还有很长的一段路要走。

CORBA呢?在EJB/COM+的强攻之下,CORBA似乎失去了原有的光彩,但是不可否认的是,
CORBA仍然是架构/服务最完整、经过最长时间验证的组件模型。根据2002年的调查结
果显示,CORBA仍然有相当数量的使用率,而且未来也仍然保有稳定的使用率,可见
CORBA仍然受到相当的欢迎。

随着Microsoft .NET的出现和成长,CORBA似乎反而可以在.NET平台有更大的潜力,
相关的讨论请参考下一章"EJB对抗CORBA?有趣的假设"。

信息技术到了现在的阶段可以说是"平台逐渐整合,但是程序语言则呈现百家争鸣的
情形"。再加上UML等Modeling的技术和软件愈来愈贴近软件人员,数据库和SQL技术
更已经成为软件人员最基本的技能,因此软件人员本身也自然朝向身通18般武艺的阶
段。只是好的软件人员耍起来虎虎生风,而一般的软件人员在愈学愈多的情形下则一
无精通,到最后反而是害了自己。

回到前面的问题,目前的信息技术的确是朝着多元化的方向发展。太多的技术、产品、
架构、程序语言、数据库、客户端种类等技术,造成了许多软件人员的困惑和焦虑,
这是很自然的现象。但是另一方面,平台在收敛,系统开发正走向整合阶段,对软件
人员的要求也走向整合。因此,除了焦虑之外,软件人员在了解了软件趋势之后,更
应该提出疑问:

                            你准备好了吗?


快速的开发周期

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -