通过OutSystems的Integration Builder连接到MongoDB Atlas并查看
OutSystems目前推荐使用Integration Builder(一种用于生成与外部系统连接的SaaS工具)与外部系统进行连接。连接的对象也在逐渐增加,其中包括了MongoDB。在查看设置时,发现可以与免费使用的MongoDB Atlas进行连接,因此决定试一试。
而且,我以前也写过关于Integration Builder的文章。
我会在Salesforce开发者版本中尝试使用Integration Builder。
确认所生成的模块的配置是通过Integration Builder完成的。
在MongoDB Atlas上做准备。
设置MongoDB Atlas账户等。
因为在Qiita上有一篇很好的文章,所以我参考了这个(虽然措辞可能略有不同,但并没有特别的问题)。
我想尝试在MongoDB Atlas上免费且便捷地使用数据库环境。
样本数据

网络设置
在MongoDB Atlas的设置中,有一个功能可以指定允许访问的源IP地址。
如果不指定的话,似乎无法通过Integration Builder进行访问。
这次为了确认一下,我想先通过Integration Builder连接到MongoDB Atlas,所以我会将访问权限设置为无限制。

如果正确地进行设置的话
根据Integration Builder的架构概述,可以看出外部系统(此次是MongoDB Atlas)可以通过Integration Builder和OutSystems环境两端进行访问。然而,实际上从Integration Builder到外部系统的访问似乎是通过OutSystems环境的Service Center进行的,所以可以放心。
使用Integration Builder与外部数据库集成需要满足以下要求:
所有基础设施服务器必须能够连接到外部数据库。
所以,如果从Platform Server到MongoDB的路径被确保了,似乎就好了。
为了安全起见,Integration Builder的IP地址在OutSystems网络要求>网络环境要求>Integration Builder中有记录。
如果是On-Premises環境,你可以向網絡負責人詢問OutSystems環境的IP。如果是雲端環境,你可以試著獲取前端的公共IP。但實際進行設定時,建議還是咨詢支援團隊。
使用Integration Builder创建和测试与MongoDB Atlas的连接。
访问 https://integrationbuilder.outsystems.com/IntegrationBuilder/。
建立与MongoDB Atlas的连接


请按照以下方式设置连接信息。


创建一个整合模块



在测试应用程序中进行动作确认
我們可以使用搜索功能來進行操作測試。
引用IS模块

确认操作
使用返回List结果的Search**行动来确认返回了什么样的值。
创建屏幕和相关的数据行动,在数据行动中不指定搜索条件等,只设置Max Record=1(只想查看返回值的形式),然后将结果显示在屏幕上。


为解释结果而准备结构。
ドキュメントにこの部分の対応手順が書いてある(Integration Builderで自動生成すべきな気がするが。また、Integration BuilderでIntegrationを作るときのオプションに自動生成してくれそうなものがあり、選んでいるのだが作ってくれていない)。
按照JSON格式从集合中提取一系列记录并尝试执行其操作步骤。
-
↑の動作確認で出力結果に表示されたJSONをコピー
Service StudioでDataタブ > Structuresを右クリック > Add Structure from JSON…を選択
Add Structure From JSONダイアログで名前をRestaurant、本文をコピーしたJSONに設定し、Add Structureボタンをクリック→これでRestaurantという名前でJSONの構造に対応するStructureが作成される
Search Actionの戻り値をRestaurant Listに変換する(下のAction Flow参照。SearchがText Listで返すため、For Eachでループし、個別のTextをJSONDeserializeでRestaurant型に変換。変換後の値をList Appendで、Data ActionのOutput Parameterに追加している。なおData ActionのOutput ParameterはRestaurant List型に変更)
Data ActionのOutput Parameterを画面にドラッグ&ドロップして一覧表を作ってテスト


