EGL Rich UI ハンドラーまたはライブラリーでのサービス・アクセスは常に非同期 です。 リクエスターは、サービスからの応答を待機することなく処理を続行します。 ユーザーは、リクエスターがサービスからの応答を待機している間も、ユーザー・インターフェースと対話できます。
myService MyServicePart{};
call myService.myEcho("world")
returning to myCallBack
onException serviceLib.serviceExceptionHandler;
サービスは、起動されるとタスクを実行し、ほとんどの場合、EGL ランタイム・コードに応答します。次に EGL ランタイム・コードはコールバック関数を呼び出します。コールバック関数は、ユーザーがコーディングし、サービスにアクセスする call 文に指定する Rich UI 関数です。EGL ランタイム・コードによる起動は、コールバックの発行 と記述されています。call 文に例外ハンドラーを指定している場合にサービス・アクセス中にエラーが発生すると、EGL ランタイム・コードにより例外ハンドラーが呼び出されます。
前述の例では、myCallBack コールバック関数 (表示されていない) が、サービスから返されたテキストを受け取り、実行時に Web ページに配置します。
Rich UI アプリケーションは、サービスにアクセスするために Rich UI プロキシーを使用します。Rich UI プロキシーは、Java™ EE に準拠するアプリケーション・サーバーにコードとともにインストールされるランタイム・ソフトウェアです。
Rich UI アプリケーションは、起動されたすべてのサービスのアクセスに、同じサーバー上のサービスであっても、EGL Rich UI プロキシーを使用します。
専用サービスを使用して、その他の EGL 生成のJava サービスが実行できるタスク (データベース、ファイル・システム、またはローカル IBM® i サービス・プログラムへのアクセスなど) を実行できます。ただし、専用サービスを SOAP または EGL REST-RPC サービスとして再デプロイしていない場合は、その他のコードではこの専用サービスを使用できません。
myService MyServicePart {@BindService{}};
myService MyServicePart{@dedicatedService};