CICS中的Node.js:入门问答

Posted 三言两语CICS

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CICS中的Node.js:入门问答相关的知识,希望对你有一定的参考价值。

本文翻译整合自Mark Cocker的博文 

  三篇博文为:

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提供了网页框架,而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文件描述了脚本所需的模块。

  1. 首先,用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文件的工作路径。

  2. 接着将CICS bundle导出到zFS。如果你应用所需的模块还没有安装在zFS里,你可以使用IBM SDK for Node.js自带的Node Package Manager (npm)将其安装到一个通用路径(global location)或者CICS bundle里。

  3. 最后,在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:入门问答的主要内容,如果未能解决你的问题,请参考以下文章

node.js入门系列--Node.js简介

极简 Node.js 入门 - 2.4 定时器

Node.js 入门

Node.js入门

001/Node.js(Mooc)

Node.js--入门