将网络化Java桌面应用程序迁移到web应用程序有哪些选项

将网络化Java桌面应用程序迁移到web应用程序有哪些选项,java,web-services,migration,Java,Web Services,Migration,我有一个在局域网环境中运行的Java桌面应用程序(带有Swing GUI)。通常,我用一堆机器运行它,一些机器扮演服务器的角色,而另一些则充当客户端 现在,我想在互联网上运行相同的应用程序,服务器和客户端都将托管在一个网站上,这样网站的访问者就可以作为客户端运行并相互交互 我想知道这种迁移有哪些选择?我是否需要使用一些基于Java的web框架从头开始重新编写所有内容?如果是这样,我应该如何处理GUI部分?还是我只是将应用程序作为小程序托管?(不知何故,我不愿意使用applet,因为它可能需要在我

我有一个在局域网环境中运行的Java桌面应用程序(带有Swing GUI)。通常,我用一堆机器运行它,一些机器扮演服务器的角色,而另一些则充当客户端

现在,我想在互联网上运行相同的应用程序,服务器和客户端都将托管在一个网站上,这样网站的访问者就可以作为客户端运行并相互交互

我想知道这种迁移有哪些选择?我是否需要使用一些基于Java的web框架从头开始重新编写所有内容?如果是这样,我应该如何处理GUI部分?还是我只是将应用程序作为小程序托管?(不知何故,我不愿意使用applet,因为它可能需要在我无法控制的个人访问者机器上进行额外设置,并且可能存在兼容性问题)。谢谢

在这方面很有用,因为它可以让您重用通用Java代码,并将其编译为JavaScript,以便在浏览器中运行。在我的应用程序中,我正在重用我在服务器中使用的客户端中的类。UI必须使用web小部件重新创建,尽管wysiwyg工具已经存在

如果需要双向通信,您还可以将原始套接字迁移到WebSocket。

可以用于此,因为它可以让您重用通用Java代码,并将其编译为JavaScript以便在浏览器中运行。在我的应用程序中,我正在重用我在服务器中使用的客户端中的类。UI必须使用web小部件重新创建,尽管wysiwyg工具已经存在


如果需要双向通信,也可以将原始套接字迁移到WebSocket。

如果代码遵循mvc模式,则应该可以重用模型内容。我最喜欢的JavaWeb框架来自spring源代码。SpringMVC(干净的mvc设计)或SpringRoo(更像rails风格的代码生成等)。两者都能很好地与dojo框架(ajax/gui)集成

如果您的代码遵循mvc模式,那么应该可以重用模型内容。我最喜欢的JavaWeb框架来自spring源代码。SpringMVC(干净的mvc设计)或SpringRoo(更像rails风格的代码生成等)。两者都能很好地与dojo框架(ajax/gui)集成

一个选择是使用。编程思维非常接近JavaSE Swing。它是客户端的GWT衍生产品,但逻辑实际上在服务器JVM上,框架负责通信(xhr或web套接字)

一个选择是使用。编程思维非常接近JavaSE Swing。它是客户端的GWT衍生产品,但逻辑实际上在服务器JVM上,框架负责通信(xhr或web套接字)

谢谢你的建议。我正在研究一些新的框架,比如Play。我主要关心的是连接性,这种网络应用程序的连接性可能比控制更严格的实验室环境更不稳定。有没有关于如何使用此框架方法处理此问题的建议?谢谢谢谢你的建议。我正在研究一些新的框架,比如Play。我主要关心的是连接性,这种网络应用程序的连接性可能比控制更严格的实验室环境更不稳定。有没有关于如何使用此框架方法处理此问题的建议?谢谢这听起来很有希望。两个主要问题:1。GWT将Java代码转换为Javascript代码的过程有多顺利/有用?据我所知,Javascript在很大程度上仍然是web的前端语言,那么如何处理后端事务,例如向数据库写入/读取数据?2.你说的双向沟通是什么意思?你是说客户端和服务器之间的双向通信吗?非常感谢!1.您一直都在用Java编写所有内容,GWT在部署时将其转换为js,但您不必担心这一点。后端仍然是Javaservlet,所以您可以执行任何Java操作(db等)。2.通常,web应用向服务器发出请求,然后得到响应。如果你需要将数据流传输到你的web应用程序,你需要WebSocket。这听起来很有希望。两个主要问题:1。GWT将Java代码转换为Javascript代码的过程有多顺利/有用?据我所知,Javascript在很大程度上仍然是web的前端语言,那么如何处理后端事务,例如向数据库写入/读取数据?2.你说的双向沟通是什么意思?你是说客户端和服务器之间的双向通信吗?非常感谢!1.您一直都在用Java编写所有内容,GWT在部署时将其转换为js,但您不必担心这一点。后端仍然是Javaservlet,所以您可以执行任何Java操作(db等)。2.通常,web应用向服务器发出请求,然后得到响应。如果需要将数据流传输到web应用程序,则需要WebSocket。