Workstationネットワーキングを理解する
概要
この記事では、Workstationの前景と背景の更新、自動更新、コンテンツのパブリッシュ、更新の検出、ウェブアプリの更新について説明します。
ネットワーキングを伴うタスクは、Workstationのコア機能です。 Workstationは、ネットワークを慎重に使用し、プロキシサーバーなどの焦点に過負荷をかけないように、ユーザーエクスペリエンスよりも安定性を優先します。
WalkMeコンテンツ
Workstationは、組織のコンテンツビルダーによってWalkMeのCMSで作成されたコンテンツを表示します。
このコンテンツは、WalkMeのCDN(cdn.walkme.com)にデプロイされる静的JSONファイルで出荷され、配布されます。 Workstationの配信方法はWalkMe Web製品と似ています。
しかし、デスクトップアプリケーションとしてのWorkstationには、「ロード」ウェブイベントなどの読み込み関連の観察はありません。
したがって、コンテンツパブリッシュのチェックはユーザーの使用状況と結び付けられます。つまり、Workstationはそのユーザーにより3つのアクションが行われた結果として、コンテンツの更新をチェックします。
- スタート/リフレッシュWorkstation – プロセスが開始されると、Workstationエンジンはコンテンツファイル(別名:JSONファイル)を再ダウンロードし、ユーザーに表示します。
- 前景状態変更 – 「インフォーカス」状態変更とも呼ばれます。エンドユーザーがWorkstationから別のアプリケーションに「去る」たびに、それが直近の訪問から30秒以内でない場合、エンジンは更新があったかどうかをチェックします(「更新があったかを確認中です」は必ずしもダウンロードに進むとは限りません)。
コンテンツ更新読み込みフロー
すべての「更新があるか確認する」が、実際の更新で終わるとは限りません。 コンテンツファイルの再ダウンロードは、新しいコンテンツまたは設定がコンテンツビルダーによって公開された場合にのみ発生します。
以下では、Workstationがアップデートをプルダウンし、コンテンツファイルを再ダウンロードする必要があるかどうかを決定する方法について説明します。
- Workstationは、上記のイベントに従ってsettings.txtファイル(1.3KB)をダウンロードします。
- Workstationはファイルを解析し、「PublishDate」とそのファイルのローカルコピーを比較します。
- 現在のコピーよりも新しいアップデートがある場合、Workstationは次に進みます。
- 前景の状態に基づいて、Workstationはダウンロード戦略を選択します。
- ユーザーの「Update content(コンテンツを更新)」ボタンを表示する
- バックグラウンドでコンテンツファイルを自動的にダウンロード
- Workstationはコンテンツファイルをダウンロードします(サイズは通常、数百キロバイトですが、メンテナンスされていないファイルでは数メガバイトになる場合もあります)。
- コンテンツファイルがダウンロードされると、Workstationはローカルデータストアを再構築し、ユーザーがコンテンツを利用できるようになります。
コンテンツセグメンテーション
WalkMeコンテンツは、部門、属性、ユーザーアクションごとにセグメント化することができます。 各条件はハッシュ化された文字列で、ユーザー関連情報の場合、リモートサーバーで評価されます。
評価は可能な限り統合され、バッチリクエストでhttps://papi.walkme.com/conditions/evaluatedConditionsに送信されます。
Workstation Webアプリケーション
Workstationインターフェイスは、Reactフレームワークに基づいたウェブベースのソリューションです。 このアプリケーションは、Workstation CDN – workstation.walkme.comから提供される静的なファイル(HTML、CSS、JS)で構成されています。
アプリケーションのサイズは1.3MBで、すべてgzipとして圧縮されています。
Workstationは、エンドユーザーがブートごとに手動でリフレッシュする度にウェブアプリケーションを読み込みます。
ウェブアプリケーションの場所は、ブートストラッププロセスで以前にダウンロードされたsettings.txtファイルによって決定されます。
WalkMe Analytics
Workstationはさまざまなイベントを収集し、インサイトとWorkstationダッシュボードに関する使用状況報告を提供します。
各イベントは、数キロバイトサイズのHTTPSリクエストであり、ec.walkme.comに送信されます。
Workstationバイナリーアプリ自動更新
エレクトロンベースのWorkstationのバージョン>1.00以降、自動更新エンジンが代わりにバイナリを更新し、Workstationコンテナとも呼ばれています。
Workstationコンテナは、プロキシやネットワーク認証の互換性、プッシュ通知登録、ウィンドウズ管理など、低レベルタスクを実行するエレクトロンベースのラッパーです。
コンテナは、ウェブアプリケーションのライフサイクルを維持し、WalkMeコンテンツ更新メカニズムを管理します。
Workstationは、エレクトロンの業界標準の勧告に従って、自動更新ファシリテータとしてSquirrelを使用します。
- Workstationは常に最新の利用可能なバイナリーバージョンで始まります(下記の「バージョンメンテナンスとダウンロード失敗の克服」セクションをご参照ください)
- Workstationは、すべてのスタートアップで現在よりも最新のバージョンが存在するかどうかを確認するためにHTTPSリクエストを送信します。
- Workstationは、ユーザーがアプリと24時間フレームでエンゲージする度に別のHTTPSリクエストを送信します。 24時間以内に1つのリクエスト
- Workstationはバイナリーのダウンロードを開始し、Workstationのインストールフォルダに保存します。
- ダウンロードが正常に終了すると、Workstationは以下の戦略の中から1つを実行します。
- Workstationが前景/後景 – ユーザーは更新について通知を受け、Workstationを再開するように求められます – 「Click to Update(クリックして更新)」
- Workstationがオフ – 次のスタートアップは、新しいバイナリーを使用します。
バージョンメンテナンスとダウンロード失敗の克服
自動更新メカニズムは、2つのバイナリーバージョンを1度に保ち、ダウンロード失敗を克服します。
新しいバージョンに切り替える前に、自動更新エンジンが2つの完了したバージョンを保持します。現在+以前のバージョンと新しい未完了バージョンです。
ダウンロード完了後、自動更新バージョンは前バージョンを消去し、2つのバージョン(現在+次へ)を保持します。
v.2.3.0が最新版になった場合、ファイルシステムからv2.1.2が削除されたことにご注意ください。
ユーザー関連のアクション
Workstationは、Sharepoint、Confluence、Jiraなどのその他の多くのサードパーティ製アプリケーションを接続することで、ユーザーにエンゲージするように働きかけます。
アプリケーションがセルフホストであろうとSaaSであろうと、どの接続でもネットワークを使用しています。
サードパーティ製アプリケーションを接続すると、ネットワークを使用しているOAuth2.0、SMAL、またはOAuth1.1認証フローが開始されます。
接続が確立されると、Workstationはサーバーに問い合わせ、サードパーティ製アプリケーションでソースされたコンテンツとのインターフェイスを提供します。 サードパーティ製アプリケーションごとに、ユーザーがWorkstationを前景に持ち込む度に少なくとも1つのHTTPSリクエストを生成します。
エンタープライズ検索アクティビティ
上記の自動更新以外にも、ユーザーはサードパーティ製アプリケーションで検索を開始することができます。 検索ごとに、リモートサーバーから結果を収集するHTTPSリクエストをトリガーします。