CICS中的Node.js:入门问答
Posted 三言两语CICS
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CICS中的Node.js:入门问答相关的知识,希望对你有一定的参考价值。
本文翻译整合自Mark Cocker的博文 1
1 三篇博文为:
https://ibm.co/2NLBsfW, https://ibm.co/2OnKfnE, https://ibm.co/2R3FfDn
之前我们已经推出过的攻略。这次我们提供一个更广的视角,IBM CICS的高级工程师Mark Cocker会针对不同角色(Node.js工程师、系统工程师、企业架构师)关心的问题一一作出回答。大家可以根据自己的兴趣阅读不同标签对应的内容~
角色标签
Node.js Node.js工程师
Sysprog 系统工程师
Archi 企业架构师
全文要点
什么是CICS/Node.js,为什么它和你有关?
什么是Node.js,为什么它有用?
什么时候要在CICS里使用Node.js?
怎样在CICS里配置、运行Node.js?
01
什么是CICS
Node.js
CICS是运行在IBM Z主机上的一种强有力的多语言应用服务器。有的服务对业务至关紧要,CICS能为这类服务提供在线事务管理和连接。它可以在一个可扩展的安全环境里处理大得惊人的工作量,同时保证高性能和成本效益。
更多CICS信息可以参见产品概览(Product Overview 2 )和视频教学《CICS入门》(Introduction to CICS 3 )。
2 ibm.co/2xFh1Hq
3 ibm.co/2xWHgIQ
02
必须了解什么是事务(transaction)吗
Node.js
不需要,Node.js应用不能使用诸如EXEC CICS命令还有事务和安全语境等CICS服务。相反,Node.js应用可以通过CICS web services或者z/OS Connect调用RESTful API,而这两者是可以使用CICS services的。
03
我能继续使用我的Node.js开发工具吗
Node.js
当然可以,你可以继续使用现在的开发和测试工具。要把Node.js应用部署到CICS中去,你需要先把它包含在一个CICS bundle中。你可以通过CICS Explorer 4 来完成这件事,这是一个基于Eclipse平台的CICS系统和资源管理工具。
更多CICS Explorer的信息可以查看IBM Knowledge Center for CICS Explorer 5 。
5 ibm.co/2NMQsu3
04
什么是 Node.js
Sysprog Archi
有了Node.js,你可以在服务器(CICS on z/OS)上运行使用javascript编写的程序。Node.js轻量、高效,最适合网络和高I/O的应用。
05
什么是JavaScript
Sysprog Archi
JavaScript是一种高级编程语言,很多网站都采用JavaScript在浏览器内运行代码,做出激动人心的交互效果。这使得JavaScript成为当今使用最广泛的编程语言之一。
06
什么时候应该在CICS里使用Node.js
Sysprog Archi
有了Node.js,JavaScript的开发人员可以编写在服务器上运行的程序,比如在浏览器里运行的JavaScript需要调用的RESTful API组件。
Node.js鼓励使用模块(module)编写JavaScript应用,比如Express 6 提供了网页框架,而Loopback 7 提供了API框架。对大多数任务来说,在NPM 8 公共域上有很多免费的Node.js模块,这为应用开发人员节省了大量时间。有的模块是用JavaScript写的,而有的是用C/C++写的。IBM SDK for Node.js附带的npm utility 9 可以从公共或私有库下载、编译这些模块,并将其安装到z/OS。
能够设计和编写UI、API和服务组件的全栈工程师组成了一个庞大的社区,而他们偏爱的运行时是Node.js。The Node.js Foundation10 生成大概有九百万Node.js实例。
6 expressjs.com/
7 loopback.io/
8 www.npmjs.com/
9 ibm.biz/npmutility
10 foundation.nodejs.org/
07
什么时候应该把Node.js应用托管在CICS里
Archi
对服务平台上的JavaScript应用来说,Node是一个流行的运行时。它在处理高强度的网页和数据库交互时非常高效。比如,针对消费来自后端系统(比如CICS和Db2)信息的网页应用和API,全栈工程师已经开始使用Node来serve它们。
把Node应用托管在CICS里使得这些组件能够集合在一起,这样一来开发和运营人员管理它们来也更轻松。这减少了需要移动的部分,也利用了主机世界级的优势,比如安全性和可靠性(resilience)。
Reasons to Host your Node.js Applications on z/OS11一文列举了更多IBM SDK for Node.js – z/OS的好处,其中一点就是IBM SDK for Node.js – z/OS是包含在打包价格里的。
11 ibm.co/2xFLTHO
08
什么时候在CICS里使用Node.js是最佳选择
Node.js Archi
不少CICS客户会通过RESTful API暴露他们的核心业务应用,比如使用CICS web services12或者 z/OS Connect Enterprise Edition13。有时候,这些API需要额外的逻辑来把几个API请求组合到单个的响应,或者将它们和其他来源的数据合成在一起。
虽然Node.js应用可以被托管在很多平台上,如果把这些应用和它们使用的应用与数据一起托管在z/OS平台上,整个解决方案都可以更加高效、安全,并且会有更少需要移动的部分。
12 ibm.co/2OWTHLM
13 ibm.co/2OjNz3l
09
CICS支持多种编程语言,为什么还需要Node.js
Sysprog Archi
CICS一直致力于为开发人员提供各种选择,让他们可以用适合当前任务和公司技术的编程语言,不论这语言是COBOL、PL/I、C/C++、Assembler或者Java。通过在CICS TS V5.5 open beta里支持Node.js,CICS无疑扩大了选择范围。
10
Node.js和CICS支持的其他语言有什么区别
Sysprog Archi
Node.js天生是一种异步编程语言,和传统CICS语言和程序的单线程特征不同。一个典型的Node.js应用会侦听HTTP socket,处理这个socket的所有工作负载,然后在少量的线程中高效地分配大量的并发请求。这个模型听起来似曾相识,因为CICS对其他语言也提供类似的支持。Node.js应用是针对这种大量的工作负载而编写的,运行时环境会实施单个应用所需的亚调度(sub-dispatching)。
将Node.js集成到CICS里之后,两个多样化的社区走到了一起。CICS产品和工具的生态可以用来管理一系列Node.js应用,而现代化的编程语言也给CICS带来更强大的功能和灵活性。
Node.js应用不能使用诸如EXEC CICS命令还有事务和安全语境等CICS服务。相反,Node.js应用可以通过CICS web services或者z/OS Connect调用RESTful API,而这两者是可以使用CICS services的。
11
Node.js应用运行在哪种IBM Z处理器上
Sysprog Archi
Node.js应用可以运行在通用中央处理器(general purpose CP)上,而且部分操作可以利用Integrated Cryptographic Services Facility(ICSF)。参见硬件和软件要求(Hardware and software requirements14)。
14 ibm.co/2xMpnNq
12
Node.js如何保证CICS及其COBOL应用相关
Archi
Node.js非常适合集成服务。如果集成服务(或微服务)能够暴露COBOL应用的有用功能,Node.js能使你的业务保持响应并能快速满足来自现有CICS应用群的业务要求。把COBOL应用及其服务和API,以及Node.js的集成代码放在一处使得管理更轻松,也使通信性能降级的可能性降至最低。
13
怎么在CICS里运行Node.js应用
Node.js Sysprog Archi
一般来说,Node.js应用会包含一个.js文件、一个package.json文件和静态网站文件。.js文件是最初的脚本,而package.json文件描述了脚本所需的模块。
首先,用CICS Explorer V5.5创建一个CICS bundle并打开CICS bundle编辑器。选择新建 > Node.js应用(New Node.js Application)打开向导(wizard),Node.js应用向导会指引你选择Node.js应用的起始脚本并创建profile。你可以用profile来自定义Node.js在zFS的安装路径以及你应用所需的任何环境变量,比如TCP/IP接口和log文件的工作路径。
接着将CICS bundle导出到zFS。如果你应用所需的模块还没有安装在zFS里,你可以使用IBM SDK for Node.js自带的Node Package Manager (npm)将其安装到一个通用路径(global location)或者CICS bundle里。
最后,在CICS里定义和安装BUNDLE资源。你的Node.js应用就会启动。
和CICS bundle一样,你可以用CICS build toolkit和DFHDPLOY功能来自动化build和部署。你可以通过停用BUNDLE资源来停止Node.js应用。
再次推荐我们上期的文章:。
14
我没有Node.js应用——有样例吗
Sysprog
15 ibm.co/2Oo8bHS
15
我如何监控CICS里的Node.js应用
Sysprog
CICS资源安装好后,CICS提供了一个新的NODEJSAPP资源,它包含了Node.js应用的基本信息。在这次的open beta版本中,你可以用 CEMT INQUIRE NODEJSAPP16命令来查看NODEJSAPP资源。
有的模块可以提供更多的信息,比如Node Application Metrics17,你可以用Prometheus18把它和其他Node.js应用集成到一起。
16 ibm.co/2R6gfeK
17 ibm.co/2QhLXod
18 bit.ly/2OkApmA
16
我想在系统上运行Node.js运用,要怎么做
Sysprog Archi
从CICS trials and betas site19下载并安装2018年7月发布的CICS TS V5.5 open beta和CICS Explorer V5.5
下载并安装IBM SDK for Node.js – z/OS trial, V6.14.2或更高版本20
19 www.ibm.com/it-infrastructure/z/cics/trials
20 ibm.biz/sdk-nodejs-trial
17
我想试一试,但不想下载任何东西
Node.js Sysprog Archi
没有问题!你只需要在“Join our CICS early access program”21注册,我们的beta团队就会提供一个系统环境给你,你只需要通过浏览器就可以访问这个系统来尝试我们的新功能。
21 ibm.biz/join-cics
翻译:陈雅晴
2015年底加入CICS,现为CICS Explorer content developer。我不是开发,我为(和)开发打工。
扫码关注 “三言两语CICS”
内容声明:本文仅代表作者的个人观点,与IBM立场、策略和观点无关。文中专业名词因翻译原因,表述中难免存在差异。如有疑惑,请以英文为准。同时数据来源于实验室环境,仅供参考。如果您对我们的话题感兴趣,请给我们留言。
以上是关于CICS中的Node.js:入门问答的主要内容,如果未能解决你的问题,请参考以下文章