1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

前回は BizRobo! Link のコンセプトについてまとめてみましたが、今回はより具体的に BizRobo! Link を構成する機能群について俯瞰していきたいと思います。

BizRobo! Link の位置づけ

まずは、いきなり登場した BizRobo! Link という用語についてですが、これは BizRobo! の 公認(≠公式) コミュニティの中で一つの提案として個別開発しているソフトウェアの名称です。

特に製品として提供しているのではなく、試作をしながらOPEN社内で試用している段階です。1 過去類似の例としては daDashCamが挙げられます。こちらはすでに BizRobo!の準公式ツール的な位置づけになっております。

利用者からの熱い要望が会社に届けば、正式なBizRobo!ツールに仲間入りできるかもしれません。2

BizRobo! Link についても同様に製品として取り扱われることを夢想しながら、「BizRobo!をよりよく利用するにはこんなことができたらよくないですか?」という提案を形にしていこうと思います。

機能構成の外観

2026年1月15日現在で社内利用のBizRobo!環境に配置されている BizRobo! Link v0.20.0 を前提とした機能構成です。

BizRobo! Link 概要.png

最初は2年くらい前に DataStand というコンセプト(細かなデータ処理はロボットの外で済ませたい)を試作していましたが、その後、昨年の秋にコネクターを集約して一元管理するための基盤(Link Connector)を試作したことをきっかけに DataStand を統合し、併せて以前から何度か試作をしていた Decision Table 機能もくっつけてしまったのが現時点の BizRobo! Link です。

プロダクトを構成する3つの要素

BizRobo! Link はメインモジュールである Core に対して SidecarConnector をアドオンすることで機能拡張するアーキテクチャを採用しています。

BizRobo! Link Core

BizRobo! Link のメインパートであり、コネクター全体のコントロールセンター的役割を持ちます。ロボットから呼び出された コネクター の認証制御をおこなったり、SidecarConnector へ処理のディスパッチを実施します。

image.png

BizRobo! Link で実行されたコネクターの統計情報は Dashboard 上に表示さるため、具体的な利用状況を数値で確認することが可能です。(この部分は今後運用を通してより改善をしていきたいポイントですね。)

また Core 自体が保有している DataStandDecision Table という機能についてもロボットがコネクターを通して処理しますが、外部連携用IFとして REST による操作を可能にするオプションも備えています。

BizRobo! Link Sidecar

Core の提供するSDKを使って開発されるコネクターですが、機能として独立性が高く、マイクロサービスとして Coreと連携して動作する機能です。ある程度一貫した機能の塊として Sidecar のプロセスの中で処理は実行されます。

br-link-box.png

コネクターの登録は Sidecar 側からセットアップすることで実施します。

現在はクラウドストレージである BoxGoogle Workspace(SpreadSheet)と連携する Sidecar コネクターが用意されています。

Boxコネクターについては、Box Drive のようにファイルパスを指定して読み書きができるIFを実装しており、大量ファイルや巨大ファイルの操作(キャッシュや分割アップロード、通信エラー時のリトライ処理など)にも対応している点は、既存のステートレスなコネクターでは実現できなかった特徴です。

BizRobo! Link Connector

Core の提供するSDKを使って開発される純粋なコネクターであり、Core が生成するワーカープロセス上で並行して実行されます。Core が動作するマスタープロセスとは別の領域で動作するため、仮に処理が集中して過負荷や不具合でプロセスがダウンした場合でも管理システムに影響を与えることはありません。

コネクターの登録、削除は BizRobo! Link の管理画面から動的に行うことができます。

image.png

現在は File_Operator(ファイル操作)Webhook を実行するコネクターが提供されています。イメージとしてはまさに カスタムアクションステップ として、独自のステップアクションを定義します。

運用基盤としての管理機能

BizRobo! Link Core はコネクターを中心とした BizRobo! 拡張機能の運用基盤として試作されており、最終的には現在の BizRobo! 以外とも連携してサービスを提供することも考えています。

プロジェクト管理

とはいえ、まずは現在の Management Console と同じ単位で管理ができるように プロジェクト という概念を組み込み、アクセスできるロボットやリソースの範囲をコントロールしています。

image.png

ただし、特筆すべき点としては、デフォルトで Shared Space という共有プロジェクトを用意しており、オフィスビルの1階共有スペースのような、プロジェクトを横断してアクセスできる領域も用意されています。

ユーザー管理

Management Console には、プロジェクトと ユーザーの間にグループという概念がありますが、あまり複雑にしたくなかったので、今回はユーザーが直接プロジェクトに所属するという形にしています。

image.png

作成したユーザーを特定のプロジェクトに割り当てることで、そのユーザーが該当のプロジェクトにアクセスできるようになります。

後述する DataStandDecision Table 内の情報もプロジェクトごとに登録されます。

また、ユーザーには AdminUser の2つのロールがあり、サーバーの管理等ができるのは Admin に限定されます。

image.png

サーバー設定

サーバーアクセスに関する情報や、プロキシサーバーの情報、REST API の受け入れ ON/OFF の設定などをします。

image.png

また、画面からは設定できませんが、サーバー上の設定ファイルで ユーザー管理モード を OFFに設定する 認証無効モード を有効にできます。

image.png

認証無効モード で起動すると上記のようにヘッダ部分に「NO AUTH MODE」というラベルが表示されます。また、セキュリティ上の考慮から、認証無効モード で実行しているときには localhost からのみサイトへのアクセスを受け付けます。

サーバーログ

BizRobo! Link のサーバーログの他、監査ログを確認することができます。

image.png

まとめ

今回は BizRobo! Link の実装についてざっと見てきました。
次回からはより具体的な機能の紹介に入ります。まずは分かりやすさを優先して、Decision Table の紹介から始めようと思います。

image.png

  1. 2026年1月時点

  2. 正式なツールになれば、開発・保守体制も確立され、テクニカルサポートによる直接的なサポートも受けられるようになるでしょう。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?