在Java门户上,您可以拥有包含其他应用程序提供的数据的portlets。我们希望用Django应用程序替换现有的Java门户,这意味着复制Java门户显示portlet的能力。我们要复制的两个Sun规范是JSR168和JSR286。
我需要一个cPython解决方案。不是Jython或Java。没有反对这些工具,我们只是不使用它们。作为记录,基于Jython的Portletpy所做的与我们的目标截然相反。
此外,我怀疑这个问题是由于我们对our 168/our 286规范工作方式的误解造成的。我认为for 168/for 286是一个神秘的协议,用于在不同的应用程序之间进行某种内容的通信,但在世界中,这种协议往往是通过SOAP等其他方法来完成的。相反,问题可能是,这些协议只是如何在视图中显示内容对象的定义。如果我们所要做的就是处理SOAP调用和显示数据,那么整个问题就没有意义了。
下面是我们想要做的的简单架构图像:

发布于 2009-09-05 09:36:07
我不确定你能做得到。来自JSR 168:

如果我正确理解,您希望Django应用程序取代图表中现有的"Java /Portlet容器“。不幸的是,portlet容器和单个portlet之间的接口使用内存中的API调用,而不是作为Web服务。没有简单的类似URL的接口,您可以调用Java块来获取HTML块,然后将其合并到Django服务的页面中。
JSR 286是一个更新,虽然它改进了portlets之间的通信机制,以及从portlet中提供资源,但它并没有从根本上改变上述模型。
我不是说它不能做-只是没有简单的,标准的方法去做。
发布于 2011-03-23 12:13:58
解决这一问题的一种方法是使用WSRP (用于远程Portlet的web服务,参见Wikipedia)生产者,它将JSR 168/286转换为web服务,并从django使用它们。但是WSRP似乎并不流行,而且我找不到任何Python平台实现(尽管可能存在部分工作)。除此之外,我对这个话题也很感兴趣。
https://stackoverflow.com/questions/1379607
复制相似问题