Condividi tramite


BrowsingArtifacts (esempio di BizTalk Server)

Nell'esempio BrowsingArtifacts viene illustrato come enumerare elementi e attributi BizTalk.

Prerequisiti

  • È necessario disporre di BizTalk Server privilegi amministrativi per usare gli oggetti amministrativi in questo esempio.

  • L'esecuzione dell'esempio di script di Windows PowerShell richiede i criteri di esecuzione di Windows PowerShell. Per altre informazioni, vedere about_Execution_Policies.

Scopo dell'esempio

Questo esempio illustra l'uso della classe BtsCatalogExplorer dallo spazio dei nomi Microsoft.BizTalk.ExplorerOM per enumerare gli artefatti e segnalare i relativi attributi. Gli artefatti seguenti sono inclusi nel report generato da questo esempio: Orchestrazioni, porte, assembly, parti e trasformazioni. Questo esempio viene scritto in Microsoft Visual C#. In questo argomento è inoltre incluso uno script di esempio di Windows PowerShell.

Percorso dell'esempio

L'esempio è disponibile nel seguente percorso dell'SDK:

<Percorso> esempi\Amministrazione\ExplorerOM\BrowsingArtifacts

Nella seguente tabella sono riportati i file inclusi nell'esempio e ne viene descritto lo scopo.

File Descrizione
BrowsingArtifacts.cs File di origine visual C# per le operazioni illustrate in questo esempio.
BrowsingArtifacts.sln, BrowsingArtifacts.csproj, BrowsingArtifacts.suo File di soluzione e di progetto per l'esempio.

Compilazione ed esecuzione dell'esempio

Per generare l'esempio

  1. In Visual Studio aprire il file di soluzione BrowsingArtifacts.sln.

  2. Nel menu Compila scegliere Compila soluzione.

Per eseguire questo esempio

  1. Aprire una finestra di comando e passare alla cartella seguente:

    <Percorso> esempi\Amministrazione\ExplorerOM\BrowsingArtifacts\bin\Debug

  2. Eseguire il file BrowsingArtifacts.exe.

Esempio di script di Windows PowerShell

È possibile usare lo script di Windows PowerShell seguente per illustrare le stesse funzionalità delle classi ExplorerOM:

Function EnumOrchestrations($catalog)
{
    Write-Host `r`n======================
    Write-Host ===  ORCHESTRATIONS  ===
    Write-Host ======================`r`n

    #=== Enumerating the assemblies and pulling orchestration information ===#

    foreach($assembly in $catalog.Assemblies)
    {
        foreach($orch in $assembly.Orchestrations)
        {
            #=== We can’t report the host if it is not hosted or enlisted ===#
            if ($orch.Status -ieq "Unenlisted")
            {
                Write-Host Name : $orch.Fullname`r`nHost : N/A`r`nStatus : $orch.Status
            }
            else
            {
                Write-Host Name : $orch.Fullname`r`nHost : $orch.Host.Name`r`nStatus : $orch.Status
            }

            #=== Reporting port types and operations ===#
            foreach($port in $orch.Ports)
            {
                Write-Host "`tPort:"$port.PortType.FullName

                foreach($portop in $port.PortType.Operations)
                {
                    Write-Host "`t`tOperation:"$portop.Name
                }
            }

            #=== Reporting Used roles ===#
            foreach($role in $orch.UsedRoles)
            {
                Write-Host "`tRole:"$role.Name"`("$role.ServiceLinkType"`)"

                foreach($EnlistedParty in $role.EnlistedParties)
                {
                    Write-Host "`t`tParty:"$Enlistedparty.Party.Name
                }
            }

            #=== Reporting implemented roles ===#
            foreach($role in $orch.ImplementedRoles)
            {
                Write-Host "`tRole:"$role.Name"`("$role.ServiceLinkType"`)"
            }

            Write-Host
        }
    }
}

Function EnumOtherArtifacts($catalog)
{
    Write-Host `r`n======================
    Write-Host "===   ASSEMBLIES   ==="
    Write-Host ======================`r`n

    foreach($assembly in $catalog.Assemblies)
    {
        Write-Host $assembly.Name
    }

    Write-Host `r`n======================
    Write-Host "===     HOSTS      ==="
    Write-Host ======================`r`n

    foreach($btshost in $catalog.Hosts)
    {
        Write-Host $btshost.Name"`($($btshost.Type)`)"
    }

    Write-Host `r`n======================
    Write-Host "===    PARTIES     ==="
    Write-Host ======================`r`n

    foreach($party in $catalog.Parties)
    {
        Write-Host $party.Name

        foreach($sendport in $party.SendPorts)
        {
            Write-Host "`tSendPort:"$sendport.Name
        }

        foreach($alias in $party.Aliases)
        {
            Write-Host "`tAlias:"$alias.Name":"$alias.Qualifier"="$alias.Value
        }
    }

    Write-Host `r`n======================
    Write-Host "===   TRANSFORMS   ==="
    Write-Host ======================`r`n

    foreach($transform in $catalog.Transforms)
    {
        Write-Host $transform.FullName":`r`n`t"$transform.SourceSchema.Fullname"==>"$transform.TargetSchema.Fullname`r`n
    }
}

