JiveJdon Community Forums
在线311人 J道首页 | 论坛首页 | 培训咨询 | 开源框架 | 精华 | 查搜 | 注册 | 登陆 |
首页 » 论坛 » 开源项目大家谈
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表
???en_US.forumThreadNext.name??? 下一主题
这个主题共有 37 回复 / 3 页 [ 1 2 3 下一页 ]  发表新帖子  回复该主题贴
banq

发表文章: 8929
注册时间: 2002年08月03日 17:08
Gavin King真正走上EJB路线,推出基于JSF/EJB3的快速开发框架JBoss Seam 发表: 2006年06月15日 18:27 回复
JBoss Seam 1.0是试图给出一种基于JSF+EJB的快速开发框架,是和ROR和JF类似一种框架,我最为看中的是其终于意识到状态管理是框架基本重要的功能了,而这点正是Spring缺乏的:
1.A unified component model centered around EJB.
围绕EJB的组件模型。
2. Raises the semantic level of development.
提高开发阶段层次。
3. A new contextual component model / higher level state management over HTTPSession.
基于HttpSession的高层次组件架构状态管理。
4. DRW-style AJAX EJB invocation and the ability to recieve JMS messages in the browser.
DRW风格的AJAX EJB调用方式(实际EJB remote调用)
5. Support for process-driven applications.
过程驱动应用支持
6. Portal integration.
门户整合,可和JBoss Portlet整合
7. Testability.

http://www.theserverside.com/news/thread.tss?thread_id=40908
banq

发表文章: 8929
注册时间: 2002年08月03日 17:08
Re: Gavin King真正走上EJB路线,推出基于JSF/EJB3的快速开发框架JBoss Seam 发表: 2006年06月15日 18:30 回复
又出来一个Web Beans标准 Web Beans
http://jcp.org/en/jsr/detail?id=299

专为JSF/EJB3使用的,看来Beans规定真不少啊
banq

发表文章: 8929
注册时间: 2002年08月03日 17:08
Re: Gavin King真正走上EJB路线,推出基于JSF/EJB3的快速开发框架JBoss Seam 发表: 2006年06月16日 08:58 回复
这件事情解释了三个疑惑:
1.当初作为Hibernate创始者 Gavin King进入JBoss后,表示他将自己的新鲜理念来增强EJB

2.本人在EJB vs Spring中一直强调Spring没有Session状态管理缺陷,并且专门写文章“状态对象:数据库的替代者”http://www.jdon.com/artichect/state.htm
而JdonFramework从1.2版本后就支持基于HttpSession的状态管理。

3.Seam是使用在JSF+EJB架构下,而Struts目前应用最广,而JdonFramework可以使用在Struts+EJB获Struts+POJO架构下,有人曾经责问:已经有EJB,还需要JdonFramework做什么?这个问题同样可以问问Gavin King了,他为什么还要做基于JSF+EJB上的框架?


banq

发表文章: 8929
注册时间: 2002年08月03日 17:08
Re: Gavin King真正走上EJB路线,推出基于JSF/EJB3的快速开发框架JBoss Seam 发表: 2006年06月30日 14:44 回复
这件事情同时又说明另外一个问题:

有人说:Struts+Spring+Hibernate是一种非常好的架构选择,我想,Hibernate创建人Gavin King可能不同意这样的架构选择是最完美的,否则,Gavin King不会再重新发明相同轮子,再次开发Seam。

Gavin King开发Seam是目的将那些被Rubby on Rails(RoR)吸引的程序员再次吸引回来,为什么认为能够吸引回来?前提是RoR肯定又不足之处(如将业务写在MVC的COntroller中,混淆层次,这是以丧失可维护性换来的快速性)。

再向前推理,为什么那么多热衷于Spring的人突然被RoR吸引,因为RoR肯定又Spring所没有,但符合程序员要求的心理,那是什么?快速简洁,也就是说,真正使用Spring开发一个完整带权限的项目,并不真正象他宣言和Demo展示的那样简单,甚至巨复杂,看看号称经典组合的Spring + Acegi关于实现基于容器的URL访问权限和组件访问权限的配置文件,配置行如此复杂,你的将来被捆绑在Spring下一个子框架Acegi上,Spring不是号称优雅解决一切吗,为什么Acegi的权限配置如此让人看不懂?
看看那下面的配置:
http://www.jdon.com/jive/thread.jsp?forum=61&thread=25141&message=18262459#18262459

