Java企业系统架构选择考量

05-09-26 banq
现在各种框架满天飞,表现层的,逻辑层的,持久层的,作为应用为主的初学者实在不知道该如何选择,本文提出一些考虑因素:

http://www.jdon.com/artichect/java_ee_architecture.htm

banq
2005-09-27 17:58
推荐Tapestry和HiveMind创建者Howard Lewis Ship的Blog

http://howardlewisship.com/blog/

他的设计思想超前,思维方式独特,从Tapestry推出就可以看出,Jdon框架非常类似HiveMind,HiveMind的很多思想也是我设计Jdon框架时的想法,HiveMind走的更灵活一些,而Jdon框架则只侧重快速开发。

banq
2005-09-28 09:26
整理了一下,基本定稿,欢迎讨论。
本文观点只是代表2005年中期的想法,当然文中也兼顾了一些发展方向的讨论,如4GL RAD Tools;完全灵活的框架等。

tikii
2005-09-29 15:32
你的那个例子代码跟spring jdbc abstraction没什么两样阿。

banq
2005-09-30 10:13

Jdon框架原来没有使用Jdbc模板,后来网友建议,和Spring有些区别,你仔细对比会发现并不一样。使用方式也不太一样。

jdon框架并不是完全与Spring不一样,其实很多地方还是类似的,在拓展Jdon框架时,也将Spring源码翻了个底朝天,通过这样对比,既搞懂了Spring原来的一些深入的设计,知道其优缺点。

banq
2005-10-08 15:43
Java已经失去无往不胜的光环:

http://www.loudthinking.com/arc/000517.html

开始有人抱怨使用Java开发Web网站系统,类似大炮打蚊子,并且推荐Ruby on Rails ,甚至提出Ruby on Rails 是Web系统主打选择?

其实象Jdon Framework这样简单快速开发Java框架正是解决一些Web系统开发问题,一般Web开发如网站 论坛等,大部分不需要复杂的事务机制(就是需要通过直接调用JTA也可以完成),能够解决Master-details这样结构即可,性能不能差,访问量很大时能顶住。

这些条件Jdon框架基本都能够满足。而且选择Java更重要的好处是,当你的系统扩展时,你可以通过引入EJB等将你的小的Web网站系统变成一个大型系统。

google ebay等网站都是从小的Web系统开始发展壮大,现在它们服务器数以百计,它们的增长速度是惊人的,如果在这个每年几百倍的增长过程中,你向CEO报告,对不起,网站软件经不起访问量,得花两年时间重新编写,让软件信息系统拖住企业发展的后腿,这是很多企业快速增长失败的原因。

liuyifan.com
2005-10-09 16:15
连思想都在拷贝,

怎么还好意思仰着脸说话,

自己喜欢玩也就罢了,还要教后生跟你一块疯!

banq
2005-10-10 15:53
想法一样有两种可能性:拷贝或英雄所见略同。

我可没那么多时间泡在英文网站中,要做框架1.3版本,要混饭吃,还要休息,偶尔看看外文看看自己的研究方向是否偏离,保持一致。

无论是拿来主义或创新,都是应该值得鼓励的,当然后生们会支持。当然你的理想批判也是需要的。

javalearner
2005-10-13 16:33
还以为Jdon框架有多么高明,
String sql = "INSERT INTO testuser (userId , name) VALUES (?, ?)";
List queryParams = new ArrayList();
queryParams.add(userTest.getUserId());
queryParams.add(userTest.getName());
jdbcTemp.operate(queryParams,sql);
怎么这么象spring JdbcTemplate,再说apache commons-dbutils也有差不多的实现啦,还在吹!真是.........

banq
2005-10-14 11:01
这个和Spring jdbc Template不一样吧,下面是Spring语法:

jt.update("update mytable set name = ? where id = ?", new Object[] {name, new Integer(id)});

我真搞不懂Spring为什么引入数组,我个人最反对数组的,容易出错,出错后难以查找,喜欢用数组应该说是早期Java程序员的习惯。

Hibernate和Toplink一样,难道他们也是互相拷贝?

没有模式概念的人看两个产品,怎么那么象?就象外行人看热闹啊。

wangwei1998
2005-10-19 10:05
String sql = "INSERT INTO testuser (userId , name) VALUES (?, ?)";
List queryParams = new ArrayList();
queryParams.add(userTest.getUserId());
queryParams.add(userTest.getName());
jdbcTemp.operate(queryParams,sql);

嘻嘻,用通用SQL模版,用ArrayList加载和传递结果,这个怎么跟我的自己设计的DBProcess几乎一模一样??
BTW:我的DBProcess这个东西完全自己设计,使用JavaBean,目前在4个大型电子商务网站使用。(最大的一个网站日pageview接近400万,日在线交易订单接近一万个订单,完全没有性能的问题)

banq
2005-10-19 10:35
相同不奇怪,进入一定深度,大家都会想到一个合理的相同的解决方案,这才叫符合规律。

能否请wangwei1998 透露一下你的这些成功网址架构设计经验?

wangwei1998
2005-10-19 17:46
做过了4年的Java,并且专注于web应用,深入不敢,经验到还有些。
其实,对于开发人员来说,快速开发、灵活定制和方便部署,对项目的成功最为重要,很多的想法和做法其实也就是为了避免项目开发和实施的失败。
在去前年的时候,当时我也认为基于XML配置语法的配置是简化和发展趋势,但观察和尝试了半年多,基于XML配置语法并没有带来多大的方便性,反而面对大堆的xml文件,会发现很多问题其实卡在那里了,加上当时Java对XML的支持并不高效,因此对性能的提升没有什么好处(当然也有不少地方使用了XML配置文件会显得方便和轻便)。
web数据库应用需要对速度、性能、负载均衡有相当大的考虑,尤其是部署、升级、扩展和系统运行时failover的能力,后来考虑了不少时间,仍然采用了类似SQL模版的方式来开发,采用纯javabean的结构,对数据库结构、javabean、应用的模式和结构作了些研究,大约半年时间就基本定型了,因为觉得开发人员最终对SQL是比较熟悉的,最容易理解和维护,在此基础上前前后后开发和部署了接近十套系统,有网站、进销存、OA等,总体来说自我感觉还算不错,客户也比较满意。
本人熟悉Java web开发、Resin/JBoss,应用方面主要是做电子商务和进销存系统,希望与大家多交流。不过本人泡论坛时间太少,03年就在jdon注册了,时不时也来看看,两年了还是第一次发帖,仅仅是有感于这篇文章的内容和本人这几年来对Java系统架构的考虑还是比较一致,才说两句 :)

wangwei1998
2005-10-19 17:56
对于个人来说,我更倾向于基于纯粹的Java API开发,而不是把一些东西“拼凑”起来(说明:这里的拼凑一词没有贬义的意思),因此,对Spring、Structs、Hibernate等框架也没有深入了解,也没有心情去了解,因为我感觉这些框架的目的都是一样的,只是实现的手法和思路不同,自己也可以做一套类似的框架出来,可以对更多相关的领域考虑得完全一些,尤其是JDBC、JavaBean、WEB、Loadbalance实现等,有更完整的认识,至于事务和复杂度要求更高的企业应用,本人觉得轻量化后的EJB3反而是更值得考虑的方向。

banq
2005-10-19 20:13
wangwei1998原来是老用户,在项目百忙中与我们分享实战心得,Jdon非常欢迎你这样的心得,你的很多认识我个人认为是实战性很强,技术以人为本啊

2Go 1 2 下一页