Topic: 转载:一个JAVA项目的反思 |
Print this page |
1.转载:一个JAVA项目的反思 | Copy to clipboard |
Posted by: mabinde Posted on: 2003-02-12 15:30 最近作了一个电子商务项目,由于尝试创新使用了 JAVA SERVLET/JSP技术和其他本人不熟悉的技术, 中间吃了很多苦头,反思一下,有些经历与大家分 享,有些问题也想与诸位大虾探讨一下。 我们的电子商务项目从商业角度而言,完全是一个 普通的电子商务项目,从技术角度而言,如果采用 本人熟悉的NT+SQL SERVER+ASP+IIS,完全没有任何 特殊之处。事实上到最后,经过6个多月在JAVA上 的痛苦挣扎和漫长煎熬,我们放弃了JAVA的全部工作, 转回NT+ASP,1个月就轻松完成全部工作。不过JAVA 将作为下一个版本推出。 项目一开始,为了追赶JAVA狂潮,我们老板就要求使用 JAVA,本人也想趁机学习JAVA,于是就抛弃了现有 的熟悉的成熟的NT技术,转向SERVLET+JSP。 (反思一:在新项目中,千万不要大规模的使用 不熟悉的新技术。) 因为我们项目组的成员对UNIX+LINUX都不太熟悉, 所以将开发平台和运行平台都设为NT+IIS+JRUN+ORACLE。 想着JAVA跨平台,所以这套设置应该问题不大, 以后应该很容易转换。谁知以后却因此大吃苦头!! (反思二:JAVA跨平台并不意味着整个项目的跨平台, 一定要选好运行平台的组合。) 整个项目的设计采用通用的三层结构,浏览器做用户 接口,SERVLET/JSP/IIS+JRUN处理客户请求,后台使用 NT+ORACLE。后来由于IIS+JRUN实在太烂,或者是我们 水平太差,负载一大,老是出问题,就换成了 ORACLE APPLICATION SERVER。原想ORACLE产品有口皆碑, 谁知其中也是垃圾一大堆。到了很后,同一个ORACLE 高手聊天,才知道,ORACLE中诸如ESIGNER,DEVELOPER, ORACLE APPLICATION SERVER等等,都是工业界臭名照著 的烂烂。唉,又中招了!!! 有网友说用IBM WEBSPHERE,我们当初也想过,可惜最终 没有采用,不知他对大负载如何,实用效果如何?? 回头想想,我们的上述平台组合最大的弊病在于采用了 多家技术和产品。因此在出现问题,寻求技术支持时, 各家公司就采取了无耻的扯皮推委手段。微而软推 傲乐寇(ORALE),傲乐寇推爱赖儿(ALLAIR-JRUN), 爱赖儿推微而软。我们不怕花钱,但是最怕花的不明 不白。唉,又中招了!! 有人建议我们应该使用LINUX平台。我们承认NT对JAVA的 支持可能确实有些问题,谁知道鼻儿爱刺(BILL GATES) 有没有下令在NT中内置几个JAVA炸弹!!!他是有劣迹 在先的。但JAVA对我们的跨平台承诺不就成了泡影??!! 我们项目组的成员对LINUX并不熟悉,搭建平台遇到很多 问题。很后的时候,我个人曾经在几台PC上尝试搭建过 LINUX+APACHE+ORACLE+JSERVE+SERVLET+JSP做实验,非常困难。 我承认我对LINUX不是太熟,可是LINUX下安装搭建软件 也太难了吧???!!!轻松装完RED HAT LINUX后, 噩梦就开始了,先是捣枯半天,才装上XWINDOWS,APACHE, JDK,JSWDK。然后花了两整天才装好JSERVE。接下来 装ORACLE更是噩梦!!失败好几次,两周后才让他勉强运行。 中间请教了无数各方高人,查阅了无数令人望之欲吐的文档。 最要命的是这个平台不要说实用,就是连我自己的测试 都通不过,时不时蹦出一些莫名其妙的错误。 那段时间,我的心中充满了挫折感和失败感!!!!!! 我太失败了!!!!!!!!!!!!!!!!!!! 我开始怀念我可爱的NT宝宝!呜呜...爸爸不该喜新厌旧!! 以上是搭建平台的问题,接下来是编程问题,以及所有 纠缠在一起的各类问题。 说句实在话,SERVLET/JSP的开发效率实在太低了,编程 的工作量和难度实在要远远大于相应的ASP/CGI,痛苦!! (我先承认自己JAVA水平不高,但这丫也太难/烦/臭了吧!) 根据我的经验,作为通用编程语言,JAVA无可比拟。 但在WEB编程方面,CGI/PERL,ASP,JAVA所能完成的 功能集合彼此间的差别很小。没有什么东西说是只有 JAVA能做,ASP/CGI作不了,那只是因为你不会作, 而且对ASP/CGI作出来的东西有偏见!!在三者中, 我认为,ASP开发效率最高,运行效率可以接受。CGI 运行效率我认为是最高的。JAVA不管运行效率是否 有大家吹的那么高,他的开发效率实在是太低了。 还有要命的问题是资料太少,除了SUN自己的JAVA站点, 我很少看到其他出色的JAVA站点。SUN的JAVA站点资料 也并不是十分实用,缺少大量的例程和案例分析。相比 之下,ASP/CGI的例程库就十分丰富,基本上WEB编程 无所不包,我早就习惯了写程序前,先参考相应例程的 模式,这样可以节省大量的编程时间,少走弯路。 但写JAVA程序,基本上要从头自己学,自己摸,痛苦! 更要命是遇到问题时,无处求助!不要说高手,就是 相关资料都奇缺无比,只好自己闷头哭练!! 唉,再等个两三年,JAVA资料就会丰富多了!! 有一些关于JAVA的神话,我才不信呢!比如说: SERVLET执行效率高过ASP/CGI,还举出一次编译后长住内存 等很多理由。要知道,执行效率涉及的因素太多,长住 内存并不能意味太多,有本事你拿出工业上的实际 例子,实际经验或测试报告,我马上就服。 通过JAVA+LINUX,我开始意识到为什么MICROSOFT技术口碑 很臭却很吃香!MS技术的开发效率非常之高,易学易用, 其运行效率和运行稳定性也基本上能满足中小企业和一般目的。 我承认大家所有关于MS技术的指责,但是有一点,作为 一家真正的商业企业,他们需要的是投资适中,见效快 的IT项目。MS就满足这一点。反之,LINUX有无数优点, 但使用起来确实要比NT难/烦的多。 总而言之,MS应该在稳定性和安全性方面下工夫; UNIX/LINUX应该在易学易用性方面下工夫。 不过我想,电子商务的发展,已经提出了很多ASP/CGI/JAVA 难以实现的功能要求,而只有JAVA最有希望进行 未来的功能扩充,ASP/CGI由于自身体系结构的弱点, 似乎发展前景有点阴影。 最近惊闻微软打输官司,行将解体,甚是开心。有竞争 才有活力。我相信解体后的WINDOWS系统将会发展的更快 更好。我到不担心LINUX会打败WINDOWS。WINDOWS的一条 易学易用胜过LINUX无数优点。 我坚信:图形界面系统将大面积替代取代命令行系统。图形界面 系统的代表就是WINDOWS。我不认为XWINDOWS是图形 界面的真正代表,他实际是命令行系统向真正图形界面系统 转化的中介产品,一种给命令行系统穿上的华丽外衣。 如果XWINDOWS不作大的革新,他是难以替代WINDOWS的。 这中间的道理,就好象傻瓜相机大面积替代传统相机, 自动档的车大面积替代手动档的车。不是完全淘汰, 而是大面积替代。 微软解体是好事。想当年,如果AT-T不解体, 怎么会有今天的美国电讯大降价,因特网大发展! 告诉国内的弟兄,美国市内电话包月,大概人民币200元 左右,这个不提,现在很多电讯公司推出的全美国内长途, 一般是4毛人民币/分钟,最便宜的有2毛人民币/分钟, (2.5c/minute),效果相当不错。哈哈哈,同不同意 打倒中国电讯,连同后面的哪个制度???!!! 我在中国电讯干过,恶心死我了!!!!!!! 我发表这样的文章来骂JAVA,只是想跟大家分享一下个人思 路。我并不后悔选择JAVA,毕竟学到很多东西。 希望大家千万要继续保持对JAVA的热情和精神。 不管怎么样,JAVA是目前最杰出的语言,而且前途/钱途无量。 趁早挤上JAVA这条船,省得将来微软变得又微又软时翻船。 |
2.Re:转载:一个JAVA项目的反思 [Re: mabinde] | Copy to clipboard |
Posted by: fsword Posted on: 2003-02-12 16:42 java易学难精,而且最要命的是,往往你以为自己懂了,实际上还很难算是熟手,对于一个项目来说,一两个牛人是必需的,有人带大家会让项目组减少不少麻烦,建议你们公司在开展java业务时去挖两个高手(起码也要是熟手,一定要做过东西的)。 另外,说到linux,我觉得debian不错,软件的配置管理很方便——如果你们公司上网不限制的话。当然,如果要在上面做开发,也要找个熟手带领大家才行。 oralce815以前的版本问题太多,推荐817,不推荐9i,没有几个充满bug的前期版本,我是不会用新东西的。 good luck. |
3.Re:转载:一个JAVA项目的反思 [Re: mabinde] | Copy to clipboard |
Posted by: SimonLei Posted on: 2003-02-12 18:14 选择不熟悉的技术本身就是个很大风险的事情, 与选择哪种技术无关。 |
4.Re:转载:一个JAVA项目的反思 [Re: mabinde] | Copy to clipboard |
Posted by: lojo Posted on: 2003-02-12 22:49 我觉的出现这些问题是很多asp开发人员都会遇到的。从asp向java转型是的痛苦的过程,因为java是面向对象的而asp与之对比更像是面向过程。这其中很多编程的基本原则和思维方式是不同的。java不仅是语言它还是平台,这就决定了它不会像asp那样的去设计和开发。 |
5.Re:转载:一个JAVA项目的反思 [Re: lojo] | Copy to clipboard |
Posted by: jmd7 Posted on: 2003-02-12 22:54 语言,平台都不重要,如何改变思维方式,用最直接的方式解决问题。千万不要像有些人那样,用的是java,可还是cobol那套编程方式。 |
6.Re:转载:一个JAVA项目的反思 [Re: jmd7] | Copy to clipboard |
Posted by: floater Posted on: 2003-02-13 00:12 jmd7 wrote: 1. I agree with this wholeheartly. You have to change to the way to think. My company is a die-hard IBM & cobol company, they use java in the cobol way, imagine that, . 2. It takes years to transform the ways to think, to become technically mature. If you want to take a shortcut, it's likely you are going to miss a big piece. It's not tech, it's concept! That's why it's hard to change. 3. Sometimes, I just find people don't know what they are doing at all, . In this case, this guy was doing some daydreaming. Forgive my wording, but it's true. There is an old saying, the shortest way is the way you know! *sigh* 4. If you let a 70s' cobol programmer learn MS stuff, it would be like a MS programmer learning java. It's the unknowns, uncharted water, don't go too boldly. Instead, make yourself better armed first! |
7.Re:转载:一个JAVA项目的反思 [Re: floater] | Copy to clipboard |
Posted by: jmd7 Posted on: 2003-02-13 11:50 floater看来和我都有切肤之痛啊。举个我碰到的例子吧,明明是用一个自定义swing对象可以解决的问题,却还像过程编程那样copy+paste好多遍,光一个初始化method就2000多行,又难读又不容易修改,实在是对java的亵渎啊。 |
8.Re:转载:一个JAVA项目的反思 [Re: mabinde] | Copy to clipboard |
Posted by: floater Posted on: 2003-02-13 12:06 Hehe, last year one of my fellow cobol coders developed java bean with 3000 lines(not counting the underlying bean generated by IBM VA tools), tons of switches, I was speechless, . |
9.Re:转载:一个JAVA项目的反思 [Re: mabinde] | Copy to clipboard |
Posted by: palatum Posted on: 2003-02-14 18:01 转换思想才是最重要的。JAVA不仅仅是一种语言,更是一种思维方式。 |
10.Re:转载:一个JAVA项目的反思 [Re: mabinde] | Copy to clipboard |
Posted by: fooboo Posted on: 2003-02-17 17:40 我是从 PHP 到 ASP 到 JSP 再到 Servlet 的。 感觉语言的转变平台的转变都差不多,当然 Servlet 难一点。 在 Linux + Oracle + Apache + Resin + JSP 配置也不过一天时间就安装好了。 当然这和原来在 Linux 上做过 PHP 分不开的。 我想说的就是在 Linux 上作东西并不像贴主说的那么难。 :) 难的还是在 J2EE 架构下真正的 OO 思想。 ---不过,我到现在还没有体会到 OO 给项目带来的各种宣称的好处!可能功力还是不够深吧! 顺便说一句,微软的 DNA (就是现在的 .Net)架构是和 J2EE 一样优秀的技术。甚至有过之而无不及!象贴主所说的那样其开发效率和学习的容易程度是 Java 社团永远都无法望其项背的!只不过“名声”太臭,---太简单了,挣不了钱,遗憾呀! |
11.Re:转载:一个JAVA项目的反思 [Re: mabinde] | Copy to clipboard |
Posted by: luoq_dl Posted on: 2003-02-18 09:45 有这么夸张吗?我也是从微软平台转向Java平台的,没有遇到你说的那么夸张的问题。 |
12.Re:转载:一个JAVA项目的反思 [Re: mabinde] | Copy to clipboard |
Posted by: copyleft Posted on: 2003-02-21 15:15 完全是拉不出什么就怪什么没有吸力嘛! 装完Linux以后还要装xwindow?看不懂,难道说楼主装系统的时候故意不选xwindow,非要自己去装?装个jdk有什么难的?一个rpm命令就搞定了,连这个基础都没有还用什么linux啊? |
13.Re:转载:一个JAVA项目的反思 [Re: mabinde] | Copy to clipboard |
Posted by: weimecky Posted on: 2003-02-27 23:00 我非常统一后面的几个帖子,有很多东西越直接,就越不会产生持续的效益。在这点上一定要有长远眼光,不要太追求眼前利益了,对于技术和商业方面一定要有“人无远虑,必有近忧”阿。对于java我认为一定要客观实在的看,如果没有企业级别的完整解决方案j2ee的存在,java其实根本没有什么可取的,只是面向对象的实现很好,不过我还是觉得aop对java的面向对象的拓展更加符合人认识世界的客观情况。所以一定要对j2ee和java有个客观的想法,我觉得学习了java和j2ee后,有点开天目的感觉,希望其他同志也有同感阿,呵呵 |
14.Re:转载:一个JAVA项目的反思 [Re: mabinde] | Copy to clipboard |
Posted by: superbible Posted on: 2003-03-01 23:13 是贴主把JAVA想得太简单了!我两年前也是做ASP的,后来转向JSP。 你会发现JSP根本不象ASP那样学了他就可以,JSP的精髓在JAVA语言本身,他只是其中的一小部分。。。 学JAVA一定程度发现OO才是他的精髓...这里已经超出了JAVA本身了,不过JAVA确实是OO的一种良好载体!OO的好处,没有做过一定量的项目的人不易体会,他代表着当今软件发展的方向,是软件行业在新语言不断涌现的后面真正的发展。 这些我估计在ASP里是难以触及的吧!不过现在的VISUAL STUDIO7里的ASP也升级了,可以用升级过的VB7(变成了真正面向对象的语言)作为脚本语言,我估计在可能性上,于JSP相差不大了。 但重点还是,学习语言、工具之上的东西,比如OO的思想等。 |
15.Re:转载:一个JAVA项目的反思 [Re: mabinde] | Copy to clipboard |
Posted by: zilin Posted on: 2003-03-07 14:40 我以前没有用过Java ,哪里有合适的通俗易懂的教学软件或例程可以下载或那位同仁有发给我 |
16.Re:转载:一个JAVA项目的反思 [Re: mabinde] | Copy to clipboard |
Posted by: squall Posted on: 2003-03-17 15:35 合理的使用,合理的设计才是正确的方法 |
17.Re:转载:一个JAVA项目的反思 [Re: mabinde] | Copy to clipboard |
Posted by: dust2k Posted on: 2003-03-18 07:21 java 的优势大家都可以看到,但JSP和Servlet的上手很慢和配置很难是个对初学者很头痛的问题,不可否认楼主是习惯了MS的简单和快速上手的特色,因此对JSP和Servlet抱怨连天,但这不能不从一个侧面说明JSP开发平台配置的困难性和开发的平台软件组合的头疼问题。。。 其实编程不仅仅是技术上的思考问题的方式,语言熟练水平等方面的问题,也包含着个人习惯和某个时期对某个平台个人的看法。。这也是为什么习惯VB的人用ASP上手快,习惯JAVA的人用ServLet快的原因,JSP需要全新的学习,呵呵,就从概念上而言,比单纯OO的又加了一层。。 偶也是从CGI+PHP+ASP到现在JSP和ASP。NET,可是说从ASP过渡到JSP是最困难的时期,好在偶对Linux和Oracle还是很熟悉,网络前台没有任何问题,所以一两个项目以后慢慢就能体会到JSP的优势,呵呵。。然后从JSP到Asp。NET就非常直截了当。。 |
18.Re:转载:一个JAVA项目的反思 [Re: mabinde] | Copy to clipboard |
Posted by: 95588 Posted on: 2003-03-27 15:26 我是个初学者,在win下用什么组合好一点或者是适合初学者?? |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |