問題タブ [btdf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
biztalk - BizTalk の展開とビジネス ルール
私は BizTalk 開発の初心者であり、適切に使用してから 6 ~ 7 週間しか経っていないため、私の素朴さを許してください。
開発中の基本的な BizTalk 2013 アプリケーションがあり、テスト環境に展開する準備ができています。
ビジネス ルールを使用してアウトバウンド トランスポートの場所を定義しています。すべての変換が完了したら、SQL Server のストアド プロシージャにデータを送信し、レコードを挿入/更新します。
テスト/ライブ環境に展開する場合、データベースはアプリケーションとは別のサーバーに格納されるため、アウトバウンド トランスポートの場所をローカル マシンに設定することはできません。例えば:
環境に応じてビジネス ルールを変更できるかどうかを確認するために BizTalk 展開フレームワークを調べましたが、何も見つかりませんでした。
私の質問は、ビジネス ルールの環境ベースの設定を管理するための最良の (最小限のメンテナンス) 方法は何ですか? BizTalk 展開フレームワークを使用することをお勧めします。
biztalk - BTDF 設定ファイル ジェネレーターの生成
環境固有のバインディングを生成するために、BizTalk サーバー展開フレームワークを使用しています (確かに多くの Biztalker がそうしています)。ソリューションを新しい環境に展開するとき、送信ポート/受信場所の接続文字列と URL を手動で設定しています。次に、バインディング ファイルをエクスポートし、この環境で変化する値への Xpath を手動で SettingFileGenerator.xml に書き込みます。
これは非常に日常的な作業であり、デフォルトのバインディングと特定の環境のバインディングを比較して Xpath を異なる値に抽出する「スマートな」(自動) 方法があるかどうかを尋ねています。
biztalk - オーケストレーションの自動テスト
データベースからデータをポーリングするオーケストレーションがあります (これは実際には ERP で使用されているため、このデータベースのデータを操作することはできません)。ポーリング ポートが一致するデータを見つけると、オーケストレーションを実行し、データをサード パーティに送信します。ウェブサービス。
このオーケストレーションで使用されるロジックは複雑で、変更されやすいことが多いため、適切な一連のテストでカバーすることが重要です。私はしばらくこれについて考えていて、3 つの異なるコンポーネントを使用することも考えました。
最初の部分 (2 つのポートのみ可能) は、データベースからデータを読み取り、フォルダーに配置します。
2 つ目 (現在のオーケストレーション) は、ファイル ポートを使用してデータを読み取り、最初のコンポーネントによってダンプされ、結果のファイルを別のフォルダーにダンプします。
3 番目のコンポーネントは、2 番目のコンポーネントによってダンプされたファイルを読み取り、それを Web サービスに送信します。
ただ、気になる点は少なく、
BizTalk に関して言えば、これは慣習に眉をひそめますか? それとも、物事を行うのは通常の方法ですか?
パフォーマンス - 現在のソリューションと比較して大幅に遅くなりますか?
現在、サーバーの 1 つを使用してテストを実行し、BTDF と Jenkins を使用してビルドを実行しています。コンポーネント 1 と 3 を無効にしてテストを実行し、ビルドが完了したら再度有効にして、正常に機能するようにする方法はありますか?
biztalk - BizTalk スケジュール タスク アダプター v5 が失敗します - オブジェクトをキャストできません
テスト サーバーとライブ サーバー用に BizTalk スケジュール タスク アダプターの v5 をインストールしました。次のクラスで実行するように構成されています - 2分ごとにトリガーされます
ScheduledTaskAdapter.TaskComponents.FileStreamProvider、ScheduledTaskAdapter.TaskComponents、バージョン = 4.0.0.0、カルチャ = ニュートラル、PublicKeyToken = aa9f2dd0f13442dc
ローカルのxmlファイルを指しています
テスト環境では問題なく動作しますが、ライブ環境では、最初のポーリング後に受信場所がシャットダウンし、次のエラーがログに記録されます。
URL「schedule://TimeSpan/GetEmail」の受信場所「RcvScheduledTask_Loc」はシャットダウン中です。詳細:「タイプ 'ScheduledTaskAdapter.TaskComponents.FileStreamProvider' のオブジェクトをタイプ 'ScheduledTaskAdapter.TaskComponents.IScheduledTaskStreamProvider' にキャストできません。」.
BTDF を使用してアンデプロイしようとすると、BTSTask RemoveApp に応答して結果をデプロイするために次のエラーが書き込まれます。
EXEC: 警告: 受信場所 'RcvScheduledTask_Loc' の TransportTypeData、Address、または Public Address プロパティを検証できませんでした。オブジェクト参照がオブジェクト インスタンスに設定されていません。
私が間違っているアイデアはありますか?
msbuild - MSBuild Runner でプロジェクト GUID を複製する
SonarQube で分析できない 3 つのプロジェクトのソリューションがあります。これは、ac# プロジェクト、BizTalk プロジェクト (btproj)、およびテスト プロジェクトです。BizTalk とテスト プロジェクトの両方に c# プロジェクトへのプロジェクト参照があり、テスト プロジェクトには他の両方のプロジェクトへの参照があります。
プロジェクトが分析を開始すると、BizTalk プロジェクトと C# プロジェクトの両方が重複プロジェクトとして認識されるため、無視されます。テスト プロジェクトを削除すると、C# プロジェクトのみが重複としてマークされます。
別のビルド構成と CPU の組み合わせを試しましたが、別の結果を生み出すことができません。これらのエラーを発生させないプロジェクト参照を持つ他のいくつかのソリューションがあります。
BizTalk プロジェクトが SonarQube でサポートされていないことを認識しています。ただし、ほとんどのビジネス ロジックは C# クラス ライブラリに配置されており、これとは関係がないと思います。
biztalk - BizTalk 展開フレームワークでのホスト インスタンスの変更
BizTalk 展開フレームワークを使用してアプリケーションを展開しています。ローカルマシンで動作しています。テスト環境にデプロイしたいのですが、MSI ではなく Visual Studio を使用する必要があります。HostInstance 名を変更する場所がわかりません。