iCynosure按: 这个话题是早就被讨论滥了的。各种各样的评测在网上比比皆是,各自的支持者也围绕着评测结果争论不休;到后来,大家发现评测结果说明不了任何问题,于是转向争论评测的标准问题;最后,微软和Sun推出了同一个应用的基于各自技术的解决方案(Petshop),以其性能的优劣和评分的高低来说话,结果...自然是又炒成一锅粥。。。。说实话,我对J2EE压根就不熟悉,以前帮同学做过一个小项目,拿JAVA做界面,做完以后我就没劲儿了
昨天下午,微软公司的首席软件架构专
这里我只把我一下午为了应付CCTV而装作道貌岸然的工作成果放上来,主要是曹严明先生的ppt中的几幅图,因为手头没有ppt,只是照着打印的缩略稿用visio做了一遍。间或穿插一些我个人的评述,如果有误的话,请大家不吝指正,共同提高。
为免下次去听讲座被K出来,故此声明:
以下是曹严明先生的工作成果,偶只是copier
dudu:小样,你不就是怕吃不上微软的茶点吗?
icynosure: 嘘,大哥,不要说的那么直白,&&麻烦对白有点深度……
Ok,Let's begin our real business...
#1. 简介:什么是DotNet,什么是J2EE
看到第一个标题大家先不要笑,因为如果有人让你用3句话来解释什么是Dotnet,你就笑不出来了。而我的一个师弟去一个小公司应聘的时候还真碰到这种白痴般的主考官了。
不妨参考一下微软的说法:一句话(ft,我三十句话都嫌少,老曹给压缩到一句话了!),“Software for connecting information, people, systems and devices”. 国文即:“.NET就是用以连接各种信息,人员,系统,与设备的软件架构”。
这么说其实大家还是糊里糊涂的,但其好比独孤九剑的总纲,我个人觉得这是一种表达自己想法的策略,抽象的问题先要用抽象的回答进行过渡,这样就可以先吸引住听众的注意力,然后再进行详细解说。很多技术大牛可以用小刀在硬盘刻划进行编程,但却表达不清楚自己的想法。
下面说的大家其实肯定都很熟悉,就当作把原有的知识都梳理一下吧:
.NET是微软的开发企业应用的技术平台,其中包括:
a. 系统平台 (windows Servers)
b. 应用开发框架 (.NET Framework)
c. 开发工具 (VS.NET)
.NET并不是无中生有的东西,其是Windows DNA体系结构的发展和延续
无论是表现层的Asp.net/Winform,或者数据访问层的ADO.NET,还是其他一些技术诸如Com+,就是从原来的Asp,Ado和Com发展而来的。而XML、WebServices也并非微软的创举,前者是为了解决数据孤岛问题而提出的解决方案,后者是在RPC基础上演化而来的,其实世界上没有哪个技术是如老孙一样从石头里突然蹦出来的。
dotnet的其他细节以及J2EE是什么,偶就不赘述了,blablabla...
#2 火拼:技术架构、体系结构、Web应用架构、技术详细对比
首先来看技术架构的对比:
看看,根本就没有啥新东西,都是一一对应的。图好像是画得丑了点:(
然后来看看体系结构的比较:
这里发现.Text的两个bug:
b1. 不支持中文文件名
b2. 并不真正删除文件:我刚post的这张图有些小错误,我删除以后重新上传同名文件,结果贴出来后还是同一张:(,直到我改名才可以
一切尽在不言中……
再就是Web应用架构的比较:
.NET | J2EE | |
表示层 | Asp.net/IIS | |
业务逻辑层 | 状态:asp.net session/.net数据缓存 数据驱动:Ado.net CLR |
状态:封装于EJB,也可在Web Sessins中 数据驱动:JDBC(使用JTA来实现事务) JavaBeans/EJB |
数据层 | 绝大多数数据库 | 绝大多数数据库 |
技术详细比较:
技术 | .NET | J2EE |
支持技术 | ||
协议 | DCOM,SOAP | RMI/IIOP |
Firewall | ISA | 没有定义(简记NA) |
HTML页面缓存 | ISA,ASP.NET | NA |
表示层技术 | ||
基础结构 | IIS | JWS |
程序设计模型 | Asp.NET | Servlets,JSP |
高可用性 | NLBS,ACS,... | NA |
负载平衡 | NLBS,ACS,... | NA |
中间层技术 | ||
基础结构 | COM+ | EJB |
程序设计工具 | Vs.net | NA |
高可用性 | ACS | NA |
负载平衡 | ACS | NA |
安全性API | COM+ Secruity Call Context | JAAS |
消息队列API | MSMQ | JMS1.0 |
异步组件 | Queued(COM+) | Message driven beans(EJB2.0) |
命名与目录服务 | ADSI | JNDI |
数据层技术 | ||
分布式事务处理 | MS-DTC | JTS |
关系型数据库API | Ado.NET | JDBC2.0 |
层次性数据库API | Ado.NET | NA |
数据库存储 | SqlServer,... | ... |
大型机数据库连接性 | HIS | Java连接器 |
架构技术 | ||
电子商务架构 | Commerce Server | NA |
B2B | BizTalk Server | NA |
#3. 总结:共同点/不同点
相同点:
1. 都使用托管运行时环境
2. 相似的多层体系架构
3. 功能强大的面向对象的服务框架
不同点:
基本理念的不同:
J2EE是单语言平台,强调跨OS的可移植性/.NET支持多开发语言,强调与Win的集成性
其他细节:
1. 跨平台
2. 平台成熟度
3. 互操作性
4. 可伸缩性和性能
5. 传统系统集成
6. 框架支持和生产效率工具
7. 成本
#4. 技术成熟度
ODBC-------------------->Mar,1992
JDBC--------------------->1996
ASP---------------------->1996+ (+表示年末,-表示年初,没有的话表示我也不知道:)
ADSI--------------------->1997-
MSMQ-------------------->1997
WinDna------------------->1997
MTS/COM+---------------->1997
JNDI---------------------->1998
JMS----------------------->1998
EJB------------------------>1998
JSP------------------------>1998
MSXML--------------------->1998
j2EE------------------------>1999+
MMC------------------------>2000-
LCE------------------------->2000-
QC-------------------------->2000-
.NET------------------------>2000
MDB------------------------->2000
JAXP------------------------>2001
VS.net------------------------>2002
#5. 评测结果
这个。。。就算了吧,说了也没用