|
We do have a JSON parser we wrote from scratch that we created for internal use (for parsing JSON from Google and MS APIs) that a few customers have asked for, so we made it available as well. Brad www.bvstools.com On Wed, May 13, 2015 at 5:31 AM, Henrik Rützou <hr@xxxxxxxxxxxx> wrote: > Kevin > > you are quite right about building a JSON string but you also have to do > some thing with > it afterwards. > > But I agree passing inbound JSON is tricky. > > In relation to COBOL I have never seen much demands in that field. > > On Wed, May 13, 2015 at 9:11 AM, Kevin Turner < > kevin.turner@xxxxxxxxxxxxxxxxxxxx> wrote: > > > Yes, apart from the fact that cgicbldev2 has no built in JSON support as > > such - you would have to roll your own. Building JSON strings for output > is > > not difficult - it is parsing inbound JSON strings that is tricky. > > > > Sent from my iPad > > > > > On 13 May 2015, at 06:28, Kelly Cookson <KCookson@xxxxxxxxxxxx> wrote: > > > > > > The comments in this thread lead me to think that CGICBLDEV2 would > > better help us leverage our existing COBOL skills because CGICBLDEV2 is > > written in COBOL, eliminating some of the problems of trying to use CGI > > packages written in RPG. > > > > > > Am I mistaken in this view? > > > > > > Thanks, > > > Kelly > > > > > > > > > -----Original Message----- > > > From: WEB400 [mailto:web400-bounces@xxxxxxxxxxxx] On Behalf Of Jon > Paris > > > Sent: Tuesday, May 12, 2015 3:14 PM > > > To: Web400@Midrange. Web400 > > > Subject: Re: [WEB400] Does the eRPG SDK template system support JSON? > > > > > > For the most part Brad COBOL can do anything that RPG can - but it is > > more work. > > > > > > Imagine RPG in the "bad old days" without Protos and the CONST keyword. > > > > > > In RPG by using that one facility I can define a field as 60 long and > > pass a literal, a 20 char field, a varying field, a function, etc. etc. > > > > > > In COBOL I would have to determine that I did indexed need an X(60) - > > set up a temporary one, and then move the value I wanted into it before > > passing the parm. > > > > > > Similarly COBOL has no Options(*String) so any C-type function that > > requires passing a pointer to a null terminated string is a pain in the . > > > > > > And on and on. > > > > > > When I first had to go back and do this stuff "by hand" it may me > > appreciate just how much work the RPG compiler was doing for me. > > > > > > The COBOL syntax is also rather verbose since without the protos you > > need to specify the way in which the parm is passed on each call for each > > parm. > > > > > > > > > > > > Jon Paris > > > > > > www.partner400.com > > > www.SystemiDeveloper.com > > > > > >> On May 11, 2015, at 8:58 PM, Bradley Stone <bvstone@xxxxxxxxx> wrote: > > >> > > >> I wondered the same thing, Henrick. > > >> > > >> I haven't done COBOL since the 90s but a search shows this answer from > > >> Bruce Vinning: > > >> > > >> > http://itknowledgeexchange.techtarget.com/itanswers/calling-rpg-proc-f > > >> rom-cobol-ile/ > > >> > > >> I guess I just assumed that with ILE things worked as ILE... If CONST > > >> ruins that relationship maybe it should be more "publicized". :) I > > >> plan too look further into this issue that's for sure as it's the > > >> first I've heard of it. > > >> > > >> Brad > > >> www.bvstools.com > > >> > > >>> On Mon, May 11, 2015 at 2:03 AM, Henrik Rützou <hr@xxxxxxxxxxxx> > > wrote: > > >>> > > >>> I know nothing about COBOL interface to RPG service programs, what is > > >>> the difference (besides the /copybook) ? > > >>> > > >>> On Mon, May 11, 2015 at 5:04 AM, Kelly Cookson > > >>> <KCookson@xxxxxxxxxxxx> > > >>> wrote: > > >>> > > >>>> Thanks Jon. There are a number of tools for mobile development on > > >>>> the IBM i. > > >>>> > > >>>> However, our shop has decided to develop mobile client interfaces > > >>>> using responsive web sites and hybrid apps (Cordorva/PhoneGap). This > > >>>> is because all of our current mobile developers are coming from a > > >>>> background of Microsoft .NET web development. Our shop has spent > > >>>> years developing websites that connect to the IBM i using web > > >>>> services written in .NET and using the .NET Data Provider. > > >>>> > > >>>> For our IBM i COBOL developers (including myself) to become web and > > >>> mobile > > >>>> developers, we will have to use HTML5, CSS3, JavaScript, AJAX, JSON > > >>>> and Cordova/PhoneGap to develop client interfaces. I was hoping to > > >>>> use > > >>> Node.JS > > >>>> on the IBM i to give our COBOL developers a path to web services > > >>>> without having to learn .NET. Node.JS isn't going to work for us at > > this time. > > >>> But > > >>>> we can: (a) use our shop's standard technologies to develop web and > > >>> mobile > > >>>> client interfaces, and (b) hook up the client interfaces to web > > >>>> services developed with COBOL CGI programs. This gets our IBM i > > >>>> COBOL developers into web and mobile development without having to > > >>>> learn .NET, and it leverages our existing expertise in COBOL. > > >>>> > > >>>> I have designed an architecture for CGI programming on the IBM i > > >>>> that conforms to REST architectural constraints as described in > > >>>> Fielding's dissertation. I am now gathering information on tools > > >>>> available to help > > >>> us > > >>>> with the COBOL CGI programming. Next step, proof of concepts... > > >>>> > > >>>> Thanks, > > >>>> Kelly > > >>>> > > >>>> > > >>>> -----Original Message----- > > >>>> From: WEB400 [mailto:web400-bounces@xxxxxxxxxxxx] On Behalf Of Jon > > >>>> Paris > > >>>> Sent: Sunday, May 10, 2015 9:36 PM > > >>>> To: Web400@Midrange. Web400 > > >>>> Subject: Re: [WEB400] Does the eRPG SDK template system support > JSON? > > >>>> > > >>>> For Mobile development with COBOL you should really take a look at > > >>> Lansa's > > >>>> LongRange http://www.longrangemobile.com > > >>>> > > >>>> I know that works pretty well with COBOL because I helped translate > > >>>> a few of the RPG examples into COBOL. > > >>>> > > >>>> > > >>>> Jon Paris > > >>>> > > >>>> www.partner400.com > > >>>> www.SystemiDeveloper.com > > >>>> > > >>>>> On May 10, 2015, at 8:00 PM, Kelly Cookson <KCookson@xxxxxxxxxxxx> > > >>>> wrote: > > >>>> > > >>>>> I will look for the template system in CGICBLDEV2 when I get it > > >>>> installed and start playing around with it. > > >>>>> > > >>>>> I literally just started looking at CGI tools. I recently learned > > >>>>> that our shop will not be adopting Node.JS on the IBM i at any time > > >>>>> in the foreseeable future. Kind of a bummer. But the same reasons > > >>>>> for not adopting Node.JS make CGI using COBOL programs an > > >>>>> attractive alternative. (Every shop is different, and I'm sure > > >>>>> Node.JS will work wonderfully for a lot of shops. It's just not a > > >>>>> good fit for us at this time.) > > >>>>> > > >>>>> I'm still committed to helping our IBM i COBOL developers become > > >>>>> web and mobile developers as well. ;-) > > >>>>> > > >>>>> Thanks, > > >>>>> Kelly > > >>>>> > > >>>>> -----Original Message----- > > >>>>> From: WEB400 [mailto:web400-bounces@xxxxxxxxxxxx] On Behalf Of Jon > > >>>>> Paris > > >>>>> Sent: Sunday, May 10, 2015 7:30 PM > > >>>>> To: Web400@Midrange. Web400 > > >>>>> Subject: Re: [WEB400] Does the eRPG SDK template system support > JSON? > > >>>>> > > >>>>> CGICBLDEV2 uses a template system too Kelly. > > >>>>> > > >>>>> > > >>>>> Jon Paris > > >>>>> > > >>>>> www.partner400.com > > >>>>> www.SystemiDeveloper.com > > >>>>> > > >>>>>> On May 10, 2015, at 12:55 PM, Kelly Cookson <KCookson@xxxxxxxxxxxx > > > > >>>>> wrote: > > >>>>> > > >>>>>> Thanks Jon. I am looking at CGICBLDEV2 as well. And I'm looking at > > >>>> other solutions such as the CGI interface to XMLSERVICE and iWebSrv. > > >>>>>> > > >>>>>> The thing I like about eRPG SDK is the use of a template system to > > >>>> format data for return to the client. This seems to me a potentially > > >>>> intuitive way for developers who only do COBOL and DDS to deal with > > >>>> returning JSON data. Still, I am also looking at other options for > > >>>> JSON with COBOL (YAJL, PowerEXT, Redvers COBOL JSPN Interface). > > >>>>>> > > >>>>>> The client interfaces we develop will using jQuery AJAX to make > > >>>>>> GET > > >>> and > > >>>> POST requests, and they will be expecting data formatted in JSON as > > >>>> the response. By keep the contract between the client and the web > > >>>> service uniform (AJAX GET and POST requests, JSON responses) we can > > >>>> develop > > >>> client > > >>>> interfaces that can easily switch between IBM i back ends and > > >>>> Windows > > >>> back > > >>>> ends. We just need to point the client to a new URL to switch back > > ends. > > >>>> This is one of the benefits of the uniform interface constraint of > > >>> RESTful > > >>>> architecture. > > >>>>>> > > >>>>>> Thanks, > > >>>>>> Kelly > > >>>>>> > > >>>>>> -----Original Message----- > > >>>>>> From: WEB400 [mailto:web400-bounces@xxxxxxxxxxxx] On Behalf Of > Jon > > >>>>>> Paris > > >>>>>> Sent: Sunday, May 10, 2015 10:23 AM > > >>>>>> To: Web400@Midrange. Web400 > > >>>>>> Subject: Re: [WEB400] Does the eRPG SDK template system support > > JSON? > > >>>>>> > > >>>>>> Kelly, > > >>>>>> > > >>>>>> You might want to also look at the COBOL interfaces for CGIDEV2 ( > > >>>> http://www.easy400.net/cgicbldev2p/start.pgm). > > >>>>>> > > >>>>>> No disrespect to Brad's eRPG but some RPG-oriented interfaces can > > >>>>>> be > > >>>> very difficult to use in COBOL. Reason, in part, is that such > > >>>> routines > > >>> tend > > >>>> to take advantage of the facilities offered by prototypes - for > > >>>> example > > >>> the > > >>>> keyword CONST allows you to specify a literal instead of a variable. > > >>> COBOL > > >>>> has no such option and therefore the fields usually need to be > > >>>> passed exactly as specified in the called routine. That usually > > >>>> requires quite a bit more work and makes the examples hard to > follow. > > >>>>>> > > >>>>>> Giovanni has already done the grunt work and provided documented > > >>> native > > >>>> COBOL interfaces to CGIDEV2 routines that make it much easier. > > >>>>>> > > >>>>>> Just a thought. Unless Brad has added a lot of new stuff to eRPG > > >>>>>> that > > >>>> I am unaware of, I think that the capabilities of CGIDEV2 are a > > >>>> close > > >>> match. > > >>>>>> > > >>>>>> > > >>>>>> Jon Paris > > >>>>>> > > >>>>>> www.partner400.com > > >>>>>> www.SystemiDeveloper.com > > >>>>>> > > >>>>>> On May 10, 2015, at 10:46 AM, Kelly Cookson > > >>>>>> <KCookson@xxxxxxxxxxxx> > > >>>> wrote: > > >>>>>> > > >>>>>>> Thanks Brad. > > >>>>>>> > > >>>>>>> I assume I wouldn't have any problems implementing this in ILE > > COBOL. > > >>>> I've seen several tutorial examples of creating JSON in RPG, which > > >>>> is > > >>> made > > >>>> easier by built-in functions (like trim) and by the new += > > >>>> assignment operator. Unfortunately, RPG is not a standard language > > >>>> in our shop. So > > >>> I'd > > >>>> need to use eRPG SDK in ILE COBOL. > > >>>>>>> > > >>>>>>> Thanks, > > >>>>>>> Kelly > > >>>>>>> > > >>>>>>> -----Original Message----- > > >>>>>>> From: WEB400 [mailto:web400-bounces@xxxxxxxxxxxx] On Behalf Of > > >>>>>>> Bradley Stone > > >>>>>>> Sent: Sunday, May 10, 2015 8:10 AM > > >>>>>>> To: Web Enabling the IBM i (AS/400 and iSeries) > > >>>>>>> Subject: Re: [WEB400] Does the eRPG SDK template system support > > JSON? > > >>>>>>> > > >>>>>>> Hi, Kelly. > > >>>>>>> > > >>>>>>> The eRPG SDK is a template designed system, so if you create JSON > > >>>> templates the eRPG SDK would work the same as if it was using XML, > > >>>> HTML, > > >>> or > > >>>> pretty much anything else. > > >>>>>>> > > >>>>>>> It doesn't know what type of data you're creating using the > > >>>>>>> templates and replacement variables. :) > > >>>>>>> > > >>>>>>> Brad > > >>>>>>> www.bvstools.com > > >>>>>>> > > >>>>>>> On Sun, May 10, 2015 at 2:15 AM, Kelly Cookson > > >>>>>>> <KCookson@xxxxxxxxxxxx> > > >>>>>>> wrote: > > >>>>>>> > > >>>>>>>> Suppose I want to develop a CGI program in ILE COBOL using eRPG > > SDK. > > >>>>>>>> > > >>>>>>>> Can the ILE COBOL program read a DB2 table and use the eRPG SDK > > >>>>>>>> template system to return a JSON string? > > >>>>>>>> > > >>>>>>>> Thanks, > > >>>>>>>> > > >>>>>>>> Kelly Cookson > > >>>>>>>> IT Project Leader > > >>>>>>>> Dot Foods, Inc. > > >>>>>>>> 1.217.773.4486 ext. 12676 > > >>>>>>>> kcookson@xxxxxxxxxxxx<mailto:kcookson@xxxxxxxxxxxx> > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> -- > > >>>>>>>> This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) > > >>>>>>>> mailing list To post a message email: WEB400@xxxxxxxxxxxx To > > >>>>>>>> subscribe, unsubscribe, or change list options, > > >>>>>>>> visit: http://lists.midrange.com/mailman/listinfo/web400 > > >>>>>>>> or email: WEB400-request@xxxxxxxxxxxx Before posting, please > > >>>>>>>> take a moment to review the archives at > > >>>>>>>> http://archive.midrange.com/web400 > > >>> . > > >>>>>>> -- > > >>>>>>> This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) > > >>>>>>> mailing list To post a message email: WEB400@xxxxxxxxxxxx To > > >>>>>>> subscribe, unsubscribe, or change list options, > > >>>>>>> visit: http://lists.midrange.com/mailman/listinfo/web400 > > >>>>>>> or email: WEB400-request@xxxxxxxxxxxx Before posting, please > take > > >>>>>>> a moment to review the archives at > > http://archive.midrange.com/web400. > > >>>>>>> > > >>>>>>> -- > > >>>>>>> This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) > > >>>>>>> mailing list To post a message email: WEB400@xxxxxxxxxxxx To > > >>>>>>> subscribe, unsubscribe, or change list options, > > >>>>>>> visit: http://lists.midrange.com/mailman/listinfo/web400 > > >>>>>>> or email: WEB400-request@xxxxxxxxxxxx Before posting, please > take > > >>>>>>> a moment to review the archives at > > http://archive.midrange.com/web400. > > >>>>>> > > >>>>>> -- > > >>>>>> This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) > > >>>>>> mailing list To post a message email: WEB400@xxxxxxxxxxxx To > > >>>>>> subscribe, unsubscribe, or change list options, > > >>>>>> visit: http://lists.midrange.com/mailman/listinfo/web400 > > >>>>>> or email: WEB400-request@xxxxxxxxxxxx Before posting, please take > > >>>>>> a moment to review the archives at > > http://archive.midrange.com/web400. > > >>>>>> > > >>>>>> -- > > >>>>>> This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) > > >>>>>> mailing list To post a message email: WEB400@xxxxxxxxxxxx To > > >>>>>> subscribe, unsubscribe, or change list options, > > >>>>>> visit: http://lists.midrange.com/mailman/listinfo/web400 > > >>>>>> or email: WEB400-request@xxxxxxxxxxxx Before posting, please take > > >>>>>> a moment to review the archives at > > http://archive.midrange.com/web400. > > >>>>> > > >>>>> -- > > >>>>> This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) > > >>>>> mailing list To post a message email: WEB400@xxxxxxxxxxxx To > > >>>>> subscribe, unsubscribe, or change list options, > > >>>>> visit: http://lists.midrange.com/mailman/listinfo/web400 > > >>>>> or email: WEB400-request@xxxxxxxxxxxx Before posting, please take > a > > >>>>> moment to review the archives at > > >>>>> http://archive.midrange.com/web400. > > >>>>> > > >>>>> -- > > >>>>> This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) > > >>>>> mailing list To post a message email: WEB400@xxxxxxxxxxxx To > > >>>>> subscribe, unsubscribe, or change list options, > > >>>>> visit: http://lists.midrange.com/mailman/listinfo/web400 > > >>>>> or email: WEB400-request@xxxxxxxxxxxx Before posting, please take > a > > >>>>> moment to review the archives at > > >>>>> http://archive.midrange.com/web400. > > >>>> > > >>>> -- > > >>>> This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) > > >>>> mailing list To post a message email: WEB400@xxxxxxxxxxxx To > > >>>> subscribe, unsubscribe, or change list options, > > >>>> visit: http://lists.midrange.com/mailman/listinfo/web400 > > >>>> or email: WEB400-request@xxxxxxxxxxxx Before posting, please take a > > >>>> moment to review the archives at http://archive.midrange.com/web400 > . > > >>>> > > >>>> -- > > >>>> This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) > > >>>> mailing list To post a message email: WEB400@xxxxxxxxxxxx To > > >>>> subscribe, unsubscribe, or change list options, > > >>>> visit: http://lists.midrange.com/mailman/listinfo/web400 > > >>>> or email: WEB400-request@xxxxxxxxxxxx Before posting, please take a > > >>>> moment to review the archives at http://archive.midrange.com/web400 > . > > >>> > > >>> > > >>> -- > > >>> Regards, > > >>> Henrik Rützou > > >>> > > >>> http://powerEXT.com <http://powerext.com/> > > >>> -- > > >>> This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) > > mailing > > >>> list > > >>> To post a message email: WEB400@xxxxxxxxxxxx > > >>> To subscribe, unsubscribe, or change list options, > > >>> visit: http://lists.midrange.com/mailman/listinfo/web400 > > >>> or email: WEB400-request@xxxxxxxxxxxx > > >>> Before posting, please take a moment to review the archives > > >>> at http://archive.midrange.com/web400. > > >> -- > > >> This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) > > mailing list > > >> To post a message email: WEB400@xxxxxxxxxxxx > > >> To subscribe, unsubscribe, or change list options, > > >> visit: http://lists.midrange.com/mailman/listinfo/web400 > > >> or email: WEB400-request@xxxxxxxxxxxx > > >> Before posting, please take a moment to review the archives > > >> at http://archive.midrange.com/web400. > > > > > > -- > > > This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) > mailing > > list > > > To post a message email: WEB400@xxxxxxxxxxxx > > > To subscribe, unsubscribe, or change list options, > > > visit: http://lists.midrange.com/mailman/listinfo/web400 > > > or email: WEB400-request@xxxxxxxxxxxx > > > Before posting, please take a moment to review the archives > > > at http://archive.midrange.com/web400. > > > > > > -- > > > This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) > mailing > > list > > > To post a message email: WEB400@xxxxxxxxxxxx > > > To subscribe, unsubscribe, or change list options, > > > visit: http://lists.midrange.com/mailman/listinfo/web400 > > > or email: WEB400-request@xxxxxxxxxxxx > > > Before posting, please take a moment to review the archives > > > at http://archive.midrange.com/web400. > > > > > > > > > ___________________________________________ > > > This email has been scanned by iomartcloud. > > > http://www.iomartcloud.com/ > > > > > > > ________________________________ > > > > NOTICE: The information in this electronic mail transmission is intended > > by CoralTree Systems Ltd for the use of the named individuals or entity > to > > which it is directed and may contain information that is privileged or > > otherwise confidential. If you have received this electronic mail > > transmission in error, please delete it from your system without copying > or > > forwarding it, and notify the sender of the error by reply email or by > > telephone, so that the sender's address records can be corrected. > > > > > > > > > > > -------------------------------------------------------------------------------- > > > > > > CoralTree Systems Limited > > Company Registration Number 5021022. > > Registered Office: > > 12-14 Carlton Place > > Southampton > > Hampshire > > SO15 2EA > > VAT Registration Number 834 1020 74. > > -- > > This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) mailing > > list > > To post a message email: WEB400@xxxxxxxxxxxx > > To subscribe, unsubscribe, or change list options, > > visit: http://lists.midrange.com/mailman/listinfo/web400 > > or email: WEB400-request@xxxxxxxxxxxx > > Before posting, please take a moment to review the archives > > at http://archive.midrange.com/web400. > > > > > > > -- > Regards, > Henrik Rützou > > http://powerEXT.com <http://powerext.com/> > -- > This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) mailing > list > To post a message email: WEB400@xxxxxxxxxxxx > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/mailman/listinfo/web400 > or email: WEB400-request@xxxxxxxxxxxx > Before posting, please take a moment to review the archives > at http://archive.midrange.com/web400. > >
As an Amazon Associate we earn from qualifying purchases.
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.