用户操作
[留言]  [发消息]  [加为好友] 
订阅我的博客
XML聚合    FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
njbaige的公告
<b><a href ="http://blog.csdn.net/njbaige/archive/2006/02/08/594734.aspx" target ="_blank" ><font color ="red">我的简历</font></a></b> <hr bgcolor="#336699"> <!--日历 --> <script language="javascript"> var bsYear; var bsDate; var bsWeek; var arrLen=8; //数组长度 var sValue=0; //当年的秒数 var dayiy=0; //当年第几天 var miy=0; //月份的下标 var iyear=0; //年份标记 var dayim=0; //当月第几天 var spd=86400; //每天的秒数 var year1999="30;29;29;30;29;29;30;29;30;30;30;29"; //354 var year2000="30;30;29;29;30;29;29;30;29;30;30;29"; //354 var year2001="30;30;29;30;29;30;29;29;30;29;30;29;30"; //384 var year2002="30;30;29;30;29;30;29;29;30;29;30;29"; //354 var year2003="30;30;29;30;30;29;30;29;29;30;29;30"; //355 var year2004="29;30;29;30;30;29;30;29;30;29;30;29;30"; //384 var year2005="29;30;29;30;29;30;30;29;30;29;30;29"; //354 var year2006="30;29;30;29;30;30;29;29;30;30;29;29;30"; var month1999="正月;二月;三月;四月;五月;六月;七月;八月;九月;十月;十一月;十二月" var month2001="正月;二月;三月;四月;闰四月;五月;六月;七月;八月;九月;十月;十一月;十二月" var month2004="正月;二月;闰二月;三月;四月;五月;六月;七月;八月;九月;十月;十一月;十二月" var month2006="正月;二月;三月;四月;五月;六月;七月;闰七月;八月;九月;十月;十一月;十二月" var Dn="初一;初二;初三;初四;初五;初六;初七;初八;初九;初十;十一;十二;十三;十四;十五;十六;十七;十八;十九;二十;廿一;廿二;廿三;廿四;廿五;廿六;廿七;廿八;廿九;三十"; var Ys=new Array(arrLen); Ys[0]=919094400;Ys[1]=949680000;Ys[2]=980265600; Ys[3]=1013443200;Ys[4]=1044028800;Ys[5]=1074700800; Ys[6]=1107878400;Ys[7]=1138464000; var Yn=new Array(arrLen); //农历年的名称 Yn[0]="己卯年";Yn[1]="庚辰年";Yn[2]="辛巳年"; Yn[3]="壬午年";Yn[4]="癸未年";Yn[5]="甲申年"; Yn[6]="乙酉年";Yn[7]="丙戌年"; var D=new Date(); var yy=D.getYear(); var mm=D.getMonth()+1; var dd=D.getDate(); var ww=D.getDay(); if (ww==0) ww="<font color=RED>星期日</font>"; if (ww==1) ww="星期一"; if (ww==2) ww="星期二"; if (ww==3) ww="星期三"; if (ww==4) ww="星期四"; if (ww==5) ww="星期五"; if (ww==6) ww="<font color=green>星期六</font>"; ww=ww; var ss=parseInt(D.getTime() / 1000); if (yy<100) yy="19"+yy; for (i=0;i<arrLen;i++) if (ss>=Ys[i]){ iyear=i; sValue=ss-Ys[i]; //当年的秒数 } dayiy=parseInt(sValue/spd)+1; //当年的天数 var dpm=year1999; if (iyear==1) dpm=year2000; if (iyear==2) dpm=year2001; if (iyear==3) dpm=year2002; if (iyear==4) dpm=year2003; if (iyear==5) dpm=year2004; if (iyear==6) dpm=year2005; if (iyear==7) dpm=year2006; dpm=dpm.split(";"); var Mn=month1999; if (iyear==2) Mn=month2001; if (iyear==5) Mn=month2004; if (iyear==7) Mn=month2006; Mn=Mn.split(";"); var Dn="初一;初二;初三;初四;初五;初六;初七;初八;初九;初十;十一;十二;十三;十四;十五;十六;十七;十八;十九;二十;廿一;廿二;廿三;廿四;廿五;廿六;廿七;廿八;廿九;三十"; Dn=Dn.split(";"); dayim=dayiy; var total=new Array(13); total[0]=parseInt(dpm[0]); for (i=1;i<dpm.length-1;i++) total[i]=parseInt(dpm[i])+total[i-1]; for (i=dpm.length-1;i>0;i--) if (dayim>total[i-1]){ dayim=dayim-total[i-1]; miy=i; } bsWeek=ww; bsDate=yy+"年"+mm+"月"; bsDate2=dd+"日"; bsYear="农历:"+Yn[iyear]; bsYear2=Mn[miy]+Dn[dayim-1]; if (ss>=Ys[7]||ss<Ys[0]) bsYear=Yn[7]; function time() { document.write("<table border='0' style='font-size: 12pt; font-family:Tahoma' cellspacing='0' width='175' bordercolor='#cccccc' cellpadding='0'"); document.write("<tr><td align='center' vAlign='middle' style='border:1 solid #0099ff;padding-top:4px'>今天是:"+bsDate+bsDate2+"&nbsp"+bsWeek+"</td></tr>" +"<tr><td align='center' vAlign='middle' style='border:1 solid #0099ff;padding-top:4px'>"+bsYear+bsYear2+"</td></tr>" +"</table>"); }</script><center><script>time()</script></center> <hr bgcolor="#336699"> <center> <center> <object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" id="MediaPlayer1" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" width="72" height="25"> <param name="AudioStream" value="-1"> <param name="AutoSize" value="0"> <param name="AutoStart" value="-1"> <param name="AnimationAtStart" value="-1"> <param name="AllowScan" value="-1"> <param name="AllowChangeDisplaySize" value="-1"> <param name="AutoRewind" value="0"> <param name="Balance" value="0"> <param name="BaseURL" value> <param name="BufferingTime" value="5"> <param name="CaptioningID" value> <param name="ClickToPlay" value="-1"> <param name="CursorType" value="0"> <param name="CurrentPosition" value="-1"> <param name="CurrentMarker" value="0"> <param name="DefaultFrame" value> <param name="DisplayBackColor" value="0"> <param name="DisplayForeColor" value="16777215"> <param name="DisplayMode" value="0"> <param name="DisplaySize" value="0"> <param name="Enabled" value="-1"> <param name="EnableContextMenu" value="-1"> <param name="EnablePositionControls" value="-1"> <param name="EnableFullScreenControls" value="0"> <param name="EnableTracker" value="-1"> <!--param name="Filename" value="http://www.tuya.cn/ulanbaatar/demos/04.mp3"--> <!-- http://wma4.520music.com/20060312//0604/270/29.Wma <param name="Filename" value="http://freehost19.websamba.com/se7enworld/mymusic.mp3"> --><param name="Filename" value="http://wma4.520music.com/20060312//0604/270/29.Wma "> <param name="InvokeURLs" value="-1"> <param name="Language" value="-1"> <param name="Mute" value="0"> <param name="PlayCount" value="0"> <param name="PreviewMode" value="0"> <param name="Rate" value="1"> <param name="SAMILang" value> <param name="SAMIStyle" value> <param name="SAMIFileName" value> <param name="SelectionStart" value="-1"> <param name="SelectionEnd" value="-1"> <param name="SendOpenStateChangeEvents" value="-1"> <param name="SendWarningEvents" value="-1"> <param name="SendErrorEvents" value="-1"> <param name="SendKeyboardEvents" value="0"> <param name="SendMouseClickEvents" value="0"> <param name="SendMouseMoveEvents" value="0"> <param name="SendPlayStateChangeEvents" value="-1"> <param name="ShowCaptioning" value="0"> <param name="ShowControls" value="-1"> <param name="ShowAudioControls" value="-1"> <param name="ShowDisplay" value="0"> <param name="ShowGotoBar" value="0"> <param name="ShowPositionControls" value="-1"> <param name="ShowStatusBar" value="0"> <param name="ShowTracker" value="-1"> <param name="TransparentAtStart" value="0"> <param name="VideoBorderWidth" value="0"> <param name="VideoBorderColor" value="0"> <param name="VideoBorder3D" value="0"> <param name="Volume" value="-600"> <param name="WindowlessVideo" value="0"> </object> </center> <font class= "HotLinks">实事要闻</font> </center> <br> <center> <iframe name=sina_roll src=http://news.sina.com.cn/o/allnews/input/index.html height=14 width=200 Frameborder=No Border=0 Marginwidth=0 Marginheight=0 Scrolling=No></iframe> </center> <hr bgcolor="#336699"> <!-- Search Google --> <center> <table BORDER-RIGHT: #8ca9c8 1px solid; BORDER-TOP: #8ca9c8 1px solid; BORDER-LEFT: #8ca9c8 1px solid; WIDTH: 95%; BORDER-BOTTOM: #8ca9c8 1px solid> <tr> <td align = "center"> <!-- <form method="get" action="http://www.google.com/custom" target="_blank"> <table bgcolor="#ffffff"> <tr><td nowrap="nowrap" valign="top" align="left" height="32"> <a href="http://www.google.com/" target="_blank"> <img src="http://www.google.com/logos/Logo_25wht.gif" border="0" alt="Google" align="middle"></img></a> <br/> <input type="text" name="q" size="18" maxlength="255" value="Search Google"></input> <input type="submit" name="sa" value="搜索 Google"></input> <input type="hidden" name="client" value="pub-8507701519385121"></input> <input type="hidden" name="forid" value="1"></input> <input type="hidden" name="ie" value="GB2312"></input> <input type="hidden" name="oe" value="GB2312"></input> <input type="hidden" name="cof" value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:336699;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;FORID:1;"></input> <input type="hidden" name="hl" value="zh-CN"></input> </td></tr></table> </form> --> </td> </tr> </table > </center> <!-- Search Google --> <center><b>今日天气</b></center> <IFRAME border=1 style="border:1px solid #aa0033; font-size:small" align=center marginWidth=0 marginHeight=0 src="http://weather.265.com/weather.htm" frameBorder=no width="173px" scrolling=no height=54></IFRAME> <BR><table style="border:1px solid #aa0033; font-size:small;width=175px;" align=center> <tr> <td rowspan=2> <img src="http://groups.google.com/groups/img/groups_medium.gif" height=50 width=100 alt="Google Groups"> </td> <td align=center><a href="http://groups.google.com/group/AtlasCn"><b>Atlas中文</b></a></td> </tr> <tr><td align=center><a href="http://groups.google.com/group/ajaxpro"><b>AjaxPro</b></a> </td></tr> </table> <a href="http://blog.csdn.net/njbaige/gallery/image/69970.aspx" target="_blank" title = "我在HJ的日子"> <img src = http://blog.csdn.net/images/blog_csdn_net/njbaige/134982/r_myplace.jpg width=200 height=150 border=0/> </a> <center> <br> <img src = http://blog.csdn.net/images/blog_csdn_net/njbaige/138583/o_IconImage_Msn.gif border=0 /> <br> <img src = http://blog.csdn.net/images/blog_csdn_net/njbaige/138583/o_IconImage_QQ.gif border=0 /> <br> <img src = http://blog.csdn.net/images/blog_csdn_net/njbaige/138583/r_IconImage_126com.gif border=0 /> </center> &nbsp; <center> <img src = http://blog.csdn.net/images/blog_csdn_net/njbaige/134982/r_05_p01.jpg width=120 height=120 border=0 title = "我要学习啦~~" /> </center> <center><hr bgcolor="#336699"></center> <!-- 计数器 --> <center> <!-- Start FastOnlineUsers.com --> <script src=http://fastonlineusers.com/online.php?d=blog.csdn.net/njbaige></script> online<br> <!-- End FastOnlineUsers.com --></center> <center> <b>您是第</b><script src="http://www.xcinfo.ha.cn/jsq/default.asp?User=njbaige&Length=6&x=15&y=20&Mode=150"></script><b>位访客</b></center> <hr bgcolor="#336699"> <center> <!-- 天气预报 --> <!-- <center><b>今日天气</b></center> <FONT face="宋体"><center> <embed src="http://www.klstudio.com/images/weather.swf" width="190" height="240" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" menu="false"></embed> </center></FONT> <center><hr bgcolor="#336699"></center> --> <center><b> <font color='red'>荀子 – 劝学篇</font> </b></center> ---------------------------------------<br> <marquee direction=up scrollamount=2 height = 120 onmouseover=stop() onmouseout=start() STYLE="CURSOR: hand;"> &nbsp;吾尝终日而思矣,不如须臾之所学也.<br> &nbsp;吾尝跂而望矣,不如登高之博见也.<br> &nbsp;登高而招,臂非加长也,而见者远;<br> &nbsp;顺风而呼,声非加疾也,而闻者彰.<br> &nbsp;假舆马者,非利足也,而致千里;<br> &nbsp;假舟楫者,非能水也,而绝江河.<br> &nbsp;君子生非异也,善假于物也.<br> </marquee> ---------------------------------------<br> <br> <!-- <b> <center> <font color='bule'>现在时刻</font></center> </b> <left> <embed src="http://www.clocklink.com/Clocks/0001-Blue.swf?TimeZone=EST" width="150" height="150" wmode="transparent" type="application/x-shockwave-flash"> </left> -->
文章分类
Bolgs
MSDNPortal
Ajax.NET Professional
cnblogs
DesignPattern
Jerry Chen
soho-works.net
tintown
YOK
ZhenYuLu
天道酬勤
孟宪会
小气的神
开源中的灵感之源
老猫的理想
银狐999(工作流)
Other Countries
Channel9
communityserver
dofactory
dotnetjunkies
Martin Fowler
microsoft patterns & practices
Spring.Net
weblogs(asp.net)
West-wind
Web Site ---Useful
.NET quickstart
Asp.net
codeproject
Gotdotnet
MSDN Online
PlayHome
我的Blog
CN Blog
CSDN Blog
MSN Blog
MyAspspider
我的JAVA空间
我的JRoller
我的母校
存档

