使用 IBM DB2 创建 ASP.NET MVC 基于 Web 的应用程序,其中数据源位于 AS400/IBM 数据库上

Creating ASP.NET MVC Web-based Apps using IBM DB2 where data source is on an AS400/IBM Database

我工作的公司正在逐步淘汰 RPG 程序以访问 AS400 IBM 中端服务器上的数据,最终目标是为整个公司的 20 个不同地点集成基于 Web 的解决方案。我想提出最具成本效益的解决方案,我正在考虑创建 ASP.NET MVC 应用程序并尽可能在 Azure 上实施实际应用程序(不是要求,只是一个想法)。

我主要担心的是,我如何才能利用 IBM 大型机存储数据的功能和优势,同时能够快速轻松地集成 ASP.NET MVC 应用程序?用 IIS 服务器上的所有逻辑创建可重用的 .dll 会很好,但另一方面,IBM 服务器功能强大并且已经包含质量逻辑,因此很难决定在数据库和逻辑之间划清界线n 层架构方法。

目前,我的经理一直在 IBM 中端服务器上的虚拟 Web 服务器上使用 php,该服务器具有作为附加组件购买的 Apache。问题是设计没有架构,即:没有 类 或模板,这就是为什么我想采用 MVC 架构方法,但我也可以使用 php 创建自定义 MVC。现在我们有一个虚拟服务器,它只包含 ajax 个请求,所有 php 都被硬编码到每个 html/php 文件中。我们目前还有 12 名最终将退休的 RPG 程序员。

目前有SQL嵌入到RPG程序中,这些基本上都是存储过程,sql存储过程允许RPG和php/ASP.NET进行通信。我可能希望有一天创建一个 Web 服务,当我们客户的客户在结账时扫描产品时读取 UPC 条形码。在做出最终决定之前将进行成本效益分析,但我想尽快开始一个项目计划,我希望一些有经验的 IBM/RPG 程序员使用 DB2(或其他一些 adapter/pipeline)不是使用 WebSphere 创建的基于 Web 的解决方案可以提供一些有用的信息。一旦给出更多输入,我最终将根据需要编辑这个问题。也许有更好的解决方案,但 ASP.NET 并不实用,例如 Apache 服务器 w/PHP。我只是觉得创建和管理 MVC 应用程序会容易得多,但可能不是最实用的。

首先,IBM POWER 服务器 运行 IBM i 被认为是中端系统。大型机是一组不同的硬件和软件。

既然你说RPG的逻辑有用,那你就考虑一下Integrated Web Services for IBM i。它允许您将 ILE RPG 和 ILE COBOL 程序作为 Web 服务调用。

另一种选择是开源XML Service. It appears somebody has already put together a .NET wrapper它。

最后,您可能想加入 web400 中端邮件列表...因为您会发现那里的参与比这里更多。

因此,我们目前设置的是,所有业务和数据库逻辑都与 rpg 程序和 sql 使用购买的 SQL DB2 通用数据库扩展程序嵌入到 rpg 程序中的过程混合在一起。我们在 apache 虚拟服务器上安装了 zend 服务器,php 驻留在这个虚拟服务器上。大多数 NET.Data 宏已在 php 中为当前的 Web 应用程序重写,因此在 ASP.NET MVC 中重做此应用程序不符合成本效益。

我的下一个项目将是一个电子商务站点,因此我将提议使用 IIS 服务器来管理 ASP.NET MVC 应用程序 (HTTPS/SSL)。我可以通过使用 .NET Provider Windows 适配器访问 .NET 库等来集成这个项目。目前,我们当前的 Web 应用程序的安全措施不是很好,但我们真的不需要保护它,除非我们要添加处理实际交易的功能。

最终我想创建一个 ASP.NET MVC 应用程序来处理实际事务,我可以通过编辑 http.config 文件使 URI 指向 ASP.NET 应用程序apache 服务器到 ASP.NET MVC Web App 的虚拟路径。

当前的 Web 应用程序是如此紧密耦合,以至于大多数代码在某种意义上都不可重用,但 RPG 程序员在编写高质量代码方面做得非常出色,因此集成一些编码技术甚至是有意义的调用 Restful Ajax 请求等

注意* 请记住,如果您正在创建一个较新的 ASP.NET 应用程序,然后使用 ADO.NET 和旧的 ASP.NET 网页,如果您是从头开始的(利用最新和最伟大的)

我不想坚持使用 php 框架的主要原因是因为我是 .NET 迷,但使用第 3 方 CMS 也同样有效;也就是说,如果你能找到一个不使用 MySql 并且基本上允许完全自定义的。此外,我们是一个 Windows 办公室,所以我想开始整合 Microsoft Web 堆栈,这可以使公司的一些内部程序更加灵活。 ASP.NET MVC 是真正的 n 层架构,大部分繁重的工作已经预定义,这使得该框架成为我最喜欢的框架之一。