Download presentation
Presentation is loading. Please wait.
Published byLenard Wilson Modified over 8 years ago
1
Moving Beyond Boundaries A Natural Extension: Using the Com-plete HTTP Server for Web-Enablement David Wimberly Project/Program Director, University of Arkansas wdw@uark.edu
2
Moving Beyond Boundaries Presentation Overview The Com-plete HTTP server A Natural tool for web enablement Web-Enablement at the University of Arkansas Enhancing existing applications with web technologies Implementation considerations Tips and techniques Examples
3
Moving Beyond Boundaries The Com-plete HTTP Server A Natural tool for web-enablement Com-plete 6.1 architecture Natural and the HTTP server Natural programmer’s view System view Advantages of this native MVS web and application server
4
Moving Beyond Boundaries Com-plete 6.1 Architecture VTAM Inter- face Utili ties Spool Telnet HTTP CGI applications Product X
5
Moving Beyond Boundaries Natural and the HTTP Server HTTP CGI applications
6
Moving Beyond Boundaries Natural Programmer’s View ** Read user input from the web CALL ‘HAANUPR’ #CGI-STATUS /* Return code and reason code #CGI-ACTION /* GET-DATA or PUT-DATA #FIELD-NAME /* HTML form field name #FIELD-VALUE /* User input value #FIELD-LENGTH /* Length anticipated/returned SEPARATE… FIND EMPLOYEE WITH… Simple CALL interface
7
Moving Beyond Boundaries System View Natural programs: Run in the buffer pool Access ADABAS and other resources Call external module HAANUPR To read HTML form inputs and controls (GET or POST) To send dynamically generated HTML to the browser Configuration parameters for default user ID, library, buffer sizes, etc. Automatic EBCDIC/ASCII translations and url encoding/decoding
8
Moving Beyond Boundaries Native MVS Web and Application Server Natural CGI interface (HAANUPR ) HTTP
9
Moving Beyond Boundaries Web-Enablement with the Com-plete HTTP Server Enhancing existing applications with web technologies Objectives Background Web session examples
10
Moving Beyond Boundaries U of A’s Objectives To enhance and extend our mainframe applications Reach new audiences Employees and vendors Enhance the presentation of information Consolidate information and dress it up Simplify access for infrequent users Not to replace all or even most 3270 functions Not to literally move a 3270 application to the web
11
Moving Beyond Boundaries U of A Background Natural and ADABAS mainframe shop since 1986 BASIS: Business & Administrative Strategic Information Systems Custom inhouse developed applications Everything but student systems Separate groups doing Java web development and screen scraping web deployment Preference for Natural application code Timing was right for the Com-plete HTTP Server
12
Moving Beyond Boundaries Logon
13
Moving Beyond Boundaries Menu
14
Moving Beyond Boundaries Browse PO selection screen
15
Moving Beyond Boundaries Help for Date-Close-Anticipated
16
Moving Beyond Boundaries Help for PO status, selection
17
Moving Beyond Boundaries Help for PO status, window
18
Moving Beyond Boundaries PO status returned
19
Moving Beyond Boundaries Budgetary Unit help
20
Moving Beyond Boundaries BU help search
21
Moving Beyond Boundaries Browse PO for Status and BU by Date
22
Moving Beyond Boundaries Browse result and PO selection
23
Moving Beyond Boundaries View of PO, top
24
Moving Beyond Boundaries View of PO, bottom
25
Moving Beyond Boundaries Select a PO to Browse Invoices for PO
26
Moving Beyond Boundaries Browse Invoices for PO
27
Moving Beyond Boundaries View Invoice
28
Moving Beyond Boundaries Select a PO to e-mail
29
Moving Beyond Boundaries E-mail the PO
30
Moving Beyond Boundaries PO list, vendor help
31
Moving Beyond Boundaries Vendor name search
32
Moving Beyond Boundaries Select vendor
33
Moving Beyond Boundaries PO search by vendor and date, initiated
34
Moving Beyond Boundaries PO search by vendor and date, results
35
Moving Beyond Boundaries Main menu, select pay activity
36
Moving Beyond Boundaries Browse pay activity
37
Moving Beyond Boundaries View earnings statement
38
Moving Beyond Boundaries Main menu, select addresses
39
Moving Beyond Boundaries 3270 Addresses, etc. equivalent
40
Moving Beyond Boundaries Addresses, etc
41
Moving Beyond Boundaries Enter changes, view errors and previous values
42
Moving Beyond Boundaries Correct errors and update
43
Moving Beyond Boundaries Update confirmation screen
44
Moving Beyond Boundaries Logoff screen
45
Moving Beyond Boundaries Implementation Considerations How to maintain state Back button Back button vs Return Data security Configuration Essential JavaScript Techniques for generating HTML Coding tips, debugging tips, and more Example HTML and Natural code
46
Moving Beyond Boundaries How to Maintain State The web is stateless Each interaction (submission) is self contained No provision for a continuous user session To maintain state Use conversational mode, or Create a session ID (*TIMESTMP) Place it on the form as a hidden field Save and restore user session information using ADABAS
47
Moving Beyond Boundaries Back Button Can subvert your state information User reappears not from where you left him We considered Disabling it Running in a window without the toolbar or menubar Issuing errors if they used it Limit the state information you maintain Not the active position within a READ loop Instead, hide the first and last ISN on a page Have one entry point -- a dispatcher program action=“uwowdis”
48
Moving Beyond Boundaries Back Button vs Return As 1 - 10 Bs 1 - 10 Bs 11 - 20 Bs 21 - 30 Cs 1 - 10 Cs 11 - 20 Object selection or Paging Back button Return Browse A objects at level 1 Browse B objects at level 2 Browse C objects at level 3
49
Moving Beyond Boundaries How to Return Save program hierarchy information in hidden fields Our browse functions stack for each level: Program ID Search type in effect ISN and MU/PE occurrence of first record on the screen Whether page back was valid A Return Pops one of these from the stack Executes the program and re-initiates the browse
50
Moving Beyond Boundaries Data Security Sensitive data requires encryption Com-plete HTTP server does not do SSL Proxy server introduced to do all encryption and decryption To avoid mixing document types and client side warnings Style sheets and graphics are delivered from a separate web server using HTTPS
51
Moving Beyond Boundaries U of A’s Environment HTTPSHTTP Client with SSL enabled Web Browser Proxy Server for SSL encryption Web Server for *.gif and *.css files IBM OS/390 running ADABAS, Natural, and Com-plete 6.1
52
Moving Beyond Boundaries Com-plete HTTP Server Configuration HAANCONF SERVPOOL=YES Uses a shared logon or session NATLIB=default library Natural CGI programs in other libraries require an implicit logon HTTPUSER=default user ID URL processing user exit Restrict access to specific hosts or domains
53
Moving Beyond Boundaries Essential JavaScript Cursor placement Selection processing and linking to different services Set hidden form element to selected value Submit form Window management Open and Close windows Pass and return values
54
Moving Beyond Boundaries Techniques for Generating HTML Output your HTML to the Source Work Area Use Natural ISPF macros But macros cannot be invoked directly as a Natural CGI program Use Natural DEFINE PRINTER (1) OUTPUT 'SOURCE' FORMAT (1) PS=0 LS=133 EJECT OFF (1) SET CONTROL 'Z‘ WRITE (1) NOTITLE … Send the generated HTML to the browser HNANCGIP is provided, but limited to 72 character lines Create your own using longer lines via the USR1035N interface
55
Moving Beyond Boundaries Coding Tips Develop an architecture and generate your Natural CGI programs using Natural ISPF macros Fast delivery of new functions Consistent Easy to implement changes -- REGEN To simplify making changes in page appearance Use copy code, subprograms, constants defined in an LDA, and an external style sheet HTML form fields can have dashes, but javascript cannot reference them Translate them to under-scores
56
Moving Beyond Boundaries HAANUPR Tips Field names Must end with a blank character Field values Are not blank filled, reset them before your CALL Field length Passed in: the largest value you will receive Returned: the actual size of the field entered CALL ‘HAANUPR’ #CGI-STATUS /* Return and reason code #CGI-ACTION /* GET-DATA or PUT-DATA #FIELD-NAME /* HTML form field name #FIELD-VALUE /* User input value #FIELD-LENGTH /* Length anticipated/returned
57
Moving Beyond Boundaries Debugging Tips You can’t sprinkle WRITEs into your code You can’t run the Natural debugger Trap and log errors on a data base file Note: *ERROR-TA always starts as HNANERR and can only be changed by an assignment statement Output your debugging information with your web page using HTML This may mean holding information until you reach the page
58
Moving Beyond Boundaries Code Reuse Develop a Natural subprogram to output the core HTML document for an object (Purchase Order, Earnings Statement, etc.) Call from your Com-plete web application (Natural CGI program) Call from online 3270 session to generate an HTML e-mail attachment Read the source work area and send to SMTP using ESS’ PROCESS WRITE-SPOOL Call from batch to generate an HTML e-mail attachment
59
Moving Beyond Boundaries HTML for UWOMENU, part 1
60
Moving Beyond Boundaries HTML for UWOMENU, part 2
61
Moving Beyond Boundaries Natural code, UWCSBH
62
Moving Beyond Boundaries Natural code, output Action
63
Moving Beyond Boundaries Natural code, output table of Services
64
Moving Beyond Boundaries Natural code, read HTML form fields
65
Moving Beyond Boundaries Enhancement Proposal 958 Efficient browsing of ADABAS data (no wasted I/O) Forward or backward (descending) Possible due to STARTING WITH ISN Regular descriptors MU type descriptors Unique PE type descriptors It is not possible with non-unique PE type descriptors! Vote for FIND DESCENDING, enhancement proposal 958
66
Moving Beyond Boundaries Presentation Review The Com-plete HTTP server A great run time environment for Natural, and now an enabler for Natural based web applications Web-Enablement at the University of Arkansas Examples of what can be done with the Com-plete HTTP server Implementation considerations Tips and examples from the University of Arkansas
67
Moving Beyond Boundaries Thank You!
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.