​现有 Java 应用的现代化改造,可以从提供浏览器访问开始,同时保留团队依赖的业务逻辑。 合适的改造范围取决于需要改善的是部署方式、用户界面,还是底层架构。Webswing 让您能够验证浏览器访问方案,并围绕具体业务需求规划后续改造。

从用户需要解决的问题出发

如果应用仍能支撑业务流程,但在用户电脑上安装和更新应用带来较大负担,可以先评估交付方式。如果用户难以完成任务,应检查工作流程和界面。如果过时的依赖或紧密耦合的代码阻碍了必要的变更,就应将这些部分的技术改造纳入计划。

先确定可衡量的目标,再选择技术。 目标可以是让远程团队通过浏览器使用应用、减少审批步骤,或替换维护成本较高的模块。以此界定第一阶段有实际价值的工作范围,以及必须满足的验收标准。

提供浏览器访问后会发生哪些变化

使用 Webswing 时,Java 应用在服务器上运行,用户通过 HTML5 浏览器与应用交互。Java 运行时由服务器端统一管理;用户无需为这种访问方式安装 Java 或浏览器插件。您可以在自行选择和运维的基础设施上部署 Webswing。

这种方式可以保留现有应用逻辑,同时改变界面交付给用户的方式。它不会自动将 Java 代码转换为原生 Web 应用。数据库访问、依赖项和应用维护仍需要明确的负责人。团队也需要规划服务器容量和访问控制。

将本地集成纳入迁移范围。 应用此时使用的是服务器环境。请利用文件处理功能验证文件如何在用户设备和应用之间传输,并测试所需的打印流程。

判断浏览器访问是否适合您的应用

一个值得评估的候选应用,是工作流程仍有业务价值、且用户能够连接到应用服务器的成熟业务系统。先选择具有代表性的完整流程,包括依赖文档、键盘快捷键或外部系统的步骤。

如果用户必须在无法连接该服务器时工作,应保留合适的离线使用方式,或重新考虑交付模式。特定设备的集成需要进行可行性验证。硬件加速的 3D 内容不受支持;对于包含大量多媒体内容或对延迟敏感的应用,也需要考虑文档中的限制。浏览器试点应验证用户实际需要的使用体验。

按照目标选择现代化改造方式

Webswing Modernisation Framework 提供四种可以组合使用的方式。应根据需要改造的应用部分进行选择,而不是将它们视为必须依次完成的阶段。

当前目标

方式

需要规划的工作

增加单点登录或 URL 导航等 Web 能力

Web-Enable

配置集成,并测试应用中的访问和导航。

在现有 Java 界面旁增加 Web 功能

Extend

开发新组件及其与 Java 的通信。

改变现有 Swing 界面的呈现方式

Facelift

评估组件覆盖情况,并实现所需的界面呈现改动。

用新的 Web 功能替换应用中的选定部分

Rebuild

定义接口、测试业务规则,并规划各部分的切换。

在 Extend 方案中,JsLinkDirect 可用于浏览器与 Java 应用之间的通信。这项集成仍需要开发和测试。在选定方案前,请通过框架页面和许可信息确认版本及许可要求。

例如,订单处理团队可以先测试通过浏览器完成现有流程,再评估是否为其中一个审批任务开发新的 Web 表单。这是一种可行的项目范围示例,不代表对交付时间或节省成本的承诺。

用完整流程的试点支持决策

将一个完整工作流程作为试点范围。 在实施前约定验收标准,避免把成功打开启动界面当作迁移已经成功。

  1. 记录当前情况。 明确应用构建版本、Java 运行时、库、外部服务和用户的关键任务。记录本地文件、打印机及设备依赖。
  2. 配置应用。 参考我们的 Java 桌面应用指南和配置文档。根据受测应用选择运行时与配置。
  3. 测试完整任务。 覆盖登录、用户权限、数据修改、文件传输、打印,以及连接中断后的恢复。按照预期用户角色验证访问控制。
  4. 测量真实使用情况。 在有代表性的并发会话和网络条件下测试,记录响应时间以及服务器 CPU 和内存消耗,并参考容量规划指南规划资源。
  5. 确定下一步范围。 记录哪些测试通过、哪些部分需要适配,以及哪些需求仍不适合该方案。据此决定推广浏览器访问、改进特定界面,还是进一步评估更深入的重构。

常见问题

Java Swing 已经结束生命周期了吗?

Swing 仍然是 Java SE 25 的组成部分。Java Web Start 从 JDK 11 中移除,并不意味着 Swing 也被移除。请核对所选 JDK 发行版及应用所用库的支持周期;仅凭界面的年代,无法判断支持何时结束。

使用 Webswing 能消除技术债务吗?

Webswing 可以帮助解决通过浏览器向用户交付现有应用的问题。依赖项、紧密耦合的代码和业务规则仍属于原应用。减少这些技术债务需要有针对性的修改、测试和维护。估算收益之前,应先明确项目实际要消除哪些技术债务。

使用 Webswing 前必须重写应用吗?

评估浏览器访问并不以全面重写为前提。可以从现有应用开始,验证其配置和集成。某些流程可能需要适配,而新的 Web 组件或重新构建的界面仍需要开发。应明确项目范围,而不是假设所有应用都完全无需修改。

Webswing 与替代 Java Web Start 的启动器相同吗?

两者的部署模式不同。JNLP 启动器在用户电脑上运行应用,而 Webswing 在服务器上运行应用,供用户通过浏览器访问。我们的 Java Web Start 替代方案比较介绍了如何选择;关于 Java Web Start 移除与支持情况的文章则说明了其生命周期背景。

规划第一项有价值的改进

从最能受益于浏览器访问或特定界面改进的工作流程开始。您可以带着运行时信息、集成需求和验收标准与我们的团队讨论,也可以下载 Webswing开始评估。根据试点结果,决定现代化改造需要推进到什么程度。

arrow_back_ios

上一页将 Oracle Forms 迁移到 Web:分步现代化指南

下一页以 Webswing 替代 Java Web Start,实现浏览器访问

arrow_forward_ios