Start NT programs from the iSeries using RPG socket programming and Visual Basic Winsock activeX control programming.
This method can be used in cases where you have to run two procedures sequentially, the first on the iSeries, and the second on the NT/2000 server. The classic way to run the two procedures is by handling one procedure from the iSeries and the other from windows environment.
The advantage of the represented method is that from an iSeries menu we execute both procedures as one merged procedure, with no need of being in windows environment waiting to finish the first iSeries procedure in order to start the other. Also, there is no any restriction of the environment of the user, who operates the merged procedure, he can startup the procedure from a dummy terminal, from a telnet session, remote ftp, etc. Treating the Visual Basic program to work as service, there is no any user-login needed on the NT/2000 server.
The method of the data flowchart is that we have a data process in the iSeries which when finished calls the RPG program, sample of which we represented. The RPG program -- using TCP connection protocol and sockets API -- connects to the NT/2000 server and sends a string of data. The input that the RPG must know is the IP address of the NT/2000 server, the port number that the NT/2000 server is listening to, and the string of data that the NT/2000 server must parse in order to react. On the other side -- on the windows server -- the Visual Basic program, sample of which we represented, is always running, listening if data has delivered from a socket and according to the value of the delivered data is reacting calling programs. The Visual Basic program is using the ActiveX control Winsock and because it must be always running, it is proposed to work as service.
The benefit we have when we treat the Visual Basic program as service, is that there is no need for the user to login to the server in order to startup windows procedures. Also, services allow applications to run and perform a task in a specific login account, different from the currently logged-on user. And also the startup of services is managed.
The simplest way to treat the Visual Basic program as service is to use the SRVANY.EXE utility, which allows running Windows NT programs as services. The service achievement of the sample is very simple, you can download the utility from here, and in the downloaded file you will find guides on how to run your program as a service.
Check out the RPG Sockets programming tutorial here.
Click here to view the RPG client role.
MORE INFORMATION ON THIS TOPIC
The Best Web Links: tips, tutorials and more.
Ask your programming questions--or help out your peers by answering them--in our live discussion forums.
Ask the Experts yourself: Our application development gurus are waiting to answer your programming questions.
Search400's targeted search engine: Get relevant information on RPG.