0

我们有一个用 VB 6 开发的现有应用程序。有 6 - 8 个模块可用。在主屏幕中,每个模块都有一个单独的按钮,单击该按钮将加载相应的模块。我们正在将其迁移到支持 Web 的系统,并确定使用基于 Java 的解决方案。

现在,我们不是完全开发和迁移到 Java 平台,而是在进行模块迁移的技术可行性研究。也就是说,例如,在单击“模块 1”时,将打开浏览器而不是现有的 VB 应用程序表单,并且所有后续处理/处理/加载/保存都将由基于 Web 的 Java 应用程序处理,该应用程序实际上运行在网络/应用服务器。慢慢地,这也将迁移到其他模块。

我的问题是,这在技术上是否可行/可行?也就是说,我们是否可以通过单击按钮打开浏览器并将所有后续请求、会话、cookies 定向到在 web/app 服务器上运行的 Java 应用程序。对此的任何指示/建议/想法都非常感谢。

注意:我从朋友那里听说过 WinINet API,它可以与 HTTP 协议进行交互。

4

1 回答 1

0

如果您正在转向“不良客户端”(Web)模型,那么您的后端将创建 100% 的用户界面作为网页。

在这种情况下,您现有的富客户端需要被简化。尝试从服务器请求 HTML 并将其重新解释为用 VB6 编写的丰富用户界面是没有意义的。

因此,您不必担心 WinInet API(无论如何您都不需要它,因为从 Win2K 开始,您至少有 3 个非常好的包装 ActiveX 控件和类可供您使用:Internet 传输控件、XmlHttpRequest 类和WinHttpRequest 类)。

不,在您的情况下,您可能会被替换为“模块”(???),这可能意味着通过托管 WebBrowser 控件的表单来替换表单(?)。

然而,将其中发生的事情与您的其他“模块”集成起来会很笨拙。如果需要,您可能需要探索 WebBrowser DOM 以提取数据、注入数据等。

理想情况下,您将转向 Web 服务模型而不是 Web 模型。这打开了一个前端可能性的世界(Web、移动、富客户端),而不需要多个后端,并且在 VB6 中非常有用。随着时间的推移,事情变得更加容易,因为 SOAP 被更简单、松耦合的 RESTful Web 服务所取代。

您所描述的在一定程度上是可行的,但是当您开始添加会话 cookie 控制等要求时,它可能会变得很难看。您最终可能需要在程序中进行两次登录,一次登录旧的/现有的部件,另一个登录基于浏览器的部件。

您最好让部分内容转到浏览器并从旧应用程序中删除部分内容,让人们并排运行。

于 2013-10-23T09:28:05.353 回答