>>zhuny
别生气么,大家都是兄弟。^^
我的icq是13548279,有空联系吗!
我转载一篇文章:首先谢谢作者
JAVA真的输了吗?
最近升阳公司(SUN MICROSYSTEM)与微软公司(MICROSOFT)的官司已经尘埃落地。
其结局是微软赔偿SUN公司两千万美金,但不再支持JAVA技术,这意味着JAVA将不能直接
在其后推出的IE6或者视窗系统中使用。
介于微软在电脑CLIENT市场的垄断地位,该结局很可能使JAVA技术在今后相当长的一
段时间内,不能在CLIENT端流行,因此,有人断定,JAVA将风光不再。JAVA程序员的恶梦
已经开始。
升阳与微软之争,从技术上看,是THIN CLIENT与FAT CLIENT之争,从市场角度看,是
工业电脑界与商业电脑界不同的经营策略之争。
THIN CLIENT VS FAT CLIENT
为什么微软能赚大钱?因为它的个人操作系统在不断更新。在WINDOWS下开发软件的公
司为了使自已的产品能在新的WINDOWS下使用,不得不去购买新操作系统的LICENSE。亦迫
使普通用户不停地升级自己的操作系统和应用软件以跟上潮流。 越来越庞大的操作系统及
其应用软件就是FAT CLIENT的实质。微软是它最大的受益者。而倡导THIN CLIENT技术的
JAVA必然成为微软命中注定的死对头。
微软先是想不动声色地将JAVA扼杀于萌芽状态,(以合作之名,发展与JAVA类似但只
能在WINDOWS下运行,不俱备跨平台性的J++,企图以此将JAVA挤出市场。过去在个人电
脑时代,微软这一招屡试屡灵。)但没有成功,才有现在的官司结局——与JAVA公开决裂
,微软的这一变招,实际上是它在战略上被动的表现。
升阳公司放弃JAVA技术在CLIENT端的发展,并非被迫而是有意如此。其中最关键的原因
是JAVA技术发展的主要方向是THIN CLIENT。它最大的兴趣是在CLIENT后面的网络,即BACK
END,而不是CLIENT本身。
INTERNET热开始之时,许多电脑专家在预测将来电脑发展的趋势时,都认为个人电脑将
逐渐不再被单独使用,而是与INTERNET整合在一起使用,其中大部份数据的存放与处理,
将由INTERNET承担,而个人电脑将仅用于与用户交流。这好比整个网络变成一台庞大的计
算机,它负责处理各种信息,而每一台与之相连的PC好象是一台终端,负责输入输出信息。
(这与靠个人操作系统起家的微软公司的根本利益大相违背。) 但对于用户来说,THIN
CLIENT的好处有三:
一、是普通用户不用再发愁安装、CONFIG各种软件,因为它们大都安装在网络上,只需
透过自已的PC通过网络去使用它们即可。
二、用户也不用发愁软件升级,比如,阁下使用软件观看网络电影,随着时间的推沿,
您会发现操作越来越方便,图象、声音的质量越来越高,但这一切升级过程都无需您操心
。因为升级都是在网络上,对用户来说,是自动的,透明的(目前JAVA的技术在某些方面
已经能实现这点)。
三、由于个人电脑只是一个THIN CLIENT,故无需进行大量的数据处理工作,其性能要求
将不会太高,价钱也会变得非常低廉,用户亦用不着年年去更新升级硬件,因为硬件的升
级也主要发生在网络上。
用户的需求将最终决定市场的走向,而THIN CLIENT技术对于广大普通用户的好处是无
与伦比的。所以我个人深信它将是电脑界及INTERNET发展的必然趋势。
工业电脑界VS商业电脑界
在电脑界,实际上存在着两种经营策略,两种技术标准。一是以微软为代表的商用型,
一是以IBM、SUN为代表的工业型。微软软件的基础就是它的视窗操作系统,视窗设求追求
易学、易用、美观、时髦,这也决定微软其它产品的风格必然如此。但工业界常用的UNIX
操作系统设计追求的是稳定、可靠、安全、耐用,IBM与SUN都有各自的UNIX操作系统,这
样亦决定该公司其它产品的风格与之类似。有长必有短,技术的优势是以代价换来的。为了
满足和保持一方面的优势,就会失去另一方面的优势。虽然微软的视窗在个人电脑界无人
可比,但从工业电脑的标准来看,却是毛病甚多。
首先,安全成问题,DOS,及WINDOWS,以及后来OUTLOOK电邮系统,都是最容易受病毒攻
击的目标,相比之下,UNIX及其相应软件上的病毒就要少得多。因为微软从最早的DOS设计
开始,就没有考虑安全性的问题。在推出WINNT之后,才开始考虑,由于其基本结构设计并
没有考虑安全性,所以只能在最高层增加一些补丁式的程序。而UNIX在一开始设计时,就
已经将安全性问题纳入考虑之中。 对此,一位SUN公司的专家评论道:一个在结构上没有
考虑安全性的系统,无论再在上面加多少补丁,它依然是不安全的。
其次,稳定性不高,视窗内的BUGS有多少,各位有目共睹。
再其次,不耐用,视窗可以几年就要升级一次,但您能想象民航订票系统,证券交易系
统象这样吗?
所以,以工业电脑界的要求来看微软的大多数产品都是不合格,但是微软的产品优点,
是界面精致,使用方便,深受普通消费者的欢迎。而工业电脑的大多数产品,大都需要电
脑的专业人士才能使用。这样在推广上就不及微软。
以往,商业电脑界与工业电脑界各有各的市场,井水不犯河水。现在都同时把目光投向
了INTERNET。谁都想当老大,故一场决战在所难免。当老大的关键,在于能否将自家的技
术成为整个INTERNET技术的通行标准。为什么JAVA是免费的,因为SUN希望它能在INTERNET
上流行,成为INTERNET SOLUTIONS的一般标准。
微软推出了与JAVA神似的C提供与它相配的微软自己的操作平台 .NET,微软这一作法是
希望为整个INTERNET程序设计,从前端到后台提供一套完整的环境及解决方案,而且由于
C与JAVA的近似,微软希望能吸引一大批JAVA程序员转向。换句话说,如果微软这一策略成
功的话,在INTERNET上也就没有JAVA的什么事了。
但我个人看来,这两家的策略都不可能完全成功,因为INTERNET太大了,它需要不同层
次的技术为它服务。微软的C与 .NET不是跨平台的,因此没法与INTERNET上的其它系统很
好地相容,而且微软的这一配套系统不可能在各方面满足电脑工业应用的需要,所以它不
太可能成为INTERNET上唯一的、最好的选择。
市场的需求将最终取决技术的生存。我个人估计,微软的技术将以它的易学易用和速度
上的优势,最终占据中小型网站及消费、娱乐网站。而大型企业及大型网站将会继续采用
JAVA技术。
JAVA真的输了吗?
JAVA也许不能直接在IE6上使用了,这对JAVA技术来说,损失究竟有多大呢?目前JAVA技
术用于CLIENT端的只有两个,一是APPLET,二是JSP。APPLET有可能不能再在IE6上使用
(因为它需要IE6内嵌入JVM),但是APPLET早已属于JAVA中过时的技术,位于淘汰之列。
现在最常用的是JSP,JSP输出的是标准HTML文件,IE6不可能不用HTML,所以JSP依然能用于
CLIENT端。今后,XML有可能取代HTML成为INTERNET数据表述的标准,输出输入XML对于
JAVA来说,是一件轻而易举的事情。(目前,大多数XML解析器都是用JAVA语言写。)
JAVA技术的优势是在于通用性,即跨平台性,它的优点在于不同平台之间交流与整合,
缺点在于速度较慢,因为它的通用性是以牺牲速度换来的。因此JAVA的目光是在每一个
CLIENT端后面的整个网络,而非在一个一个具体的CLIENT上运行。
JAVA放弃在CLIENT端与微软竞争,是扬长避短之策。它今后的主要精力不是如何在
INTERNET上显示数据,而是如何传输、处理数据。
我再谈一谈EJB吧:
EJB已经实现了实体对象,EJB中Entity Bean的对象实际上是对数据对象的一种完美的抽象,
在这里我们几乎看不到数据库管理系统的作用。
EJB本身有几个显著的问题:
运行效率非常低。JAVA的速度慢是个老问题了,EJB的速度慢不光是因为大量代码用JAVA
实现,而且由于它的结构,要根据数据表中的某一个属性查出一行数据,必须首先用SQL查
询查找到这一行的主键(Primary Key),然后通过主键来找到这个Bean,如果这个Bean不
在内存中--但是这种情况经常发生,而实际上是执行了两次SQL查询才找到一行数据。
容器本身要管理事务,以防数据的污读、污写、死锁等等一系列问题。本来DBMS管理这类问
题已经有很多年经验了,已经相当完美的解决了这些问题,可是EJB不得不通过一个
Transcation Server来管理这些问题。这使得容器的代码变得极其复杂,另外编程人员
也不得不重新熟悉这些接口。
由于bean 中的数据是否存储在数据库里是由容器管理的,那么其他程序访问数据库会带
来数据同步的问题。因此,在EJB架构中,外部程序不能直接访问数据库,只能通过EJB访问。
[
]
我们都是朋友吗!^^