Hi Tim,
Maybe I'm misunderstanding this, but it seems you want to
have a .NET application use a NodeJs wrapper to call an ODBC
driver (via ibm-db) to access the IBM i? In which case why not
just have the .NET application use the Client Access ODBC
driver directly, surely this must be possible? Why involve
NodeJs/ibm_db at all?
Yeah, with the DB2 Connect license, probably no ROI on doing what I proposed.
The .NET Core framework includes JavaScript Services. JavaScript services allow .NET programs to use JavaScript running on node under the covers. There are two main parts of JavaScript Services. First, SPA Services allow .NET to use single page apps developed with React, Angular and some other libraries/frameworks. Second, Node Services allow .NET to use the various JavaScript libraries available through npm. I was exploring options to make use of Node Services to connect to the IBM i.
The general idea would be to have JavaScript developers who could:
1. Develop IBM i web services that run in node on the IBM i.
2. Develop single page apps or UI components for .NET apps (using JavaScript services).
3. Develop functionality for .NET apps using npm modules (using JavaScript services - here is where I was exploring the idea of connections to IBM i DB2).
4. Develop mobile apps using JavaScript frameworks like Angular (we already do this).
Not sure we our shop will do 1-3 above. I'm just exploring options.
Thanks,
Kelly Cookson
IT Project Leader
Dot Foods, Inc.
217-773-4486 ext. 12676
www.dotfoods.com<
http://www.dotfoods.com>
From: WEB400 [mailto:web400-bounces@xxxxxxxxxxxx] On Behalf Of Tim Fathers
Sent: Monday, April 09, 2018 4:29 AM
To: Web Enabling the IBM i (AS/400 and iSeries) <web400@xxxxxxxxxxxx>
Subject: [EXTERNAL] Re: [WEB400] ibm_db node module and IBM Data Server Driver
4. So, could a person do something like this?
a. A .NET Core web app uses Node Services to access the ibm_db node module.
Maybe I'm misunderstanding this, but it seems you want to have a .NET application use a NodeJs wrapper to call an ODBC driver (via ibm-db) to access the IBM i? In which case why not just have the .NET application use the Client Access ODBC driver directly, surely this must be possible? Why involve NodeJs/ibm_db at all?
c. This connection is then used for SQL against database tables and/or for calling CL and COBOL programs using stored procedures.
Personally I wouldn't allow SQL against the database, only stored procedure calls. One thing with the ibm_db driver, that I mentioned before I think, it that is doesn't support the retrieval of meta-data from the stored procedure result sets. This may or may not be an issue for you but for my framework this is a showstopper at the moment which is one of the reasons why I haven't ported of from Java to Node. If you cannot get the meta-data it makes it impossible to know what data-type each column is and therefore you can't use this information to transform or format the data correctly in a generic way.
________________________________
From: WEB400 <web400-bounces@xxxxxxxxxxxx<mailto:web400-bounces@xxxxxxxxxxxx>> on behalf of Kelly Cookson <KCookson@xxxxxxxxxxxx<mailto:KCookson@xxxxxxxxxxxx>>
Sent: 08 April 2018 20:34
To: Web Enabling the IBM i (AS/400 and iSeries) (web400@xxxxxxxxxxxx<mailto:web400@xxxxxxxxxxxx>)
Subject: [WEB400] ibm_db node module and IBM Data Server Driver
Hi,
I would like to pick people's thoughts on an idea.
1. I just came across the ibm_db node module at npm:
https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2Fibm_db&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=EF3xiaMapYby74ikImGZmnXtPV2ha4gjabos4MHpa8c%3D&reserved=0<
https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2Fibm_db&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=EF3xiaMapYby74ikImGZmnXtPV2ha4gjabos4MHpa8c%3D&reserved=0>. It looks to me like this will run in node on windows.
2. It also looks like the ibm_db node module can access DB2 on the IBM i, thanks to the IBM Data Server Driver for ODBC and CLI. (
https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ibm.com%2Fdeveloperworks%2Fcommunity%2Fblogs%2Fpd%2Fentry%2Fusing_ibm_db2_from_node_js4%3Flang%3Des&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=QFxpaERPQoWvjJuRNWg8k8DubO%2FgosJFygsBcVv9te0%3D&reserved=0<
https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ibm.com%2Fdeveloperworks%2Fcommunity%2Fblogs%2Fpd%2Fentry%2Fusing_ibm_db2_from_node_js4%3Flang%3Des&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=QFxpaERPQoWvjJuRNWg8k8DubO%2FgosJFygsBcVv9te0%3D&reserved=0>)
3. The .NET Core framework has something called Node Services. Node Services allows .NET apps to use node modules (using node on windows under the covers).
4. So, could a person do something like this?
a. A .NET Core web app uses Node Services to access the ibm_db node module.
b. The ibm_db node module uses the IBM Data Server for ODBC and CLI to connect to a DB2 database on the IBM i.
c. This connection is then used for SQL against database tables and/or for calling CL and COBOL programs using stored procedures.
I'm not suggesting this is our preferred option. It's not even on the table for consideration yet. I would like to get some expert insights first (of which this list is full, and truly appreciated). Where does the above fall down or bite us?
Thanks,
Kelly Cookson
IT Project Leader
Dot Foods, Inc.
217-773-4486 ext. 12676
https://eur03.safelinks.protection.outlook.com/?url=www.dotfoods.com&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=xvOu50a2RHe949PW7Hl1FqQQsO8FWTttNnlEDwlOci4%3D&reserved=0<
https://eur03.safelinks.protection.outlook.com/?url=www.dotfoods.com&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=xvOu50a2RHe949PW7Hl1FqQQsO8FWTttNnlEDwlOci4%3D&reserved=0><
https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.dotfoods.com&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=B2slnsVZVDR6aLumpA6uq1dzDsl0hMfbcHnnDmF0GZY%3D&reserved=0<
https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.dotfoods.com&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=B2slnsVZVDR6aLumpA6uq1dzDsl0hMfbcHnnDmF0GZY%3D&reserved=0>>
--
This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) mailing list
To post a message email: WEB400@xxxxxxxxxxxx<mailto:WEB400@xxxxxxxxxxxx>
To subscribe, unsubscribe, or change list options,
visit:
https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.midrange.com%2Fmailman%2Flistinfo%2Fweb400&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=yxT7ZNU%2BA8pXtpAm0GfnE9NogQ9n%2BoEo%2FuwucxHVrqo%3D&reserved=0<
https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.midrange.com%2Fmailman%2Flistinfo%2Fweb400&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=yxT7ZNU%2BA8pXtpAm0GfnE9NogQ9n%2BoEo%2FuwucxHVrqo%3D&reserved=0>
or email: WEB400-request@xxxxxxxxxxxx<mailto:WEB400-request@xxxxxxxxxxxx>
Before posting, please take a moment to review the archives
at
https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Farchive.midrange.com%2Fweb400&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=4JxkDh%2BXUquzP%2FGnjqgsdG%2F6UpgiXEY4VWX98XF%2BEGY%3D&reserved=0<
https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Farchive.midrange.com%2Fweb400&data=02%7C01%7C%7Cf076ec661d0344b9d06b08d59d7f77ee%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636588093146178905&sdata=4JxkDh%2BXUquzP%2FGnjqgsdG%2F6UpgiXEY4VWX98XF%2BEGY%3D&reserved=0>.
--
This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) mailing list
To post a message email: WEB400@xxxxxxxxxxxx<mailto:WEB400@xxxxxxxxxxxx>
To subscribe, unsubscribe, or change list options,
visit:
https://lists.midrange.com/mailman/listinfo/web400<
https://lists.midrange.com/mailman/listinfo/web400>
or email: WEB400-request@xxxxxxxxxxxx<mailto:WEB400-request@xxxxxxxxxxxx>
Before posting, please take a moment to review the archives
at
https://archive.midrange.com/web400<
https://archive.midrange.com/web400>.
As an Amazon Associate we earn from qualifying purchases.