Workstationネットワーキングを理解する
概要
この記事では、Workstationのフォアグラウンドとバックグラウンドの更新、自動更新、コンテンツの公開、更新の検出、およびウェブアプリの更新について説明します。
ネットワーキングに関連するタスクは、Workstationの主要な機能です。 Workstationは、配慮されたネットワーキングを使用し、プロキシサーバーなどの焦点への過負荷を避けるために、ユーザーエクスペリエンスよりも安定性を優先します。
WalkMeコンテンツ
Woekstationは、組織のコンテンツビルダーによってWalkMeのCMSで作成されたコンテンツを表示します。
このコンテンツは、WalkMeのCDN(cdn.walkme.com)にデプロイされた静的JSONファイルを使用してリリースされ、配布されます。 Workstationの配信方法は、WalkMe Web製品に類似しています。
ただし、デスクトップアプリケーションとして、Workstationには「ロード」ウェブイベントなどの読み込み関連の監視はありません。
したがって、コンテンツ公開チェックは、ユーザーの使用状況に紐づけられます。Workstationは、ユーザーが実行した3つのアクションの結果として、コンテンツ更新を確認します。
- Workstationの起動/更新-プロセスが開始されると、Workstationエンジンはコンテンツファイル(別名JSONファイル)を再ダウンロードし、ユーザーに表示します。
- フォアグラウンド状態が変更(「フォーカス」状態の変更)された場合、エンドユーザーがWorkstationを最後に訪問してから30秒の時間枠以外に別のアプリケーションに「退出」するたびに、エンジンは更新の有無を確認します(「更新の有無を確認」は、必ずしもダウンロードに進むわけではありません)。
コンテンツ更新の読み込みフロー
すべての「更新の確認」が実際の更新に結びつくわけではありません。 コンテンツファイルの再ダウンロードは、新しいコンテンツまたは設定がコンテンツビルダーによって公開された場合にのみ発生します。
下の図は、Workstationが更新をどのように取得し、コンテンツファイルを再ダウンロードする必要の有無を判断する方法を示しています。
- Workstationは、上記のイベントに続いてsettings.txtファイル(1.3 KB)をダウンロードします。
- Workstationはファイルを解析し、「PublishDate」とファイルのローカルコピーを比較します。
- 現在のコピーより新しい更新がある場合は、Workstationは次のステップに進みます。
- フォアグラウンド状態に基づいて、Workstationはダウンロード戦略を選択します。
- ユーザーに「コンテンツの更新」ボタンを促す
- バックグラウンドにコンテンツファイルを自動的にダウンロード
- 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バイナリアプリ自動更新
ElectronベースのWorkstationのバージョン>1.00以降、自動更新エンジンは、バイナリ(別名Workstationコンテナ)を更新する場所に向かっています。
Workstationコンテナは、プロキシおよびネットワーク証明の互換性、プッシュ通知登録、ウィンドウ管理などのローレベルのタスクを実行するElectronベースのラッパーです。
コンテナは、ウェブアプリケーションのライフサイクルを維持し、WalkMeコンテンツの更新メカニズムを管理します。
Workstationは、Electronによる業界標準の推奨事項にしたがい、自動更新ファシリテーターとしてSquirrelを使用しています。
- Workstationは常に最新の利用可能なバイナリバージョンから開始します(下記の記事「バージョンのメンテナンスとダウンロード失敗の解決」セクションをご覧ください)。
- すべてのスタートアップで、WorkstationはHTTPSリクエストを送信し、現在のバージョンよりも最新のバージョンがあるかどうかを確認します。
- Workstationが起動または更新されると、新しいバージョンがあるかどうかを即座に確認します。 開始時に新しいバージョンがない場合、ユーザーが次の12時間以内にWorkstationを利用する際に再度確認します。 つまり、ユーザーがアプリウィンドウを開くと、12時間ごとに確認が行われます。ウインドウが開かれない場合は、アプリが再起動または更新されたときにのみ更新されます。
- Workstationはバイナリのダウンロードを開始し、Workstationインストールフォルダに格納します。
- ダウンロードが正常に完了すると、Workstationは以下の戦略のいずれかを実装します。
- Workstationがフォアグラウンド/バックグラウンドの場合:ユーザーは更新について通知され、Workstationを再起動(「Click to Update(クリックして更新)」)するように求められます。
- Workstationがオフの場合:次の起動は、新しいバイナリを使用します。
バージョンのメンテナンスとダウンロード失敗の解決
自動更新メカニズムは、ダウンロード失敗を解決するために、2つのバイナリバージョンを一度に保持します。
新しいバージョンに切り替える前に、自動更新エンジンは、現在と以前のバージョンおよび新しい未完了のバージョンの2つの完了バージョンを保持します。
完了したダウンロードに続いて、自動更新バージョンは以前のバージョンを消去し、現在と新規の2つのバージョンを保持します。
v2.1.2は、v.2.3.0が有効になった時にファイルシステムから削除されたことにご注意ください。
ユーザー関連のアクション
Workstationは、SharePoint、Confluence、Jira、その他多くのサードパーティによるアプリケーションを接続することで、ユーザーにエンゲージメントを促します。
アプリケーションがセルフホストであるかSaaSであるかに関わらず、すべての接続がネットワークを使用しています。
サードパーティによるアプリケーションを接続すると、ネットワークを使用しているOAuth2.0、SMAL、またはOAuth1.1認証フローが開始されます。
接続が確立されると、Workstationはサーバーに問い合わせて、サードパーティによるアプリケーションから発信されたコンテンツを含むインターフェースを提供します。 各サードパーティアプリケーションは、ユーザーがWorkstationをフォアグラウンドに持ち込むたびに、少なくとも1つのHTTPSリクエストを生成します。
エンタープライズ検索アクティビティ
上記の自動更新に加えて、ユーザーはサードパーティアプリケーションで検索を開始できます。 各検索は、リモートサーバーから結果を収集するHTTPSリクエストをトリガーします。