转载  .NET vs. J2EE:谁与争锋 收藏

.NET vs. J2EE:谁与争锋?

2005年,开发平台可谓热闹非凡,重量级的软件公司纷纷推出新的开发平台和开发工具。主打.NET的微软公司在2005年第4季度,隆重推出了酝酿已久的Visual Studio 2005及其相关的软件。其发布活动将在全球90多个国家先后举行,并且在国内巡展了20个城市,其宣传力度之大前所未有。可见微软对这个五年磨一剑的产品极为重视,把它视为今后开发平台的一注重量级筹码。

微软也试图通过这个产品与诸多的J2EE开发工具,特别是Tiger(J2SE 5.0)相抗衡。而J2EE阵营的主要开发工具厂商巨头IBM,也推出了最新版本Eclipse 3.1 RC4。Eclipse从3.1 M4开始支持J2SE 5.0的开发,IBM认为J2SE 5.0的发布是Java语言发展史上一个重要里程碑,是迄今为止在Java编程方面所取得的最大进步。

Borland公司也推出了Together 2006和Delphi 2006等产品。随着这些开发平台的相继推出,在即将到来的2006年,开发平台将展开新一轮的激烈竞争,各个公司力图在整个开发平台市场上重新洗牌。

关于J2EE和.NET之间的讨论已经持续很多年了,在2006年这个争论必将继续下去,孰优孰劣仍然很难下结论。事实上,笔者认为无论怎样比较,.NET和J2EE都各有特长,两者都是十分优秀的开发平台,短时间内谁也不可替代对手。之所以说选择哪种开发平台,除了要看软件开发人员对语言的掌握能力及个人喜好,也要根据开发内容和企业具体情况、具体需求而定。

