1 / 67

A Natural Extension: Using the Com-plete HTTP Server for Web-Enablement

A Natural Extension: Using the Com-plete HTTP Server for Web-Enablement. David Wimberly Project/Program Director, University of Arkansas wdw@uark.edu. Presentation Overview. The Com-plete HTTP server A Natural tool for web enablement Web-Enablement at the University of Arkansas

shadi
Download Presentation

A Natural Extension: Using the Com-plete HTTP Server for Web-Enablement

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Natural Extension:Using the Com-plete HTTP Server for Web-Enablement David Wimberly Project/Program Director, University of Arkansas wdw@uark.edu

  2. 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. 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. VTAM Inter- face CGI applications Product X Utili ties Spool Telnet Natural HTTP HLLI Posix RTS Com-plete 6.1 Architecture

  5. CGI applications Natural HTTP HLLI Posix RTS Natural and the HTTP Server

  6. Natural Programmer’s View • Simple CALL interface ** 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…

  7. 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. Com-plete v6.1 Natural HLLI Posix TCP/IP ESX TCP/IP ADABAS Natural CGI interface (HAANUPR) HTTP Operating System Native MVS Web and Application Server

  9. Web-Enablement with the Com-plete HTTP Server • Enhancing existing applications with web technologies • Objectives • Background • Web session examples

  10. 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. 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. Logon

  13. Menu

  14. Browse PO selection screen

  15. Help for Date-Close-Anticipated

  16. Help for PO status, selection

  17. Help for PO status, window

  18. PO status returned

  19. Budgetary Unit help

  20. BU help search

  21. Browse PO for Status and BU by Date

  22. Browse result and PO selection

  23. View of PO, top

  24. View of PO, bottom

  25. Select a PO to Browse Invoices for PO

  26. Browse Invoices for PO

  27. View Invoice

  28. Select a PO to e-mail

  29. E-mail the PO

  30. PO list, vendor help

  31. Vendor name search

  32. Select vendor

  33. PO search by vendor and date, initiated

  34. PO search by vendor and date, results

  35. Main menu, select pay activity

  36. Browse pay activity

  37. View earnings statement

  38. Main menu, select addresses

  39. 3270 Addresses, etc. equivalent

  40. Addresses, etc

  41. Enter changes, view errors and previous values

  42. Correct errors and update

  43. Update confirmation screen

  44. Logoff screen

  45. 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. 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. 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. Back Button vs Return Browse A objects at level 1 Browse B objects at level 2 Browse C objects at level 3 As 1 - 10 Bs 1 - 10 Cs 1 - 10 Object selection or Paging Cs 11 - 20 Bs 11 - 20 Back button Return Bs 21 - 30

  49. 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. 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

More Related