I gather that you used the HTML DDS *DSPF keyword to modify the Workstation Gateway stream. That's quite different than my first thought.
In an earlier discussion (before Christmas) I suggested using Virtual Terminal APIs to map 5250 data streams to messages that a JavaScript client might transform into DOM elements. The general idea was to come up with a message format that was less verbose than HTML, but still enable access to 5250 programs from browsers. I kind of hoped that someone on the list might develop something like that. It could be a useful add-on to a web portal I have. It would be nice if a JavaScript client exposed an interface that would enable form input elements to be filled in via JavaScript, to automate 5250 sign-on / program calls. It would be nice to launch 5250 programs from portal menus, for example.
Changing the subject:
Regarding using meta-data to build applications, I hear ya. It sounds like you've come up with something of a virtual machine and/or generator for applications.
I particularly like the virtual machine concept - providing as much functionality as possible. It would be helpful to only have to create new programs and screens that might be outside the functional scope of the runtime environment.
Then I think about code generators like Adobe Flex/Flash Studio. Drop a check-box onto a form and the compiler generates a 100K executable. Drop an additonal push button onto the form and the compiler adds another 50K to the executable. A broadly scoped application could be dozens of megabytes in size. And every user must to download that over the wire. What could be worse?
Nathan.
----- Original Message ----
From: Rob Dixon <robertsdixon@xxxxxxxxx>
To: Web Enabling the AS400 / iSeries <web400@xxxxxxxxxxxx>
Sent: Wednesday, January 7, 2009 10:12:32 AM
Subject: Re: [WEB400] Workstation Gateway (was Persistent CGI)
Nathan,
Your understanding of WSG is correct, but it was possible to change how it
worked by putting additional HTML and JAVASCRIPT in the datastream. So, for
instance, I got rid of the heading AS/400 Workstation Gateway which wasted a
lot of space, changed the background and text colours, enabled the function
keys so that they worked as in 5250 mode (with one exception). I altered
the text on the buttons, enabled "ONMOUSOVER", "OndblClick", "OnClick" and
"onmouseout", and allowed a much longer line length than the 80/132 norm for
5250. I set "focus", displayed images, etc.
I used WSG because it was there and the learning curve was relatively
short. However, there were limitations about how much HTML you could send
(although I never quite worked out exactly what these were) and response
times were poor (although nothing like as bad as IBM predicted). In
addition, the way that I develop applications means that, as most of an
application definition is stored as metadata in my database and very little
is defined in new program code, all applications work in exactly the same
way. In fact the development and operational environments use exactly the
same program code as, mostly, no new programs are created when a new
application is built. This meant that I could spend more time on the
workings and I created a single datastream into which I inserted 5250
attributes, PCL 5 code for printing or HTML/Javascript as appropriate. My
product builds all of these dynamically. So when you see what appears to be
a 5250 subfile displayed, it is in fact one field of 80 characters (or more)
by ten lines which does not have 5250 attributes defined in DDS - these are
inserted by my product.
I missed the web5250 thread, probably because I had my head down in CGIDEV -
I will have a look.
I am not trying to write my own version of WSG as I don't believe that it is
a viable approach except in the short term. In addition, I made a rule a
long time ago that, except in the most extreme circumstances, I would never
try and go under the covers of an operating system. My reason was that, if
you do, you will have problems when a vew version is released. I do not
believe that with OS/400 there can be any justification for doing this. It
does all you need. If you make fundamental changes to the way things are
done (and to this I plead guilty) these must be done outside the OS.
What I am doing, and have been doing for some years, is to try and create a
better mousetrap. I believe that developers, because of the methods
available to them, serve users very badly. It seems to me that
programmers/developers spend far too much of their time reinventing the
wheel and achieving less than perfect results. Surely, programming is the
most inefficient process ever devised by mankind in any field of human
endeavour. It is fine for masochists (and we may both be masochists!) but
it is not productive, not even if you are the best programmer in the world.
I can achieve dramatic improvements in developer productivity and
scaleability by abolishing most new program creation (whether hand coded or
generated) as I define most of an application as metadata in my database.
Yet I cannot persuade people that programming in an unnecessary evil, even
though when we learn, no one shuts down our brain, analyses the problem,
designs a solution, reprograms our brain, tests the result and starts it up
again. If our brains worked liked that, we would know nothing. If we used
an intelligent database, we would be way ahead of where we are today and be
able to keep up with users' ever evolving real world as it changed.
Because of the limitations of WSG and its lack of IBM support, I am now
trying to create a better interface. This could be used by anyone in due
course. As yet, I don't see how to use it without some work - I don't
expect it to be a magic wand. But I hope that it will allow the
construction of applications that are automatically web enabled without any
work for the web and without writing any HTML or Javascript.
If you have a particular problem for which you want a generic solution,
please tell what it is. I may not be able to help, but it might influence
how I implement my ideas and might help to solve the problem.
Best wishes
Rob
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.