ASP.NET网页设计.NET vs J2EE――面临SOA的荒唐与曲解
因为各系统的API不同,代码调用API编写程序就会遇到很多不兼容的地方,比如Java改写后的Serv-U就不能在手机上执行,手机的游戏也不能直接在微机上执行。·.Net与J2EE在金融行业越来越呈半斤八两之势,两者均传播鼓吹供应了分歧于对方的、听起来很诱人的本性化使用服务。·感性的IT实行官们已深入的熟悉到如许的一个现实:不管是.Net仍是J2EE,未来势必在SOA理念的使用中占据各自的一席之地。
·Microsoft的.Net手艺在明天的金融市局面前,显得商机无穷。
·夙昔,怪诞与曲解仍然在.Net与J2EE平台之间环绕着:仿佛没有一个IT决议者可以看破了这层迷雾,继而在两个平台之间做出感性的决择。
·明天,手艺实行官们已可以很好的掌控需求念头,进而在这两种平台架构上做出准确的选择。
触及主题
SOA(Service-OrientedArchitecture,面向服务的架构)已在环球业界日趋成为中心的手艺议题,那末完成SOA的手艺尺度成绩则成了严厉存眷的中心成绩。在这个范畴中,一切的IT司理们将不能不面临一个陈旧的成绩:J2EE和.Net,我们选择谁?
我其实不乐意试图往回覆“YesorNo”,在特定企业的特定使用情况下的选择,也不在会商局限以内;可是本文切实其实普遍汇集了现今金融范畴内IT专家们的广泛性头脑和他们选择手艺架构的办法论。IT司理和软件供应商将能从本文关于手艺架构的会商中发明一些使人惊奇的结论,而且懂得金融IT专家们在这场关于J2EE和.Net手艺架构争议中的头脑办法。因而,自从J2EE和.Net出生以来,那些布满在你脑海中关于这两个平台的“荒唐论点和神话故事”极可能今后偃旗息鼓。
背景
上个世纪90年月,面向工具的编程(OOP)激发了诸多的软件开辟尺度。首当其冲的是Microsoft的组件工具模子(COM),这是一个模块(组件)化的手艺开辟架构,它源自于微软初期的工具链接与嵌进手艺(OLE)。略微资深一点的手艺职员应当晓得,明天互联网使用中最多见的ActiveX手艺就是构建在COM框架之上。
2002年微软周全的用.Net从逻辑层上置换了COM,作为新的软件开辟框架(COM仍旧被撑持)。.Net手艺的周全促进,一致了微软的分歧手艺理念战争台。作为一个计谋品牌,.Net为WebService供应了原生的办理计划,而且成为提拔分歧使用和体系之间互操纵性的尺度。
在1993年微软引进COM以后,Sun公司于1995年推出了Java平台。Java平台由一套使用开辟言语(Java)、API和Java假造机(JVM)组成,JVM同意用Java编写的程序运转在分歧的操纵体系上。现实上,Sun引进Java的初志是使得程序员可以开辟可移植的使用程序,而不体贴硬件和操纵体系。在1999岁暮,Sun提出了Java平台企业版(J2EE---JavatoEnterpriseEdition),该标准被使用在次要的IT供应商以构建妥当的使用体系框架,如IBM、Oracle和BEA,等等。
2003年Sun公司公布了J2EE1.4版,除加强加倍安定的企业级使用以外,还增添了WebServices撑持。Sun把这个最为盛行的版本称为JavaEE。
因为.Net和J2EE各自的初志,使得两者之间的合作经常搀杂着一些稀里糊涂的怪诞。可是比来IT专家及IT决议者们关于这个成绩的争辩却加倍注意于从营业理论的客不雅角度考查两者手艺上的好坏,由于这将有助于他们的准确选择。
一些数据
几近每个IT手艺司理都传闻过“.Net使用的延展性匮乏大概J2EE架构不容易开辟”的故事,切实其实,对这两个平台认知上的曲解在业界广泛存在。
就在比来的两年之前,很多的IT司理们经常带着团体成见对个中某个平台情有独钟,而决心的排挤另外一平台。他们仅仅由于一个毫无根据的团体料想而回绝部署某个平台,大概其根据乃至是来历于杂志上的某篇手艺文章。这类情形十分的广泛,因而环绕着.Net和J2EE谁优谁劣的会商相称多。
我们供认.Net平台的延展性会由于其特别的基于Intel的硬件平台而遭到束缚,可是我们也不该该无视.Net平台出生的那一天起,就有着比J2EE平台更强的互操纵性,而且同意开辟者使用现有的.Net组件构建加倍庞大的办理计划,而不必消费太多的本钱。
J2EE失掉了年夜部分供给商的撑持,包含Sun,IBM等,以是J2EE的最年夜天真性和可移植性不必置疑。另外一方面,.Net平台被微软独家周全撑持,因而有着更加分歧性的举动体例和可预感性。
使人遗憾的是,两种手艺平台的第一手测试材料的匮乏老是使得人们的客观臆想经常赶过于手艺自己的开展之上。对.Net和J2EE熟悉的含混也招致了IT实行官们在关头时候的心神不定,乃至又回到了本世纪最后几年的形态,谁人时分的平台散布以下所示。
Net22%
J2EE26%
不断定15%
都没有30%
都有7%
环球.NETandJ2EE手艺的跨行业查询拜访(2002)
材料MerrillLynch&Co.
上表为2002年MerrillLynch对环球100个CIO关于WebService在两种平台的使用散布数据。对100个CIO的问卷查询拜访显现出他们的公司缺少明晰的WebService使用计谋。
下表显现了2002年.Net和J2EE平台在美国最年夜的100家银行的使用散布。
Net15%
J2EE36%
不断定24%
都没有5%
都有20%
上表为美国最年夜的100家银行2002年的平台散布
材料环球金融征询及参谋公司TowerGroup的评价呈报
几年以后的明天,IT司理们的决议垂垂变得加倍感性,他们入手下手更多的基于营业需乞降手艺要素做出选择。我们终究发明,在统一家银行经常同时存在着.Net和J2EE两种手艺架构,更加主要的是,Webservices已成为这两种平台整合的配合桥梁。
回到原本
哪一个平台加倍合适新的使用?大概我们应当晋级到谁人平台?必需做出决意。在已往的6年中,.Net和J2EE平台在环球局限里都未能坚持着对对方的相对上风,他们各自有着本人的特征。
2006年,环球出名的金融参谋征询公司TowerGroup在与金融行业CIO和IT架构师们的一次研究中,发明他们关于这两个平台的选择有着更加明晰的方针和希冀值,这切实其实是一个打消曲解的好时机。
此次会商中最少有两点值得我们注重:企业仿佛并没有固有的偏向性;也没有明白的迹象标明那一个平台加倍具有延展性和牢靠性。
(1)关于.Net和J2EE并没有出格的偏好
经由普遍的查询拜访,TowerGroup公司发明,企业夙昔对某一个手艺平台的偏好完整是基于团体的喜好和急躁的“一窝蜂”心态。这类态势今朝垂垂变得感性,固然不扫除仍旧有某些IT司理存在着团体的爱好。
可是企业关于WebService和SOA的激烈存眷,则意味着关于某种平台的团体爱好不再成为平台选型的可承受的根据。
(2)没有证据标明那一个平台更具延展性和牢靠性
固然有很多关于.Net和J2EE平台功能的研讨呈报,可是这些呈报年夜部分要末来自于Microsoft,要末来自于J2EE的厂商,使得他们的公允性使人嫌疑。大概他们的研讨了局是实在的,可是这类供给商本身的功能测试自己就冲淡了研讨了局的代价。别的,计划好的TestCase具有很年夜的庞大性,最多只能有一到两个对照周全的测试用例,其他的用例则显得非常的惨白与复杂,极年夜地限定了测试局限的顺应性,从而与实践使用场景间隔甚远。
差别的偶然性
固然关于.Net和J2EE平台的团体偏好显得毫在理由,可是IT司理们供认如许的一个现实:两个平台的差别性经常成为他们在开辟、选型和保护晋级时的主要参考根据。
(1)在硬件和操纵体系之间的可移植性
.Net和J2EE之间最年夜的差别性成为金融企业做手艺选型的主要根据:在数据中央的数百台服务器之间移植使用的才能。因为J2EE底本就是一套跨平台使用的标准,以是关于那些必要部署到分歧服务器上的使用,J2EE仿佛是更好的选择。
可是,J2EE的上述上风却遭到两个要素的严峻应战。
起首,没有两个厂家的J2EE标准是完整分歧的。这类在部署、存储和平安性标准上的奇妙不同意味着在两个平台之间的使用移植必要由于这类差别性的存在而支付价值。由于关于良多使用而言,使用的可移植性远比可保护性还要主要。
其次,银行夙昔为了克制使用才能的瓶颈,老是存在着晋级到具有高端处置才能服务器的需求。可是跟着基于Windows-Intel的呆板处置才能愈来愈壮大,这类需求被最小化。Unisys公司在6年前就推出了基于windows的主机(Mainframe),IBM也推出了64位的windows兼容的体系,而CPU层叠手艺也同意基于SMP(对称多处置)的Windows服务器体系具有四个CPU。进一步,.Net操纵体系(Vista和Longhorn)将进进高端处置市场,特别是收集盘算机的呈现,使得大批的单机散布式处置才能足以胜任今朝年夜型机的事情负荷。
(2)易开辟性和可装配性
.NET的易用性、效力和本钱均抢先于J2EE。利用.Net,IT专家们比利用J2EE加倍不必体贴底层细节。因而能疾速捕获商机,本钱也更低。
.Net比J2EE天真很多,它同意开辟者利用多种言语在统一个平台上开辟,因此可以使用普遍的开辟资本。总而言之,使得开辟团队的运作加倍高效。
主要的是,.Net的可用资本绝对较多。关于金融行业而言,Windows平台占有相对数目,并且几近一切的ISV(自力软件供给商)都撑持Windows平台。
别的,IT实行官们年夜多半只体贴办理计划,而其实不体贴平台自己。他们其实不请求ISV匡助他们从.Net平台移植到J2EE平台,因而金融行业经常保护着分歧的使用情况。
两个要素也严峻应战了.Net平台易用、高效和低本钱的上风(固然.Net程序员相对Java程序员而言,老是更快更高效)。
介入TowerGroup公司查询拜访的IT实行官们泄漏了如许的信息,关于一个年夜型的项目而言,J2EE和.Net之间的TCO(总的具有本钱:包含资本、工夫和财力)仅仅相差不到10%。同时,良多IT司理以为J2EE更合适功能调优,这两个要素严峻减弱了.Net的上风。
(3)企业外部可用的资本
影响.Net和J2EE选型的最年夜要素来自企业外部的可用资本。
假如年夜部分的程序员善于J2EE,那末企业会很天然的选择J2EE平台,而免去了再次培训的开支;相反,企业会选择.Net平台。
TowerGroup公司的查询拜访以为,未来纯代码开辟职员将会垂垂的转向Windows平台,由于.Net撑持多言语开辟,而且阔别体系底层。可是,J2EE将在那些存眷功能调治和特定范畴的定制开辟的企业里持续开展。
基于如许的发明,TowerGroup对明天的.Net和J2EE的市场作了评价,了局如所示。
Net11%
J2EE17%
不断定15%
都没有2%
都有55%
上表为美国金融企业的平台散布
材料TowerGroup评价呈报
固然前100家银行中良多持续撑持个中一种平台,可是年夜部分的银行入手下手实行SOA架构,同时保护两个平台。
(4)更远的商机
不管银行的IT机构对这两个平台的意见怎样,可是承受TowerGroup查询拜访的IT实行官们分歧以为,J2EE平台已年夜局限的被普遍采取。在这场竞走中,J2EE抢先于.Net,而这类抢先的上风会跟着工夫的推移而不休的弱化。好几个IT司理同时也以为,J2EE比.Net的性命周期更长,平台加倍成熟,手艺专家更多。
在TowerGroup公司比来的一次对欧洲银行IT司理的查询拜访中,列入者被问到“是不是大批部署.Net平台”时,竟然没有一团体仰面大概举手;可是一切人都证明了他们部署了J2EE平台。不管怎样,看来这类抢先的趋向很难改动。
不外,在与他们的会商过程当中,有一点共鸣很分明:微软切实其实无机会提拔.Net在银行业的使用市场,弥补太多的空缺。
(5)桌面使用和企业级使用之间的差别
年夜多半人以为,在.Net和J2EE之间最为明显的区分之一,就是.Net平台经常被部署在客户端,而J2EE平台(如WebLogic/WebSphere/JBoss/TomCat)则更多的被部署在服务器端。现实上这是一个不三不四的曲解,.Net是一种手艺框架,不是一种产物,更不是Windows客户端;而J2EE只是一种协定,大概说是服从J2EE协定的使用架构。
从某种水平上讲,人们对.Net平台的认知曲解也出生了一个笑话:由于微软把本人的产物触角延长到了企业使用的每一个角落,从低真个桌面使用到高真个企业使用,几近都看到了.Net平台的身影;那末那些IT实行官们免不了会把他们在低端产物上的感觉推而广之到其他的微软高端平台上。当一个IT司理在劳碌了一天以后回覆家里,翻开电脑却还要泯灭好几个小时往面临PC机上的病毒搅扰,那末Windows平台将会给他们留下“深入的印象”。现实上微软的高端和低端产物(如Win2kPro/windowsXP/Win2KServer与Vista/WindowsServer2003/Longhorn)不成等量齐观,可是这类客观上的接洽则很难制止。
大概微软必要有分歧的产物以分离面临家庭使用情况和健旺的、基于关头营业的贸易平台。
(6)强力宣扬与培训
很多银行对.Net平台在企业使用上的手艺一概蒙昧,这类对.Net平台认知的匮乏延长到了培训范畴。一些金融机构埋怨微软历来没有供应过怎样使用.Net架构满意营业需求的培训。假如这类埋怨是实在的,那末微软大概只剩下对金融使用说“拜拜”的时机了。
鉴于这类来自用户的埋怨,微软必要在金融行业供应与其他合作敌手一样的培训。
(7)不要纯真的只提.Net手艺
总之,微软应当熟悉到那些试图购置.Net平台的手艺专家都是些足智多谋的妙手,假如微软一味的纯真化.Net手艺,则会让这些“妙手”们感到这几乎就是一一般具一格的玩具,从而对.Net手艺构建壮大办理计划的才能暗示嫌疑。
每当那些满头脑都是SOA的架构师们在回覆关于.Net平台是不是合适他们的使用需求时,老是这么回覆:“哦,用到了,由于.Net已被嵌进在微软的产物中了”。
在较早的查询拜访中,我们看到J2EE受接待的一个缘故原由就是它的弹性。假如.Net必要在金融范畴获得一样的乐成,必将必要和它的合作敌手一样的加强弹性和可设置特征。
(8)J2EE必要简化
当.Net这匹黑马入手下手活泼在企业级使用,而且越来越让决议者们另眼相看的时分,迫使J2EE平台必需在既有的高端使用上有所作为。
Sun公司正在勉力的简化J2EE开辟标准,使得Java开辟者们也享有.Net开辟者的快速和愉悦。一个典范的例子是JavaStudioCreator的呈现,它同意开辟者们接纳Drag&Drop的体例拖放组件以发生一个Web使用体系。开源构造也在尽力的思索怎样简化J2EE的开辟,使得接纳J2EE的开辟可以加倍疾速和便宜。
别的,被移植到Java假造机上的程序言语的数目也在增添,如今不单单是Java言语才干运转在JVM上了。以是.Net在这方面的上风入手下手减弱。
总结
.Netvs.J2EE不再显得那末不成揣摩,明天的IT实行官们已可以利用更客不雅的尺度来决意利用那一种平台,和在甚么时分利用它。特别在SOA的时期,手艺架构师们经常乐于承受这两个平台的并存,而且接纳WebService互联互通。
明天,.Net手艺越来越占有了明显的位置。固然在成熟度等上风上与J2EE另有一段间隔,不外微软能够接纳战略敏捷填补这个鸿沟。
J2EE也无机会“跟上”.Net平台易用和高效的措施,J2EE的信徒们正在勉力。
微软在高端市场的受挫,不是由于手艺,而是由于其一向的市场战略,由于.Net自己就是企业级的平台手艺。
终极,.Net和J2EE手艺都在野着互相交融的态势开展,WebService、SOA、开辟速率、更低的本钱和柔性是它们一定的选择。
未来,在这场合作中幸免罹难的独一路子是:基于SOA的“.Net与J2EE”————而不是“.Netvs.J2EE”。
它有很多缺点的,有兴趣可以到网上去搜索一下。于是微软有发明了“下一代”C++:C++/CLI语言,这个可以解决在.NETFramework中,托管C++产生的问题。在《程序员》杂志上,lippman和李建中合作连载介绍了C++/CLI语言。 PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。 ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码。 如今主流的Web服务器软件主要由IIS或Apache组成。IIS支持ASP且只能运行在Windows平台下,Apache支持PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的Web服务器平台。 微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。 大哥拜托,Java在95年就出来了,微软垄断个妹啊,服务器市场微软完全是后后来者,当年都是Unix的市场,现在被WindowsServer和Linux抢下大片,包括数据库也一样。 如今主流的Web服务器软件主要由IIS或Apache组成。IIS支持ASP且只能运行在Windows平台下,Apache支持PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的Web服务器平台。 主流网站开发语言之PHP:PHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。 HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了.
页:
[1]