【问题标题】:Liferay for delivering RIALiferay 用于提供 RIA
【发布时间】:2010-09-03 14:08:35
【问题描述】:

我目前正在研究 Flex 和 Liferay 以提供 RIA。我们正在替换基于内部 AJAX/Java 库构建的相当大的现有应用程序。为此,Flex 似乎满足了我们的开发需求,但我们已经投入了一把扳手。我们需要与另一个基于 Liferay 和 JSF 构建的内部应用程序集成。

在稍微研究了 Liferay 之后,我不相信它会给我们现有的应用程序带来任何好处,因为通过 portlet 交付似乎除了实现与其他应用程序的集成之外没有任何固有的好处。它似乎也有许多缺点,包括 swf 和页面其余部分之间的流畅交互、挂钩 Liferay 的用户管理以及它们普遍缺乏面向开发人员的文档。

在我看来,如果您需要内部 wiki/新闻/社交应用程序,Liferay 是一个很好的解决方案,但是为了提供强大的 RIA,我们似乎正在尝试在圆孔中安装一个方形钉。

我的问题是:Liferay 是用于交付完整的 RIA 应用程序,还是更适合交付小型应用程序的平台?我是否遗漏了 Liferay 的某些方面使其非常适合 RIA?

提前感谢您的任何建议!

【问题讨论】:

    标签: apache-flex ria liferay


    【解决方案1】:

    您可以轻松地将 Flex 应用程序显示在门户(Liferay 或其他)中,但您可能会遇到以下问题:

    1) 典型的门户服务器在服务器上保存所有状态 - 对于所有 portlet。每次交互都会导致页面刷新,它会根据服务器端状态重新呈现页面上的所有内容。对于 Flex 应用程序,您通常不需要服务器上的状态。而且您不希望每次交互都重新加载 Flex 应用程序。一些门户越来越多的 Ajax'y 解决了部分问题,但在 HTML portlet 或门户 chrome 中总会有一些交互导致页面刷新。这意味着 Flex 应用程序必须做一些工作才能在页面刷新之后保持状态。一种简单的方法是使用 LSO,但这需要大量额外的管道代码。

    2) Inter-Portlet-Communication(在 JSR 168 门户中)基于页面刷新通过服务器。这也不适用于 Flex 应用程序。 JSR 286 试图解决这个问题以支持 Ajax portlet IPC。在此之前,让 Flex 应用程序与标准 IPC 一起工作是困难的(但可能)。

    3) 门户的很大一部分是权利、自定义和偏好。这些都很难从 Flex 中使用和交互。在 JSR 168 门户中,没有这样做的标准方法。在 JSR 286 中有一个标准可以让 Flex 更轻松地读取和更新用户偏好。

    4) 使用 WSRP 和其他远程 portlet 技术,门户服务器可以使用远程 portlet 并将所有请求代理回 portlet 提供者。使用 Flex,这更困难,因为门户服务器不知道如何代理 Flex 请求(HTTPService、RemoteObject、DataService 等)。在许多情况下,唯一的解决方案是允许最终用户的机器直接与门户生产者服务器对话。然而很多时候这会给 IT 带来问题,因为这意味着将另一台服务器移动到 DMZ 并可能绕过门户服务器、SSO 服务器、安全设备等施加的安全限制。

    【讨论】:

    • 感谢詹姆斯的信息。我们已经遇到了您在回复中所说的大部分内容,并一直在尝试找出解决方案。我的主要问题是是否有人在使用 Liferay(或其他门户服务器)来交付丰富的应用程序。考虑到我们的应用程序,如果在门户环境中运行,它本身会在页面上,并且考虑到您提出的所有其他问题,是否值得尝试沿着门户服务器路径走下去?
    • 我认为这取决于您是否真的需要门户网站的功能。如果你这样做了,那么 Liferay 是一个不错的选择。
    【解决方案2】:

    看看www.qooxdoo.org。这是一个完全用 javascript 编写大型应用程序的框架。它结合了出色的 GUI 控制与类似 java 的 javascript 编程范例和最终应用程序的巧妙构建过程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多