在使用Struts+Spring+Hibernate架构中,最大的缺失就是:没有状态管理支持,只依靠Hibernate那点可怜的缓存是不行的,但是直接使用EJB的有态Bean本身又有不方便之处,这也就是Seam突出状态管理特点的原因。

没有感到Session支持这种缺憾的程序员都是因为他没有状态设计概念,他实际是使用这种架构做他的围绕数据库编程的软件系统,然后自我安慰以为达到OO设计最高水平,进而狂欢Struts+Spring+Hibernate简单得不是高科技了,都是自欺欺人罢了。

没有状态管理支持的意思就是:使用数据库持久替代状态管理,不使用内存缓存支持状态管理,打个比喻,当你在编辑文档时,是不是每个敲入每个字后,都要保存一次?我想大多数人不会因为怕掉电坠入如此神经质的操作中,但是你在企业开发时,为什么每次将新的状态数据都保存到数据库中进行持久呢?

所以,我们需要基于内存(如httpSession)的状态管理,而不是基于数据库,如果不抛弃数据库概念,就不能完全坚持OO面向对象的思维,就会产生思维方式的错误,见下面案例提问:
关于要经过7,8次审核的商品发布数据库设计:
http://www.jdon.com/jive/thread.jsp?forum=46&thread=27544


也就是说:在java世界中,没有一个架构象.NET世界那样主宰世界,包打天下,完美无缺,总是各有所长,我也不相信有完美无缺的架构,如果微软硬说它的东西是,那么出问题的就是微软本身,所幸bill gates 2008年前就退出日常管理了,他的时代要画个句号了。

banq

发表文章: 8929
注册时间: 2002年08月03日 17:08
Re: Gavin King真正走上EJB路线,推出基于JSF/EJB3的快速开发框架JBoss Seam 发表: 2006年06月30日 14:47 回复
我的最终目的不是说:EJB就是好,如果你得出这个结论,而且你认为板桥里人我就是维护EJB的,说明你的脑子还是简单了点。

在java世界中,没有一个架构包打天下。

如果说EJB2.0忽悠了你,那么Spring是不是也在另外一处忽悠了你呢?如果说RoR好像不错,但是是不是又在某处忽悠了你?按起葫芦飘起了瓢,这在java世界反复上演。

所以,你当心EJB3和Seam再次忽悠你。
houwei

发表文章: 2
注册时间: 2003年04月26日 08:13
Re: Gavin King真正走上EJB路线,推龌JSF/EJB3的快速开发框架JBoss Seam 发表: 2006年07月01日 00:22 回复
Hey Banq,

Please read the Seam Doc or implement some example by Your self . then Judge it ! otherwise You just Bushit!
banq

发表文章: 8929
注册时间: 2002年08月03日 17:08
Re: Gavin King真正走上EJB路线,推龌JSF/EJB3的快速开发框架JBoss Seam 发表: 2006年07月01日 09:43 回复
to houwei
我先show给你Seam中一个忽悠之处:
在http://docs.jboss.com/seam/1.0.1.GA/reference/en/html/tutorial.html#d0e198
中Example 1.2. ,有下面一段代码:



@Stateless (1)
@Name("register")
public class RegisterAction implements Register
{

@In (2)
private User user;

@PersistenceContext (3)
private EntityManager em;

@Logger (4)
private Log log;

public String register() (5)
{
List existing = em.createQuery(
"select username from User where username=:username")
.setParameter(
"username", user.getUsername())
.getResultList();

if (existing.size()==0)
{
em.persist(user);
log.info(
"Registered new user #{user.username}"); (6)
return
"/registered.jsp"; (7)
}
else
{
FacesMessages.instance().add(
"User #{user.username} already exists"); (8)
return null;
}
}

}



这是表现层的Action/Controller,这个Action中耦合了数据库操作 以及Jsp界面输出(如return "/registered.jsp"),这不又回到两层结构吗?快速开发是靠压扁层次吗?如果是这样的创新,地球人都知道。

作为表现层的Action/Controller其实是一个Mediator模式实现,主要负责前后台交互(复杂系统中前后台交互逻辑非常复杂,Action和流程配置一起担负这项任务),前几天我们还在批判Action中不要写业务逻辑:
http://www.jdon.com/jive/article.jsp?forum=16&thread=27452

Gavin King倒好,不但在Action中写业务逻辑,数据库Dao也拉进来了,确实够快的,但是这样做但容易误导初学者了吧?

jacal

