アプリの開発では、サーバー上で実行するロジックと、スマートフォンやタブレットなどのクライアン
トデバイス上で実行するロジックを作成します。
サーバーアクションとクライアントアクションのロジックフローは、Service Studioでの表示が異なり
ます。キャンバスの左上に、クラウドまたはタブレットとスマートフォンのどちらかのインジケータア
イコンが表示され、現在のアクションがサーバーとモバイルデバイスのどちらで実行されるのかを示し
ます。
同じツールのツールボックスアイコンも、サーバーとクライアントとでは少し異なります。
下記のアクションを作成できます。
• データアクション
• クライアントアクション
• サーバーアクション
■データアクション
たとえば、ホームバンキングのダッシュボードなどの一部の画面では、複雑な情報をデータベースやそ
の他の外部システムから取得することが必要な場合があります。モバイルアプリとリアクティブWebア
プリでは、これをデータアクションで行います。
データアクションは、サーバー上で実行されます。データアクションを作成し、複雑なデータをデータ
ベースから取得することができます。これは、サーバー上でAggregateを1回使用しただけでは実現で
きません。また、たとえば、REST APIを利用して外部システムからデータを取り出すことも可能で
す。
データアクションは、クライアントおよびサーバーのAggregateと同時に実行され、各画面のロード後
にデータを取り出します。
ブロックにデータアクションを作成することもできます。
■クライアントアクション
クライアントアクションは、ユーザーデバイス上でロジックを実行します。画面とクライアントロジッ
クという2つの異なるスコープでクライアントアクションを作成できます。
画面のスコープ: 画面によるユーザーインタラクションでロジックを実行します。たとえば、連絡先を
更新する画面では、ユーザーによる[Save]ボタンのクリックに反応して連絡先を更新する更新ロジ
ックを実行するクライアントアクションを作成できます。
また、ブロックにクライアントアクションを作成することもできます。
クライアントロジック: 複数の画面で再利用できるようにロジックをカプセル化します。たとえば、ア
プリの複数の画面に適用する必要がある検証ルールの場合、クライアントロジックに対して一般に適用
されるクライアントアクションを作成し、画面のクライアントアクションで利用することができます。
クライアントアクションを関数として設定して、クライアント側ロジックのExpressionの中で直接使用
できます。
■サーバーアクション
アプリでサーバーアクションを作成し、ロジックをカプセル化して他のサーバーアクション、データア
クション、クライアントアクションなどで再利用することもできます。サーバーアクションは、サーバ
ー上のロジックを実行します。
サーバーアクションを関数として設定して、サーバー側ロジックのExpressionの中で直接使用できま
す。