Java Web 应用程序的嵌入式消息传递组件
为了满足客户的需求,我们需要让用户之间交换信息。 “消息系统”没有复杂的后端要求,可以通过几个表来存储消息和消息类型轻松实现。
问题是我认为对前端的要求非常高,可用性非常重要。 此外,我预计从长远来看,这种通信部分将成为系统的重要组成部分。
有什么东西可以直接集成到 Java Web 应用程序中并适应应用程序的设计吗? 我们需要的是以下接口
来自服务层:
- 向用户发送消息(标头、主题)
- 回复
- 用户收件箱中新消息的消息通知(如果可能:在当前页面)
- 现有用户管理的接口
优选地,该组件应该已经有一个具有以下功能的前端:
- 消息管理(选择、删除、回复、删除/恢复等)
- 文件夹:收件箱、已发送、垃圾箱
- 标记:消息类别
- 显示最后x条消息panel/div
- 样式看起来像应用程序
如果有相当稳定的东西,我更喜欢在应用程序中实现类似的东西之前使用组件。 该应用程序在 Wicket 上运行,但我们并不依赖于该消息传递组件的框架。
谢谢你, Kariem
在门户服务器中,您可以灵活地添加 portlet,这些 portlet 可以执行与我正在寻找的组件类似的操作; 例如 Liferay 提供 邮件 和 留言板 portlet。
正如 akf 在评论中指出的那样 Jabber 为消息传递提供了坚实的基础。 我们正在寻找可以集成到网络应用程序中的东西。 如果我们必须围绕 Jabber 构建大量 UI,我们就不能真正认为它非常适合我们的要求。
In order to satisfy customer requirements, we will need to let users exchange information among each other. The 'messaging system' does not have sophisticated back-end requirements and could be easily implemented with a few tables to store messages and message types.
The problem is that I believe that the requirements on the front-end are very high and usability is very important. In addition I expect this communication's part to become an important part of the system in the long run.
Is there anything that can be directly integrated into a Java web application and adapted to the application's design? What we need is the following interface
From service layer:
- send message to user (header, subject)
- reply to a message
- notification on new message in user inbox (if possible: on current page)
- interface to existing user management
Preferably, the component should already have a front-end with the following functionality:
- message management (select, remove, reply, delete/restore, ...)
- folders: inbox, sent, trash
- tagging: message categories
- show last x messages in a panel/div
- styling to look like the application
If there is something reasonably stable, I would prefer using a component before implementing something like this into the application. The application runs on Wicket, but we are not tied to this framework for the messaging component.
Thank you,
Kariem
In portal servers, you have the flexibility to add portlets that could do something similar to the component I am looking for; e.g. Liferay provides mail and message boards portlets.
As akf points out in a comment Jabber provides a solid basis for messaging. We are looking for something that can be integrated into a web application. If we have to build a lot of UI around Jabber, we cannot really consider it a good fit for our requirements.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
好吧,这可能有点令人惊讶,但是尝试一下 Google Wave 怎么样?
如果我审查你的标准:
正如您将在这个迷你教程中发现的那样:http://blog.zenika.com/index.php?post/2010/01/27/Google-Wave-Embedded-API-the-missing -教程(多有趣不是吗?)
除了最后一点之外的所有内容均由 Google Wave 实例提供。 最后一点可能有点难解决,因为您需要所有用户都有一个 googlewave 帐户。 可以通过 Google Apps 管理这些帐户,但是atm这是不可行的。 如果这是绝对强制性的,您可以计划拥有自己的实例,因为它是一个开放协议,但您的目标是已经为你做了一些事情,对吗?
很棒,全部这对 Wave 来说没问题。
好吧,Wicket 太时尚了,你应该喜欢这个解决方案:-)
我承认这有点“前卫”,我从来没有做过这样的事情我自己的事情,但认为它可以拓宽你对你的问题的视野......
Ok, it may be a bit surprising but what about giving the Google Wave a try ?
If I review your criteria :
It can be as you will discover on this mini-tutorial : http://blog.zenika.com/index.php?post/2010/01/27/Google-Wave-Embedded-API-the-missing-tutorial (how interesting isn't it ?)
Everything but the last point is offered by the Google Wave instance. The last point may be a bit harder to solve as you will require that all of your user have a googlewave account. Managing those accounts may become available through Google Apps, but atm it's not feasible. If it's absolutely mandatory you could plan to have your own instance since it is an open protocol but your goal was to have something already done for you, right ?
Great, all of this is ok with the Wave.
Ok Wicket is so trendy, you should love this solution :-)
I acknowledge that is a bit 'avant-gardiste', I have never done such a thing myself but thought it could have broaden your vision as regard to your problem...
如果您正在寻找开源 Java 电子邮件客户端:
http://java-source.net/ open-source/mail-clients
您可能还想看看 Google Wave 。 有了这个,您将拥有下一代通信和协作工具。 请在 www.youtube.com 上观看一些有关 google wave 的精彩视频
http://code.google.com/apis/wave/
http://code.google.com/p/wave-protocol/wiki/Installation
。
更新的解决方案...基于 Web 的电子邮件客户端
http:// java-source.net/open-source/web-mail
http://code. google.com/p/cubusmail/
http://www.zimbra。 com/downloads/os-downloads.html
If you are looking for opensource java email clients:
http://java-source.net/open-source/mail-clients
You may also want to have a look at Google Wave . With this you will have next generation communication and collboration tool. Please see some awesome videos about google wave on www.youtube.com
http://code.google.com/apis/wave/
http://code.google.com/p/wave-protocol/wiki/Installation
.
Updated solution... Web based email clients
http://java-source.net/open-source/web-mail
http://code.google.com/p/cubusmail/
http://www.zimbra.com/downloads/os-downloads.html
我认为像 SparkWeb 这样的基于 Web 的 IM 客户端在您的场景中可能很有用。
I think a web-based IM client like SparkWeb can be useful in your scenario.
建议使用 XMPP 协议进行消息传递,因为您可以轻松地将您的服务器与其他聊天服务器(例如 GTalk 和 Jabber)联合起来。
如果您打算将消息传递服务器嵌入到您的应用程序中,Tigase 是一个快速的选择可靠的 Java XMPP 服务器,由于轻量级且没有第三方依赖项,因此可以轻松集成。 它还可以几乎无缝地扩展到数十万用户。
对于客户端,您可以使用许多可用的基于网络的 XMPP 客户端,例如 emite 这是一个基于 GWT 的 Web 客户端,既美观又 AJAX。
Using XMPP protocol for messaging is recommended because you can easily federate your server with other chat servers, such as GTalk and Jabber.
If you intend to embed the messaging server into your application, Tigase is a fast and reliable Java XMPP server which can be easily integrated because of being lightweight and having no third-party dependencies. It also scales to hundreds of thousands of users almost seamlessly.
For the client, you can use many available web-based XMPP clients such as emite which is a GWT-based web client that is both beautiful and AJAX.