|
Ken -- Have you considered using XML? Sounds like a perfect fit, and it's a documented standard. -- Don Schenck Schenck Technical Consulting DonS@SchenckTech.com / www.SchenckTech.com > -----Original Message----- > From: Ken.Slaugh@cm-inc.com [mailto:Ken.Slaugh@cm-inc.com] > Sent: March 18, 2001 1:10 PM > To: MIDRANGE-L@midrange.com > Subject: RE: Web apps on the AS/400 > > > > Phil > Our solution here at CMI involves a tagged pair concept > for passing > information to RPG programs. Our data is exchanged with a > parameter in the > RPG programs with the following format: > > ID1=Value1<tab>ID2=Value2<tab>ID3=...<crlf>ID1=Value1<tab>... > > We chose the Tab and CRLF simply because they are not > regularly part > of data values and are easily produced in the keyboard (yes, > the multiline > text box has been a issue). Flat text editors, like notepad, > show the data > quite well and imbedding the control characters in HTML has no impact. > > We use a horizontal tab as a field delimiter and > carriage return/line > feed as a record delimiter. This format has been highly > useful and can be > coded in most languages. We have written routines to parse > the information, > converting dates and numerics when needed. We then modify our > existing RPG > programs with /COPY statements and create new subroutines to > post values to > program variables and perform the proven business logic, data > retrieval and > posting. Most programs require a parsing subroutine to > process the incoming > parameter string and another subroutine to return the results > in the same > parameter. High demand programs are coded with a return opcode whereas > rarely used ones simple turn on the LR indicator. > > We have been using this technique to integrate with many > different > platforms, from Web apps to custom interfaces and GUI front > ends. We have > reserved a set of Tag IDs for program flow and execution and developed > specialized front end programs to control job stacks and 24hr > execution. We > use data areas to keep statistics and interface flags. Stats show hit > counts. Configured counts allow limit of concurrency. There > is actually > more to it than this and this certainly isn't the only > available approach, > but hopefully this gets you thinking in the right direction. > > Good Luck and keep us posted, > > Ken Slaugh (707) 795-1512 x118 > Chouinard & Myhre, Inc. > AS/400 Professional Administrator/MSE > Client Access Specialist > http://www.cm-inc.com/ > > > > > Phil Groschwitz > > <sublime78ska@yahoo To: > MIDRANGE-L@midrange.com > .com> cc: > > Sent by: Subject: > RE: Web apps on the AS/400 > owner-midrange-l@mi > > drange.com > > > > > > 03/18/01 09:19 AM > > Please respond to > > MIDRANGE-L > > > > > > > > > Great discussion going on. I thought I'd add my > perspective to it. > > Isn't possible to do this: > > Use net.data to do nothing but call rpg pgms and to > place the result where net.data says to. All the html > is in the net.data macro, not in any rpg pgms. The > macro can be maintained by webdevelopers while the > business programs are maintained by rpg programmers. > > -- or -- > > Develop your own tag language to control calling rpg > pgms, again not putting any html in rpg pgms. The > special tag language and html is maintained by > webdevelopers while the business programs are > maintained by rpg programmers. > > -- or -- > > use JSP's and java to do the same thing, again not > putting any html in the java classes (which is what > you had to do not too long ago before jsp's.) The > jsp's are maintained by webdevelopers while the > business programs are maintained by java developers. > > -- > > I agree that hardcoding html (in any language) is not > a good thing. > > But I disagree that java/jsp's is the **absolute** > best solution for **all** business problems. Why? > ROI. The existing, installed as/400's are in many > cases incapable of running a java solution. Many > companies would lose money on upgrading now. They > have to wait. (Or use a different server but you may > never get that business back) > > Here's a simplistic analogy that I think demonstrates > my point: > > I have a 2 year old car. I now have a need to put a > baby in the car so I need a car seat. While it is > true that I could buy a new car that comes with an > integrated car seat, I can't buy a new car now because > I'm still paying for the one I have. I can't wait > another three years for my car to be paid for. So > I'll just buy a car seat that I can use in my existing > car. Problem solved. Best solution when all the > factors are considered. Would not have been the best > solution if I had no car, or if the car was deficient > in another way. Maybe I need room for five but the > car only has four seats. You get the idea, I hope. > > Phil > > > > > --- Joe Pluta <joepluta@PlutaBrothers.com> wrote: > > Holy Cripe Joe, that almost sounds like a RPG-CGI > > program !! > > ----- > > > > Yes and no, John. With this technique, there's no > > HTML formatting in the > > RPG programming, which is my primary gripe against > > RPG-CGI (or any CGI) > > techniques. Here's a typical change to an RPG > > program: > > > > RV01dC** WRITELINCTL01 > > RV01aC EXSR DQM001 > > > > RV01aC DQM001 BEGSR > > WRITELINCTL01 > > RV01aC DQMTYP IFEQ '1' > > RV01aC WRITELINCTL01 > > RV01aC ELSE > > RV01aC CALL 'DQMBAPI2' > > RV01aC PARM 'LINCTL01'DQMSCR 8 > > RV01aC PARM 'WRITE' DQMOPC 5 > > RV01aC *IN PARM *IN XIIND > > RV01aC PARM DQMDS2 > > RV01aC ENDIF > > > > This program runs both green screen and browser. > > Most CGI programs that > > I've seen won't perform in both environments. > > > > Joe > > > > +--- > > | This is the Midrange System Mailing List! > > | To submit a new message, send your mail to > > MIDRANGE-L@midrange.com. > > | To subscribe to this list send email to > > MIDRANGE-L-SUB@midrange.com. > > | To unsubscribe from this list send email to > > MIDRANGE-L-UNSUB@midrange.com. > > | Questions should be directed to the list > > owner/operator: david@midrange.com > > +--- > > > __________________________________________________ > Do You Yahoo!? > Get email at your own domain with Yahoo! Mail. > http://personal.mail.yahoo.com/ > +--- > | This is the Midrange System Mailing List! > | To submit a new message, send your mail to MIDRANGE-L@midrange.com. > | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. > | To unsubscribe from this list send email to > MIDRANGE-L-UNSUB@midrange.com. > | Questions should be directed to the list owner/operator: > david@midrange.com > +--- > > > > > +--- > | This is the Midrange System Mailing List! > | To submit a new message, send your mail to MIDRANGE-L@midrange.com. > | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. > | To unsubscribe from this list send email to > MIDRANGE-L-UNSUB@midrange.com. > | Questions should be directed to the list owner/operator: > david@midrange.com > +--- > +--- | This is the Midrange System Mailing List! | To submit a new message, send your mail to MIDRANGE-L@midrange.com. | To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com. | To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
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.