Migrating Wanware NT, Wanware Linux and Netcom II to SyncServer

Overview

The Wanware and Netcom II product lines use a synchronous communications adapter and kernel-integrated software to manage the adapter and operate synchronous protocols like X.25. The Software Group provides a consistent Application Programming Interface (API) which allows programs to interact with remote systems using these protocols. The API is part of the products provided for Windows NT, Linux, Solaris, and Intel Unix (OpenServer 5 and Unixware). In all these cases, the synchronous connection terminates on the machine running the application, and a leased line connects the remote system. The API functions issue operating system I/O calls to establish, control, and disconnect virtual circuits.

For Windows/2000 and Windows/XP, The Software Group does not provide an OS-integrated solution; we have chosen to provide an alternative which allows the same API functionality with the additional opportunity to reduce operating costs by replacing leased lines with a TCP/IP WAN infrastructure. Using SyncServer, the X.25 API available to the application is nearly identical to the Wanware NT API. The SyncServer API library uses TCP/IP socket connections between the applications computer (called the client) and one or more SyncServers. The SyncServer does all X.25 protocol processing, exchanging messages with TCP/IP-connected clients to provide client applications with the X.25 services they require. With Linux and Solaris, you have the choice between the Wanware/Netcom II and SyncServer.

To migrate from the Wanware/Netcom environment to a SyncServers and clients running Windows 2000, XP, Linux or Solaris, ensure that you have TCP/IP connectivity to the SyncServer from the client PC, recompile your applications and start testing.



Where should you connect SyncServer in an existing X.25 network?

If you want to use a PC (Windows 2000, XP, Linux or Solaris) to run your X.25 applications simply connect the SyncServer directly to the PC using a 100Base-T or 10Base-T Ethernet cable. Connect the other side of SyncServer to your existing X.25 network.

SyncServer Connected directly to a TCP/IP
	network.

Note: The 'Windows 2000 Server' in this diagram represents a PC environment and could also be a Windows 2000, Windows NT, XP, Linux or Solaris PC/server or LAN.



What if you want to connect a TCP/IP network directly to a synchronous device?

This setup allows you to completely eliminate the X.25 network. SyncServer can connect a TCP/IP network directly to a synchronous device.

SyncServer Connected directly to a TCP/IP 
	network.

Note: The 'Windows 2000 Server' in this diagram represents a PC environment and could also be a Windows 2000, Windows NT, XP, Linux or Solaris PC/server or LAN.



What if you are replacing Wanware NT with SyncServer?

To reduce the number of variables in your development project, we recommend that you first use SyncServer under Windows NT. Once applications are operating correctly under Windows NT, simply install the SyncServer runtime environment and your application binaries to the client machine and run them there. Some API function differences exist between Wanware NT and SyncServer clients (see Differences). Verify your applications are working properly before upgrading to Windows 2000, XP, Linux or Solaris.


Why do you need to use X25_FDEXCEPT?

Some applications used X25_FD() to obtain the underlying file descriptor corresponding to the X.25 stack. The SyncServer API creates two sockets (and therefore two file descriptors) for each CALLT, one socket for data, one for out-of-band messages. Any applications wishing to wait for "events" on the X.25 interface now needs to monitor two file descriptors. The function X25_FDEXCEPT() returns the file descriptor to the out-of-band massages to the application.

Note: When using Windows (NT and 2000, XP) applications you should use the X25look* series of functions and not worry about X25_FD()/X25_FDEXCEPT(). Selecting both X.25 and other sorts of handles in Windows applications at the same time is not permitted. This limits the usefulness of X25_FD() and X25_FDEXCEPT().


Multi-Threading Rules

There are some issues associated with writing multi-threaded applications which use The Software Group's X.25 library API, libx25.a. These issues arise from the fact that the threads of an application share a common data space. Refer to the appropriate document:

Multi-Threads Applications Rules for Linux
Multi-Threads Applications Rules for Windows.