wsu web development. overview browser cicswebcicsweb open edition dce interface natural server...
TRANSCRIPT
![Page 1: WSU Web Development. Overview Browser CICSWEBCICSWEB Open Edition DCE interface Natural Server session User T01 Session User Tnn Session User T03 Session](https://reader036.vdocuments.mx/reader036/viewer/2022062516/56649dac5503460f94a9bb6e/html5/thumbnails/1.jpg)
WSU Web Development
![Page 2: WSU Web Development. Overview Browser CICSWEBCICSWEB Open Edition DCE interface Natural Server session User T01 Session User Tnn Session User T03 Session](https://reader036.vdocuments.mx/reader036/viewer/2022062516/56649dac5503460f94a9bb6e/html5/thumbnails/2.jpg)
Overview
Browser
CICS
WEB
Open Edition DCE interface
Natural Server session
Natural Server session
Natural Server session
User T01Session
User TnnSession
User T03Session
User T02Session
Browser
Browser
Browser
Browser Web dispatcher
T
C
P
TCP
![Page 3: WSU Web Development. Overview Browser CICSWEBCICSWEB Open Edition DCE interface Natural Server session User T01 Session User Tnn Session User T03 Session](https://reader036.vdocuments.mx/reader036/viewer/2022062516/56649dac5503460f94a9bb6e/html5/thumbnails/3.jpg)
Web browser client
CICS webserver
Web dispatcher
Web ParseNatural Module
Web Send
Web Utils.
dataExec.
Overview
Templates
![Page 4: WSU Web Development. Overview Browser CICSWEBCICSWEB Open Edition DCE interface Natural Server session User T01 Session User Tnn Session User T03 Session](https://reader036.vdocuments.mx/reader036/viewer/2022062516/56649dac5503460f94a9bb6e/html5/thumbnails/4.jpg)
OverviewOverview
1 #IRESP (I4)1 #OCCURNO (I4)1 #RESULT (A253)1 #KEY (A50)
CALLNAT 'WEBPARSE' #IRESP #KEY #RESULT #OCCURNO
![Page 5: WSU Web Development. Overview Browser CICSWEBCICSWEB Open Edition DCE interface Natural Server session User T01 Session User Tnn Session User T03 Session](https://reader036.vdocuments.mx/reader036/viewer/2022062516/56649dac5503460f94a9bb6e/html5/thumbnails/5.jpg)
1 #DATA-AREA 2 #RESP1 3 #R1A (A15) INIT <'HTTP/1.0 200 OK'> 3 #R1Z (A2) INIT <H'0D25'> 2 #HDR1 3 #H1A (A24) INIT <'CONTENT-TYPE: TEXT/HTML'> 3 #H1Y (A2) INIT <H'0D25'> 3 #H1Z (A2) INIT <H'0D25'> 2 #MESS 3 #M1A (A45) INIT <'<TITLE>TESTATE1</TITLE><H1>TESTATE1:</H1><P>'> 3 #M1C (A250) 2 #END-DATA-AREA (A1)
CALL 'UTPWBSND' #IRESP #ILEN #DATA-AREA
Overview
![Page 6: WSU Web Development. Overview Browser CICSWEBCICSWEB Open Edition DCE interface Natural Server session User T01 Session User Tnn Session User T03 Session](https://reader036.vdocuments.mx/reader036/viewer/2022062516/56649dac5503460f94a9bb6e/html5/thumbnails/6.jpg)
1 #P4 (A128) INIT< '<body text="#000000" bgcolor="#E78CC6" ' - 'link="#0000EE" vlink="#551A8B" alink="#FF0000">'>1 #P7 (A37) INIT< '<p> This is text to display. <br><cen'>1 #P8 (A04) INIT<'ter>'>1 #P9 (A128) INIT< 'Enter Natural Pgm Name and Cl'>. . . .COMPRESS #P7 INTO #PARM LEAVING NO SPACECALLNAT 'WEBGEN' #IRESP #PARMCOMPRESS #P8 INTO #PARM LEAVING NO SPACECALLNAT 'WEBGEN' #IRESP #PARMCOMPRESS #P9 INTO #PARM LEAVING NO SPACECALLNAT 'WEBGEN' #IRESP #PARMCOMPRESS #P11 INTO #PARM LEAVING NO SPACECALLNAT 'WEBGEN' #IRESP #PARMCALL 'UTPWBSND' #IRESP
Overview
![Page 7: WSU Web Development. Overview Browser CICSWEBCICSWEB Open Edition DCE interface Natural Server session User T01 Session User Tnn Session User T03 Session](https://reader036.vdocuments.mx/reader036/viewer/2022062516/56649dac5503460f94a9bb6e/html5/thumbnails/7.jpg)
1 #TEMPLATE (A8) INIT<'GENERIC1'> 1 #CMD (A1) INIT<'A'> 1 #SLEN (I4) 1 #WSTRUCT 2 #P0 (A4) INIT<'&P0='> 2 #WORK (A253)END-DEFINE
COMPRESS #PVALUE '#$@' INTO #WORK LEAVING NO SPACEEXAMINE #WORK FOR '#$@' GIVING POSITION IN #SLENIF #SLEN = 0 #SLEN = 253ELSE SUBTRACT 1 FROM #SLENADD 4 TO #SLENCALL 'UTPWBTPL' #PRESP #CMD #TEMPLATE #P0 #SLEN
Overview
![Page 8: WSU Web Development. Overview Browser CICSWEBCICSWEB Open Edition DCE interface Natural Server session User T01 Session User Tnn Session User T03 Session](https://reader036.vdocuments.mx/reader036/viewer/2022062516/56649dac5503460f94a9bb6e/html5/thumbnails/8.jpg)
Utilities:some examples
Sag editor usage… write, display, skip, at top, at end, etc.
USR modules: SYSBUS, and Environment variables (E.G. UDB).
Caching to TSQ instead of GDAs or AIVs.
Query DCE groups and user-ids. Validate passwords.
![Page 9: WSU Web Development. Overview Browser CICSWEBCICSWEB Open Edition DCE interface Natural Server session User T01 Session User Tnn Session User T03 Session](https://reader036.vdocuments.mx/reader036/viewer/2022062516/56649dac5503460f94a9bb6e/html5/thumbnails/9.jpg)
WSU Web developmentDesign considerations
![Page 10: WSU Web Development. Overview Browser CICSWEBCICSWEB Open Edition DCE interface Natural Server session User T01 Session User Tnn Session User T03 Session](https://reader036.vdocuments.mx/reader036/viewer/2022062516/56649dac5503460f94a9bb6e/html5/thumbnails/10.jpg)
WSU Web developmentDesign considerations
![Page 11: WSU Web Development. Overview Browser CICSWEBCICSWEB Open Edition DCE interface Natural Server session User T01 Session User Tnn Session User T03 Session](https://reader036.vdocuments.mx/reader036/viewer/2022062516/56649dac5503460f94a9bb6e/html5/thumbnails/11.jpg)
WSU Web developmentDesign considerations
State or Stateless services?
Keeping state:
Types of variables to remember state. Hidden? AIV? Other?
Keep browser and server in sync.? Back/forward, submit...
Keeping data… exceeding DATSIZE or CICS going SOS.
Timeout after how many minutes?
Garbage collection after abends.
![Page 12: WSU Web Development. Overview Browser CICSWEBCICSWEB Open Edition DCE interface Natural Server session User T01 Session User Tnn Session User T03 Session](https://reader036.vdocuments.mx/reader036/viewer/2022062516/56649dac5503460f94a9bb6e/html5/thumbnails/12.jpg)
PPTE5990
SREN5000
ICAC2212
ESIZESource
Pfkey def
Stack
Globals
USIZE
AIVs (+var)Compiled obj“run” obj.
FSIZEDDM
Adabas buffers
DATSIZELDA
GDA
Constants
Individual to each session.
15 minute “idle” lifespan
ID should contain Business funct and variable name.
Can be many large allocations.
![Page 13: WSU Web Development. Overview Browser CICSWEBCICSWEB Open Edition DCE interface Natural Server session User T01 Session User Tnn Session User T03 Session](https://reader036.vdocuments.mx/reader036/viewer/2022062516/56649dac5503460f94a9bb6e/html5/thumbnails/13.jpg)
WSU Web developmentDesign considerations
Browser Caching… Each does things its own way, and may be configured by the user to non-standard settings. What do you do?
Here is an example of the problem:
Menu
o Display
o Update
o Select
DISPLAY
Loan Amt.: $10
Date: 10/31/01
Name: Roger
UPDATE
Loan Amt.: $10
Date: 10/31/01
Name: Roger
Add upd dispAdd upd disp Add upd disp
Refresh cach:
1) At start of session
2) Always
3) Never
4) Automatic
Host’s state data can differ from browser cache depending on which type of “button” is clicked… back,forward, submit, or href=
![Page 14: WSU Web Development. Overview Browser CICSWEBCICSWEB Open Edition DCE interface Natural Server session User T01 Session User Tnn Session User T03 Session](https://reader036.vdocuments.mx/reader036/viewer/2022062516/56649dac5503460f94a9bb6e/html5/thumbnails/14.jpg)
WSU Web developmentDesign considerations
Browser caching
HTTP can affect browser caching in a limited way, with #pragma=nocach or caching directives. The problem is each browser works differently.
Some solutions:
1) In the server, check the browser type and version and issue a warning for old browsers, or tell the user to change the setting to “always refresh”.
2) Put a MAXLIFE=0 into the HTTP header, which tells the browser that the cach is old immediately and to get a new copy from the server always.
![Page 15: WSU Web Development. Overview Browser CICSWEBCICSWEB Open Edition DCE interface Natural Server session User T01 Session User Tnn Session User T03 Session](https://reader036.vdocuments.mx/reader036/viewer/2022062516/56649dac5503460f94a9bb6e/html5/thumbnails/15.jpg)
WSU Web developmentDesign considerations
Multi-Platform applications:
Navigation and communication; where to keep
Variables (how do you share application data?)
Images and templates (central, local, or both).
Maintaining URL’s (relative/full… test vs prod.)
Synchronization of lifecycle (move to prod.)
![Page 16: WSU Web Development. Overview Browser CICSWEBCICSWEB Open Edition DCE interface Natural Server session User T01 Session User Tnn Session User T03 Session](https://reader036.vdocuments.mx/reader036/viewer/2022062516/56649dac5503460f94a9bb6e/html5/thumbnails/16.jpg)
WSU Web developmentTesting
![Page 17: WSU Web Development. Overview Browser CICSWEBCICSWEB Open Edition DCE interface Natural Server session User T01 Session User Tnn Session User T03 Session](https://reader036.vdocuments.mx/reader036/viewer/2022062516/56649dac5503460f94a9bb6e/html5/thumbnails/17.jpg)
Security
Defining groups, users, ACLs on development/test platform cell.
Be sure all types of security are in place (SSL, DCE, RACF, etc.)
![Page 18: WSU Web Development. Overview Browser CICSWEBCICSWEB Open Edition DCE interface Natural Server session User T01 Session User Tnn Session User T03 Session](https://reader036.vdocuments.mx/reader036/viewer/2022062516/56649dac5503460f94a9bb6e/html5/thumbnails/18.jpg)
URL cautions
When moving templates (or programs with hard-coded html) into the next phase of the lifecycle. Be certain the URL is correct. This can be easily missed, until the module in production points to devl/test and someone decides to modify it for the next phase of the project.
Try not to reference images from other platforms. Transfer times, availability, and lifecycle sync may be questionable.
![Page 19: WSU Web Development. Overview Browser CICSWEBCICSWEB Open Edition DCE interface Natural Server session User T01 Session User Tnn Session User T03 Session](https://reader036.vdocuments.mx/reader036/viewer/2022062516/56649dac5503460f94a9bb6e/html5/thumbnails/19.jpg)
ADABAS access
Similar issue to the URLs mentioned previously. Be sure the programs are compiled with the proper view(s). If the view points to devl/test it may not show up as a problem for a day or two, since the production data is periodically copied to test/devl. Use UDB and views with dbid=0 of possible.
* This is no longer an issue at WSU, but may be for other shops.
![Page 20: WSU Web Development. Overview Browser CICSWEBCICSWEB Open Edition DCE interface Natural Server session User T01 Session User Tnn Session User T03 Session](https://reader036.vdocuments.mx/reader036/viewer/2022062516/56649dac5503460f94a9bb6e/html5/thumbnails/20.jpg)
Images
User + group Ids/permissions
Templates
Profiles
Programs (Natural + Non-Natural)
File modifications (new fields)
Command file definitions
Synchronizing lifecycle components
(esp. multi-platform).
![Page 21: WSU Web Development. Overview Browser CICSWEBCICSWEB Open Edition DCE interface Natural Server session User T01 Session User Tnn Session User T03 Session](https://reader036.vdocuments.mx/reader036/viewer/2022062516/56649dac5503460f94a9bb6e/html5/thumbnails/21.jpg)
WSU Web developmentDebugging
![Page 22: WSU Web Development. Overview Browser CICSWEBCICSWEB Open Edition DCE interface Natural Server session User T01 Session User Tnn Session User T03 Session](https://reader036.vdocuments.mx/reader036/viewer/2022062516/56649dac5503460f94a9bb6e/html5/thumbnails/22.jpg)
WSU Web developmentDebugging
CICS trace messagesCICS has a trace entry for each request. Here is an example:082401 06:24:17.54 0094 WWBC ALIAS TRAN START082401 07:52:30.13 0132 WTXN WEB ATTACH TRAN START082401 07:52:34.53 0132 WTXN ANALYZER ENTRY082401 07:52:34.53 0132 WTXN /ppte5990/wwba/hepps HTTP/1.1??Accept: application082401 07:52:34.53 0132 WTXN ANALYZER EXIT
This tells you if you successfully started your program or not.This trace can be seen in the job $ADCICSW under DDNAME mandtrac. Each entry has a date and time stamp to help you locate your request.
![Page 23: WSU Web Development. Overview Browser CICSWEBCICSWEB Open Edition DCE interface Natural Server session User T01 Session User Tnn Session User T03 Session](https://reader036.vdocuments.mx/reader036/viewer/2022062516/56649dac5503460f94a9bb6e/html5/thumbnails/23.jpg)
WSU Web developmentDebugging
Application trace messages
CICS has a report for each thread, where the output from WRITE and DISPLAY statements go. These are in job $ADCICSW under the DDNAME MNnn (where nn is the thread number). The web dispatcher also writes to this report. Here is an example:
Page 1 08/24/01 07:
entering PPTE5060MORE
08/24/01 07:53:17 WEBMAIN: MN00 Transaction NEW5060 Complete
![Page 24: WSU Web Development. Overview Browser CICSWEBCICSWEB Open Edition DCE interface Natural Server session User T01 Session User Tnn Session User T03 Session](https://reader036.vdocuments.mx/reader036/viewer/2022062516/56649dac5503460f94a9bb6e/html5/thumbnails/24.jpg)
WSU Web developmentDebugging
Dispatcher messagesThe CICS dispatcher finds and initiates the proper module, according to the URL specified. If an error occurs during location, initialization, or execution of the requested module that is outside if its jurisdiction, the dispatcher will catch the error and report it back to the web browser. The message should contain the program name, line number and error number where the error occurred.
![Page 25: WSU Web Development. Overview Browser CICSWEBCICSWEB Open Edition DCE interface Natural Server session User T01 Session User Tnn Session User T03 Session](https://reader036.vdocuments.mx/reader036/viewer/2022062516/56649dac5503460f94a9bb6e/html5/thumbnails/25.jpg)
WSU Web developmentDebugging
Environment variablesUse SYSBUS, SYSEDVAR to see the same things you normally would see if you used BUS or EDIT VARIABLES. These (WSU) utilities put the output of these utilities into the editor buffer. Once you have loaded data into the editor buffer you can use (WSU) utility URL SYSEDT1 to put the contents of the editor buffer to your webpage.
![Page 26: WSU Web Development. Overview Browser CICSWEBCICSWEB Open Edition DCE interface Natural Server session User T01 Session User Tnn Session User T03 Session](https://reader036.vdocuments.mx/reader036/viewer/2022062516/56649dac5503460f94a9bb6e/html5/thumbnails/26.jpg)
WSU Web developmentDebugging
Dumps and VariablesIf you still cannot determine what is happening in your code, we can trace the web transaction with the CICS CEDF facility, or we can switch the dump dataset and format a dump (if you created one).
These are our least favorite ways to debug your application, but are available if you have exhausted the preceding techniques.