发表文章: 51
注册时间: 2006年03月23日 20:30
Re: Gavin King真正走上EJB路线,推出基于JSF/EJB3的快速开发框架JBoss Seam 发表: 2006年07月01日 11:27 回复
其实,jdon就挺好用的,对于普通的程序员来说
banq

发表文章: 8929
注册时间: 2002年08月03日 17:08
Re: Gavin King真正走上EJB路线,推出基于JSF/EJB3的快速开发框架JBoss Seam 发表: 2006年07月02日 09:31 回复
多谢Jacal支持,好但是当初没有国人识别,有一个参与"Spring开发指南"重要知名作者当初还责问我:你的框架好,为什么没有看到国外同类框架冒出来呢?

时隔一年,现在他可以看到了,JBoss Seam, Spring 2.0的new Beans Scope,以及最新的状态管理专用框架Scopes。

Scopes是一个新的Web应用scope使用框架,使用Scopes,就不必使用HttpServletRequest.getSession().getApplication().getAttribute这样的语法保存你的状态对象了。

TSS上有人又大发厥词,认为Scopes诞生是受JBoss Seam的鼓舞,其实这是程序开发应该考虑的基本事情,我的JF从诞生开始就已经整合业务层的状态支持,那时候只有Spring 1.0和RoR在大呼小叫呢。

有时不小心和国外软件走了并列第一也是有可能的,问题时很多国人熟视无睹,最终还是认为国产软件差,其实国产软件整体水平上去,不是靠一两个人,靠机制。
http://www.theserverside.com/news/thread.tss?thread_id=41119
banq

发表文章: 8929
注册时间: 2002年08月03日 17:08
Re: Gavin King真正走上EJB路线,推出基于JSF/EJB3的快速开发框架JBoss Seam 发表: 2006年07月02日 11:55 回复
就目前Java框架状况,小结如下:不足之处请补充:

1. EJB3 可惜只有JBoss ORacle几家支持,时隔1年多IBM和BEA巨头还未成熟服务器。所以,JBoss Seam目前还只好先于JBoss AS捆绑在一起,Seam也不是IOC/AOP框架。

2. Spring 2.0 虽然亡羊补牢,为时未晚,可惜编译器换了,不能用Java标准编译器,那是不是在语言上走向另外一个方向?而且根据运行时动态更换软件组件设计原则,Spring 2.0将AOP weaving做成了静态,是不是设计倒退?虽然性能提升了。

3. RoR, 不是Java框架,万一系统不小心做大了,不知向何处发展?还将业务代码和MVC的Controller混淆在一起编程,减少架构层次达到快速开发的招,地球人都会,这是以丧失软件质量为代价的快速开发。

4. Scopes,独立的对象生命周期管理的框架,可以管理对象状态长短,可适用在J2EE和Swing当中,刚刚出来,状态管理是一件很复杂很灵活的事情,是否成熟有待观察。

5.JF, 国人开发的框架,因为观念问题,未获得国人广泛认同,所以,维护只能靠Jdon;进而又阻碍其广泛应用。
YuLimin

发表文章: 25
注册时间: 2007年01月21日 12:47
Re: Gavin King真正走上EJB路线,推出基于JSF/EJB3的快速开发框架JBoss Seam 发表: 2006年07月02日 16:35 回复
我关注它的Web 2.0支持、Portlet、BPM、JBI
大愚弱智

发表文章: 17
注册时间: 2004年09月16日 17:25
Re: Gavin King真正走上EJB路线,推龌JSF/EJB3的快速开发框架JBoss Seam 发表: 2006年07月04日 13:10 回复
这只不过是一个demo罢了,有什么好忽悠的,熟练JAVA的开发人员是不在乎什么框架的,而是随心所欲的使用JAVA,崇尚自由,不要被框架所框死,只要能有用就OK,我现在在简单应用中还使用servlet来控制页面跳转呢,随爱怎么所就怎么说。









> to houwei
> 我先show给你Seam中一个忽悠之处:
> 在http://docs.jboss.com/seam/1.0.1.GA/reference/en/htm
> /tutorial.html#d0e198
> 中Example 1.2. ,有下面一段代码:
>
>
>

