如何分离“视图”和“视图”和“控制”无需 RMI、消息传递等即可轻松分层?
我有基于 Spring 3 + JPA 2 + JSF 2/Vaadin 构建的应用程序,在 servlet 容器(Tomcat/Jetty)上运行。
我的应用程序现在是一个 monilitic Web 应用程序。它做了三件事:
- 通过 JSF 2 或 Vaadin 提供 Web 用户界面
- 为外部用户提供 RESTful 服务
- 在计划作业中进行一些非常重要的处理
我需要的是轻松地重新部署界面中的更改,而无需停止 REST 服务和计划作业。我知道我可以创建两个(或更多)Web 应用程序并使用 RMI 接口或消息队列进行远程方法调用。我正在寻找更简单的东西。这些应用程序可以在单个 Tomcat(单个 JVM)上运行。
人们说:“在 PHP 中,我可以更改按钮/表格/面板......而无需停止任何操作”。我想让简单的事情变得简单。
您如何解决此类问题? OSGi 是唯一的解决方案吗?我认为 OSGi 对于这样简单的场景来说太复杂了。
I have applications built on Spring 3 + JPA 2 + JSF 2/Vaadin running on servlet container (Tomcat/Jetty).
My app is now a monilitic web application. It does three things:
- provides web user interface via JSF 2 or Vaadin
- provides RESTful services for external users
- does some very important processing in scheduled jobs
What I need is to easily redeploy changes in interface without stopping REST services and scheduled jobs. I know I can create two (or more) web apps and use RMI intrefaces or message queue for remote method invocation. I'm looking for something simpler. Those applications may run on single Tomcat (single JVM).
People say: "In PHP I can change button/table/panel... without stopping anything". I'd like to keep simple things simple.
How do You solve this kind of problems? Is OSGi the only solution? I think OSGi is way too complicated for such simple scenario.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
OSGi并不复杂!我建议您看看 Virgo。它首先支持部署纯 Web 应用程序。从那里,您可以逐渐将 Web 应用程序分解为捆绑包,并以“纯”捆绑应用程序结束,其中模块可以轻松地动态升级。
OSGi is not complicated! I would recommend having a look at Virgo. It supports deploying pure web applications to start with. From there you can gradually break up the web app into bundles and ending with a "pure" bundle only application where modules can easily be upgraded on the fly.