> From: Joel R. Cochran
> As a matter of personal preference, and the main reason I don't care for
> webfacing and such, is that I do not think that most 'traditional' RPG
> screen and program designs translate well into HTML/CGI.

Now, take my response with a grain of salt as well, because obviously I'm in
the business of converting traditional RPG programs into web applications.

> You have to think
> differently when designing a web page with RPG than a Green Screen.

Or, you can think differently about how you approach your web application
design <smile>.

> Let's take the traditional Green Screen Maintenance program.
> Now, that's 6
> screens, probably all in the same DSPF, so really 6 screen formats and a
> of RPG code to navigate them, but you typically run them all through one
> program.

I'm not sure about six formats... most people I know do this in two.  But I
understand the point.

> The formula in HTML with CGI is 1 screen = 1 program.  At first
> this sounds
> horrible, but you realize immediately you are not limited to
> 24x80 anymore!
> You can scroll, have popups, open seperate windows, and all kinds
> of stuff.

This works very well for what I think of as "data mining" applications,
where the idea is to display data in various ways.  This UI design doesn't
work as well that for data-intensive operations, where the idea is to key
data in as quickly as possible.  Point and click is great for inquiries, but
nothing beats tab and function keys for data entry.

> But you have to think and design differently to make it all flow properly.
> The other thing to remember as well is that unlike the green screen world
> you are familiar with, some things can no longer be taken for granted.
> A big number 1 on this list is that the System no longer knows
> who you are.
> The request comes in, the page is built, the page is delivered, the server
> forgets everything it ever knew about you.  There are no inherent
> sessions.
> Every new request has to 're-educate' the server about who it is
> requesting
> this data.

Only for client/server architectures.  If you instead write server/client
code, where the application program determines the screens to display and
gets back the response, then the standard design philosophy we've used for
so long still works.  And many people find this to be the best way to design
data entry applications.  For example, the flow of an order entry
application may be:

1. Select customer
2. Enter ship to information if required
3. Enter items and quantities
4. Post order

This is NOT the best paradigm for an Internet storefront, but it's the best
way for a data entry clerk to enter data.  And that's the primary difference
between enterprise applications and Internet applications; enterprise
applications are designed to be streamlined to reduce entry time for
experienced operators, while Internet applications are designed to be easy
to use for novices.

> Which leads us to another thing... you are no longer writing code
> to produce
> your output.  You are now writing code to write code to produce
> your output.
> That throws a lot of people for a loop when they are first starting with
> CGI.

With JavaServer Pages as the primary interface, you spend very little time
writing this type of code.  That's why I prefer it to raw CGI.  CGI that
uses a lot of service modules to format the data is better, but in the end I
don't want my application programmers to worry about, or even have to know
about, cascaded style sheets or HTML tags.

> All I'm saying is that I personally think that your heartache will be
> greatly reduced if you don't think of it as a 'migration', but instead
> approach it as a redesign.  The bulk of your code can still be cut and
> pasted into your new programs, but there will probably be a whole bunch of
> small ones to replace those old large ones!

All the above being said, there is definitely a need for what you're
suggesting.  That's what I suggest in my book (eDeployment: The Fastest Path
to the Web).  The long term approach should be to modularize your programs
so that your business logic s encapsulated into servers.  However, most
companies don't have the time or resources to do that to their entire
business flow, which is what is required if you use a total redesign.
Instead, you need a staged approach, where you first get your UI in place,
and then rewrite the modules underneath as time and resources permit.  Of
course, that's my opinion because that's what our tools do - we can quickly
(in a matter of days) get an application on the web, and then provide you
the tools to redesign your applications using a client/server approach that
encapsulates your business logic.

But that's just our way of doing things <smile>.

Joe Pluta
Pluta Brothers Design

As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2022 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.