我是从架构的角度来问这个问题的。我一直在查找与 Node.js 相关的教程和博客文章。除了 Javascript 的服务器端实现之外,与自 1970 年代以来 CICS 中使用的基本概念相比,我没有看到任何新的东西。
我必须承认,实现和其他技术细节是不同的(PC 与大型机,脚本语言与 COBOL,UNIX 与 MVS)。但是,除此之外,我看不出有任何区别。
有人可以从架构角度提供一些见解吗?
CICS 伪会话编程的目的是在用户填写屏幕时释放公共资源。
Node.js 为您的代码保留一个线程,而所有输入/输出都与您的代码并行运行。
使用 CICS,开发人员必须以某种方式(伪会话)进行编码,以便共享 CICS 系统高效运行。使用 node.js,该设计让您无需担心底层架构即可编写代码。
我会说概念不同。开发者为 CICS 服务,而 node.js 为开发者服务。这就像独裁者和促进者之间的区别。
实际上,它们在很多方面都非常相似。它们的实现有几个重要的区别。相似之处首先...两者都是监视器样式编程的示例,都以或多或少的消息传递样式对事件做出反应,并且都旨在防止阻塞分配的资源。两者都可以很好地与消息传递中间件配合使用。CICS 代码甚至可以在结构上相似(如果您忽略大量且几乎是神秘的常量和奇怪的函数名称)。还有一些深刻的差异,特别是在事务性方面,内置于安全性和易于管理性方面。虽然 CICS 有 GUI 管理,但它距离 Node.js 的简单性还有很长的路要走。我相信 Node 现在也可以在大型机上本地使用。
我意识到这是一个老问题,但认为它值得更新。简短的回答是它们不一样,但 CICS 可以支持与节点非常相似的模型。
Ps ...我已经为两者编写了代码。在某些方面,CICS 在 C 和 Java 中似乎比 Cobol 更友好,这是大多数人所熟悉的。上面的回答也是正确的,尽管它们可以类似地使用,但它们的用途并不完全相同。Node 似乎更容易编写代码,但如果您需要 CICS 提供的一些开箱即用的功能,则需要大量库和/或外部组件。