Apache flex 用于放射免疫分析的Liferay

Apache flex 用于放射免疫分析的Liferay,apache-flex,ria,liferay,Apache Flex,Ria,Liferay,我目前正在寻找Flex和Liferay来提供RIA。我们正在替换一个构建在内部AJAX/Java库上的相当大的现有应用程序。因此,Flex似乎满足了我们的开发需求,但我们在工作中遇到了麻烦。我们需要与另一个基于Liferay和JSF构建的内部应用程序集成 在仔细研究了Liferay之后,我不认为它对我们现有的应用程序有任何好处,因为通过portlet交付除了实现与其他应用程序的集成之外,似乎没有任何固有的好处。它似乎也有一些缺点,包括swf和页面其余部分之间的平滑交互,与Liferay的用户管理

我目前正在寻找Flex和Liferay来提供RIA。我们正在替换一个构建在内部AJAX/Java库上的相当大的现有应用程序。因此,Flex似乎满足了我们的开发需求,但我们在工作中遇到了麻烦。我们需要与另一个基于Liferay和JSF构建的内部应用程序集成

在仔细研究了Liferay之后,我不认为它对我们现有的应用程序有任何好处,因为通过portlet交付除了实现与其他应用程序的集成之外,似乎没有任何固有的好处。它似乎也有一些缺点,包括swf和页面其余部分之间的平滑交互,与Liferay的用户管理和他们普遍缺乏面向开发人员的文档有关

在我看来,如果你需要一个内部wiki/news/social应用程序,Liferay是一个很好的解决方案,但是对于一个健壮的RIA的交付来说,我们似乎在试图把一个方钉在一个圆洞里

我的问题是:Liferay是用于交付完整的RIA应用程序,还是更适合交付较小的应用程序?我是否错过了Liferay的一些东西,使其非常适合RIA


提前感谢您的建议

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

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

2) Portlet间通信(在JSR168门户中)基于页面刷新通过服务器。这也不适用于Flex应用程序。JSR286正试图解决这个问题,以支持Ajax portlet IPC。在此之前,让Flex应用程序与标准IPC协同工作是很困难的(但也是可能的)

3) 门户的很大一部分是授权、定制和首选项。这些都很难从Flex中使用和交互。在JSR168门户中,没有一种标准的方法来实现这一点。JSR286中有一个标准使Flex更容易阅读和更新用户偏好


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

请看一看。这是一个完全用javascript编写大型应用程序的框架。它将优秀的GUI控制与javascript的类java编程范例以及最终应用程序的巧妙构建过程结合在一起。

感谢您提供的信息。我们已经遇到了你在答复中所说的许多问题,并且一直在努力找出解决办法。我的主要问题是,是否有人在使用Liferay(或其他门户服务器)交付丰富的应用程序。考虑到我们的应用程序,如果在门户环境中运行,它将单独出现在页面上,并且考虑到您提出的所有其他问题,是否值得尝试使用门户服务器路径?我认为这取决于您是否真的需要门户的功能。如果你这样做,那么Liferay是一个不错的选择。