Programmieren einer Transaktionsintegratoranwendung
Nachdem Sie eine Transaction Integrator (TI)-Komponente bereitgestellt haben, können Sie Code für diese Komponente schreiben. Nachdem Sie mit dem Schreiben des Codes fertig sind, können Sie Ihren Code testen und bei Bedarf die Schnittstelle an die TI-Komponente ändern.
So codieren Sie eine TI-Anwendung
Erstellen Sie eine instance des TI-Objekts.
Das TI-Objekt enthält die Schnittstellen, für die Sie Code schreiben. Wenn Ihre Anwendung eine Schnittstelle für das TI-Objekt aufruft, gibt TI Manager die Informationen an Ihren Remoteserver weiter.
Richten Sie Ihre Datenvariablen ein.
Wie bei vielen Anwendungen, die Host Integration Server verwenden, ist es wichtig, dass Sie einen Datentyp verwenden, der erfolgreich zu und von Ihrem Remoteserver übersetzt werden kann. Weitere Informationen zu Datentypen und deren Zuordnung zwischen Systemen finden Sie unter Datentypen und Host- und Automatisierungsdaten.
Führen Sie Aufrufe für alle relevanten Parameter im TI-Objekt aus.
Führen Sie alle für Ihre Anwendung erforderlichen Aktionen aus, einschließlich des Aufrufens der von Ihrem TI-Objekt beschriebenen Schnittstellen. Möglicherweise verfügen Sie auch über zusätzliche Aufgaben, die für Ihre Anwendung erforderlich sind. Weitere Informationen finden Sie unter Programmieren Windows-Initiated Verarbeitung.
Berücksichtigen Sie beim Schreiben Ihrer Anwendung unbedingt die relevanten Sicherheitsdetails Ihrer Umgebung.
Beispiel
Das folgende Beispiel ist aus dem Standard Programmcode aus dem Tutorial Diskriminated Union im SDK-Beispielverzeichnis geschnitten. Das vollständige Codebeispiel finden Sie unter <Installationsverzeichnis>\Microsoft Host Integration Server\SDK\Samples\ApplicationIntegration\WindowsInitiated\DiscrimiatedUnion.
using System;
using System.Collections.Generic;
using System.Text;
using Banking;
namespace DiscriminatedUnions
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Processing Output only Account Information");
AccountInformationOutOnly();
Console.WriteLine("\n\nProcessing Input and Output Account Information");
AccountInformationInOut();
Console.WriteLine("\nPress any key to continue...");
Console.Read();
}
#region Output Only Discriminated Union Processing
static void AccountInformationOutOnly()
{
// Define an instance of the TI Banking object
Banking.Accounts MyBankObj = new Banking.Accounts();
// Call the Get Account Information method on the TI Object
// passing it the array that contains the checking and saving
// account information
string AccountNumber = "BNK4566112";
string AccountType = " ";
Object AcctInfoUnionObj = null;
string FillerNotUsedByThisSample = " ";
MyBankObj.GetAInfoOutOnly("111223333", AccountNumber, out AccountType, out AcctInfoUnionObj, out FillerNotUsedByThisSample);
switch (AcctInfoUnionObj.GetType().ToString())
{
// check the type of the union that was returned to determine
// whether the array element
// is a checking or saving account so that the correct
// structure of the union can be used
case "Banking.CHECKING":
Banking.CHECKING ChkInfo = (Banking.CHECKING)AcctInfoUnionObj;
Console.WriteLine("Checking account number: {0}", AccountNumber);
Console.WriteLine("\tOverdraft charge:\t {0,10:C2}", ChkInfo.CHK_OD_CHG);
Console.WriteLine("\tOverdraft limit:\t {0,10:C2}", ChkInfo.CHK_OD_LIMIT);
Console.WriteLine("\tLinked account:\t {0,18}", ChkInfo.CHK_OD_LINK_ACCT);
Console.WriteLine("\tLast Statement:\t {0,18}", ChkInfo.CHK_LAST_STMT);
Console.WriteLine("\tDetail Items:\t {0,18:F0}", ChkInfo.CHK_DETAIL_ITEMS);
Console.WriteLine("\tBalance:\t {0,18:C2}\n", ChkInfo.CHK_BAL);
break;
case "Banking.SAVINGS":
Banking.SAVINGS SavInfo = (Banking.SAVINGS)AcctInfoUnionObj;
Console.WriteLine("Savings account number: {0}", AccountNumber);
Console.WriteLine("\tInterest rate:\t {0,20:P}", SavInfo.SAV_INT_RATE / 100);
Console.WriteLine("\tService charge:\t {0,18:C2}", SavInfo.SAV_SVC_CHRG);
Console.WriteLine("\tLast Statement:\t {0,18}", SavInfo.SAV_LAST_STMT);
Console.WriteLine("\tDetail Items:\t {0,18:F0}", SavInfo.SAV_DETAIL_ITEMS);
Console.WriteLine("\tBalance:\t {0,18:C2}\n", SavInfo.SAV_BAL);
break;
default:
break;
}
}
#endregion Output Only Discriminated Union Processing
}
}
Optionale Kommentare.
Weitere Informationen
Erstellen eines neuen Host integrationsservers Designer-Projekts