一个牛人给java初学者的建议(六---java企业级应用之综合篇)(转)
给初学者之六:java企业级应用之综合篇
我们知道中间件有很多种规范以及相关的模型最流行的一个是j2ee还有一个是.net
那么各大公司关于这两套规范各有什么产品以及周边呢?
j2ee:
黄金组合
操作系统:Solaris
应用服务器:Weblogic
数据库:Oracle
开发工具:JBuilider/IntelliJ IDEA
优点:性能一级棒,大企业大公司做系统的首选,世界五百强几乎都是这套组合
缺点:极贵
超级组合,也是最安全最酷的黄金组合,硬件采用SUN公司的机器
但是SUN的服务器很贵,同等价格不如去买IBM的机器
SUN的服务器支持Solaris的效果自然不用说,Solaris号称是世界上最安全的操作系统
Oracle也是世界上最安全,性能最优的数据库,Weblogic是当今性能最优的appserver
JBuilder和IDEA各有所长,JBuilder是Borland公司的招牌之一
是当今世界上最流行的java IDE,用delphi写的,但网络上评价似乎不是很好
IDEA拥有插件功能,界面在所有java IDE中最为漂亮,东欧人开发的产品
东欧人严谨的作风在这个产品上体现得尤为突出,用java写的
IDEA甚至号称自己被业界公认为是最好的IDE//个人保留意见,没有最好只有更好
但我用JBuilder的时候发现了不少bug,而至今还没有在IDEA上发现什么bug
个人推荐IDEA
价格方面,Solaris开源,但是SUN的服务器比较贵,Weblogic最高是34万
oracle标准版要18.6万,企业版要49万,JBuilder要2.7万左右
IDEA零售价大概是500美金,也就是5000多元
另外,虽然理论上这些产品的综合性能要高于其他选择,但是必须看到
由于产商之间的利益冲突,比如oracle也有自己的appserver,但是性能不怎样
使得这几种产品之间协作的性能要比预想中的要差一点点
--
开源系列
操作系统:-
应用服务器:JBoss
数据库:MySql
开发工具:Netbeans
优点:便宜,性能未必最佳,但是对付中小企业足够了
缺点:出了问题自己抗吧
嗯,这是java阵营最大的特色,免费免费,还有在开发工具这一栏Eclipse也是免费的
但后面要说,算了,换个有代表性的开源产品来
tomcat仅有web容器而没有ejb容器,而jboss已经集成了tomcat
也就是说下载了jboss之后,启动的同时也就启动了tomcat
jboss在tomcat基础之上多加了一个ejb容器,使得jboss+tomcat成为和weblogic
websphere之外又一个得到广泛应用的appserver
现在大概是这样,中小型企业多用jboss,如果应用小一点就用tomcat
只有给那些大型企业做的项目,才会花钱去上一个weblogic或者websphere
mysql也是开源的数据库,做得非常不错,如果系统对数据库要求不高
或者安全要求不是非常严格,mysql是一个非常不错的选择
开发工具方面,netbeans是sun公司极力推广的一种IDE
听说在北美市场使用量已经超过eclipse了
操作系统,软件再不用钱,服务器也要钱,看这台机器上跑什么操作系统就用什么了
--
IBM套餐
操作系统:Linux
应用服务器:Websphere
数据库:DB2
开发工具:Eclipse/WebSphere Studio
优点:服务好,IBM可以提供全套服务,也可以替客户承担风险
缺点:把机器数据全部交给IBM,安全什么的都由不得你了
呵呵,IBM全套产品,甚至包括硬件设备IBM的服务器
由于是一个公司的产品,各产品之间的协作自然不错
价格方面,Linux,DB2,Eclipse都是开源产品,Websphere目前零售价是33.8万人民币
IBM服务器不错,可以考虑 --
.net:
微软阵营
操作系统:Windows
应用服务器:.net应用服务器(好像叫IIS)
数据库:SqlServer
开发工具:MS Visual Studio
优点:客户端的用户体验良好,和客户端诸多微软产品的兼容性强
缺点:离开了微软,寸步难行,和其他任何一家公司的产品都不兼容
微软的东西,怎么说呢,太专横了
微软所有的东西都是围绕着windows来做的
.net其实已经可以实现跨平台了,但是微软出于自身商业考虑
在其应用服务器跨平台的实现上设置了种种障碍
而且针对windows,微软做了大量的优化,可以这么看
.net就是与windows捆绑的一套产品
所以有些人说,微软的产品离开了windows,就是渣
而且.net开源选择也少,安全性方面考虑,windows本身就有一堆补丁要打了
sqlserver也不安全,至于.net到底安全不安全我不清楚,毕竟我没怎么用过
但整体考虑,感觉.net不是大企业的首选,鉴于其浓厚的商业背景
也不是中小企业的首选,但是必须看到
客户端也就是微机pc市场已经完全被windows所垄断
所以在一些快速开发,还有和微软产品兼容性要求较高的领域,.net还是比较有市场的
最后一个visual studio对它之前的版本兼容,且支持c,c++,c#,vb等语言
在其传统领域,比如写一些桌面软件等客户端应用上,.net还是第一选择
--
最后要说明的是
这些组合不是固定不变的
由于J2EE得到了绝大多数IT企业的支持以及JAVA跨平台的特性
我们可以自由地定制个性化的组合
比如我可以选择windows+jboss+eclipse+oracle
也可以选择solaris+websphere+IDEA+mysql
等等,这些自由组合都是可以的,但是有一点必须说明
微软的东西,一般来说离开了windows就不能用
比如你选择了.net应用服务器,那操作系统就必须是windows
你选择了sqlserver,那就必须在windows上用
还有就是遵循j2ee规范的所有的组件都可以在不同的应用服务器上互相移植
比如你可以在测试的时候用jboss
而在正式投产上线的时候使用websphere,只需要在配置文件中作相应改动即可