以SAP Data Intelligence标准的示例Graph com.sap.demo.http.server为例,将其json代码保存到本地,使用json编辑器查看:
![](https://img.haomeiwen.com/i2085791/56c8a8f4b805c052.png)
operator之间有8条线连接,对应json文件里connections数组里的8个元素:
![](https://img.haomeiwen.com/i2085791/240c18c51d669d18.png)
每个元素包含source和target两个对象。以下图为例:
![](https://img.haomeiwen.com/i2085791/a6677cf12179f4d6.png)
src对象代表图中的get port:
![](https://img.haomeiwen.com/i2085791/af4a718b34529513.png)
target代表名为request的message:
![](https://img.haomeiwen.com/i2085791/1cc9f289d980393a.png)
id blankjavascriptoperator2可以在GET handler的configuration页面看见:
![](https://img.haomeiwen.com/i2085791/6746ceedd8b05cc6.png)
图里的6个节点,即6个Operator,就是json里Processes对象里的六个子对象:
![](https://img.haomeiwen.com/i2085791/b2f489a82d428946.png)
其route路径为/objects/:id, 三个output:
![](https://img.haomeiwen.com/i2085791/cd58b594159d1551.png)
![](https://img.haomeiwen.com/i2085791/6eb3a29c77d062cd.png)
![](https://img.haomeiwen.com/i2085791/b04be3a7bace12e4.png)
三个outport:
![](https://img.haomeiwen.com/i2085791/7c9bdef2fc430459.png)
首先看标签为object store的jsOperator:
![](https://img.haomeiwen.com/i2085791/60e56f3115fd547f.png)
根据三种不同类型的HTTP请求,get,post和delete,分别从object store里读取,插入和删除数据:
![](https://img.haomeiwen.com/i2085791/2be4869fb7c1109f.png)
了解了这个思路后,再理解http get handler就容易了:从http请求里提取出参数,构造消息发送给outport.
![](https://img.haomeiwen.com/i2085791/64bd6cfc8a54200f.png)
从31multiplexer的源代码能看出,它本身并没有包含什么配置:
![](https://img.haomeiwen.com/i2085791/58c2fa78bbac2876.png)
仅仅只是简单的把三个http JavaScript handler的输出接收起来,并重新输出到最终的object handler上。
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
![](https://img.haomeiwen.com/i2085791/fc7ecd97deb67090.png)
网友评论