VB 应用程序调用并将请求定向到 Web 浏览器
Posted
技术标签:
【中文标题】VB 应用程序调用并将请求定向到 Web 浏览器【英文标题】:VB application invoking & directing requests to web browser 【发布时间】:2013-10-23 08:58:41 【问题描述】:我们有一个用 VB 6 开发的现有应用程序。有 6 - 8 个模块可用。在主屏幕中,每个模块都有一个单独的按钮,单击该按钮将加载相应的模块。我们正在将其迁移到支持 Web 的系统,并确定采用基于 Java 的解决方案。
现在,我们不是完全开发和迁移到 Java 平台,而是在进行模块迁移的技术可行性研究。也就是说,例如,在单击“模块 1”时,将打开浏览器而不是现有的 VB 应用程序表单,并且所有后续处理/处理/加载/保存都将由基于 Web 的 Java 应用程序处理,该应用程序实际上运行在网络/应用服务器。慢慢地,这也将迁移到其他模块。
我的问题是,这在技术上是否可行/可行?也就是说,我们是否可以通过单击按钮打开浏览器并将所有后续请求、会话、cookies 定向到运行在 web/app 服务器上的 Java 应用程序。对此的任何指示/建议/想法都非常感谢。
注意:我从朋友那里听说过 WinINet API,它可以与 HTTP 协议进行交互。
【问题讨论】:
【参考方案1】:如果您正在转向“不良客户端”(Web)模型,那么您的后端将创建 100% 的用户界面作为网页。
在这种情况下,您现有的富客户端需要被简化。尝试从服务器请求 html 并将其重新解释为用 VB6 编写的丰富用户界面是没有意义的。
因此您无需担心 WinInet API(无论如何您都不需要它,因为从 Win2K 开始,您至少有 3 个非常好的包装 ActiveX 控件和类供您使用:Internet 传输控件、XmlHttpRequest类和 WinHttpRequest 类)。
不,在您的情况下,您可能会被替换为“模块”(???),这可能意味着表单(?)由托管 WebBrowser 控件的表单。
但是,将其中的内容与您的其他“模块”集成起来会很笨拙。如果需要,您可能需要探索 WebBrowser DOM 以提取数据、注入数据等。
理想情况下,您应该迁移到 Web 服务模型而不是 Web 模型。这打开了一个前端可能性的世界(Web、移动、富客户端),而不需要多个后端,并且在 VB6 中非常有用。随着时间的推移,事情甚至变得更容易,因为 SOAP 被放弃,取而代之的是更简单、松散耦合的 RESTful Web 服务。
您所描述的在一定程度上是可行的,但是当您开始添加会话 cookie 控制等要求时,它可能会变得很难看。您最终可能需要在您的程序中进行两次登录,一次登录旧的/现有的部分,另一次登录基于浏览器的部分。
您最好将部分内容交给浏览器并从旧应用程序中剥离部分内容,让人们并排运行。
【讨论】:
以上是关于VB 应用程序调用并将请求定向到 Web 浏览器的主要内容,如果未能解决你的问题,请参考以下文章