【发布时间】:2018-05-16 13:37:30
【问题描述】:
能否请您告诉我任何有用的在线资源来学习和实施一些场景以进一步探索它。谢谢。
【问题讨论】:
标签: ibm-datapower
能否请您告诉我任何有用的在线资源来学习和实施一些场景以进一步探索它。谢谢。
【问题讨论】:
标签: ibm-datapower
数据权力按历史顺序排列:
注意后面所有的特性都需要前面的(ESB基于WS Security等)
您可能知道,Datapower 的大部分开发都是通过转换完成的。为他们建立的默认语言是 XSLT(XQuery 也是历史性的,不太受欢迎的选项)。
XSLT 是最强大和最可怕的语言之一。有点像 XML 世界的 Perl+REGEX...
...但是 XSLT 还有另一个问题。它不是为使用 JSON 而设计的。让 10 年前的 Datapower 走向肥胖退休。
起初,IBM 设计了处理 JSON 的伪 XML 方法。您可以将入站 JSON 转换为 XML,并在 XSLT 中使用 JSON AS XML。逆向操作是使用 XSLT 生成 JSON……它工作得很好,但有点像老式的 HTML/PHP 合并代码。
所以 IBM 想出了一个好主意:GatewayScript。 (主要基于许多其他好主意) GatewayScript is basically ECMAScript 2015 (ES6) + CommonJS 1.0 + Many super popular JS crypto libraries。 ECMAScript 显然被称为 JavaScript。
关于您的问题,GatewayScript 的主要优点是可以更轻松地为现代 REST/JSON API 开发上面列表中的所有功能的 JSON Web 服务,而不是旧的(但仍然好)SOAP/XML Web 服务。
GatewayScript 已经存在多年,不再是“测试版”选项。
以下是其他一些简洁的 GatewayScript 功能:
我希望这会有所帮助。
【讨论】:
GhislainCote 的回答非常完整,但基本上 GatewayScript 是 Node.js,带有一个用于处理包含您的数据/有效负载的会话对象的附加框架。
还有一些特殊的对象,例如service-metadata 和 header-metadata 将包含 DataPower 变量和标头。
示例脚本位于store:///gatewayscript/ 目录中,例如store:///healthcheck.js。
还可以查看知识中心,它包含很多关于 GatewayScript 的帮助和信息: https://www.ibm.com/support/knowledgecenter/SS9H2Y_7.7.0/com.ibm.dp.doc/gatewayscript_model.html
GatewayScript 非常强大,我在 GatewayScript 中编写了对 AS2 de-/en-veloping(适用于没有 B2B 模块选项的客户)和 RosettaNet 处理的支持,因此您可以实现的目标几乎没有限制!
【讨论】: