cleancut-fluent

(Answer) (Category) iSeries / AS400 FAQ : (Category) General :
Screen Scraping, Re-facing, WebEnabling; Terminology 101
Let me take a stab at some common definitions & terminology, please
feel free to constructively add/correct information, as I hope to 
add this to the Midrange Dot Com FAQ site. Before you email me, 
please read *all* the text, including the footnotes. And finally, 
apologies to any vendor *not* mentioned as an example - is was not 
on purpose ! If you'd like to email me and try to convince me in 
which category your offering belongs, I'll update the FAQ version 
of this posting accordingly.

I Hope this helps those who have been confused over the last few days !

--phil


===============
Screen Scraping
===============

What Is It ?
------------

In its simplest terms, screen scraping is intercepting the original 
screen[1] output as-is from the original program but manipulating that 
screen information before presenting it to the user on the display 
device[2] in such a way as to present the user with a different 
look & feel of the same screen information.

How Is It Done ?
----------------

There are three main methods of achieving 5250 screen scraping, listed 
below in their most used order;

(i) Post-5250 Stream Creation Client Conversion - Software running on the 
PC intercepts the original 5250 data stream and converts it in some 
fashion to use the PC's underlying Windowing system & controls. For 
example taking 5250 input fields and converting them to Windows input 
controls. A high proportion of implementations use a 'thick client'[3] 
on the PC to render the converted/modified screen data. A smaller number 
of implementations use an 'intelligent client'[4]. Post-5250 Stream 
Creation Client Conversion is, despite what sales brochures state, 
*not* implementable using a 'thin client'[5].

(ii) Post-5250 Stream Creation Server Conversion - Software running on the 
server where the 5250 data stream originates performs the same conversion 
as would have been done on the PC in (i). In the majority of 
implementations, this server side software uses the 'virtual terminal' 
API's to get the screen information. The advantage over (i) is that with 
additional server software, it is possible to implement the rendering in 
all three client types; thin, intelligent and thick as in (iii) below.

(iii) Pre-5250 Stream Creation Server Conversion - This is slightly more 
involved, as it requires intercepting the 5250 stream a lot earlier in the 
process and on the server. Almost all of the implementations on the 
iSeries of this kind of screen scraping achieve this by hooking into 
the System Entry Point Table (SEPT) and replace the program pointers to the
 original 5250 programs (QWSGET, QWSPUT, etc) with program pointers to 
software that will render the 5250 in a form that the PC is expecting. 
Pre-5250 Stream Creation Server Conversion can send the new screen 
information to any of the three client types; thin, intelligent or thick.

The key point to note is that for screen scraping, the original program 
is *totally unaware* that it isn't talking to a real 5250 display - the 
original program is untouched code wise.

Another important point to remember about screen scraping is that because
 the screen scraping software still relies upon the 5250 data stream, 
the process is still interactive, and thus still incur the 
interactive 'tax'.

Examples Of Who Does Screen Scraping ?
--------------------------------------

(a) Post-5250 Stream Creation Client Conversion -
      Jacada, http://www.jacada.com/apps/5250_screen_scraping/welcome.htm
      WRQ, www.wrq.com/products/hostintegration
      LookSoftware, http://www.looksoftware.com/prod_centric.htm

(b) Post-5250 Stream Creation Server Conversion -
      CABEL, http://www.astoweb.com/en/prodotto.shtml
      LookSoftware, http://www.looksoftware.com/prod_newlook_beyond_refacing.htm

(c) Pre-5250 Stream Creation Server Conversion -
      Zephyr, http://www.3270-5250-mainframe-legacy-extension.com/legacy-extension-articles.htm
      IBM, http://www-3.ibm.com/software/webservers/hostintegration/
      IBM, http://www-1.ibm.com/servers/eserver/iseries/ondemand/solutions/webfacing.html


=========
Re-facing
=========

What Is It ?
------------

In its simplest form, re-facing is changing the underlying application 
source code to produce either an output that is something other than a 
5250 data stream, or both a 5250 data stream *and* something other than 
a 5250 data stream (in most cases the something other is a HTML or XML 
form of the stream).

How Is It Done ?
----------------

There are a number of ways, each getting deeper and deeper (or closer 
and closer depending upon your point of view) to a re-write of the 
application source code. In every case however, it boils down to the 
lines of code in the source that write to the *DSPF (e.g. EXFMT) being 
changed to create the 'something other than a 5250 data stream'.

A key point with re-facing is that it is now possible to run the application 
in batch mode, which of course can help reduce your interactive 'tax' hit.

Examples Of Who Does It This Way ?
----------------------------------

  SSA, http://www.ssagt.com/products/bpcs_v8.htm
  PSC/400, http://www.plutabrothers.com/p1.html
  Crys@lid, http://www.crysalid-server.com/crysalid_vo/contain-synthesis.html


=====================
Webfacing/WebEnabling
=====================

Unfortunately, IBM has a screen scraping (see section 1) product called 
WebFacing, which can confuse matters, I personally prefer the term 
'WebEnabling'.

WebEnabling, is simply using either Screen Scraping or Re-facing to 
provide end users with a browser based front-end to an existing 5250 
application. Simple !


---- Footnotes ----

[1] 99% of the time, it is screens that are scraped, however it's not 
limited to screens.

[2] Again, 99% of the time the original 5250 data stream is modified 
to be rendered on a display device, but it's not limited to rendering 
for a display device.

[3] Thick Client - this is when a complete, standalone *application* 
is installed on the PC. For example SSA's BPCS C/S V6.04 (CEA applications)

[4] Intelligent Client - this is when custom software is installed 
on the PC, but this software is executed within a non-related 
software product. For example ActiveX controls or Java Applets for 
Internet Explorer.

[5] Thin Client - in its purest form this is just a browser, any 
browser IE, Netscape, Opera, take your pick. In its common form, 
it a browser plus a number of public plugins, such as Shockwave, 
RealPlayer, WMP, PDF reader, etc. How do 'public' plugins differ from 
custom software plugins as described in [4] ? Well public plugins are 
more prevalent, that is they are shared in use across many, many, 
different websites, where as you'll never find a need for a custom 
Webfacing plugin on sites like Amazon ! Also, public plugins also most 
often use 'standardised' protocol URI's such as rtp://, mms:// etc.
ans-ins-part
Append to This Answer
phall
Previous: (Answer) How can I retrieve an IP address of a session AS400?
Next: (Answer) How can I recursively change the owner of objects in the IFS?
This document is: http://faq.midrange.com/index.pl?file=302
[Search] [Appearance]
This is a Faq-O-Matic 2.721.