【IT168 评论】在PortalONE V3R1C01版本移植解决方案中,华为提供了两个平台解决方案,一个是Oracle Weblogic Portal V11gr3,另一个是IBM Websphere Portal V6.我们TF-PortalONE项目组分小组的学习了这两个中间件。按照分配,我所在的第一小组组织学习了Oracle Weblogic Portal解决方案,在学习的过程中,我侧重的学习了其内置的Beehive框架,Beehive框架是基于Struts1.1的一个更轻巧、更灵活的MVC框架,它采用注解的方式来配置我们熟悉的struts-config.xml,程序员不需要在配置文件中进行相关的配置,只需要在Controller中的具体方法上面采用注解的形式配置下转发的路径和申明下ActionFormOutput以及一些异常处理的方法名等,它会自动的把你在方法上面配置的内容以常规配置struts-config.xml的方式配置到struts-config.xml中,每一个Controller的入口是一个申明为begin的方法(因为只是简单的入口,一般不需要申明为一个方法,只需要在类的前面简单的申明为一个action,并指名其转发的路径即可),配合Controller类的是一些定义为Control的类,你可以帮这些Control类理解为常规分层架构(Service,DAO,MVC)中Service层,在Control层中你可以调用DAO层的方法进行持久化,Oralce Weblogic Portal中对应的Page,Book,Theme,Look and Feel等一些概念跟原iSAP平台中的概念基本上是一一对应的,在这里就不一一阐述了,Oracle Weblogic Portal平台完全支持图象化界面操作,这在开发过程中大大的简化了程序员的工作。其最大的不足就是学习周期相对于IBM WebSphere Portal平台长,因为Beehive本身的定义的那些标签和Beehive本身框架都需要程序员进行学习,虽说Beehive框架本身是基于Struts1.1 的,但它内部使用注解这样的方式来定义配置文件,很多程序员没接触过注解的,对起配置的方式也很不习惯,再加上它的中午资料可以说是零,这上程序员学习的过程中又增加了一定的难度。
IBM Websphere Portal平台是后来华为平台定下来接触的一个Portal中间件,由于一直用的试用版本V6 Express,所以我从V6 Express 这个版 本总结下我使用过程中的经验。IBM Websphere Portal V6 Express中间件,它里面内置了两中类型的Server,一个是Portal Server,还有个是Application Server,我们平常开发好的Portlet可以一个个的打成WAR包导进Portal Server,然后在Portal Server管理台把刚刚导进来的Portlet与Page关联,这样我们就可以浏览我们开发好的Portlet内容了。这里简单的说下这两个Server的区别,Application Server是IBM WebSphere Portal 的基础(BASE),Portal Server 运行其中,在Application Server 中可以配置Portal Server 的一些性能参数等.Portal Server 更接近程序员,之所以这么说是因为我们开发的application是运行在Portal Server上的,我们开发出的application 在WPS上应用、部署、分配等等,可以用集合的概念来理解这两个Server,Portal Server是Application Server的子集.IBM WebSphere Portal 跟Oracle Weblogic Portal 一样,都完全支持图象化的操作,此外IBM WebSphere Portal 中的Portlet中有一种类型是Struts Portlet,这种类型的Porlet支持Struts框架,这样让程序员感觉更加亲近.IBM WebSphere Portal提供了两套开发接口给用户来调用,一类是常规的应用程序接口(API),另一类是系统程序接口(SPI),SPI提供了Content Model、Layout Model、Navigation Model、PUMA等一系列的接口给程序员来调用。这使得开发上变得更加的简便、容易。IBM WebSphere Portal中的Page,Book,Navigation等概念跟原来iSAP平台中的概念有了一定的出入吧,不过不影响开发,只是需要我们把常规的模型概念稍微的转变一下。IBM WebSphere Portal做的比较不完善的地方是它的权限管理,可能是立足点不同,IBM 认为各个需求商的业务权限难以统一,于是他们开发出的权限管理模型中仅仅规定死了几种权限,然后权限跟具体的用户关联。这样一来,如果你的项目中业务上需要分配的权限模型比较复杂的话,IBM WebSphere Portal的支持就不是很好,它可能会建议你业务上的权限管理模型需要你自己开发,涉及到Portal上的权限则调用它的权限管理模型,此外IBM WebSphere Portal 权限管理是不对外提供接口的,这让基于该中间件开发的程序员很是无奈.
以上只是我个人对初步使用关于Oracle和IBM Portal中间件的一点看法,个人感觉总结的很粗糙、浅显,如有什么不正确的地方,欢迎大家批评指正,谢谢!