BEW BizTalk Application Catalog Phase 1

Das Tool erzeugt nur die für die Phase-1-Excel-Sicht benötigten Daten:

Spalte Inhalt
BizTalk-Anwendung Name der BizTalk-Anwendung
Umgebung ACC + PRD, nur ACC oder nur PRD
Adapter-Typ Adapter mit Anzahl, zum Beispiel FILE (2x) / SFTP (1x)
Anzahl Endpunkte Summe der Endpunkte in den berücksichtigten Umgebungen
BizTalk-Anwendung in ACC oder
BizTalk-Anwendung in PRD oder
Hinweis Kennzeichnung einer nur einseitig vorhandenen Anwendung

Die Arbeitsmappe enthält exakt ein Blatt namens Phase 1. Es werden keine weiteren Übersichts-, Artefakt-, Port-, Host-, Abdeckungs- oder Findings-Blätter erzeugt.

Ablauf

ACC und PROD sind getrennte BizTalk-Umgebungen. Deshalb arbeitet das Tool in zwei Schritten:

  1. Auf dem lokalen ACC-BizTalk-Server wird ein ACC-JSON-Snapshot erzeugt.
  2. Auf dem lokalen PROD-BizTalk-Server wird ein PROD-JSON-Snapshot erzeugt.
  3. Beide JSON-Dateien werden mit demselben Tool zur gemeinsamen Excel-Sicht zusammengeführt.

Jeder lokale Lauf erzeugt zusätzlich eine einblättrige Excel-Sicht für die jeweilige Umgebung. Erst der Merge liefert den belastbaren ACC/PRD-Vergleich wie in der Zielansicht.

Erfasste Daten

Das Tool liest ausschließlich:

  • MSBTS_Application für die vollständige Anwendungsliste
  • MSBTS_SendPort für primäre und gegebenenfalls sekundäre Send-Endpunkte
  • MSBTS_ReceivePort nur zur Zuordnung einer Receive Location zur Anwendung
  • MSBTS_ReceiveLocation für Receive-Endpunkte

Ein Endpunkt ist:

  • die primäre Transportkonfiguration eines Send Ports,
  • eine konfigurierte sekundäre Transportkonfiguration eines Send Ports oder
  • eine Receive Location.

Receive Ports selbst sind Container und werden nicht als Endpunkt gezählt. Anwendungen ohne Endpunkt bleiben mit 0 und Adapter-Typ in der Sicht enthalten.

Nicht erfasst werden insbesondere Adressen, Credentials, Beschreibungen, Status, Hosts, Handler, Orchestrierungen, Schemas, Maps, Pipelines, Assemblies, Betriebssystem- oder SQL-Daten.

Voraussetzungen

  • BizTalk Server 2020 auf Windows Server 2019
  • lokale Ausführung auf dem jeweiligen BizTalk-Server
  • .NET Framework 4.7.2 oder höher
  • Leserechte auf root\MicrosoftBizTalkServer
  • administrative cmd.exe empfohlen

Microsoft Excel, Microsoft Office, PowerShell, Internetzugriff, NuGet und ein .NET SDK werden auf dem Zielserver nicht benötigt.

Lokalen Snapshot erzeugen

Zuerst den Self-Test ausführen:

BizTalkApplicationCatalog.exe --self-test

ACC:

run-inventory.cmd ACC C:\BizTalk-Doku\ACC

PROD:

run-inventory.cmd PROD C:\BizTalk-Doku\PROD

Ergebnis eines erfolgreichen lokalen Laufs:

Phase1-BizTalk-Anwendungskatalog-ACC-SERVER-20260727-150000.json
Phase1-BizTalk-Anwendungskatalog-ACC-SERVER-20260727-150000.xlsx
Phase1-BizTalk-Anwendungskatalog-ACC-SERVER-20260727-150000.log

Nur JSON-Dateien eines Laufs mit Exitcode 0 dürfen zusammengeführt werden. Ein unvollständiger Snapshot trägt IsComplete: false und wird vom Merge abgelehnt.

ACC und PROD zusammenführen

Beide JSON-Dateien in einen gemeinsamen, geschützten Ordner kopieren und ausführen:

run-merge.cmd ^
  C:\BizTalk-Doku\ACC\Phase1-BizTalk-Anwendungskatalog-ACC-SERVER-20260727-150000.json ^
  C:\BizTalk-Doku\PROD\Phase1-BizTalk-Anwendungskatalog-PROD-SERVER-20260727-151500.json ^
  C:\BizTalk-Doku\ACC-PROD

Direkter Aufruf:

BizTalkApplicationCatalog.exe ^
  --merge ^
  --acc-json C:\BizTalk-Doku\ACC\ACC.json ^
  --prod-json C:\BizTalk-Doku\PROD\PROD.json ^
  --output C:\BizTalk-Doku\ACC-PROD

Die gemeinsame Datei heißt beispielsweise:

Phase1-BizTalk-Anwendungskatalog-ACC-PROD-20260727-153000.xlsx

Bei identischer Adapterverteilung in ACC und PROD wird sie einmal angezeigt. Bei Abweichungen kennzeichnet die Zelle beide Werte, zum Beispiel:

ACC: FILE (2x) | PRD: FILE (1x) / SFTP (1x)

Anzahl Endpunkte ist im Merge die Summe aus ACC und PROD.

Optionen und Exitcodes

Option Bedeutung
--environment ACC|PROD lokaler Inventarlauf
--output PFAD Zielordner
--merge ACC- und PROD-Snapshot zusammenführen
--acc-json PFAD vollständiger ACC-Snapshot
--prod-json PFAD vollständiger PROD-Snapshot
--self-test JSON-, Merge- und XLSX-Test ohne BizTalk
--help Hilfe
Exitcode Bedeutung
0 Snapshot beziehungsweise Merge vollständig erzeugt
1 lokaler Pflichtabschnitt unvollständig; JSON nicht mergen
2 Aufruf-, Datei-, JSON- oder XLSX-Fehler

Build

Die Solution verwendet das klassische MSBuild-Projektformat für Visual Studio 2019 / MSBuild 16.x, .NET Framework 4.7.2 und C# 7.3. Es gibt keine NuGet-Abhängigkeiten.

scripts\build-release.cmd
scripts\package-release.cmd

Quellpaket als certutil-Text

scripts\package-source.cmd

Erzeugt:

artifacts\BizTalkApplicationCatalog-source.zip
artifacts\BizTalkApplicationCatalog-source.zip.txt

Dekodieren:

certutil -decode BizTalkApplicationCatalog-source.zip.txt BizTalkApplicationCatalog-source.zip

Technische Details stehen in Dokumentation.md.

S
Description
Get the current BizTalk application catalog
Readme
115 KiB
Languages
C# 95%
Batchfile 5%