一、整合的三个标准(或解决方案)
1. 表现层的整合
像网页一类的整合,属于该层次的整合,在整合到企业平台过程中,相对非常的简单易操作,不用修改企业平台的接口和应用,直接“嵌入”到企业平台即可。但由此带来的缺点如下:(1)在表现层(所在的网页)通过企业平台的“导航(Navigator)”离开的时候,页面的信息和内容将会丢失。(2)表现层的应用,具有相对独立的风格和修饰,与企业平台的整体风格不融合。(3)无法与企业平台底部进行交互,并且针对企业平台的数据没有操控能力。
2.通过代理整合
首先,通过代理将服务器外部的数据取到,然后注入到我们的Portal中(企业平台中);这样做的最大好处在于,针对我们取到的数据,在最终呈现之前,我们可以进行修改删除,即数据可控。这种方法的优点在于有效的整合的表示层和Portal底层,解决了纯表示层的一些问题,但是,针对两者在不同的系统时,却无法正常的工作。
3. 本地整合
最为有效而且无缝整合的是Portal层次的整合,但是,也是最为复杂的一种整合。本地整合需要设计和开发针对Portal的Portlet用来支持所需要的服务,通过事件触发、调用Java APIs或通过SOAP等远程调用等手段来实现。虽然,该方法不是万能的,但是,通过开发实现Portlet的本地整合,却是最能满足用户需求,与企业平台底层更好交互的方法。
而Liferay Portal已经给我们提供了许多开发好的Portlet可供我们选择使用。
二 Liferay 提供用于整合的Portlet
1. IFrame Portlet
该Portlet实际上是将另外一个HTML页面直接嵌入到当前页面,并且,当用户使用Navigator的时候,页面内容并不丢失;是一种最为简单快捷的整合方式。
但是,如果所嵌入的页面包含URL的时候,当用户点击时,有可能会使用户离开我们的企业平台(链接到其他地方)。
2. Web Proxy Integration
该Portlet与IFrame很相似,最用的目的都是将不同的应用和工作流“无缝的”(用户只是感觉在使用一个系统)提供给用户,有效的解决了IFrame中存在的问题,因为Proxy会将得到的数据进行重写或者修改,变成自己的数据。
而且,还可以通过Proxy访问IFame没有权限访问的一些企业平台数据。
3. WSPR Portlet
待研究
4. FULL LIFERAY/PORTLET Integration
该方法主要是自己开发Portlet以满足开发需求