简体   繁体   English

将多个GWT应用程序集成到可插拔平台中

[英]Integrating multiple GWT applications into a pluggable platform

I am asking for your ideas about how to combine multiple GWT based web applications into a flexible, pluggable system little bit similar to the new Google portfolio. 我想知道如何将多个基于GWT的Web应用程序组合成一个灵活的可插拔系统,与新的Google产品组合略有不同。 Here are the details/ideas/requirements: 以下是详细信息/想法/要求:

  • on the top of the screen there should be a bar 在屏幕的顶部应该有一个酒吧
  • the system bar contains the menu buttons for each "plugin-application". 系统栏包含每个“插件应用程序”的菜单按钮。 the list should be somehow configurable or even fully dynamic 列表应该以某种方式配置,甚至是完全动态的
  • the system bar contains login/logout widgets 系统栏包含登录/注销小部件
  • each plugin applications are below the system bar 每个插件应用程序都在系统栏下面
  • the user can switch application by choosing its name on the system menu bar 用户可以通过在系统菜单栏上选择其名称来切换应用程序
  • the plugin applications should be in separate Eclipse projects so that they can be developed/tested separately 插件应用程序应该在单独的Eclipse项目中,以便可以单独开发/测试它们
  • the plugin applications would share some custom widgets, so these widgets should be kept in a common Eclipse project 插件应用程序将共享一些自定义小部件,因此这些小部件应保存在一个通用的Eclipse项目中
  • it would be nice if the plugin applications could be deployed as separate WAR files on the server so that they could be upgraded one by one 如果插件应用程序可以作为服务器上的单独WAR文件部署,那么它们可以逐个升级
  • it would be nice if the system bar automatically detected new plugin applications 如果系统栏自动检测到新的插件应用程序,那就太好了

Is it possible to use sources from different Eclipse projects when building a GWT application? 在构建GWT应用程序时是否可以使用来自不同Eclipse项目的源代码? If the login is owned by the "system bar" then how is it possible to secure the separate war files? 如果登录属于“系统栏”,那么如何保护单独的war文件? Can the login state be shared somehow? 可以以某种方式共享登录状态吗?

The answer lies in GWT with JAX-RS REST: http://h2g2java.blessedgeek.com/2011/11/gwt-with-jax-rs-aka-rpcrest-part-0.html . 答案在于使用JAX-RS REST的GWT: http//h2g2java.blessedgeek.com/2011/11/gwt-with-jax-rs-aka-rpcrest-part-0.html

REST on JAX-RS and RestyGWT using JAX-B and Jackson as object schemata will allow 使用JAX-B和Jackson作为对象模式的JAX-RS和RestyGWT上的REST将允许

  • RPC on steroids, RPC类固醇,
  • Mashups, multi-war, multi-services scenario. 混搭,多战,多服务场景。

However, the weakness of REST is that your UI cannot be a mashup bundle of cross-domain portlets. 但是,REST的弱点在于您的UI不能是跨域portlet的mashup捆绑包。 Some people might see this as a strength, since cross-domain has to use the security-risky script-include technique. 有些人可能会认为这是一种优势,因为跨域必须使用安全风险的脚本包含技术。 In order to overcome that, you could write a proxy servlet (aka http tunnel), which is a rather simple affair. 为了克服这个问题,你可以编写一个代理servlet(也称为http隧道),这是一个相当简单的事情。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM