アーキテクチャ批評:SQL Server FOR XML から XSLT へのリッチ HTML インターフェイスへの変換
-
22-08-2019 - |
質問
次のアーキテクチャに関する建設的なフィードバックを得ることができますか?
簡略化されたアーキテクチャの概要:
SQL Server から XML を返し (FOR XML を使用)、それを XSL 変換に直接渡して、リッチ HTML Web サイトを生成します。
従来の 3 層 ASP.NET アーキテクチャと比較した場合、このようなシステムの長所と短所は何ですか?
解決
こんなことをしてきました。そして、それは非常に単純なページで機能します。しかし、クライアント側の JavaScript などを組み込みたいと思った時点で、運命は変わります。
生成された出力は XSLT スタイルシートに隠されているため、読み取り、保守、バグ修正が非常に困難です。
テストは実行できますが、以前よりもはるかに多くの労力が必要になります。
MVC パターンなどは、このようなシナリオに非常に適しています。
他のヒント
2つの短所。
C# や VB.net でのデータ操作は、プロパティ (インテリセンス コード) を持つクラスではなく XML ドキュメントを持つため、より困難になります。
データ入力検証用の asp.net コントロールが組み込まれています (クライアント側とサーバー側の両方)。XSLT を使用して HTML ページを作成する場合、これらは使用できません。
私もプロジェクトで似たようなことをやったことがあります。このアーキテクチャは非常にクリーンでスケーラブルだと思いますが、社内に XSLT の専門知識が豊富にある場合にのみ、このアーキテクチャを使用することをお勧めします。
いくつかの XSLT テンプレートと、XSLT パラメーターを使用して変換を実行する汎用 C# クラスがあります。非常に優れたパフォーマンスが得られますが、新しい開発者にとってアプリを保守するのは難しい場合があります。
あるプロ:
- ブラウザー用の HTML または WPF/Silverlight 用の XAML を生成する XSLT テンプレートを作成できます。