J2EE平台:更开放

开放性是J2EE的一个重要特点,这也是Java发展的生命源泉。Sun公司在其发展中起着关键性作用,同时很多世界级公司如IBM、BEA、甲骨文等,都是其忠实盟友。这些都决定了开发工具是少不了的。

由于Java的开放性特点,很多厂商都会创建自己的开发工具。右表中提到的是几家主要公司的Java开发工具。此外还有甲骨文公司的Jdeveloper、赛门铁克公司的 Visual Cafe for Java、Adobe公司的JRUN以及Apache公司的ANT等也是常见的开发工具。

.NET平台:易上手

至于由微软开发的.NET平台下的开发工具,主要是基于Visual Studio系列的商业开发工具。.NET最大特点就是容易上手,是软件开发人员入门的较好选择。优异的用户界面反应速度以及与Windows的整合度,可以使软件人员较快地构建出用户界面比较好的应用程序。

其实作为一个开发平台,.NET和Java都非常成熟和稳定。但.NET比Java的诞生晚了六年,这也恰恰在某种程度上增加了.NET的优越性。因为新技术总可以借鉴旧技术的发展经验,达到取长补短的效果。

Visual Studio .NET是特性丰富的开发环境,通用语言的支持能力使开发人员能够在C++、VB和C#间自由转换。而且,Visual J#.NET还使Java开发人员可以使用所选的语言对.NET平台进行编程。编程人员利用Visual J#.NET创建基于.NET的应用程序,这些应用程序可以无缝地与使用任何其他.NET平台支持语言编写的.NET应用程序进行交互操作。

