Mainframe Access Unleashed
Terminal Emulation as a Service (TEaaS) provides innovative mainframe connectivity options. By moving the terminal emulation to a service, KMSYS Worldwide is able to provide T27 and UTS emulation embedded in a web page or in a Windows application. TEaaS goes beyond the green screen by providing a simple API that may be used from ASP.NET or by a Windows application. The API allows complete control over session establishment and duration along with complete access to the green screen. With TEaaS, your mainframe access is not held hostage by Java, ActiveX or COM.
TEaaS as a Web Interface
Auto screen generation, provides TEaaS with a rapid deployment option. By allowing TEaaS to dynamically generate a web screen, most applications can be moved to the web with little effort. Individual screens may be customized as time and need dictates. The three views of a OS2200 application are shown below.
TEaaS offers significant design aids in the green screen debug window shown above. The start of each field is indicated with a blue [ or a green [ to indicate the start of field. Writeable fields are indicated by blue while readonly fields are indicated by green. Hidden text is shown in the lighter green (e.g., CUSTDTL) and readonly text is in italics. In addition, tool tips appear to indicate row, column, field number and alpha/numeric status of a character position as the mouse hovers.
The screen, shown in the yellow background, is the result of dynamic HTML forms generation by the TEaaS web control. All the developer has to add is a page heading, any necessary instructions and an Enter or Transmit button. The user may click or tab between fields.
TEaaS as Embedded Emulation
The simple TEaaS API provides transparent embedded emulation in Windows applications or services. By using embedded emulation, a Windows application can interrogate and/or update data that resides on a Unisys mainframe to provide seamless integration between PC and mainframe applications and data.
The C# code below steps through a TIP Session Control login and then runs the CUST3 transaction to display the CUST4 screen shown in the web example.
static void Main (string[] args)
{
EmulationAccess esa = new EmulationAccess();
FieldInfo fi;
if (!esa.Connect("FCIMCB","UTS","sta001"))
{ Console.WriteLine(esa.LastErrorMessage);
Console.WriteLine(esa.LastException);
return;
}
if (!esa.WaitForHostText(23,2,"Enter your ",6000,1000))
{
Console.WriteLine("did not find 'Enter your '");
}
esa.SetText("userid/password");
esa.XmitFromCursor();
esa.WaitForHostText(22,2,"1. ",3000,0); // ignore this result;
if (!esa.WaitForHostText(23,2,"Choose your",2000,500))
{
Console.WriteLine("did not find 'Choose your'")
Console.WriteLine(esa.GetLine(23))
goto function_exit;
}
esa.SetText(EmulationAccess.UseCurrent,EmulationAccess.UseCurrent,"1");
esa.XmitFromCursor();
if (! esa.WaitForHostText(23,2,"Previous session",2000,1000))
{
Console.WriteLine("did not find 'Previous session'");
Console.WriteLine(esa.GetLine(23));
goto function_exit;
}
esa.SetText(1, 1, "cust3");
esa.XmitFromCursor();
// … process the screen
}