论坛首页 Java企业应用论坛

Without SSH/JSP/Servlet,不走寻常路,Java可以更酷

浏览 213669 次
该帖已经被评为精华帖
作者 正文
   发表时间:2009-11-16  
这种思路很好,借鉴了。
0 请登录后投票
   发表时间:2009-11-16  
Arden 写道
可惜douyu.com/net/cn的域名都被注册完了~~~

那就douyuframework咯
0 请登录后投票
   发表时间:2009-11-16  
作为技术学习还可以,真正的企业级软件在产品发布后不是随便改源代码,也不怎么需要重启服务器,就算要重启服务器,一般都是集群的,可以一台一台更新部署。个人看法,这个框架应该是华而不实。
0 请登录后投票
   发表时间:2009-11-16   最后修改:2009-11-16
很多人没看懂,很多人可能看懂了没评价。单是赞同和附合的意思,我想对楼主是没什么帮助的,我来挑些错,或是说些反对的意见,希望楼主不要太介意。
注, 虽然我下面全是以反对与疑问的方式给出, 并不认为我否定楼主的极积心态以及相应的技术功底.

引用
标题的构思来源于Rod Johnson的那本"Without EJB"以及CCTV5中一句耳熟能详的广告词

Spring最初说法是Without EJB,到最后,发展到现在,它还是实现以EJB的所有功能,然后,它再也不去说Without EJB. 你分析过本质的原因吗?有些东西不是EJB2.0到EJB3.0这么简单。
质变与量变,改良,时间成本,历史原因,理论基础。决定的东西很多。

引用
让编译器跟据这些元数据动态生成类呢

这样做的缺陷是,生成的类无法有效的测试和调试。它本身包含二元悖论:若生成的逻辑简单,那证明生成带来的效益很少,所谓"生成"没什么含义。如果生成的逻辑复杂,无论有效测试和调试,"生成"同样带来了低效。

引用
我在Java语言层次引入了权限管理模型

如果你认为它是优势,我更认为它是一个缺点

引用
不管Hibernate也好,Ibatis2.0也好,相比Rails的ActiveRecord还是逊色了点

仁者见仁,智者见智。
我倒觉得Hibernate远强过ActiveRecord。但我知道这么一说,会引大量的反对。我记得一篇很早的文章http://www.theserverside.com/tt/articles/article.tss?l=RailsHibernate, 这里列出了ActiveRecord强于hibernate的N条优点,我都认为它一条也不成立,反倒我还可例出N条Hibernate做得好而ActiveRecord做不到的。我不想细例引无关的口水,我只能告诉一点,一个从能在27岁时做出那样的成就,它没理由在专注了8年后的今天,会做得更差。

引用
并没有实现与具体业务相关的数据权限,不过在未来的路线图中有打算引入工作流模型

每一个领域都有相应的专家,你认为你是天才?基础平台,业务平台,什么都做,什么都管,最后的结局是你什么都做不了。或者我的意思是,你想重复一次实现整个J2EE体系,是你不能完成的任务。

引用
2.6 再论Action ... 看看Douyu内置的编译器是怎样推断你想要它做什么

推断这一块就涉及很多问题,你这种简单的东西没实用价值,我给你例出几点:
类型识别:具体类,抽像类,接口,子类推断(这里又有可能涉及人工指定或是动太切换等等)。
类的初始化:简单构造,带参构造,初始值,重用
类的生命周期, 与其它DI框架的整合。。。等等,我不想例了。

引用
Douyu的权限模型

你知道为什么现在没有通用的权限框架么?通用性与复杂性的矛盾, 授权界面的全然不同.不是解决什么页面级,字段级,记录级这么简单.
独立于业务逻辑, 用户可配置, 好像你的都没做到.
就细节来说, 权限的分类, 归并, 快速检查, 上下文语义之类, 你全都没有涉及到.

引用
为什么说"以关系数据库为中心的设计思想"并不过时,反而更容易让ORM走上自动化的道路?

也许,试试先OO后DB的不一样的感觉,你不会这么说了。另外,这也是我不看好ActiveRecord的原因之一.
"ORM走上自动化",这句话本身就是有问题的. 旧的系统改造, 是那些简单的Conversion(约定)做不到的. 新的系统, Model和DB基本上是一体化的, IDE早就可自动同步, 点一下菜单就可做到(要是有人把插件改好一点,比方,每隔一秒自动扫一下DB的表的改动,自动同步,那就更方便了). 唯一剩下的就只是设计理念上的东西不同:
对象的划分,性能优先或是业务优先, 藕合高低的度的把握之类.