有了Visual J#.NET,Java开发人员就可利用.NET框架的丰富工具(ADO.NET、ASP.NET和许多其他工具),这些工具的功能和简单性超过了Java开发工具包(JDK)规范中的功能。

Visual Studio.NET的编辑器还支持XML文档、XML大纲、HTML和CSS的创建。比如,XML是在Java诞生之后,.NET诞生之前出现的技术,所以.NET对于XML的整合会比较完善,而Java是后来将之加入的,整合程度自然比不上.NET。下面对微软最新发布的Visual Studio 2005的特点作一个简单介绍:

微软把 Microsoft SQL Server 2005、Visual Studio 2005,以及将于明年推出的BizTalk Server 2006共同构成新一代企业级应用平台,其核心是Visual Studio 2005。

利用Visual Studio 2005以及.NET Framework 2.0 这一企业级开发平台,广大开发人员及其团队能够开发出更加高效、安全和可靠的解决方案。Visual Studio 2005增加了一系列新的工具,其中,Visual Studio Team System是一个可扩展的、支持整个软件开发生命周期的工具平台,能使软件开发团队之间更好地协作,从而开发出现代化的、具有服务导向性的解决方案。

Microsoft Visual Studio 2005 开发工具系列,有许多令人期盼已久的强化功能,包括提供更高的程序开发效率、更精简的程序代码、更佳的安全性能等。

