Windows IT Pro is the authoritative and independent resource for windows nt, windows 2000, windows 2003, windows xp. Features a collection of resources and magazines for windows IT professionals.
  
  
  Advanced Search 


March 1999

Using COMTI to Connect NT and IBM Mainframes


RSS
Subscribe to Windows IT Pro | See More Internals and Architecture Articles Here | Reprints | Or get the Monthly Online Pass—only $5.95 a month!
SideBar    NT-Mainframe Single Sign-On

Download the Code Here

COM to the rescue s

Since Microsoft first introduced Component Object Model, COM has become an important technology that software developers depend on to develop object-oriented client/server applications in Windows NT networks. COM can shorten the software development cycle by reusing existing component objects and can deliver distributed computing services to clients by linking objects running on different servers.

In response to industrywide COM acceptance and use, Microsoft has developed several useful tools to integrate COM technology with third-party products and legacy systems. One of these tools is COM Transaction Integrator (COMTI—formerly code-named Cedar) for IBM CICS and Information Management System (IMS). COMTI can easily integrate Microsoft Transaction Server (MTS) and mainframe transaction programs (TPs).

COMTI ships with SNA Server 4.0 and lets MTS invoke and execute CICS and IMS TPs in IBM mainframes as if these TPs were COM components. With MTS and a mainframe's transaction support, COMTI can ensure high reliability in mission-critical applications. COMTI can deliver mainframe data to NT and Web applications without requiring you to rewrite mainframe applications and convert your mainframe SNA infrastructure to IP. COMTI can speed NT application development and preserve mainframe resources. If you're a systems administrator managing a mixed NT-and-mainframe network, learn about and use COMTI in your company's client/server application development. In this article, I'll describe COMTI's functionality, security, and high availability. I'll walk you through configuring the COMTI service, and I'll show you how COMTI integrates MTS and mainframe TPs.

Why COMTI?
Let's start with a business example. Imagine a bank is developing a client/server network and replacing dumb terminals with NT workstations to let employees use GUI- and browser-based applications for information access and exchange and to improve work efficiency. However, customer account data resides on an IBM mainframe. The bank runs a COBOL application under CICS in the mainframe to serve banking transactions such as balance checking, deposits, withdrawals, and transfers. The bank can't convert its existing customer account database and application to an NT server database and application because of time and cost constraints.

Although terminal emulation software lets PCs access the mainframe, the software's function is similar to that of the old text-based terminal. The bank decides to develop a client application running in the IP-based NT network that provides a GUI and Web interface to access the mainframe application. The client application will accept a request from a PC's GUI and Web page, feed the request into the COBOL application in the mainframe, let the mainframe process the request, receive the result from the mainframe, and deliver the result to the PC's GUI and Web page. In this way, the bank can take advantage of the existing mainframe resource and doesn't need to rewrite its mainframe application.

The software running in the NT network must also support transaction processing to guarantee the reliability of banking transactions. Without a development and integration tool between the client and mainframe applications, however, developing this client software from the ground up would be very difficult. The bank would need to write sophisticated internal communication between the two applications—for example, for data conversion, protocol conversion, and transaction coordination. COMTI can address this business need.

COMTI Functionality
COMTI can automatically create a COM component from the COBOL data declaration of the mainframe application, which means COMTI generates a component that describes methods and data parameters for the COBOL application. (A method is a function or procedure that acts on an object.) In the bank's case, if the COBOL application includes a program of account-balance checking with three input and output parameters—name, account number, and balance—the COMTI component will contain the method of balance checking with the same three parameters, but in a data format that NT can understand. You can use the COMTI Component Builder to create the component simply by inputting the COBOL program to the COBOL Wizard in Component Builder.

COMTI works closely with MTS and SNA Server, as Figure 1 shows. You can use COMTI Management Console and Component Builder to add the COMTI component to an MTS package. The client application, such as a Visual Basic (VB) program or Active Server Pages (ASP) in Internet Information Server (IIS), can invoke a method of the COMTI component in MTS and include the data parameters in the method. COMTI sends the invoked method to the COBOL application in the mainframe via SNA Server's Advanced Program-to-Program Communications (APPC) Logical Unit (LU) 6.2 connection to the mainframe. Because the mainframe treats the SNA server as a peer mainframe node, the COBOL application handles the request as if it were a request from another mainframe. The COBOL application returns the result to the SNA server. The SNA server forwards the result to COMTI, which sends it to the client application. Using SNA Server's IP-to-SNA gateway function, the client application can communicate with the mainframe program without becoming involved with the underlying network protocol conversion.

