Just to get my name out of first position of the subject....Probably time to start a new thread...

I like this approach even though I really haven't had time to fully investigate it. If we could agree on some JSON standards for the stream, I could generate the same JSON responses from the 5250 servlet. My biggest challenge wasn't in translating the 5250 stream, it was in controlling the UI at the browser. Particularly the function keys. I was working with "pure" JavaScript and HTML when I first wrote this stuff and it makes some sense to encapsulate the JS functionality with a library. Maybe there are more options for controlling keystrokes with something like jQuery.

Maybe we could start documenting the JSON stream, giving some thought to what Aaron has already mentioned: Some forward looking markup that would allow some "creative rendering" at the browser.

Unfortunately I am deep into two projects, plus two consulting gigs , that have me at the edge of the exploding head phenomenon seen in "Mars Attacks!" or I pursue this idea along with you Niels. This approach has quite a bit of merit and has the wheels spinning on possible ways it could be exploited.

Nice work.

Pete


Niels Liisberg wrote:
Aaron Bartell wrote>> So this is obviously using the different fairly direct

correlation of 5250 UI components to html ui components (i.e. text field to <input>, etc), but what would be an approach for wanting to render a drop down box as these screens would be based on a DSPF DDS?<<

Thanx Aaron;

My idea here is not to follow HATS and WebFacing to make "one" generic
emulator frontend - one size fits all. But rather build one or eventually
more "emulator" web-applications pr. green screen application... let's call
these web-front ends for "IceCap applications" just for now...
The reason why you need one or more IceCap's is the context where used.
Maybe you need to create a small IceCap REST / JSON service to be used in a
JavaFX, ExtJS, or C# .NET program. Yet another one for good old SOAP
services and maybe one simple HTML; the later is the one I just has posted
as a sample.

To answer you question. If it was a simple HTML - just make a simple RPG
"if" and detect the actual panel, and just add the drop down into the partly
dynamically generated HTML. This drop down can be yet another IceCap
application but also static HTML, JSF or what ever web UI you got...
If you look closer in the iceCap04 sample, you will observe that you can
bypass the logon - go to a specific menu, start a green screen application.
Fill in a a form, press enter, F11 - grab some more data etc. - and the
finally return a JSON object based on a query string.... screen scraping on
steroids where the scripting is done server side in RPGLE.

Take a look at the debug mainline in SVC242, which shows these capabilities.

I'll provide some more samples later ... but also have work to do - maybe
you notice in this code the Apache disclaimer for open source ... almost
there with the open source IceBreak. Need to contact you off-list regarding
source versioning for IceBreak-open on the community server.



Best regards


Niels Liisberg
IceBreak Chief SW Architect

System & Metode Technologies
Håndværkersvinget 8, DK-2970 Hørsholm
Phone: +45 70 20 36 10 Fax: +45 70 20 30 11
Direct: +45 45 177 055
Mobile: +45 31 158 861 E-mail: nli@xxxxxxxxxxxxxxxxx
Web: www.system-method.com and www.Icebreak.org


-----Original Message-----
From: web400-bounces@xxxxxxxxxxxx [mailto:web400-bounces@xxxxxxxxxxxx] On
Behalf Of Aaron Bartell
Sent: 8. januar 2009 21:28
To: Web Enabling the AS400 / iSeries
Subject: Re: [WEB400] Pete's web5250 was->Re: Business Developers was ->Re:
IBM Gives RPG Devotees Their Own Café

Very cool! Just when I thought I was going to be watching "The Office" tonight it looks like I will be pounding through this code - btw, thanks for posting the code as that will bring a lot of fruit to the discussion IMO.

Question: So this is obviously using the different fairly direct correlation of 5250 ui components to html ui components (i.e. text field to <input>, etc), but what would be an approach for wanting to render a drop down box as these screens would be based on a DSPF DDS? The one thing that comes to mind is simply having an "indicator" in the stream that would tell a custom ExtJS script to render the data elements as a drop down and also specify how to map the data to the correct input field when it gets back to the server.

Aaron Bartell
http://mowyourlawn.com


-----Original Message-----
From: web400-bounces@xxxxxxxxxxxx [mailto:web400-bounces@xxxxxxxxxxxx]
On Behalf Of Niels Liisberg
Sent: Thursday, January 08, 2009 2:00 PM
To: 'Web Enabling the AS400 / iSeries'
Subject: Re: [WEB400] Pete's web5250 was->Re: Business Developers was -
Re: IBM Gives RPG Devotees Their Own Café
Gents;



Just to follow up on my idea before Christmas. -- to build a JSON AJAX
client for 5250 data.



I have made a simple running prototype so I'm convinced it can be done.



This tiny emulator demo is written 100% in RPGLE, and can be used as
workstation scripting screen scraper prototype.



The current version is simply is using plain HTML, but the real goal -
a more fancy JSON / AJAX providing data for JavaFX or just javaScript
will be super simple to implement.













The prototype is fare from stable and lot of stuff to be done, but you
can give it a try it on:



http://icebreak.org:60000/icecap04.aspx



Login with user: DEMO and password: DEMO -- You need to type in
UPPERCASE



... please don't do anything stupid while you logged on .





The source is available at:

http://demo.icebreak.org/webfiles/icebreak/iceCap.zip







The iceCap.zip contains the following:



iceCap.rpgle.h The prototypes for the client

iceCap04.aspx This is the tiny emulator
implementation
written in RPGLE for IceBreak

scv242.c The iceCap API module that
deals
with all the ugly 5250 stuff

vtTrace.txt A JSON log of a simple session
login
on, CFGTCP etc.





I have used IceBreak as the server (I'm a little biased here) but I
have made the iceCap API reentrant so it can be ported to CGIDEV2 if
anyone will be interested ...



The code is a monolith -- I know -- it's a prototype -- don't complain...





Best regards


Niels Liisberg
IceBreak Chief SW Architect

System & Metode Technologies
Håndværkersvinget 8, DK-2970 Hørsholm
Phone: +45 70 20 36 10
Fax: +45 70 20 30 11
Direct: +45 45 177 055
Mobile: +45 31 158 861
E-mail: <blocked::mailto:nli@xxxxxxxxxxxxxxxxx> nli@xxxxxxxxxxxxxxxxx
Web: <blocked::http://www.system-metode.com/> www.system-method.com
and <blocked::http://www.icebreak.org/> www.Icebreak.org



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

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.