#=== Main Script Body ===#

#=== Make sure the ExplorerOM assembly is loaded ===#

[void] [System.reflection.Assembly]::LoadWithPartialName("Microsoft.BizTalk.ExplorerOM")

#=== Connect to the BizTalk Management database ===#

$Catalog = New-Object Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer
$Catalog.ConnectionString = "SERVER=.;DATABASE=BizTalkMgmtDb;Integrated Security=SSPI"

#=== All reporting is performed in the following two functions ===#

EnumOrchestrations $Catalog
EnumOtherArtifacts $Catalog

Di seguito è riportato un esempio di esecuzione dello script di Windows PowerShell e del relativo output:

PS C:\> .\BrowsingArtifacts.ps1

======================
=== ORCHESTRATIONS ===
======================

Name : Microsoft.BizTalk.Edi.BatchSuspendOrchestration.BatchElementSuspendService
Host : BizTalkServerApplication
Status : Enlisted

Name : Microsoft.BizTalk.Edi.BatchingOrchestration.BatchingService
Host : BizTalkServerApplication
Status : Enlisted

Name : Microsoft.BizTalk.Edi.RoutingOrchestration.BatchRoutingService
Host : BizTalkServerApplication
Status : Enlisted

Name : EAIOrchestrations.EAIProcess
Host : N/A
Status : Unenlisted
        Port: EAIOrchestrations.ReceiveReqType
                Operation: Operation_1
        Port: EAIOrchestrations.SendDeclineType
                Operation: Operation_1
        Port: EAIOrchestrations.SendToERPType
                Operation: Operation_1

Name : B2BOrchestrations.B2BProcess
Host : BizTalkServerApplication
Status : Started
        Port: B2BOrchestrations.ReceivePO_Type
                Operation: Operation_1
        Port: B2BOrchestrations.SendPOConfirmed_Type
                Operation: Operation_1
        Port: B2BSchemas.localhost.Process_.Process
                Operation: ReceivePO
        Port: B2BOrchestrations.ReceiveASN_Type
                Operation: Operation_1
        Port: B2BOrchestrations.ReceiveInvoice_Type
                Operation: Operation_1
        Port: B2BOrchestrations.PortType_PaymentVoucherArchive
                Operation: Operation_1
        Port: B2BSchemas.localhost1.Payment_Service_.Payment_Service
                Operation: ProcessPayment
        Port: B2BOrchestrations.SendPaymentAck_Type
                Operation: Operation_1

======================
===   ASSEMBLIES   ===
======================

Microsoft.BizTalk.GlobalPropertySchemas
Microsoft.BizTalk.DefaultPipelines
Microsoft.BizTalk.Adapter.MSMQ.MsmqAdapterProperties
MQSeries
Microsoft.BizTalk.Hws.HwsPromotedProperties
Microsoft.BizTalk.Hws.HwsSchemas
Microsoft.BizTalk.KwTpm.StsDefaultPipelines
Microsoft.BizTalk.KwTpm.RoleLinkTypes
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Microsoft.BizTalk.Edi.BaseArtifacts
Microsoft.BizTalk.Edi.EdiPipelines
Microsoft.BizTalk.Edi.BatchingOrchestration
Microsoft.BizTalk.Edi.RoutingOrchestration
Microsoft.BizTalk.Edi.EdiIntPipelines
EAISchemas
EAIOrchestrations
B2BSchemas
B2BOrchestrations
WCFArtifacts
FFDisassemblerWalkthrough
BTSWhitespaceTest

======================
===     HOSTS      ===
======================

BizTalkServerApplication (InProcess)
BizTalkServerIsolatedHost (Isolated)

======================
===    PARTIES     ===
======================

PartyB
        Alias: Organization : OrganizationName = PartyB

======================
===   TRANSFORMS   ===
======================

EAISchemas.FFRequestDeniedMap :
         EAISchemas.FlatFileSchema1 ==> EAISchemas.RequestDenied

EAISchemas.RequestDeniedMap :
         EAISchemas.Request ==> EAISchemas.RequestDenied

B2BSchemas.InvoiceToPayment :
         B2BSchemas.CommonInvoice ==> B2BSchemas.localhost1.Reference

B2BSchemas.MapToCommonPO :
         B2BSchemas.PO ==> B2BSchemas.localhost.Reference

BizTalkArtifacts.ConcatMap :
         BizTalkArtifacts.InputSchema ==> BizTalkArtifacts.OutputSchema

FFDisassemblerWalkthrough.Map1 :
         FFDisassemblerWalkthrough.Body ==> FFDisassemblerWalkthrough.Body

BTSWhitespaceTest.Map1 :
         FFDisassemblerWalkthrough.Body ==> BTSWhitespaceTest.Schema1

Vedere anche

Admin-ExplorerOM (cartella di esempi di BizTalk Server)