引用
2.9.6 自动校验

这是一个败笔, 也可能是你没怎么处理。
你这里主要实现了一种较验:
引用
如果把模型类作为控制器Action方法的参数,那么就会自动启用自动校验功能
, 因为你的ORM中的Model是系统运行时自动生成的(好像也不能人工修改,我不确定),那么,DB规则就成了你的较验规则. 这很不够. 实际情况根本不是这样, 比个比较常见的比方, 长度为10的字段, 报错要提示为:只允许用户输5个中文.
另外,更重要的业务规则较验,整合,出错流控制, 自动规则与代码规则的合并与覆盖的问题等等,你都没提及.
我想补充的是, struts, spring mvc, hibernate validation等,在这一块做得都有不错的地方.

0 请登录后投票
   发表时间:2009-11-16   最后修改:2009-11-16
用以一年的时间,lz还是值得敬佩的。
让我想起我一个同学,2年的时间研究C++,都是强人。
0 请登录后投票
   发表时间:2009-11-16  
ZHH2009 写道

Tomcat或者Jetty这样的web容器本质上就是实现了JSP/Servlet规范的容器,
我最初也是只想在Tomcat上做扩展就行了,我还花了3个月的时间专门研究了Tomcat6.0.18的源代码,
但是正如文章开头说的那样,直接扩展Tomcat是死路一条。
现在Douyu内置的Http服务器本质上就是从Tomcat6.0.18改造而来的,
但是不能运行传统的JSP/Servlet代码了,这也是我故意这么做的,
Douyu的目的就是为了淘汰JSP/Servlet。

Douyu内置的Http服务器是基于NIO实现的,如果不是第一次运行Java源代码(就像第一次运行JSP一样),
运行速度就我目前的使用经验来讲,比Tomcat6还快一点。

结论就是: 你用Douyu写的Java源代码不能在Tomcat或者Jetty这样的web容器中运行。
因为Tomcat或者Jetty这样的web容器不能直接运行Java源代码,而Douyu能,这就是Douyu的强项。



你的Douyu能直接运行Java源代码,这算是强项?淘汰JSP/Servlet算是高级?请给我理由,高级在哪里,强在哪里?

ZHH2009 写道

Douyu 目前的版本只是0.1.0,我并不推荐你用到正式项目中,大并发量的应用需要服务器来支撑,
但是Douyu内置的Http服务器目前只是很初级的,我也没做过什么压力测试,
要达到稳定只是时间问题。


如果你告诉我一个框架或者平台有多么多么好,同时告诉我,但是并不推荐你在正式项目中使用,你说我作何感想?

如果要我对你的整个框架做个评价的话,我实在是做不出来。因为任何一个无法投入到生产实践的东西,在我看来都没有任何价值。

0 请登录后投票
   发表时间:2009-11-16  
JAVA界实在太需要这样的东西了!
非常欣赏,很多地方我也有同感,只是受限于时间和知识面无能为力,就算楼主被口水淹了也是值得的,任何好东西刚出来的时候都要顶住传统压力。

不过这个平台的功能最好不要扩展太远,像权限控制个人认为不适合在平台中直接实现,应该做为一个可选的组件提供。
我觉得这个平台应该将实现目标更加明确,缩小或者说“集中”平台的功能。
而且还需要一个更强的数据支持,比如性能测试和比较等。
0 请登录后投票
   发表时间:2009-11-16  
支持一个楼主的钻研精神。问个问题:Douyu框架将如何支持单元测试、集成测试、验收测试?
0 请登录后投票
   发表时间:2009-11-16  
真空跳跃 写道
敢情高手 就是靠刷页面来判断代码能正常工作的
有空来请教一下 嗯

这位朋友还挺搞笑的,既然动态语言好,那你还来java版唠叨个啥
没人跟你争什么语言好
0 请登录后投票
   发表时间:2009-11-16  
真空跳跃 写道
顺便提一下
Intel内部数据测试平台
供200多测试人员 填写测试结果
一天需要对数十万个TestCase做 报表分析
这样的应用算不算企业级

我不自量力的冒充一下高手行吗?

首先,想想intel每年营收是多少
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics