主题:关于,net 与JAVA未来发展大家怎么看?
鲁克
[专家分:50] 发布于 2005-11-16 22:52:00
关于,net 与JAVA未来发展大家怎么看?
哪个更有前途?
回复列表 (共6个回复)
沙发
aierduo [专家分:0] 发布于 2005-11-24 19:44:00
虽然我现在是在学.NET但是我觉得JAVA更有前途,至少现在好多公司都是在招JAVA程序员而不是.NET程序员
-------------------------------------
好郁闷啊!!!
板凳
宝宝啊呜 [专家分:990] 发布于 2005-11-25 13:40:00
反了吧,我怎么看到的都是招.NET的公司??几乎没有看到要JAVA的……
3 楼
ji1979 [专家分:140] 发布于 2005-12-06 14:17:00
都一样,只要学好,什么都是一样的
4 楼
lyamlf123 [专家分:940] 发布于 2005-12-07 13:50:00
对于走进网路经济世代的企业来说,如何善用新的网路服务来提升企业竞争力,无疑的是未来企业生存争战中非常重要关键。而企业也都了解,要在网路经济世代中占有领先地位,他们对于资讯科技的仰赖就会更甚于现在。但这也是最令他们头疼及困扰之处,因为每家厂商都会标榜自己的解决方案是最能够满足企业未来发展需求的产品,那如何选择的问题就像高飞球一样又被丢回给了企业。以下我们将会用一些简单的分析来让企业了解,在目前被视为是网路世代中最重要的二个竞争对手--Microsoft与Sun,他们各自为了因应网际网路应用及网路服务未来发展趋势所推出的产品及技术--.NET与Java,对企业来说,该如何从中选择,才能够真正能够让企业在未来成功的抢站市场。
若是单单以.NET与Java来作比较是一较不理想的做法,因为它们并不是同等级的产品,在它们之下各自有不同的功能属性。因此,我们将依据不同的功能属性以相对应的产品来作分析,才能让企业更加清楚的了解其各自的竞争态势与优缺点。
5 楼
lyamlf123 [专家分:940] 发布于 2005-12-07 13:52:00
Microsoft、Sun相关产品对应表
Microsoft Sun 描述
C# Java 程式语言
CLI Java bytecode 中介程式码
CLR Java runtime 语言平台及编译
COM+ EJB 企业及Web应用软体平台
.NET ONE/Sun ONE Web服务平台
Hailstrom Sun ONE WebTop 终端使用者Web服务及入口网站
相对于Microsoft所说的.NET技术会在未来18-24个月内推出,Sun的Java、J2EE、ONE架构、Sun
6 楼
lyamlf123 [专家分:940] 发布于 2005-12-07 13:52:00
发展进度上的比较
J2EE是专门设计用来支援网际网路应用软体,而大部分的Web应用伺服软体也都是以J2EE为基础,像是iPlanet应用伺服软体、BEA WebLogic、IBM WebSphere、ATG Dynamo、Oracle 9i及SilverStream应用伺服软体。也就是说,J2EE是个独立、稳定、备经肯定的平台,也已经广泛被应用在网际网路应用软体的设计上。
Open Net Environment(ONE)架构是专门用来支援Web服务。它整合XML及Java技术,为Web服务规范了一个开放、无厂商色彩、先进的平台。也就是说,J2EE是Sun ONE架构的基础,而ONE则是提供组合建置Web服务的架构。ONE系以开放、通用标准与技术为基础,包括LDAP(Lightweight Directory Access Protocol)、XML(Extensible Markup Language)、SOAP(Simple Object Access Protocol)、XMLP(XML Protocol)、WSDL(Web Services Description Language)、UDDI(Universal Description, Discovery and Integration)及ebXML(Electronic Business XML)。
而.NET则是部分全新的架构,Microsoft用它来取代现有的COM+基础架构,但也有大部分的技术仍根植于COM+,而且.NET到目前也未完全定义完成,许多使用者都抱怨当他们要移植到.NET时,几乎所有主要的程式都必须重写。
相对于此,Sun则提供了许多免费及开放的原始码、工具及服务来支援Java及XML。而.NET并未提供任核心的服务来协助使用者整合现有系统中的web服务,因为与现有系统的整合,对资讯厂商或企业IT人员来说,一直都是件非常艰困的工作。
ONE和.NET这二个架构都仰赖XML文件,用来包装XML讯息,透过标准网际网路协定来传输,同样的,这二个架构也都支援SOAP、WSDL及UDDI。而ONE同时也支援ebXML,就像支援其他的XML讯息服务一样。但.NET却没有。ONE用J2EE来建构及管理Web服务内的商业逻辑,但.NET却提供一个全新的、未经过测试的应用软体架构(.NET Framework是用来取代COM+,但是并非完全取代)来建置及管理商业逻辑。在内建商业逻辑的应用软体上,无论J2EE或是.NET,都需仰赖非常绵密的通讯来确保执行效能与扩充性。这二个系统也都提供许多不同的协同作用、技术,让J2EE及.NET应用软体可以和企业现有的应用软体间作很好的存取沟通。
摆脱厂商专属限制
但这二个架构间的不同在于,.NET是个以产品取胜的架构,也就是说你必须将服务建构在Microsoft的产品上,而这些产品有些甚至到目前都还未见其踪影。但ONE却是个与产品无关的架构,也就是说,你是将服务建构在最能够满足你企业需求的产品上。
.NET会要求客户将服务建构在一个全新,以像是.NET Active Directory、MS Kerveros等专属产品为主的架构上,而甚至连.NET基础架构都必须再等18-24个月才能和客户见面。但ONE就有不同的诉求,ONE系以现有开放架构,像是J2EE、Sun ONE为建构基础,而这些ONE架构都是目前实际可用的产物,并且目前已经有许多的厂商提供稳定、安全及经过测试的产品来支援ONE架构。
以企业用户最为关心的安全议题来看,Windows 2000是个新的作业系统,它的安全性还未经过严格的检验,而.NET也未经过稳定性、扩充性及安全性的测试。但反观Solaris,它却是个经过Common Criteria EAL4验证,安全的平台。
对企业来说IT产品选择是最困难的,Sun建议企业应该根据每项计划的需求来选择他所需要的技术与产品。如果这个计划的目的是需望能够藉由开放的网际网路,尤其是这个计划需要跨企业领域进行复杂的整合,而你又不想被企业合作伙伴以科技技术来左右你,那你可以选择可以完全满足这些需求的解决方案,像是Web服务等。而如果你试图建置一个坚固、具有高度扩充性的应用系统,你可以考虑采用J2EE。如果这个计划是需要适应性强、能够自我修复的系统、能够在不同的领域内操作,那你可以考虑采用Jini。如果你试图建置机动性强的点对点系统,那你就可以考虑JXTA。所有这些功能都可以满足你计划的需求,在每一个个案中,你都可以妥善、完整的利用这些技术。
但反观Microsoft,它提供了一组看似相当可口的产品,但它的问题却出现在于B2B的整合上,因为并不是所有的应用软体都适合它的产品。而Sun不同的是我们提供了许多不同、但却互补的分散式运算架构,用来支援满足你所有计划的需求。
一致性保障用户投资
投资保障也是企业用户在建构其IT系统时一个重要的考量要素。.NET强调它能够为许多系统提供以Web为基础的"interoperability stack"作为整合之用,但我们怀疑这项诉求。因为到目前为止,都还为见到任合与.NET相关效能评比的数据或是客户的推荐,足以证实Microsoft的这项说法,那是因为他们甚至到现在整个的产品结构都还没有完全可用。但Sun却有许多的效能评比数据及客户的推荐,足以用来证明J2EE的扩充功能。而且ONE同样也可以支援.NET所宣称的"interoperability stack"(SOAP讯息),同时也支援其他的XML讯息(ebXML、e-speak及其他)及现有的整合设计(CORBA、Java Messaging Service、Java Connection Architecture及其他)。
Sun之所以能够保障客户的投资,那是因为我们所有的产品都是遵循产业标准来设计,而且我们对于分散式系统的研究历史,也比Microsoft来得长久,我们更创造了许多成功的实例。当Microsoft正努力将NetBIOS、NetBEUI、DCOM及DNA当作他们的协调作业堆叠时,Sun和许多厂商早已经将PRCs、CORBA、TCP/IC、及J2EE广泛的应用在众多的分散式系统中了。历史告诉我们一件事,那就是,开放的标准及技术可以提供最佳的长期投资保障。
参与J2EE开发的厂商包括了Sun、iPlanet及许多J2EE的授权厂商(像是IBM、Oracle及BEA),他们都已经推出了许多的以Web为基础的协调作业堆叠备件。目前,有许多以Web为基础的服务,都是以J2EE作为其技术架构,客户可以放心的选择J2EE作为其开发解决方案的基础。综观目前产业中的发展趋势,他们似乎倾向于利用二种与厂商无关的系统来建置他们的网路服务,其中一整是以SOAP/WSDL/UDDI为基础,另一种则是以ebXML为基础。
UDDI在美国有非常高的接受度,到目前已经有超过250家公司加入了UDDI社群,而且其中大部分都是资讯厂商,更有3000家以上的公司已经在UDDI注册。
整合现有系统始为关键
在ONE架构中的相互运作功能,可以发挥在任何的目录、应用软体伺服主机、作业系统、资料库及任何的讯息系统中。但值得一提的是,在Microsoft谈论它的相互运作功能时,怎么会不提及其他产品呢?.NET的使用者可以用其他的目录来取代Active Directory吗?可以用其他任何的Kerberos伺服主机来取代Microsoft的Kerberos吗?可以用其他的作业系统来取代Windows 2000吗?所有的这些答案都是不能的。
这里有一点很重要的因素,因为产业并未参与.NET的定义。.NET其实就是一组的产品,而且其中许多产品到目前都还没有出现,我们能看到就仅是一些测试版的产物。假使未来.NET真具有建置的可能,那它也仅能在一个作业系统上执行,那就是Windows 2000。对于现有的许多平台而言,这将会是一大打击。Microsoft虽然将COM移植到其他的平台上,但却从没将一些搭配COM的服务也一起移植过去(像是OLE Automation、ADO、MTS、OLE DB、OLE Transactions等),而这些却是任COM功能能够完全发挥的重要的关键。
封闭的架构限制了选择性并增加了客户的风险,但一个开放架构却能够增加选择性并降低风险。所以,Sun一直以来就非常注重在开放架构的研究与推广,而且我们也会继续持续下,开发出更多像是Jini及JXTA等开放性技术,来解决客户目前所遭遇的许多问题。Sun所有这些系统都有许多其他的厂商共同加入开发行列,像是BizTalk及e-speak等,使得ONE架构可以支援所有不同型态的网路服务、支援各种不同型态的系统。
总归来说,相较于.NET,ONE是个开放无厂商色彩的产品,它是以开放普及与标准技术为基础,使用者利用任何厂商的产品,都可以很轻易的建构出ONE相容的系统。
而反观.NET,它是个专属的单一厂商的解决方案。.NET是Microsoft企图用来对抗J2EE远远超越它的COM+及Windows DNA产物。Microsoft的解决方案就是最后用.NET来取代COM+,这个基础架构的目的就是希望用这种取代的方式,强迫COM+使用者重新编译他们的应用程式,才能利用.NET。而反观ONE,它可以扩大J2EE的应用,但却不是取代它。因此,J2EE的客户就不需要重新编译他们的应用软体,就能利用到ONE。
满足效能提升需求
对于如何因应使用者对于执行效能需求的提升。我们可以比较一下Microsoft所强调的C#,及Sun的Java。C#只有在Windows平台上才有其优势,许多的产业分析师(像是Giga、Dataguest、Jupiter等)都已经预测,到2003年会有一半以上的Web使用者会利用现代化的设备,像是手机、PDA、双向呼叫器及游戏机来存取网路上的服务,而Java在终端设备的开发上,将会取得非常大的市场占有率。
我们承认,对于每一个可能的事件,Java并不总是最佳的解决方案。如果Java不能够满足特殊应用软体的需求,我们就会建议使用其他遵循产业标准的技术(像是C、C++、Unix98、OpenGL、CORBA等)来建置一个与标准相容的平台。因为,ONE可以支援任何型态的使用者介面,同时,Java社群也正努力在提升其多媒体的效能。
由以下的数据就可以了解Java的普遍性:
Java目前已经有250万名的开发者。
IDC预测,Java的开发者到公元2003年将会增加超过400万人。
J2EE是目前提供网路服务的一个实际应用的标准。
有许多的网路服务开始在Java上开发,其数量远超过C++。
78%的大学院校都在教授Java
50%的大学院校都要求Java。
JavaOne是全球全球最大型的开发者集会,而且数量也在持续增加中。
当比较在其他产品平台上开发应用软体,其中当然包括了.NET,在Java平台上开发应用软体可以提供使用者更多的选择、更多的投资保障,及更低的风险。
网际网路基础架构是企业未来能否在商业市场中生存的关键,这也就是为什么ONE会支援网际网路基础架构的原因。ONE强调的就是相互协同作业,ONE对于.NET是非常友善的,采用UDDI及WSDL的ONE Web服务,可以涵盖采用SOAP的.NET Web服务,并且可协同运作的非常好。而新的JAX/RPC、JAXM、JAXR及JWSDL API,也可以和.NET间作非常平顺的整合。当然,这必须先要Microsoft能够宣布,它会支援开放网际网路协定才行。
我来回复