In regards to this question: "You may copy IBM i node toolkit code to client and call IBM i from anywhere." That has not been my experience.

The XMLCGI method is required to make the iToolkit work on any platform (including Mac or Linux) without a database driver. You're essentially making rest-style calls to the XMLSERVICE API from Node, PHP, .Net, etc.

From my understanding the DB2 transport only works when connecting to XMLSERVICE locally on the IBMi machine.

If you have enough active Apache Server CGI threads defined or running I imagine we're talking milliseconds differences between native DB2 and HTTP/XMLCGI call response times.

Regards,

Richard Schoen
Director of Document Management
e. richard.schoen@xxxxxxxxxxxxxxx
p. 952.486.6802
w. helpsystems.com

------------------------------
On Apr 10, 2018, at 3:07 PM, Kelly Cookson <KCookson@xxxxxxxxxxxx> wrote:

Hi Vern,

So I'm just looking for some clarification, if you please!!

We have been looking at the .NET wrappers for XMLSERVICE that Richard developed. These run by calling XMLSERVICE as CGI in Apache.

We have also been looking at Node.JS, which (from what I understand) can be used in two ways: Node Toolkit for i, and DB2 for i CLI. Here is where I see this:
https://www.ibm.com/developerworks/ibmi/library/i-native-js-app-ibmi-w
ith-nodejs/index.html

The YiPs wiki seems to confirm this:
http://yips.idevcloud.com/wiki/index.php/nodejs/nodejs
According to the wiki:
"nodejs toolkit
The nodejs tool kit has multiple transports:

* http rest request - iConn using 'host' keyword to XMLSERVICE configured as a RPG CGI.
* Pro: This interface allows for best asynchronous behaviour for node toolkit. Http rest is an easy interface for 2 tier node toolkit applications (client/server). You may copy IBM i node toolkit code to client and call IBM i from anywhere. The Bluemix toolkit sample below demonstrates using rest calls to IBM i XMLSERVICE configured Apache using node toolkit (copied from IBM i os400/xstoolkit/lib).
* Con: The http interface is obviously slower than DB2 below.
* db2 stored procedure - iConn default without 'host' keyword to XMLSERVICE via stored procedure call."

Will a Node.JS server using the DB2 stored procedure transport perform
faster under higher loads of concurrency than CGI (CGIDEV2 or .NET
wrappers for XMLSERVICE)? (The YiPs wiki suggests that the DB2
transport will be faster than the HTTP interface using XMLSERVICE
called as CGI.)

Node also performs well because of worker threads (via libuv), spawned child processes, and load balancing with clusters. Do these provide equal or better performance than the procedures used to scale CGI applications on the IBM i?

I don't have any evidence that node performs better than CGI on the IBM i. I also don't have any evidence that CGI can perform as well as node when using the DB2 transport, efficient asynchronous programming with worker threads, spawned child processes, and load balanced clusters.

BTW - I'm a little skeptical about all of the claims made on the YiPs wiki. The wiki says "You may copy IBM i node toolkit code to client and call IBM i from anywhere." That has not been my experience. If anyone believes this claim is correct, please let me know. I could use some help!

Thanks,



As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.