ビジネスサービスの設計パターン
このパターンには、以下の主要な抽象があります。
タイプ
Cookie
Helper
Service
ServiceEvent
ServiceException
ServiceFactory
タイプ
Type 抽象には、オブジェクトを特定の種類に指定する手段としてのインタフェースが備わっています。このインタフェースは、入出力の観点からサービスで処理されるもので、追加情報ではありません。タイプが指定されていないオブジェクトは、サービスで静的に使用できないので、コンパイル時に拒否されます。通常、Type は永続可能オブジェクトです。
Cookie
Cookie 抽象には、タイプ指定したオブジェクトに関連付けられ、その一部として保存される情報を指定するのに使用されるクラスが用意されています。オブジェクトがそれ自体を Type であるとアサートした場合は、Cookie およびすべてのネステッド属性を含めたその属性が、適用可能なアクセッサとともにオブジェクト内にコードで生成されます。Cookie の多重度が 0..1 の場合、Cookie およびそのネステッド属性は、Cookie の属性が不要であれば Null として保存されます。Cookie の単純な属性または構造化された属性がデータベースで Null 以外に制限されている場合、Cookie は Null 以外になります。
Helper
Helper 抽象には、サービスの外部インタフェースを表すクラスが用意されています。表示されているすべての機能は、このインタフェースから起動できます。Helper は、インスタンスを生成せずにほかのクラスからアクセスできる静的メソッドおよび属性を指定することだけを目的としています。静的メソッドは、通常は Cookie アクセッサです。
Service
Service 抽象には、サービス自体の主要な機能を指定するインタフェースが備わっています。インタフェースに @RemoteInterface というアノテーションが付けられている場合は、サービスの機能をリモートから起動するかどうかを選択できます。ステレオタイプ化されていない場合、サービスのインタフェースはサーバーでローカルにのみ使用できます。このインタフェースは、サービスが適切に機能するために、厳守され、実装される必要があります。また、サービスメソッドの標準的な実装もあります。この標準実装はサーバー上での単独実行で、すべての Windchill サービスのデフォルト設定です。
ServiceEvent
ServiceEvent 抽象には、サービスから発生し、ほかのサービスにその発生を通知するイベントの一般的な定義が含まれています。このイベントで、リスナーのキーの生成に使用される 1 つまたは複数の種類の事象が指定されます。これらの事象は大変シンプルなので、サービスごとに 1 つのイベントしか指定されません。このイベントですべての事象が定義されます。
ServiceException
ServiceException 抽象には、サービスでの異常な動作の結果として発生する例外状態の一般的な定義が含まれています。この例外は、サービスのリソースバンドルとともに、あらゆる種類のエラーの表示専用に使用できます。ただし、この例外をさらに詳細な適用可能なエラーに特化することが適切な場合もありますが、必須ではありません。
ServiceFactory
ServiceFactory は、Windchill のサービスインタフェースの実装を検索するユーティリティです。ServiceFactory は、主に、リモートで呼び出すことができるサービスに使用されますが、サーバー側のサービス (PersistenceManagerSvr など) にも使用できます。
これは役に立ちましたか?