大多数人对使用 COBOL 开发 Web 应用程序的第一反应是非常消极的!
总的来说,我同意并建议不要将 COBOL 用于前端 Web 开发,因为还有其他工具附带了大量用于构建此类应用程序的预打包支持。支持通常来自库附加组件和 Web 服务的预构建接口。实现语言本身不太重要。
例如,Ruby on Rails 是一种基于 MVC 模型的应用程序框架,它使用 Ruby(语言)将它们“粘合”在一起。只要您坚持使用 Rails 框架,您的相当一部分开发工作就会烟消云散。但是,打破框架,它很可能会打破你。我认为使用诸如 Ruby on Rails 之类的框架非常适合您从头开始控制一切的新开发。
你的情况可能有些不同。如果我理解正确,您有一个 COBOL 应用程序基础和一个 mySQL 数据库,需要集成到一个新的 Web 应用程序中。Rails 框架在这种情况下可能特别有用,也可能不特别有用。这完全取决于你如何“在中间相遇”。使用强大的支持 Web 的工具来前端具有基于 COBOL 的后端的 Web 应用程序是一种相当普遍的行业实践。将两者结合在一起是一种相当特定于平台的艺术形式。
相同的评论适用于任何其他 Web 应用程序框架和工具集。我只是以 Ruby on Rails 为例。底线是,没有多少人(其中包括我)考虑过使用 COBOL 来前端 Web 应用程序。
尽管有上述情况,我注意到您在您的商店中使用了 openCobol。这可以使构建仅 COBOL 的解决方案成为一个合理的前景。与许多 COBOL 实现不同,openCobol 具备“网络就绪”功能,并且具有独立于数据库的抽象层
,因此访问您的 mySQL 数据库应该非常轻松。Web 就绪部分是 openCobol 使用 C 应用程序二进制接口 (ABI) 的结果。C ABI 应该极大地促进在混合语言环境中的工作,并使与 CGI(通用网关接口)的交互变得非常简单;从这个例子可以看出。
OpenCobol 使构建 Web 应用程序变得可行,但它实用吗?如前所述,除非有一个记录在案的 Web 应用程序框架可供使用,否则您最终会自己做很多事情。我认为您在发布问题时可能已经得出了这个结论。据我所知,开发这样的框架也是可行的,但目前还不存在。如果你继续这个项目,也许你可以为开发一个用于 openCobol 的 Web 应用程序框架做出贡献。
我发现接受的答案中的“Cobol on Cogs”参考有点不公平,你问了一个严肃的问题,应该得到一个完全严肃的答案。这种类型的参考可能反映了对 COBOL 的一些“红脖子”封闭心态(是的,我已经准备好并期待对这一点投反对票)。