Skip to Main Content

Chinese

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

JSF, JPF, Struts, SDO小探

702619Aug 12 2004 — edited Oct 10 2007
一直对这几个概念不是非常清楚,一直对学习JPF心存疑虑。这几天,花了一点时间,大致上看了一下这几个东西的文档,有了一点收获,和大家探讨一下。

Struts:不用多说,大家都非常熟悉了。

Service Data Object(SDO)是JSR235讨论的一种简化数据访问的结构。在Web应用中,可以使数据源对开发人员透明。

J2EE标准的Java Server Faces(JSF),BEA的JPF,都是基于Struts的,那么有一些什么区别呢?

JSF更多的是关注于页面的表现,很多结构和Struts非常相似。事实上,JSF的操刀者正是Struts的作者。可以在JSF中非常明显地看到,设计思路是在Struts上的提高和完善。比如,在Struts中,ActionForm事实上就是一个Bean,储存了数据。在JSF中,直接引入了Managed-Bean的概念,这些储存有数据的Bean可以直接放到页面上,这些Bean由程序员完成,美工只是直接把BEAN拖放到页面上,这样,进一步分割了Model和View,简化了开发过程,更加便于协作开发。

BEA的JPF更多地注重页面和数据的绑定。事实上,绝大多数的动态Web页都涉及到数据的读取和存储,JPF封装了大量的数据绑定功能,也简化了这一类的开发。

从IBM的红皮书上可以看到,现在IBM的所有涉及到JSF的例子,都用了WDO(WebSphere Data Object)。我的理解,这是SDO的一种。事实上,SDO还只
是处于JSR状态下,IBM实现了部分的SDO规范的功能。在IBM的例子中,可以看到,通过JSF和WDO/SDO,页面可以很容易地绑定数据,显示数据。

这一点,和BEA的JPF有异曲同工之妙。巧合的是,JSR235 SDO规范专家组的领头人正是BEA和IBM。

由此,我得出如如下的结论:
1、JPF是基于Struts的,将来会基于JSF
2、JPF和Struts/JSF不是一个层面的东西,JPF是比后两者更高级的框架
3、JPF在某种程度上,是BEA的SDO实现,将来的SDO正是规范中,必将有JPF的影子
4、虽然IBM现在在热推JSF,但是其红皮书中承认,JSF目前还是非常新的技术,并不完善,还有待于得到广泛的支持。Apache正在开发JSF-Struts库,
以便于Struts到JSF的迁移。所以,现在不必急追JSF,有了扎实的Struts知识,迁移到JSF不会太困难
5、学习JPF是安全的,(这和我以前的观点不同,以前对于JPF了解不深刻,向BEA致歉),将来的SDO会有JPF的影子。

欢迎大家讨论。
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Nov 7 2007
Added on Aug 12 2004
44 comments
4,483 views