> @Stateless
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> (1)
> @Name("register")
> public class RegisterAction implements Register
> {
>
> @In
> In
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> (2)
> private User user;
>
> @PersistenceContext
> xt
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> (3)
> private EntityManager em;
>
> @Logger
> er
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> (4)
> private Log log;
>
> public String register()
> ()
>
>
>
>
>
>
>
>
>
>
>
>
> (5)
> {
> List existing = em.createQuery(
"select username
> rname from User where username=:username
")
> .setParameter(
"username",
> ername
", user.getUsername())
> .getResultList();
>
> if (existing.size()==0)
> {
> em.persist(user);
> log.info(
"Registered new user
> new user #{user.username}
");
> (6)
> return
"/registered.jsp";
> ed.jsp
";
>
>
>
>
>
> (7)
> }
> else
> {
> FacesMessages.instance().add(
"User
> dd(
"User #{user.username} already exists");
> (8)
> return null;
> }
> }
>
> }
>
>

>
> 这是表现层的Action/Controller,这个Action中耦合了数据?> 操作 以及Jsp界面输出(如return
> "/registered.jsp"),这不又回到两层结构吗?快速开发是靠
> 贡獠愦温穑咳绻钦庋拇葱拢厍蛉硕贾馈?>
> 作为表现层的Action/Controller其实是一个Mediator模式实?> ,主要负责前后台交互(复杂系统中前后台交互逻辑非常复杂
> Action和流程配置一起担负这项任务),前几天我们还在批?> Action中不要写业务逻辑:
> http://www.jdon.com/jive/article.jsp?forum=16
> thread=27452

>
> Gavin
> King倒好,不但在Action中写业务逻辑,数据库Dao也拉进来?> ,确实够快的,但是这样做但容易误导初学者了吧?
>

大愚弱智

发表文章: 17
注册时间: 2004年09月16日 17:25
Re: Gavin King真正走上EJB路线,推出基于JSF/EJB3的快速开发框架JBoss Seam 发表: 2006年07月04日 16:38 回复
其实过多的讨论好像是没有用的,JBoss的好是世界公认的,我仿佛记得还获得了一个什么奖,RedHat所以因此而收购JBoss。

JBoss Seam是很多程序员的劳动结果,就凭它是JBoss的项目,就值得我们去学习。
反观JF,说实在的,实在不敢用,因为不出名,使用的人很少,出了问题也不知道找谁。

并不是我们天生看不起国产,而是我们水平确实比不上人家,这是事实,不得不承认。
JF现在有多少人在开发和维护呢?假如是一个人单打独斗开发和维护,我真的不敢使用。
JBoss现在有很多人在开发和维护,而且JBoss有大公司支持,比如RedHat,我们信赖。
现在的开发框架满天飞,到处都是,我甚至想:哪天我自己也写一个servlet的分派器,功能尽量简单点,不也是一个框架么?




Seto

发表文章: 1
注册时间: 2006年07月05日 09:17
Re: Gavin King真正走上EJB路线,推出基于JSF/EJB3的快速开发框架JBoss Seam 发表: 2006年07月05日 09:18 回复
其实何必在意框架什么的。。。开发讲究的是模式思维,只要不要被框架框死了,那就OK了
大愚弱智

发表文章: 17
注册时间: 2004年09月16日 17:25
Re: Gavin King真正走上EJB路线,推出基于JSF/EJB3的快速开发框架JBoss Seam 发表: 2006年07月05日 11:50 回复
Spring、hibernate其实都非常不错,起码对我们是足够用了,我自从04年以来一直使用SpringHibernate,先后实施了3个项目,前两个比较简单,现在这个稍微大了点--有100多张表,估计能算得上中等规模的项目吧。项目开发将近一年了,大部分的问题我们都遇到过,而且都能解决,能很快解决问题原因也很简单:
1.Spring和Hibernate本来就不复杂,学习成本很低。我们这边招来的刚毕业的学生学习一两个月就能进入开发,而且开发效率也不慢。
2.Spring和Hibernate的帮助文档齐全,源代码可读性比较好--结构清晰,段落分明。
3.论坛帮助很多,很多人都在使用和讨论。

我最近正在研究如何把SpringHibernate的框架迁移到基于EJB3.0的框架上,JBoss Seam我也大致看了一下,Seam可以把一个bean注入到Action层(控制层),但我对JSF不是很感兴趣,尽管SUN极力鼓吹JSF的好处,却无法打动我,因为JSF的标签库过于复杂。MVC框架的选择还是比较多的,不一定要使用JSF。



> 其实何必在意框架什么的。。。开发讲究的是模式思维,只要
> 灰豢蚣芸蛩懒耍蔷OK了

这个主题有 37 回复 / 3 页 [ 1 2 3 下一页 ]
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表    返回页首  返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Spring Struts
查询本论坛内 回复超过的热门帖子
快速发表回复
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
 

解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-07 jdon.com

anti spam