无题

好久没更新博客了,最近一直忙着弄Oracle ADF和SOA。这几天又有一个PHP的项目,过年也许要加班了。

ADF Faces在UI上确实大大提升了效率,提供的控件基本能满足我的要求,相比起之前用的ASP.NET好很多。JSF Lifecycle和ADF客户端组件能够很方便的控制事件,不过服务端的事件有些小bug,比如Select Boolean Checkbox的ValueChange,不是每次都能正确唤起listener。

ADF BC相对来说就有些问题了,主要是不好绑定。如果是用JSF,UI的逻辑和数据都是绑定Managed Bean,而BC只是绑定数据,要实现业务逻辑,就要通过Business Services,问题就是BC提供的方法绑定起来不方便。特别是在PageFlow,不好实现复杂的业务逻辑。个人觉得,最好是在pageflow引入soa suite的bpel。

BC另一个问题,就是不够轻便,基本上所有的持久化框架都有这个问题。 本来数据库就有事务管理机制,但BC又有自己的State Management,AM产生的脏数据还必须写到数据库里,从数据库的角度看,是多此一举。本来管理数据库连接池已经够麻烦,现在还需要管理AM池。谁让http是无状态的呢,持久化层要想实现事务管理,就不得不将简单的东西复杂化。

 总之来说,ADF框架在简化开发的同时,也提升了入门门槛。如果是初次使用ADF,项目的整个周期会大大滞后。

你可能感兴趣的:(无题)