2006年转眼就要过去了,又到了满网尽待“N大“时。已经约定俗成,每每到这时,铺天盖地的N大回顾与展望就会跃上各大网站的头条。热热闹闹的IT技术圈,这个时候总是会被彻头彻尾的品头论足一番。我先把正在思考的N大软件技术记录下来吧,希望可以找到答案。(逐渐更新)
1 网络时代数据库如何存数据?
数据库已经不再是存取大规模简单结构数据的时代,对于绝大多数企业来讲已经是必不可少的IT基础构建。在网络时代,企业对于文档、邮件、视频等非结构化数据的传输、存取的需求越来越迫切。传统的关系数据库是通过2维表来存取数据,但当需要用多层表嵌套的方式来描述问题的时候,无论是处理表的关联还是数据查询都带来了很大的不便。所以目前的主流数据库厂商都纷纷提出自己的数据存取解决方案,当然这些技术本身并不是今天来刚刚提出,只不过来自用户需求的迫切,真正唤醒了它们。比如,目前在企业内,异构平台不同应用数据的转换传输通常会以XML格式为标准,而XML的数据结构灵活,转换为关系型去存储查询性能很差。所以,Oracle,DB2等等都增加了对原生XML数据库特性的支持,并使用XML qurey语言对数据进行直接查询,无需进行关系表-XML之间的转换。又比如为了适应如今面向对象设计的封装和可扩展性思想的对象数据库系统。直接对OO模型定义的对象提供一个持久的、可共享的对象库的存储和管理。以及多维数据库,从而很容易地实现处理复杂数据模型、大数据量、高并发性访问。传统关系型数据库已经稍显乏力,在此之上的“后关系型“数据库时代已经来到。
2 是动态语言还是语言动态特性?
开发语言的变迁始终是软件领域最受关注的话题。而随着ruby所带表的动态语言的成功,一时间有不动态就不行的架势。其实不难发现,ruby的成功其关键在于它有RoR一套优秀的框架。使它可以更加灵活的响应企业开发中快速多变的业务需求。而动态语言也就被扣上了可以提升开发效率的帽子。而编程的效率来自许多指标,和最终应用的性能其实也并不是一个概念。如今java平台,还是.net平台也都声称要支持ruby,而实际的意思是,它们是要吸纳RoR框架的优势。我们也可以从c#3.0,linq中看到一些动态的特性。所以微软也好,SUN也好,它们是否会真心支持ruby还很难说。动态语言本身的发展是否会像python一样不温不火,还是会不断被新的动态语言取代?又或者JAVA,.NET平台中加入更多动态特性,而最终吞噬了动态语言?
3 客户端会需要多核计算吗?
随着,Intel 四核处理器的轰轰烈烈的发布,再次将人们的视线聚焦在了多核计算。不可否认,多核的出现是处理器发展的必然。由于受到工艺水平的限制,单纯提升主频来增加处理器的计算性能,并不是最明智的选择。对于需要高性能计算的服务器来讲,多核计算带给他们的是更高的计算性能和更低的成本。但服务器端的多CPU,多内核并行计算已经不是什么新鲜的事情,因此突然间多核受到如此的关注,我想是因为,Intel把多核带到了普通用户和企业面前。不过,如今已经是网络时代,更多的计算任务将交由网络服务器来承担,客户端将更多扮演展现层计算的角色,到底需要多大的计算能力,真的需要4核、8核。。。。。。CPU?相信不会有哪个用户会不断的升级利用不上的计算能力。客户端会需要多核计算吗?
4 微软将彻底被排挤出企业服务器端市场?
Oracle推出linux计划,紧接着微软Windows突然和Novell Suse linux合作,震动了整个IT产业。给人们最直观的感觉就是微软windows和linux之争热闹了。然而在这些事件的背后,却有另外一个信号,微软很有能因此彻底被挤出服务器端应用市场。为什么这么说?虽然linux和windows 口水战不断,但是从技术角度讲各有长短,linux对于微软Windows Server并不是致命的威胁。但真正让微软感到害怕的是像oracle这样的厂商,将企业解决方案购建在linux之上。这样企业在选择Oracle产品的时候自然也就会选择linux系统平台,而微软产品跨平台特性一直不好,因此Oracle,Ibm的这些举动很可能最终将微软赶出服务器端应用市场。所以,微软会赶忙和Novell合作并大力发展虚拟技术,希望可以阻止Oracle对linux市场控制。微软接下来会做什么?收购Novell,推自己的linux又或者开放Windows?当然像SAP与微软目前的合作对微软也是一个机会。
5 RIA技术会是怎么一番景象?
RIA 的提出其实已经是几年前的事情了。在C/S-->B/S之风兴起的时候,就已经有人提出,B/S过于单调的用户体验以及与服务器端交互性能的问题,其实无法满足用户的需求。一种综合C/S丰富用户体验以及免去安装部署维护等问题的富客户端应用,必然是网络时代应用的一个