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