2016-10-31 14 views
1

現在のアーキテクチャでは、JSONスキーマからの着信要求(JSON内)を検証するためのゲートキーパーとして機能するDatapowerが用意されています。DatapowerでのJSONスキーマの検証

私たちは、Datapower自体に存在する対応するJSONスキーマを持つ安らかなサービスがたくさんあります。ただし、サービス定義に変更があるたびに、対応するスキーマを変更する必要があります。その結果、影響を受けるスキーマがDatapowerに導入されます。

私たちは、すべての着信要求に対してDatapowerによって呼び出される安らかなサービスを計画しており、呼び出されるサービスのJSONスキーマを返します。そのスキーマは、Datapowerではなくサービスコード自体とともに存在します。そのようにしてサービス定義に変更があったとしても、それ自体でスキーマを変更してサービスを展開することができます。不要なDatapowerの導入を節約できます。

スキーマを検証する方法はありますか?私が望むのは、スキーマの変更ごとにDatapowerを導入することではありません。

ちょうど、私たちは頻繁にスキーマの変更を受けます。

答えて

0

よりよいアプローチは、変更のサブスクリプションに基づいてプッシュシステムを使用することです。 etcd、redis、postgres、またはデータ変更のための通知チャネルを持つ他のシステムにスキーマを格納することができます。これにより、すべての要求に対して検証サービスでスキーマを更新することができます。あなたの検証サービスがスキーマをコンパイルするバリデータを使用している場合(ajv - 私は著者、is-my-json-valid、jsenです)、変更した場合のみパフォーマンスが向上します。

1

リクエストごとに新しいJSONスキーマを取得することは、パフォーマンスに影響します。代わりに、バックエンドシステムにスキーマをデプロイするときは、新しいスキーマをアップロードするRMI(REST管理インタフェース)またはSOMA呼び出し、またはディレクトリ内のファイルにjsonデータを書き込むGWSスクリプトを追加するXMLファイアウォールが必要です(7.5以上)。

コールでもキャッシュをクリーニングする必要があることに注意してください。

関連する問題