Based on the distributed transaction coordinator (MS DTC) in MTS, COMTI supports the Sync Level 2 transaction function in CICS on the mainframe. COMTI in SNA Server 4.0 Service Pack 2 (SP2—which Microsoft is currently beta testing) also supports the Sync Level 2 in IMS 6.0 or later (earlier versions of IMS don't support Sync Level 2). Sync Level 2 is equivalent to two-phase commit (2PC) in MS DTC. Both transaction functions either commit or roll back each element in the transaction. The transaction coordination between the mainframe TP and MTS is transparent to users.

Listing 1 describes the basic programming logic that the VB client application uses to communicate with the mainframe TP through COMTI. The logic involves four major steps: get an object context reference, create an object instance for the COMTI component, invoke the method with input and output data parameters, and commit the transaction if everything worked (otherwise abort it).

COMTI System Preparation
COMTI doesn't require you to install new software in the mainframe, but the mainframe must run MVS 4.3 or later, CICS 3.3 or later, and IMS 6.0 or later if the TP requires Sync Level 2 support. You need to install SNA Server 4.0 on an NT 4.0 server. In the SNA server, you need to define an APPC LU pair—a local LU and a remote LU and the APPC mode for the pair. The APPC mode specifies such control information as maximum packet size and concurrent sessions. To let MTS's MS DTC and the mainframe's Sync Level 2 transaction work together, you need to enable the SyncPoint feature in the SNA server and specify the COMTI server name as SyncPoint's client in the advanced property list of the local APPC LU of the SNA server.

You must install MTS 2.0 from the NT 4.0 Option Pack first on the machine on which you intend to install COMTI. Because COMTI is a component of SNA Server 4.0, you have two optional places to host COMTI: on the SNA server or on a remote NT server or workstation. If you run a small NT network or your SNA server's load is light, you can install COMTI on the SNA server. Otherwise, I recommend installing COMTI on a separate machine to offload the workload from the SNA server. When you install COMTI on a remote machine, you need to install COMTI from SNA Server Client and specify the SNA server name or subdomain in the client configuration. (You can learn about the details of SNA server and client configuration in "Building Fault-Tolerant SNA Functionality," July 1998.)

COMTI Configuration
Now you're ready to configure your COMTI service. Two major steps are involved: building a COMTI component and adding the COMTI component to MTS. Let's take a close look at both steps.

Building a COMTI component. You use the COMTI Component Builder to build a COMTI component for a COBOL application. A COMTI component is a type library (i.e., .tlb) file. To create a new component, you need to specify the component program ID. The ID includes a library name, interface name, and version number, such as Cedar.Bank.1 (COMTI supplies several sample codes for a hypothetical business called Cedar Bank). This component program ID corresponds to the component X.Y.1 in Listing 1.

   Previous  [1]  2  Next 


Top Viewed ArticlesView all articles
10 Reasons to Deploy Windows Vista

The decision to upgrade your XP systems to Vista is simple when you consider features such as easier backup, a great desktop search, and vastly improved security options. ...

10 Reasons Not to Deploy Windows Vista

The decision to upgrade to Vista has to make business sense, but many companies find the costs in training and application compatibility problems outweigh any benefits Vista brings. ...

WinInfo Short Takes: CES 2009 Special Edition

An often irreverent look at some of the week's other CES 2009 news, including covering the Vegas spectacle from the comfort of my own home, Windows 7 public beta, a weird Microsoft song application, Palm Pre, pending Microsoft mobile moves, and much more ...


Windows OSs Whitepapers Why SaaS is the Right Solution for Log Management

Related Events Virtualization Forum: Optimizing Storage, Networks, Desktops, and Security

Cloud Computing Forum: Integrating Software, Server and Storage as a Service into Your Enterprise IT Delivery Model

Virtualization Forum: Optimizing Storage, Networks, Desktops, and Security

Check out our list of Free Email Newsletters!

Windows OSs eBooks Understanding and Leveraging Code Signing Technologies

A Guide to Windows Certification and Public Keys

SQL Server Administration for Oracle DBAs

Related Windows OSs Resources Become a VIP member of the Windows IT Pro community!
Get it all with the VIP CD and VIP access. A $500+ value for only $279!

Subscribe to Windows IT Pro!
Solve your toughest technical problems with our experts and access 10,000 + articles online. 30% off

Monthly Online Pass - Only $5.95!
Get instant access to 10,000+ articles from Windows IT Pro Magazine!

TechNet Virtual Labs
Evaluate and test Microsoft's newest products.


Windows IT Pro Home Register FAQ for Windows WinInfo News
Europe Edition About Us Contact Us/Customer Service Media Kit Affiliates / Licensing  
SQL Server Magazine Office & SharePoint Pro Windows Dev Pro IT Job Hound ITTV
IT Library Technology Resource Directory Connected Home Windows Excavator Windows SuperSite 
 
 Windows IT Pro is a Division of Penton Media Inc.
 Copyright © 2009 Penton Media, Inc., All rights reserved. Terms and Use | Privacy Statement | Reprints and Licensing