另外该工具系列还具备一些新特色,包括.NET Framework 2.0、ASP .NET 2.0、64-bit 程序开发支持、新的Windows Form程序设计以及对行动装置解决方案的全新开发支持。

值得注意的是,首度推出的 Visual Studio Team System 是与开发工具完全整合的软件开发生命周期管理平台,与Agile方法论以及CMMI规范都相整合。

Visual Studio Team System 除了在软件开发流程上更加严谨之外,软件开发的质量与时间也更易于掌控,同时,还将Visual Studio开发工具一贯支持个人开发者高生产力的优势,延伸到支持整个高效率及流程导向的开发团队。

.NET在技术上的进步也开始体现在市场占有率上。如果以前大家对两种平台的认识是.NET可能无法胜任大规模的企业开发,那么最近的一系列调查数据则能够反驳这一观点。

IDC公司在2005年10月份进行的一项调查发现,35.7%的大公司采用.NET来开发最重要的业务软件,而使用Java的比例只有25.3%。

未来:代码管理工具比平台更重要

但现在就说Java平台将会退出竞争市场还为时过早。毕竟Java平台已经发展了这么多年,不会因为.NET的胜利而消失。而且对于大型企业来说,由于现有规模和业务种类已经十分复杂,加之有多年遗留下来的应用系统,Java平台可能还是最适当的选择。

对于软件开发人员来说,单学习哪种语言都不会找不到工作。一旦选择一方作为开发工具,惟“精实”才是惟一的出路。在此基础上去不断尝试新东西,才是IT行业的生存之道。

对于企业来说,.NET和J2EE都有自己相对稳定的用户群。虽然这两个开发平台在很多方面都有很多相同或者相似的特性,但是不等于就可以互相替换,因为双方毕竟还有许多本身的独到之处,可称为是“独门绝技”。

首先这两个开发平台的开发思路截然不同。J2EE依托于开放的工业标准,注重开源代码,强调跨平台的应用。而.NET则注重开放工具功能的日趋强大和丰富,可以兼收其他产品的优点。比如在微软的开发平台上可以兼容20多个开发语言,简单易学,界面友好,是微软产品的一贯特征。

然而微软的开发平台只能在Windows系统上运行,不支持开源代码。

一般认为,在中小企业中,微软的开发平台将继续成为主流的产品。而在大中企业中,特别是那些使用UNIX系统或者具有多个操作系统、业务环境和IT环境十分复杂、对业务要求十分苛刻的大型企业中,J2EE将继续占有较大的市场。

微软则试图将自己的开发平台向大中企业延伸,争夺J2EE原有的市场份额。J2EE则力图保住原有的市场和用户。争夺最激烈的是中型企业—它成为了两大阵营竞争的前沿阵地。这一争夺随着两大阵营的最新产品发布,将在2006年更趋白热化。

谁将在2006年的竞争中占有上风,获得更多用户的青睐?那些开发平台推出的新特点和新工具能否得到用户的认可?能否经住实践的考验?谁也无法给出确切的答案。

以Compuware公司为代表,在两大阵营夹缝中生存,推行“左右逢源”方针能否获得成功?能否走出一条融合之路,异军突起?也是我们在2006年关注的焦点之一。

现在,市面上出现了一些软件公司推出了同时支持Java和.NET两种平台的开发工具,在二者之间架起了桥梁,Compuware公司就是其中的代表。在Compuware看来,选择Java平台还是.NET平台已经不重要了,重要的是谁有一套完善、高效的软件代码管理工具。因此,两种平台并存的局面还会持续很长时间。

发表于 @ 2006年03月18日 10:38:00 | 评论( loading... ) | 编辑| 举报| 收藏

旧一篇:最近在寻找一个完整的数据层解决方案 | 新一篇:WCF尝鲜

  • 发表评论
  • 评论内容:
  •  
Copyright © njbaige
Powered by CSDN Blog