INDEX
AAbstract Window Toolkit (AWT), 53, 155, 157,
602, 674, 713, 717Java Foundation Classes (JFC) and, 159,
159t, 160t, 165, 188Spartan Order System Application example
of, 696-697Swing and, 674
accelerator keys, Java Foundation Classes(JFC), 188-191, 190
accept function, sockets programming, 286, 303,311
Access, 398, 407activation.jar files, 478Active Server Page (ASP), 366, 377, 409, 446ActiveX, 409-411activity level monitoring, 545Add Environment Variable (ADDENVVAR),
84, 86-87, 150Add Link (ADDLNK) command, 151Add Performance Explorer Definition
(ADDPEXDFN), 534Add Service Table Entry (ADDSRVTBLE), 299
Add TCP/IP Port Restriction (ADDTCPPORT),299
addition, 34addressing, in sockets programming, 297,
302-303, 308Adobe Acrobat (See PDF files)AIX, 6ALL option, commitment control, 69Allaire, 517alphaWorks, 403, 519, 534, 548, 716-717AND, 35ANSI standards, PDF, 681Apache, 403applets, xxx, 8, 13-23, 27, 46, 49, 425, 435-436,
561, 673applications vs., 19-20, 19tattributes for, 16-18design model for, 22-23download time of, 103, 111-112, 111Enterprise JavaBeans (EJBs) and, 567HTML tag for, 14-17, 27main method in, 20
Note: boldface numbers indicate illustrations; italic t indicates a table 733
applets, continuedmethods for (init, start, stop, destroy), 14-16,
19, 20paint, repaint, and update methods for, 16proxy classes and, 46, 103-112running, 16-18security and, 26servlet communication, 107structure of, 14-16threading and, 197uses for, 21-22
Application Program Interfaces (APIs), 73, 417,434, 672sockets, 286, 286t, 288t
applications in Java, 13-23, 27, 39, 49applets vs., 19-20, 19tminimum requirements of, 59-59proxy classes and, 111uses for, vs. applets, 21-22Enterprise JavaBeans (EJBs) and, 567soft-coded values for (See soft-coded values
for Java applications)arithmetic operators, 34arrays, 35-36
error, 383-384, 384Java Foundation Classes (JFC), 169JavaScript, 371
AS/400 and Java (See -business case for Java)AS/400 Client Access Express for Windows,
407AS/400 Toolbox for Java (JT400), xxix, 11, 12,
23, 45-46, 48, 58, 73-75, 103, 259, 149calling RPG from Java using, 269-270CD-ROM companion disk, loading
instructions, 728-729classes in, 61conversion classes in, 273-274, 274tdebugging and use of, 59-60Modification 3 (Mod3), 89, 91PTFs for, 60Qshell and, 81-89servers for, 59Start Host Servers (STRHOSTSVR)
command and, 59ASCII, 296, 303, 334, 337, 633, 682
ASNA Visual RPG (AVR), 409, 411assignment operations, 35asterisk comment delimiters, 28-29, 41asynchronous communication, xxxiATTRIBUTE property, GUI Builder, 222-223attributes, class, 207attributes, HTML, 344AutoCommit, 146awk shell program, 424
BBarnes, Jim, 229, 285, 327base classes, 701Bean-managed persistence EJBs, 562, 573-574,
578, 592Beans, JavaBeans (See also Enterprise
JavaBeans), 449-452, 457interaction of, with servlets, JSP, WebSphere,
456-458, 458servlet calls from, 453servlets and, 460-462setter methods for, 452
Berners–Lee, Tim, 343BigDecimal, 273-274, 545-546, 547-553, 656,
705bind function, sockets, 286binding, Java Native Interface (JNI), 331binding directories, sockets programming, 304bitwise operations, 34-35blocks of records, JDBC, 153Bluestone Software, 517boolean literals, 38boolean operators, 35bootstrapping, Java Foundation Classes (JFC),
166Borland (See JBuilder)Bourne shell, 418, 423braces as statement block delimiters, 32-33browser support, 27, 64-65
cookies, 388Java Foundation Classes (JFC), 188JavaScript, 369-370, 372, 376, 384-385JavaServer Pages (JSP), 446-448servlets, 437-438XML, 402, 403, 404
734
INDEX ❖ A - B
XSL, 411business case for Java, 47-48, 57-58, 72, 229,
257-267, 455-456Business Planning and Control System (BPCS),
78, 79, 242buttons (JButton), in GUI, 171, 176-177, 194,
263-266byte code, 26, 27, 50, 53bytes messages, 633
CC, 43, 228, 491, 602, 627C++, xxviii, xxx, 6, 26, 41, 43, 220, 228, 532,
602caching, 436, 544CallableStatement, 123, 128, 278-284calling objects using objects, 712-713calling RPG from Java (See also Remote
Method invocation), 114, 229, 236, 269-276,533, 535AS/400 toolbox for Java in, 269-270CallableStatement for, 278-284connection information for, 271conversion classes for, 273-274, 274tconverting parameter values in, 275data translation in, 334, 337example program for, 270-274exceptions and errors in, 284Java Native Interface (JNI), 230, 327-339
binding in, 331code for, 332-334Create Service Program (CRTSRVPGM)
values in, 338data translation in, 334, 337documentation bug in, 337-338shell for wrapping RPG IV, 330-332threading in, 333, 338wrapper creation for, 334-337
JDBC for, 277-284CallableStatement for, 278-284classes used in, 281-282JDBCCallableStatement in, 283-284language used in, 280parameter identification in, 281-282
retrieving (get) parameter values in,282-283
stored procedure (Java.sql) for, 277,278-281
parameter identification in, 281-282parameter passing in, 269path information for, 271Program Call Generator in, 270ProgramCall object for, 270, 273-277, 284ProgramParameter object for, 270, 273, 274Remote Method Invocation (RMI) and,
610-613retrieving parameter values in, 275, 282separating business rules from interface, 250SmartGuide (wizard) for, in VAJ, 275-276,
275, 276steps in, 270stored procedures for, 278-281TRY block in, 271URL and passwords for, 271VAJ for, 269, 271wrapper creation for, 334-337
Canvas class, GUI development, 218-219Cascading Style Sheets (CSS), 415, 527case sensitivity
JDBC, 150Qshell, 85
CATCH, 54, 122, 211, 618, 675cc command, Qshell, 420CD-ROM companion disk, loading instructions,
727-731CERN, 343CGI coding, 232, 234-235, 343, 366, 377, 393,
431, 434, 435, 437, 491, 560dynamic content in, 436persistent, 465stateless applications and, 464-465
CHAIN, 46, 75, 76Change Network Attributes (CHGNETA), 60CHANGE option, commitment control, 69Change User Profile (CHGUSRPRF), 85Channel Definition Format (CDF) in, 407character literals, 38check boxes, 348, 353CL, 627
Note: boldface numbers indicate illustrations; italic t indicates a table 735
B - C ❖ INDEX
classes, 39, 50, 556, 602, 655-656abstract window toolkit (AWT), 53attributes of, 207base, 701constructors and, 161, 166, 700creation of, 62extending, 50, 76final and static, 528frameworks and, 77helper, 715inheritance in, 76inner, 163Java Foundation (See Java Foundation
Classes), 155-156JDBC, 118naming, 658-659packages of (See packages for Java)private, 699proxy classes (See proxy classes)serialization and, 611servlet, 96-102sockets programming, 313source files and, 53static, 528, 702-703, 706Window Foundation Classes (WFC), 157wrappers for, 91-92, 92tinheritance, 50naming, 50
CLASSPATH, 58-59, 84-89, 129, 616Add Link (ADDLNK) command for, 151CD-ROM companion disk programs and, 730for Display File Field Description (DSPFFD)
utility, 667-668for GUI Builder, 220-221for JDBC, 150, 151packages for Java classes and, 661performance and, 528proxy classes and, 110for Remote Method Invocation (RMI), 608,
610for SysStats Tracking Utility, 709, 711-712for WebSphere Application Server, 515-516,
516Clear Physical File (CLRPFM), 147
click events (See also event handling), JavaFoundation Classes (JFC), 171
client/server, 8, 10, 22-23, 229, 257-258, 267,329, 463, 601separating business rules from interface,
242-244client-side programming, 9, 21, 229, 263-266
JavaScript data input validation in, 376-382close function, socket programming, 298, 304clustering, 436COBOL, xviii, xxviii, xxix, xxx, 26, 45, 61,
114, 142, 148, 228, 257, 365, 531, 532, 555,615, 627, 631, 665
coded character set ID (CCSID), 527-528, 670com.ibm.AS/400.util.html (See servlets)com.ibm.AS/400.util.servlet (See servlets)command line execution of Java app, 58comments, 28-29, 41commit method, 68, 69, 143, 146, 147commitment /transaction control, 45, 61-70,
113-114, 141-148, 443, 694, 695, 698-699,705ALL option for, 69AutoCommit in, 146CHANGE option for, 69commit method in, 68, 69, 143, 146, 147CURSOR STABILITY option for, 69DEFAULT option for, 70dirty reads in, 142, 564Enterprise JavaBeans (EJBs) and, 556,
564-566, 593-594example application in JDBC
(JDBCTransactions), 143-146example application of, GenOrderTables,
62-68files affected by, 69isolation levels for, 143-146, 145t, 213,
564-565, 565t, 566JDBC, 141-148journaling for, 68-69, 145-146, 694keyed file class for, 61-62locking records and, 62, 69-70, 146-147, 564,
565NONE option for, 70nonrepeatable reads in, 142, 564
736
INDEX ❖ C
phantom reads in, 142, 564READ operations and, 62record-level access and, 148rollback method in, 65-68, 69, 147, 699sequential file class for, 61-62sharing, 70transaction attributes and, EJB, 564-567, 565ttransaction boundaries in, 142, 556, 565, 566,
695transaction context in, 566transactional integrity in, 147
communicationsoverhead of, 111-112, 111remote, 107
compare operators, 35compiling, 11, 26-27, 58, 615
CD-ROM companion disk programs,729-730
encapsulation and, 74JDBC program, 129just-in-time (JIT), 26-27, 544packages for Java classes, 659-660Remote Method Interface Compiler (RMIC)
for, 608Remote Method Invocation (RMI), 603,
607-608concatenation, 36concurrency, 318conditional statements, 29-32connect function, sockets programming, 286,
303Connection class, JDBC, 118-121, 126-134,
150, 151, 152, 195-197, 278connection management, 54, 64-65, 74, 703-704
Connection Manager for, 526dynamic menu example for, 181-186, 182Enterprise JavaBeans (EJBs) and, 561JDBC (See Connection class, JDBC)pooling, 443, 526SysStats Tracking Utility for, 709-710
Connection Manager use, 526connection pools, 526constants, 37constructor methods, 53, 54, 161, 166, 700
containers, EJB, 560-562, 573-574, 578,592-593, 592
container-managed persistence EJBs, 562,573-574, 578, 592
containers, EJB, 595, EJB, 597-598contention, servlet, 500-501conversion classes, calling RPG from Java,
273-274, 274tcookies, 341, 342, 387-395, 391, 426, 432, 443,
469browser support for, 388cookie function in, 388creating, 388-391, 391expiration date setting for, 391, 395HttpServletRequest in, 395HttpServletResponse in, 395JavaScript and, 393maintaining application state using, 392-395programming for, 392retrieveCookie function in, 388, 391-392security and, 388servlets and, 393, 394-395setCookie function in, 388, 391shopping cart applications and, 393stateless applications and, 464-465text for, 391
Copy Spool File (CPYSPLF), 681Copy Spool File to Portable Document File
(CPYSPLFPDF) (See also Spool File to PDFConversion), 678
Copy to Stream File (CPYTOSTMF), 682CORBA, 107, 559, 567, 585, 613CPU utilization, SysStats Tracking Utility, 707CREATE INDEX, SQL, 62, 116Create Java Program (CRTJVAPGM), 83, 508,
528performance and, 535, 545
Create Journal (CRTJRN), 69, 146Create Journal Receiver (CRTJRNRCV), 69, 146CREATE PROCEDURE, SQL, 278, 280Create Service Program (CRTSRVPGM), 338CREATE TABLE, SQL, 62, 116, 694CREATE, SQL, 720creation, retrieval, update, delete (CRUD) cycle,
EJB, 570-573, 584, 592
Note: boldface numbers indicate illustrations; italic t indicates a table 737
C ❖ INDEX
cross-platform features of Java, 3-4, 26, 655soft-coded values for Java applications,
617-626, 617CURSOR STABILITY option, commitment
control, 69
DDASD utilization, 528, 707Data Access Builder (DAX), 207, 702data areas, 704-705DATA CLASS property, GUI Builder, 222-223data pools, 526-527Data Queue Messaging (DQM) APIs, separating
business rules from interface, 254-255data queues, 48, 329, 615, 616
legacy code transfer using, 235-236data source names, JDBC, 118-119, 128data types, 33, 56, 273-274, 339, 556database
encapsulation in, 600-702Java Naming and Directory Interface (JNDI)
and, 595performance and, 522, 524, 527-528using XML, 398-399
database management systems (DBMS), 127,197
DB2 for OS/400, 113, 125, 141DDL files, Operations Navigator Java plug-ins,
652DDS, 50, 262-263deadlocks, 498, 501, 498, 713debugging, xxxi, 615, 627-630
Integrated Source Level Debugger (ISDB)for, 627-630, 628
Tomcat for, 509-510declaration statements, 29declaring variables, 33-34decrement, 34-35DEFAULT option, commitment control, 70Delete File (DLTF), 147DELETE, SQL, 46, 117, 118, 122, 138, 720Delphi, xxxdemarshaling, 602
Denoncourt, Don, 61, 81, 91, 115, 135, 141,149, 201, 277, 365, 397, 427, 435, 445, 463,503, 559, 569, 579, 627, 677, 693
deploying Java apps, 4-5deployment descriptor, EJB, 562-563, 574,
594-595, 597deployment descriptor generator (EJX), 598deprecation errors, CD-ROM companion disk,
730-731destroy method, 14-16, 19, 20, 492, 494directories for Java, 81-82
home directories, 85-86Java Naming and Directory Interface (JNDI)
for, 635-636, 640, 595Operations Navigator, 644-645, 645profile and .profile files, Qshell, 86, 87-89, 88
dirty reads, 142, 564Display File field Description (DSPFFD) utility,
xxxi, 663, 665-675display file programming
Java Blockmode User Interface (JBUI)package and, 76-77
XSL and, 410-411Display Library Utility, socket programming
example, 290-304Display Network Attributes (DSPNETA), 60dispose method, 673distributed applications, Enterprise JavaBeans
(EJBs) and, 558Distributed Common Object Model (DCOM),
559, 567, 613Distributed Computing Environment (DCE), 613Distributed Data Management (DDM) server, 60division, 34DO, 30Document Root, WebSphere, 514document type definitions (DTDs), XML,
405-406documentation, 41-43documents, HTML, 345doGet method, 95, 98-99, 310, 394-395, 438,
439, 442, 460, 468, 470-474, 585, 722dollar sign ($), environment variable indicator, 85doPost method, 394-395, 438, 439, 442, 443,
468, 471
738
INDEX ❖ C - D
download times, applets, 103DQMCEXIT, 255DQMCINIT, 255DQMCRCV, 255DQMCSND, 255DQMSSND, 255DriverManager class, JDBC, 118, 120-121,
126-129, 153, 195, 618, 623drivers, JDBC, 114, 116, 118, 127, 149-151,
195, 277, 592-593, 618, 619DROP, SQL, 720drop-down lists, 378-380, 380DROP PROCEDURE, SQL, 280DROP TABLE, SQL, 117dynamic content, 436, 440, 459
JavaServer Pages (JSP) and, 448, 450-452,450
dynamic menus, 156, 181-186, 182
EEBCDIC, 277, 296, 334, 337, 527, 556, 633,
682echo command, Qshell, 85ECMAScript (See also JavaScript), 375Edit File (EDTF), 88-89, 625, 625editors
Edit File command, 88-89, 625, 625Notepad/400 for, 624-625XSL, 412
EDTF text editor, 625ejb life-cycle methods for, 587-588Electronic Data Interchange (EDI), 406-407, 415elements, XSL, 411, 414email (See JavaMail)encapsulation, 46, 54, 71-80, 434, 699-702, 658,
694, 702, 713file formats and, using JDB/400, 76frameworks in, 77interfaces and, 78JAO/400 package for, 77Java Blockmode User Interface (JBUI)
package and, 76-77JavaServer Pages (JSP), 449JDB/400 package for, 75-76record-level access and, 76
sample of, 74servlets use of, 95, 102subfile programming, 203, 207-208
End Performance Explorer (ENDPEX), 535Enterprise JavaBeans (EJBs), xxx, xxxi, 256,
517, 555-568, 702architectural standards for, 557, 560-562, 560Bean-managed persistence, 562, 573-574,
578, 592CGI vs., 560client access to, 567, 580, 574-577, 583-584,
593-594code for, Account management example,
581-588commitment /transaction control in, 556,
564-566, 565t, 593-594connection management and, 561container-managed persistence, 562, 573-574,
578, 592container-managed persistence, 573-574, 573containers for, 560-562, 573-574, 578,
592-593, 595, 597-598CORBA vs., 559, 567, 585cost of, 558, 567-568, 567creation, retrieval, update, delete (CRUD)
cycle for, 570-573, 584, 592DCOM vs., 559, 567deployment descriptor for, 562-563, 574,
594-598distributed applications and, 558e-business design using, 559-568, 559ejb life-cycle methods for, 587-588enterprise Bean component of, 560-562entity, 562, 567, 570, 572, 578, 592, 593finder methods in, 595firewalls and, 567hidden methods of, 588home interface for, 560-562, 570, 576, 578,
580-584, 580, 592HTML and, 557, 567, 583HTTP and, 567, 598isolation levels in, 566Java Archive (JAR) file deployment of, 598Java Naming and Directory Interface (JNDI)
and, 595
Note: boldface numbers indicate illustrations; italic t indicates a table 739
D - E ❖ INDEX
Enterprise JavaBeans, continued“JavaBean” defined for, 559jBoss server for, 558, 591, 597-599JDBC and, 558, 592-593JOnAS server for, 558, 591, 595, 597-599JSP and, 557, 583JVM and, 599legacy code and, 555life-cycle methods for, 570-573, 584,
587-588, 592locking records and, 563-565method commitment in, 566-567open source, 591-599persistence and, 555-556, 562, 570, 573-574,
578, 592, 594primary key class for, 570, 572, 576-577,
580-583, 580, 592prototypes for, 557remote interface for, 560-562, 570, 573,
574-577, 580-583, 580, 591-592Remote Method Invocation (RMI) and, 558,
559, 577, 598-599, 601-613roles of, 557security and, 593-594, 598separating business rules and interface using,
557server-side programming and, 555, 569-578servers for, 567-568, 558, 591-599session, 562, 567, 570, 592, 593skeleton classes for, 598-599SQL and, 592stateful, 562, 567, 592stateless, 562, 592stub classes for, 598-599threading, Java threads and, 561Tomcat and, 598transaction attributes for, 564-567, 565ttransaction boundary in, 565, 566transaction context in, 566types of, 562-563Web server and, 560WebSphere and, 518, 557, 579-589, 591, 599work management and, 556wrapper function of, 570-573, 581
entity Beans, 562, 567, 570, 572, 578, 592, 593
entry fields, 260enumerations, 716environment of Java, 532-533environment variables, 85error arrays, 383-384, 384Etymon, 678European Computer Manufacturers Association
(ECMA), 372, 376event handling, 56-57, 57
Java Foundation Classes (JFC) and GUIs,165, 171-172, 177, 185-186, 191, 263-266,696-698
JavaScript, 369-370, 377events, 56, 57exception and error handling, 213
calling RPG from Java, 271, 284GUIs, 260JavaScript, 370-371, 383-384, 384JDBC, 122packages for Java classes, 659separating business rules from interface,
246-247, 246-249, 251-252, 253, 254sockets programming, 304subfile processing, 206, 211-212, 212,
246-247, 246-249TRY/CATCH, 54, 122, 211, 271, 618, 675
executable applications in Java, size of, 26executable Java apps, 39, 81EXFMT, 363export command, Qshell, 83, 84-85, 87extending a class, 50, 76Extensible Markup Language (XML), xxx,
397-407, 632, 637-638, 646browser support for, 402, 403, 404Cascading Style Sheets (CSS) in, 415Channel Definition Format (CDF) in, 407content, structure, and presentation in,
399-405databases using, 398-399development of, 406document type definitions (DTDs) for,
405-406electronic data interchange (EDI) and,
406-407
740
INDEX ❖ E
Extensible Stylesheet Language (XSL) and,403, 410, 411, 412
generating HTML using, 404-405, 404GUI Builder and, 220Java APIs for XML Parsing (JAXP), 637Java Message Service (JMS) and, 637-638Online Transaction Processing (OTP) and,
407Open Financial Exchange (OFX) in, 407POXML sample program for, 401-402rules for, 405-406tags, 399-400uses for, 406-407
Extensible Stylesheet Language (XSL), xxx,xxxi, 341, 342, 403, 409-415ActiveX and, 409-411attributes of elements in, 414browser support for, 411Cascading Style Sheets (CSS) in, 415display file programming and, 410-411editors for, 412Electronic Data Interchange (EDI) and, 415elements in, 411, 414HTML and, 410, 411, 412-415, 414nodes in, 411, 414root node in, 414separating business rules from interface
using, 410-411syntax of, 412-415translations in, 411treelike structure of, 411-412XML and, 410, 411, 412
Ffalse, 38fat client, 436FETCH, 128, 1535250 and HMTL, 355-363file names, 54-55files, directories for, 81-82final classes, 528finalize, 673finder methods, EJB, 595firewalls
Enterprise JavaBeans (EJBs) and, 567
proxy classes and, 104, 106flow layout manager, 715FOR, 30-31, 139, 452forking, 317form ( ) HTML elements, 346-354, 361, 362,
431, 432, 438, 442, 452, 453, 459, 460, 470,585
formatting HTML tags, 345forms, HTML, 97, 342, 346-354, 347, 361, 362
arrays and JavaScript validation in, 371check boxes in, 348, 353client side validation using, 376-382date validation in, 371, 378, 383drop-down lists in, 378-380, 380dynamic content in, 431-432GET method and, 350hidden fields in, 471JavaMail, 479-481, 479, 481JavaScript for, 365-373, 375-385list boxes in, 351-352onKeyPress event in, 377POST method and, 350radio buttons in, 348, 354regular expressions and, 382-383selection lists in, 347-348servlet for, 97-102, 100,SnoopServlet example for, 433-434, 434Submit button in, 348, 369-370, 377text input fields in, 348, 353-354, 378-380validating and verifying data input, using
JavaScript, 366-368, 366, 376-382Forte, 598frames, in GUI, 160-163, 160frameworks, 77FTP, 316fully qualified names, 152function keys, 260
Ggarbage collection, 11, 524, 532, 533, 535, 541,
673Garrison, Alex, 181, 426, 455, 519, 521, 664,
665, 707Generalized Markup Language (GML), 406
Note: boldface numbers indicate illustrations; italic t indicates a table 741
E - G ❖ INDEX
GenIC, 598GenOrderTables sample application, 62-68GET method, 350, 428-429, 433, 438, 470getter methods, 207, 699
in calling RPG from Java, 282-283JDBC, 120, 129, 138-139, 198, 282-283TRY/CATCH, 211
Goldfarb, Charles, 406Goodwin, Walter, 46, 342, 417, 611Grant Object Authority (GRTOBJAUT), 60graphical user interface (See Java Foundation
Classes [JFC] and GUI development)green-screen UI, 259-260, 267, 616
CGI coding for, 232, 234-235HTML emulation for, 356-357, 357, 363JFC emulation for,260-262, 261subfile programming and, 358-359, 358, 359Workstation Gateway Server (WGS) for, 232,
234-235grid bag layout manager, 194, 208, 211, 219, 715GUI (See Java Foundation Classes [JFC] and
GUI development)GUI Builder, 215-226
appearance of, 221ATTRIBUTE property in, 222-223CLASSPATH setting for, 220-221configuring and running, 220-221converting Windows Resource files to XML
for, 220DATA CLASS property in, 222-223displaying GUI in, 224-225downloading latest version of, 220help files, 223HTML in, 223JDK for, 221New Panel in, 221, 222Operations Navigator Java plug-ins and, 646Panel Definition Markup Language (PDML),
220, 223-225, 646, 647-649skeleton code creation for, 222-223starting, 221traditional design vs., 216-219, 216tutorial on, 225XML and, 220
GUI Programming application, 663
Hheader files, 41, 230Header specification, in RPG, 39headers, HTTP, 430, 430-431theap size, 524, 532Hello World sample application, 39-40help, 260
GUI Builder, 223helper classes, 715hidden fields, 471hidden files, 89hidden methods, EJB, 588high-level languages (HLL), xxvii, 126Holt, Ted, 125home directories, 85-86, 85home interface, EJB, 560-562, 570, 576, 578,
580-584, 580, 592HTML (See Hypertext Markup Language)HTTP (SeeHypertext Transfer Protocol)HttpServletRequest, 310, 395, 432, 433, 442,
448-449, 468, 476, 493HttpServletResponse for, 310, 395, 432, 433,
442, 449, 493Hypertext Markup Language (HTML) (See also
forms, HTML; Spool File to PDF ConversionUtility), xxx, xxxi, 46, 91, 200, 319, 326,341, 342-363, 399, 406, 409, 425, 426,445-446, 491, 616, 637-638applets and, 14-17, 27attributes in, 344check boxes in, 348, 353class wrappers for, 91-92, 92tclasses in, 46cookies and (See cookies)documentation and Javadoc, 41documents in, 345dynamic content and, 431-432, 436, 440, 448,
450-452, 450, 459Enterprise JavaBeans (EJBs) and, 557, 567,
5835250 emulation using, 356-357, 357, 363form ( ) elements in, 346-354, 361, 362, 431,
432, 438, 442, 452, 453, 459, 460, 470, 585form in, using servlet, 97-102, 100formatting tags in, 345
742
INDEX ❖ G - H
GET method and, 350GUI Builder and, 223HTTP and, 356JAR files and, 200Java Message Service (JMS) and, 637-638JavaScript and (See JavaScript)JavaServer Pages (JSP) and (See JavaServer
Pages)list boxes in, 351-352LotusXSL utility to generate, 404-405, 404Panel Definition Markup Language (PDML)
and, 220, 223-225, 646-649performance and, 522, 523, 527POST method and, 350radio buttons in, 348, 354
tag for JavaScript, 369-370, 372, 378selection lists in, 347-348servlets and, 91-102, 432, 436, 443-444, 460,
493SnoopServlet example for, 433-434, 434stateless applications and, 387, 464-465structural tags in, 345subfile programming and, 358-362, 358, 359Submit button in, 348tables in, 346, 361, 362, 720, 720tables in, using servlets, 92-96, 93, 97-102,
100tags in, 92, 93, 98, 344, 345-346, 361, 399text input fields in, 348, 353-354URLs in, 436-437, 437utility packages for, 91-92WebSQL Application, 664, 719-725XSL and, 410, 411, 412-415, 414
Hypertext Transfer Protocol (HTTP) (See alsoWeb servers), 23, 324, 326, 341, 342, 426, 457CGI and, 437cookies in (See cookies)dynamic content in, 431-432Enterprise JavaBeans (EJBs) and, 567, 598GET method and, 350, 428-429, 433, 438, 470headers, 430, 430-431tHTML and, 343, 356HttpServletRequest object in, 310, 395, 432,
433, 442, 448-449, 468, 476, 493
HttpServletResponse object in, 310, 395, 432,433, 442, 449, 493
JavaServer Pages (JSP) and, serverrequirements for, 454
methods in, 433port assignment in, 106, 428, 429POST method and, 350, 428-429, 433, 438,
470proxy server for, 422request in, 428-429response in, 429-431servlets and, 324, 326, 492SnoopServlet example for, 433-434, 434stateless applications and, 393-395, 463-465status codes for, 429, 430ttunneling, 326URLs in, 428-429, 436-437, 437,WebSphere Application Server and, 513-514
IIF, 29ILE C compiler, 417import method, servlet, 308, 494increment, 34-35indexes, SQL, 116inheritance, 50, 76ini files, 667, 673
soft-coded values for Java applications,618-620
IniFile JavaBean,716-717, 716init method, 14-16, 19, 20, 492, 494initialization of objects, 53inlining methods, 546-547, 549inner classes, 163input inhibitor indicator, Qshell, 87INSERT, SQL, 117, 122, 138, 143, 720instance variables, 495-497, 528integer literals, 38integrated development environment (IDE), 25,
81-82, 215-216, 269-270, 417, 509, 615, 627,709
Integrated Source Level Debugger (ISDB),627-630, 628
interactive processing, SysStats TrackingUtility, 707
Note: boldface numbers indicate illustrations; italic t indicates a table 743
H - I ❖ INDEX
interfaces, encapsulation and, 78International Organization for Standardization
(IOS), 406Internet, 228Internet Explorer (See browser support)Internet Mail Access Protocol (IMAP), 478-479interpreted JDBC processing, SQL and, 122-123IP addresses, 119, 285-287, 302-303isolation levels, 143-146, 145t, 213, 564-566,
565t
JJAO/400 package, encapsulation, 77Java APIs for XML Parsing (JAXP), 637Java Archive (JAR) files, 20-21, 129, 198, 200,
546download time of, 103-104, 111-112, 111Enterprise JavaBeans (EJBs), deployment of,
598packages for Java classes, 660-661, 660proxy classes and, 103-112
Java Blockmode User Interface (JBUI) package,76-77
JAVA command, 221, 312Java Compatible, 5Java Compiler (JAVAC) command, 58Java Database Connectivity (JDBC), 61,
113-153, 229, 497, 632AutoCommit in, 146blocks of records, record buffer/record
blocking in, 153browsing through database in, 193-200CallableStatement in, 123, 128, 278-284calling RPG from Java using (See calling
RPG from Java)case sensitivity in, 150classes in, 118CLASSPATH setting for, 150, 151commit method in, 143, 146, 147commitment control in, 141-148compiling example program in, 129-130components of, 126Connection class for, 118, 119, 120-121,
126-134, 150, 151, 152, 195-197, 278Connection Manager for, 526
connection pools and, 526data modifications using UPDATE, INSERT,
DELETE, 122, 138, 143data source names for, 118-119, 128dirty reads in, 142DriverManager class for, 118, 120-121,
126-129, 153, 195, 618, 623drivers for, 116, 118, 127, 149-151, 195, 277,
592-593, 618, 619Enterprise JavaBeans (EJBs) and, 558,
592-593error handling, 122getter methods in, 120, 129, 138-139, 198,
282-283interpreted processing and, with SQL, 122-123isolation levels for, 143-146, 145tJAR files and, 198, 200JDBCCallableStatement in, 283-284journaling in, 145-146labels (JLabel) in, 198library lists for, 151-152locking records and, 142, 146-147metadata and, 130-134native drivers for, 116, 149, 150, 151, 623-624next method in, 128-129nonrepeatable reads in, 142ODBC drivers for, 150100% Pure Java driver for, 116, 118-119,
149, 150, 623-624open database connectivity (ODBC) and,
115-116performance of, 135-140phantom reads in, 142platform support for, 125, 149portability of, 134prefetch setting, 153PreparedStatement in, 123, 128, 135-140properties files and, 619, 626properties of, standard, 620-623, 622pseudocompiles in, 135-136, 139query execution in, 119, 128, 136, 138record-level access and, 134, 148ResultSet class for, 118, 119, 120-121,
126-129, 130-134, 138-139, 197-198rollback method in, 147
744
INDEX ❖ I - J
RPG calls and, 236running a program for, 129-130server support for, 134servlets and, 96set processing in, 120-121setter methods in, 139soft-coded driver values for, 118, 150, 617-625SQL and, 115-118, 125-126, 135-136,
141-142, 197Statement class for, 118, 119, 120-123,
126-129, 135, 139-140, 197-198stored procedures and, 128synchronization and, 500tables (JTable) in, 198-200transaction boundaries in, 142transactional integrity in, 147user name and password for, 119, 128
Java Development Kit (JDK), 10, 11, 16, 25, 43,49, 58, 59, 81, 116, 129, 150, 198, 658, 668CD-ROM companion disk, loading
instructions, 727-728documentation bug in, 337-338GUI Builder and, 221JavaMail and, 478performance, 544Qshell and, 417-420, 424SysStats Tracking Utility and, 708, 711
Java Event File (QAYPEJVA), 536, 537tJava Foundation Classes (JFC) and GUI
development (See also separating businessrules from interface), xxx, xxxi, 21, 155-156,157-164, 165-180, 258, 425, 695, 714Abstract Window Toolkit (AWT) and, 155,
157, 159, 159t, 160t, 165, 188, 696-697accelerator keys in, 188-191, 190adding components to topmost panel in,
162-164, 219arrays in, 169bootstrapping in, 166browser support and, 188buttons (JButton) in, 171, 176-177, 194,
263-266Canvas class in, 218-219CD-ROM companion disk, loading
instructions, 728
click events in, 171closing a window in, 162-163, 166components of, 159, 159t, 160tcross platform support for, 158DDS and, 262-263Display File Field Description (DSPFFD)
utility, 668display file program and XSL, 410-411dynamic menus in, 156, 181-186, 182entry fields in, 260error handling in, 260event handling (Java.awt.event) in, 165,
171-172, 177, 185-186, 263-266, 696-697,698
example application using, 160-162, 160frame creation in, 160-163, 160, 165-166function keys in, 260green-screen interface and, 259-262, 261grid bag layout manager for, 194, 208, 211,
219GUI Builder for (See GUI Builder)GUI Programming application, 663inner classes in, 163integrated development environment (IDE)
for, 215-216Java Blockmode User Interface (JBUI)
package and, 76-77labels (JLabels) in, 170-171, 193, 198layout managers for, 170, 194, 219, 696, 698,
715-716list boxes in, 698list processing in, 171-172listeners for, 185, 219, 263-266lists in, 164, 167-170, 169menu items added to menu in, 176-177menus in, 163-164, 163, 174-176, 175,
188-191mnemonic pointers to menus in, for power
users, 177-180, 178multirow layout fill manager, 716multithreading and, 713, 717nested panes in, 715-716output fields in, 260Panel Definition Markup Language (PDML)
in, 156, 220, 223-225, 646, 647-649
Note: boldface numbers indicate illustrations; italic t indicates a table 745
J ❖ INDEX
Java Foundation Classes, continuedrow layout manager, 716scrollable panes in, 170single vs. multipane inquiry and entry in, 259SlidingGraph JavaBean, 714Spartan Order System Application example
of, 663, 693-706status bar in, 156, 186-187subfiles (See subfile programming)Swing (Javax.swing) component of, 158, 165tabbed dialogs in, 155, 157, 158, 164,
172-174, 172tables (JTable) in, 155-158, 193, 194,
198-200, 201-213, 201templates for, 165-180text buffers in, 714-715text fields in, 171tool tips in, 177-180, 178topmost panel in, 162, 166, 208trees in, 155, 157, 158, 164User Interface Manager (UIM) for, 158, 194vectors in, 169-170, 172Window Foundation Classes (WFC) and, 157
Java Message Queue, 639Java Message Service (JMS), xxxi, 631-641
bytes messages in, 633clients in, 633delivery of messages in, 638-639generating messages in, 635-638HTML, 637-638, 637Java APIs for XML Parsing (JAXP) in, 637Java Naming and Directory Interface (JNDI)
for, 635-636, 640legacy interoperability and, 632listener for, 638-639map messages in, 634message components in, 633-634message oriented middleware (MOM) and,
632-633object messages in, 634persistence in, 638point-to-point messaging in, 633publish/subscribe messaging in, 633queues for, 636
sending and receiving messages in, servletexample for, 634-639, 635
sources for, closed vs. open, 639-640stream messages in, 634text messages in, 634topics for, 633XML and, 637-638
Java Naming and Directory Interface (JNDI)and, 595, 635-636, 640
Java Native Interface (JNI), xxx, 21, 230,327-329, 615AS/400 toolbox for Java vs., 328-329binding in, 331calling RPG using (See calling RPG from
Java)code for, 332-334data translation in, 334, 337data types and, 339documentation bug in, 337-338functionality of, 339legacy code reengineering in, 329QJVAJNI service program for, in QSYS,
328, 336, 338Remote Method Invocation (RMI) and, 613shell for wrapping RPG iv, 330-332Technology Independent Machine Interface
(TIMI) and, 328threading in, 333, 338
Java Performance Data Converter (JPDC), 534Java Runtime Environment (JRE), 275, 711Java Security Manager, 492Java Transformer, 10, 11Java Virtual Machine (JVM), xxviii, 10, 11,
13-14, 21, 23, 26, 27, 48, 49, 50, 106, 141,150, 157, 318, 327, 491, 533, 534, 597-598,616, 708CD-ROM companion disk programs and, 730Enterprise JavaBeans (EJBs) and, 599performance and, 522, 543Tomcat and, 506
java.lang, 656java.math, 656JavaBeans, 7, 449-452, 559JavaBeans Activation Framework (JAF), 478Javadoc, 41
746
INDEX ❖ J
JavaMail, 426, 477-489activation.jar files for, 478error/used as error page for JSP, 479,
486-488, 488, 489folder for “inbox” and incoming mail, 483HTML form for servlet in, 479-481, 479, 481Internet Mail Access Protocol (IMAP) for,
478-479JavaBeans Activation Framework (JAF), 478JDK and, 478mail.jar files for, 478Multipurpose Internet Mail Extension
(MIME) and, 484, 485POP3 and, 478-479, 481-483,pop3.jar files for, 478receiving messages using getMessage in,
483-484, 485sending mail in, 485-488servlet to read and send mail using, 479-481,
479, 481sessions in, 481-483Simple Mail Transfer Protocol (SMTP)
servers for, 479, 481-483uses for, 489
JAVAP command, 131JavaScript, xxx, xxxi, 341, 342, 348, 354, 363,
365-373, 375-385, 436, 446arrays in, 371browser support for, 369-370, 372, 376,
384-385client side validation using, 376-382cookies and, 393date validation in, 371, 378, 383debugging, 371development of, 376-376drop-down lists validation in, 380-381, 380error handling in, 370-371, 383-384, 384extensions to, 372Java vs., 365Jscript vs., 376modular programming and, 371-372onKeyPress event, 377onSubmit event, 369-370, 377regular expressions and, 382-383
tag for, 369-370, 372, 378
validate function in, 370-371validating and verifying data using, 366-368,
366, 376-382JavaServer Pages (JSP), 91, 343, 359-362, 426,
444, 445-454, 455, 456, 503, 730browser support, 446-448compiling, 446-448documentation for, 453-454dynamic content and, 448, 450-452, 450encapsulation in, 449Enterprise JavaBeans (EJBs) and, 557, 583error page for, using JavaMail, 479, 486-488,
488, 489HTTP Server for AS/400 required for, 454HttpServletRequest object and, 448-449HttpServletResponse object and, 449interaction of, with servlets, Beans,
WebSphere, 456-458, 458JavaBeans and, 449-452parameter passed to, 461performance and, 522scriptlets in, 448-449servlets and, direct calls to, 453setter methods in, for Beans, 452subfile programming and, 359-362syntax of, 446-448Tomcat and, 509-510WebSphere Application Server and, 454,
511-512, 514, 515JavaServer Web Development Kit (JSWDK),
617, 730javax.servlet package, 492, 493javax.servlet.http package, 492javax.swing (See also Java Foundation Classes),
158, 165, 658jBoss EJB server, 558, 591, 597-599, 639JBuilder, 11, 23, 25, 49, 509, 630JDB/400 package, 71, 75-76JDBC (See Java Database Connectivity)JDBCCallableStatement, 283-284JDOM, 638JOnAS EJB server, 558, 591, 595, 597-599journaling, 68-69, 145-146, 694JPanel, 715JRun, 517
Note: boldface numbers indicate illustrations; italic t indicates a table 747
J ❖ INDEX
JScript, 376, 446JScrollPane, 674JTable, 656, 672, 674just-in-time (JIT) compilation, 26-27, 544
Kkeyboard mnemonics (See menus; mnemonic
pointers)keyed files, commitment control and, 61-62
Llabels (JLabel) in, 170-171, 193, 198layout managers, 170, 194, 219, 696, 698,
715-716learning curve for Java, 4, 6, 71, 141-142, 156legacy systems and Java, xxx, 72, 227-230,
615-616calling RPG from Java in, 269-276CGI coding for, 232, 234-235client/server and, 242copying applications and modifying in, two
versions of code, 232data areas and, 704-705data queues for, 235-236direct use of green-screen UI on web site,
Workstation Gateway Server (WGS) for,232, 234-235
Enterprise JavaBeans (EJBs) and, 555green-screen UI emulation in, 260-262, 261Java Message Service (JMS) and, 632Java Native Interface (JNI) and, 329leveraging existing code and coding skills in,
256MQSeries for, 235Remote Method Invocation (RMI) and, 613rewriting legacy code in Java, 232RPG calls and, 236sockets programming and, 236, 304-305
library lists, JDBC and, 151-152life-cycle methods for EJBs, 570-573, 584,
587-588, 592Lightweight Directory Access Protocol (LDAP),
640Linux, 341, 599, 615
list boxes, 351-352, 698listen function, sockets, 286listeners, 56-57, 57, 263-266
for dynamic menus, 185in GUI development, 219for Java Message Service (JMS), 638-639for Remote Method Invocation (RMI), 611for subfile programming, 206-207
listsdisplay of, 77-78in Java Foundation Classes (JFC), 164,
167-170, 169, 171-172split-panel display of, 78, 79
literals, 38LiveScript (See also JavaScript), 365LiveWire, 446locking records, 62, 146-147, 533, 550, 556,
564, 565, 700-701block synchronization in, 498-499commitment control and, 69-70Enterprise JavaBeans (EJBs) and, 563-564JDBC and, 142synchronization and, 498
logical views, 116loopback addresses, 119looping, 30, 139LotusXSL, 403, 411
Mmachine interface (MI), 532mail.jar files, 478main method in Java application, 18-19, 20, 39,
699make command, 424map messages, 634Markham, Jeff, 103, 156, 193, 229, 315, 342,
375, 426, 477, 558, 591, 616, 631markup languages, 344, 397, 406marshaling, 602mathematical operators, 40Mayle, David, 342, 387, 426memory use, 9, 21-22, 522, 544menus, 163-164, 163
accelerator keys in, 188-191, 190add items to, 176-177
748
INDEX ❖ J - M
dynamic, 156, 181-186, 182Java Foundation Classes (JFC), 163-164, 163,
174-176, 175, 188-191listeners for dynamic action in, 185mnemonic pointers to, for power users,
177-180, 178message oriented middleware (MOM), 616, 631,
632-633messaging (See also Java Message Service)
calling RPG from Java, between client andserver in, 253-255
MQSeries for, 235metadata, JDBC and, 130-134method calls, 535method inlining, 546-547, 549methods, 10, 41, 54-55, 533, 556, 601
static, 704, 706middleware, in separating business rules from
interface, 253-255mnemonic pointers to menus in, for power
users, 177-180, 178Model View Controller (MVC), 458-462, 459,
673modular programming, 371-372modularization for legacy code (See also
separating business rules from interface),229, 231-240benefits of, 234-236data queues for, 235-236MQSeries for, 235Receive Data Queue (QRCVDTAQ) API in,
237, 239RPG calls and, 236RPG typical program structure, 233-234Send Data Queue (QSNDDTAQ) API in,
237, 239in separating business rules from interface,
231-234, 237-239sockets programming for, 236
Monitor Message (MONMSG), 54monolithic code (See also separating business
rules from interface), 241-242Mortgage Calculation sample application, 40MQSeries, 235, 640Muffin, as Qshell performance test, 422-425
multipane inquiry and entry, 259multiplication, 34Multipurpose Internet Mail Extension (MIME),
484, 485multirow layout fill manager, 716multithreading, 318, 713, 717
Nname spaces, packages for Java classes, 656, 661native call support, 48native drivers, JDBC, 114, 116, 149, 150, 151,
623-624negation, 34-35nested panes in GUI, 715-716Net.Data, 343Netscape Navigator (See browser support)network and Java, 7-9, 22-23NEW keyword, 53, 54next method, JDBC, 128-129Njenga, Steve, 426, 491nodes, XSL, 411, 414NONE option, commitment control, 70nonrepeatable reads, 142, 564Notepad/400 for, 624-625notify method, synchronization 499-500, 501numeric literals, 38
Oobject-creation events, performance and, 535,
538, 541, 545-546, 547-553object messages, 634object-oriented (OO) programming, xxviii, 4,
12, 26, 47, 49-54, 57-58, 49, 62, 72, 203, 244,256, 257, 418, 434, 449, 455, 532, 560, 570,601, 655, 693
Object People, 702object-to-relational wrappering, 702objects, 60, 602
constructor and, 53creation of, 55initialization of, 53serialization of, 106, 107THIS keyword and, 55-56
O'Donnell, Shannon, 156, 215, 616, 643
Note: boldface numbers indicate illustrations; italic t indicates a table 749
M - O ❖ INDEX
100% Pure Java, 5, 11, 114, 568JDBCdriver for, 116, 118-118, 149, 150,
623-624Online Transaction Processing (OTP), 407Open Database Connectivity (ODBC) (See also
Java Database Connectivity), 115-116, 150Open Financial Exchange (OFX), 407Operations Navigator, xxxi, 616Operations Navigator Java plug-ins, 643-653
Actions Manager class for, 645classes for, 645-646DDL file for, 652GUI Builder and, 646JVOPNAV folder for, 644List Manager class for, 645modifications to Java program, 649-651modifications to sample, 647Object Details class for, 646Object List Interface class for, 646Panel Definition Markup Language (PDML)
in, 646, 647-649“plug-in” defined for, 643registering, 646-647, 651requirements for, 643-644samples of, IBM provided, 644source files for, 647string table in, 648-649, 648testing, 652tree structure of OpsNav and, 644-645, 645
optimizer, 525OR, 35OS/2, 5, 27, 258OS/400, 10, 45, 341output fields, 260
PPACKAGE statement, 656-657packages for Java, 616, 655-661
CLASSPATH and, 661compiling and executing a new package in,
659-660core packages in, 656creation of, 656-658encapsulation and, 658errors in, 659
Java Archive (JAR) files and, 660-661, 660Java Foundation Classes (JFC) (See also), 656java.lang, 656java.math, 656layered, 659name spaces of, 656, 661names of, 656, 658-659PACKAGE statement for, 656-657security and, 658Swing, 658
packed decimal data, 273-274page faults, 544paint method, applets, 16Panel Definition Markup Language (PDML) in,
156, 220, 223-225, 646, 647-649parameter passing, 269Pass directive, WebSphere Application Server,
514passwords
AS/400 toolbox for Java and, 59in calling RPG from Java, 271in JDBC, 119, 128as servlet instance variables, 495
path (See also CLASSPATH), 54-55, 54PDF (See Portable Document File)Pelkie, Teresa, 341, 343performance, 519, 543-553
activity level monitoring for, 545analyzing results of tests in, 540-542BigDecimal and, 545-546, 547-553calculating, 531-532CGI, 436CLASSPATH settings and, 528coded character set ID (CCSID) and, 527-528collecting data for, using PEX, 538-540Connection Manager use and, 526Create Java Program (CRTJVAPGM) and,
528, 535, 545data pools and, 526-527database, 522, 524, 527-528example of application tuning for, using
BigDecimal, 547-553, 553garbage collection and, 524, 532, 533, 535,
541heap size and, 524, 532
750
INDEX ❖ O - P
HTML and, 522, 523, 527Java Archive (JAR) files and, 546Java Development Kit (JDK) and, 544Java Event File (QAYPEJVA) and, 536, 537tJava Native Interface (JNI), 328-329Java Performance Data Converter (JPDC)
and, 534Java Server Pages (JSP) and, 522Java Virtual Machine (JVM) and, 522, 543locking records and, 550method inlining and, 546-547, 549object-creation events and, 535, 538, 541,
545-546, 547-553optimizer and, 525performance events to measure, 535-537Performance Explorer (PEX), 519, 534-542,
534, 548Performance Trace Data Visualizer (PTDV),
519, 534, 541, 542, 543, 546, 548-550,553proxy classes and, 111-112, 111Qshell, 422-425QTMHHTTP and, 529record-level access and, 525-526servlet-to-servlet calls vs., 528servlets and, 519, 521-529SQL and, 525storage pool page faults and, 544StringBuffer and, 528, 545-546synchronization and, 533, 546system requirements and, 544Task Information File (QAYPETASKI) and,
537, 537tthreading and, 533, 545, 549tips for improving, 524-529Tomcat, 508-509, 510tracing, 533-536, 536tTracking AS/400 Vital Signs with SyStats
Application for, 664, 707-718tuning, 519virtual machine events and, 541Web server and, 436, 523WebSphere and, 522, 523, 525
Performance Explorer (PEX), 519, 533-542,534, 543, 548
Performance Trace Data Visualizer (PTDV),519, 534, 541, 542, 543, 546, 548-550, 553
Perl, 393, 491perl shell program, 424persistence, 492
in Enterprise JavaBeans (EJBs), 555-556,562, 570, 573-574, 578, 592, 594
in Java Message Service (JMS), 638persistent CGI, 465phantom reads, 142, 564Phone servlet example application, 319-325PING, 316plug-ins (See Operations Navigator Java plug-ins)Pluta, Joe, 45-46, 71, 229, 241, 257, 355, 663,
677point-to-point messaging, 633Polutta, Michael, 269pools, data, 526-527POP3, 478-479, 481-483pop3.jar files, 478portability of Java, 5-6, 9, 11, 50, 134, 491portable document files (PDF), Spool File to PDF
Conversion utility, xxviii, xxxi, 663, 677-691ports
Add TCP/IP Port Restriction(ADDTCPPORT, 299
Display File Field Description (DSPFFD)utility, 668
proxy classes and, 104, 106reviewing, using GO CFGTCP, 299sockets and, 286-287, 297, 299, 302, 308, 316threading and, 316Tomcat, 505, 506Web server programming, 428, 429WebSphere Application Server, 513well-known, 316
POSIX, 417, 418POST method, 350, 428-429, 433, 438, 470predicate in selection criteria for, SQL, 117prefetch setting, JDBC, 153PreparedStatement, 113, 123, 128, 135-140primary key class, EJB, 570, 572, 576-577,
580-583, 580, 592private classes, 699productivity and Java, 6-7, 12
Note: boldface numbers indicate illustrations; italic t indicates a table 751
P ❖ INDEX
profile and .profile files, Qshell, 86, 87-89, 88Program Call Generator, 270program calls, 616program temporary fix (PTF), 60
AS/400 toolbox for Java and, 60WebSphere Application Server, 512, 517
ProgramCall object, 270, 273, 274-276, 277, 284ProgramParameter object, 270, 273, 274Progress Software, 639Properties class, soft-coded values for Java
applications, 619-620properties files, 615, 619, 626proxy classes, 46, 103-112
classes supported by, 104CLASSPATH for, 110download times and, 103-104, 111-112, 111firewalls vs., 104, 106JAR file downloads using, 103-104performance of, 111-112, 111port to listen for, 104, 106Qshell and, 110servers and, 109-110system property settings for, 106, 110
proxy servers, 46, 109-110, 422pseudocompiles, JDBC, 135-136, 139publish/subscribe messaging, 633
QQCMD command interpreter, 418QCMDEXC, 298QCMN subsystem, record-level access, 60QDCXLATE, 298, 303QEJB library, WebSphere Application Server
and, 513QJVAJNI service program, in QSYS, 328, 336,
338QSH commands (See also Qshell), 420-421Qshell, 46, 81-89, 342, 417-424, 456
awk shell program, 424Bourne shell design of, 418, 423built-in utilities component of, 418-419, 419t,
422calling RPG from Java using, 330-332case sensitivity of, 85cc command in, 420
command input in, 420-421, 421commands for, 83, 83tcompatibility of, 421-422components of, 418-421current directory and cd function for, 87documentation for, 418echo command in, for CLASSPATH
viewing, 85editing of commands in, 421export command in, 83, 84-85, 87help for command use in, 83, 84hidden files and, 89home directories in, 85-86input inhibitor indicator for, 87Integrated File System (IFS) and, 81-82interpreter component of, 420Java Development Kit (JDK) and, 417-419,
420, 424list (ls) command in, 89make command in, 424PATH and CLASSPATH setting for, 84-89perl shell program, 424POSIX and X/Open compatibility of, 418profile and .profile files in, 86, 87-89, 88proxy classes and, 110QSH commands in, 420-421Qstartup program, 86regular utilities component of, 418-421, 420tRemote Method Invocation (RMI) and, 612Run Java (RUNJVA) command and
CLASSPATH in, 86-87shell programs defined for, 418system command in, 83threading in, 87Tomcat and, 508UNIX commands in, 419-420, 421UNIX script test of, 423, 423twrappers in, 420
Qstartup program, Qshell, 86QSYS library, 81, 304QSYSINC, socket functions in, 287QSYSOPR, SysStats Tracking Utility and, 707,
710QTMHHTTP, 529QUASPIBD, 304
752
INDEX ❖ P - Q
queries, JDBC, 119, 128, 130-134, 136, 138QUSCRTUS, 672QUSER user profile, AS/400 toolbox for Java
and, 59QUSLFLD, 672QUSLRCD, 672QUSROBJD, 672QUSRTVUS, 672QUSRUSAT, 672QWCCVTDT, 715QWCRSSTS, 715
Rrace conditions, 713radio buttons, 348, 354READ operations, 62, 72read/write functions, sockets, 286-287, 298, 303,
304Receive Data Queue (QRCVDTAQ) API, 237,
239record buffer/record blocking, JDBC, 153record-level access, 45-60, 73, 269, 705
Application example for, 663commitment control in, 61-70, 148Distributed Data Management (DDM) server
for, 60encapsulation and, 76JDBC and, 134, 148network attributes setting for, 60OBJAUT setting for, 60performance and, 525-526QCMN subsystem for, 60sample application showing, 48-49servlets and, 96setup for, 60Start TCP Server (STRTCPSVR) command
and, 60synchronization and, 500user profiles for, 60
records, 55Registry
plug-ins and, 646-647, 651RMI, 603, 609, 609, 612
regular expressions, JavaScript and, 382-383relational databases (RDBs), 115
relational operators, 35remote interface
Enterprise JavaBeans (EJBs), 560-562, 570,573, 574-577, 580-583, 580, 591-592
Remote Method Invocation (RMI), 603-606,603
Remote Method Interface Compiler (RMIC), 608Remote Method Invocation (RMI), 107, 558,
559, 610-613,640batch process deployment of, 611-612benefits of, 613class development for, 603, 609-610CLASSPATH for, 608, 610client creation for, 603, 606-607compilation for, 603, 607-608CORBA vs., 613deployment of, 611Distributed Component Object Model
(DCOM) vs., 613Distributed Computing Environment (DCE)
vs., 613eight steps to, 603Enterprise JavaBeans (EJBs) and, 577,
598-599instantiation of object for, 610, 610invoking, 603, 610-611Java Native Interface (JNI) and, 613legacy systems and, 613listener for, 611Qshell for, 612remote interface development for, 603-604remote interface implementation for, 604-606Remote Method Interface Compiler (RMIC)
for, 608RMI Registry for, 603, 609, 612sample application and code for, 602-603serialization and, 611skeleton classes for, 603, 608-609stub classes for, 603, 608-609threading and, 612
Remote Procedure Calls (RPC), 602Remtema, Paul, 519, 531, 543repaint method, applets, 16ResultSet class, JDBC, 118, 119, 120-121, 126,
130-134, 138-139, 197-198
Note: boldface numbers indicate illustrations; italic t indicates a table 753
Q - R ❖ INDEX
retrieveCookie function, 388, 391-392reusability of code (See also Write Once, Run
Anywhere), 5-7, 72, 76, 256, 258-259, 655,657
rewriting legacy code in Java, 232RMI Registry for, 603, 609, 609, 612rollback method, 65-68, 69, 147, 695, 699root node, XSL, 414Ross, Eduardo, 342, 409row layout manager, 716RPG, xxvii, xxix, xxx, 45, 61, 71, 72, 114, 142,
148, 228, 230, 257, 285, 307, 365, 445, 456,531, 532, 555, 560, 615, 627, 631, 665calling from Java (See calling RPG from Java)servlet client role for, 319-325wrapper for, 334-337
RPG II/III, xxviii, 73RPG IV, xxviii, 285, 73Run Java (RUNJVA) command, 86-87, 312, 456runaway threads, 498Runnable objects, 713, 717Rutledge, Keith, xxix, 1, 3, 13, 569
SSample Applications, 662-726
Display File field Description (DSPFFD)utility, 663, 665-675, 666, 668, 669, 671
GUI Programming application, 663Record Level Access Application, 663Spartan Order System Application example,
663, 693-706Spool File to PDF Conversion utility, 663,
677-691Tracking AS/400 Vital Signs with SyStats
Application, 664, 707-718WebSQL Application, 664, 719-725
“sandbox” (See also security), 492SanFrancisco project, 5, 11Sapphire/Web, 517scalability of Java, 9, 11screen I/O, 229
tag for JavaScript, 369-370, 372, 378scriptlets, 448-449scrollable panes, Java Foundation Classes (JFC),
170
security, 8, 10, 23, 26, 436cookies and, 388Enterprise JavaBeans (EJBs), 593-594, 598packages for Java classes and, 658servlets and, 492
SELECTin JDBC, 62in RPG, 31in SQL, 98-99, 117, 119, 120, 128, 135-136,
138, 142, 153, 197, 595, 664, 719, 720, 722selection lists, 347-348Send Data Queue (QSNDDTAQ) API, 237, 239Send Socket Request (SNDSKTRQS), 299separating business rules and interface, 557, 657separating business rules from interface, 8-9,
229, 231-234, 237-239, 241-256, 454benefits of, 234-236calls in, 250client/server and, 242-244client side of, 249Data Queue Messaging (DQM) APIs in,
254-255exception and error handling in, 246-247,
246-249, 251-252, 253, 254increased coding in, 255JavaServer Pages (JSP) and, 449messaging between client and server in,
253-255middleware for, 253-255object oriented approach to, 244original program structure example for,
245-248screen appearance in, 255server client and, 243-244server-side of, 252-253structural changes to program required for,
249-251XSL, 410-411
sequential files, commitment control and, 61-62serialization, 106, 107, 611server/client, 243-244, 267server-side programming, 8, 9, 21, 229, 259,
341, 425-426, 445, 616Enterprise JavaBeans (EJBs) and, 555,
569-578
754
INDEX ❖ R - S
servers (See also Web servers), 4, 8, 9, 259AS/400 toolbox for Java and, 59Enterprise JavaBeans (EJBs), 558, 567-568,
591-599HTTP servers and, 109-110JDBC support, 134ports and, 316-317proxy classes and, 109-110proxy and, 109-110, 422sockets programming and, 291-298Web (See Web server)
service method (See also servlets), 491, 492,493, 494
service table entries, sockets programming, 299servlet engines, 318, 635servlets, 62, 91-102, 229, 343, 425, 426,
435-444, 445, 455-462accessing external resources for, 497-499applet communication, 107architecture of, 492Beans and, 460-462Beans, direct calls from, 453browser support for, 437-438calling servlets using, 528classes of, 96-102concurrency and, 494-495, 494contention in, 500-501cookies and, 393, 394-395delays in processing of, 522destroy method for, 492, 494doGet method and, 95, 98-99, 310, 438, 439,
442, 460, 468, 470, 471-474, 585, 722doPost method in, 438, 439, 442, 443, 468,
471dynamic content in, 436, 440encapsulation in, 95, 102Enterprise JavaBeans (EJBs) and, 567environment for, 493Hello World example (SimpleServlet),
492-493HTML and, 432, 436, 443-444, 460, 493HTML class wrappers for, 91-92, 92tHTML form example of, 97-102, 100HTML table example of, 92-96, 93, 97-102,
100
HTML utility packages for, 91-92HTTP and, 324, 326, 492HttpServletRequest object in, 310, 395, 432,
433, 442, 448-449, 468, 476, 493HttpServletResponse for, 310, 395, 432, 433,
442, 449, 493import statement in, 308, 494init method for, 492, 494instance variables in, 495-497interaction of, with JSP, Beans, and
WebSphere, 456-458, 458Java Message Service (JMS), example,
634-639, 635, 634JavaMail, read and send mail, 479-481, 479,
481JavaServer Pages (JSP) (See also JavaServer
Pages), 445, 453javax.servlet package for, 492, 493javax.servlet.http package for, 492legacy systems and, 456-458loading all at startup, to improve
performance, 526Model View Controller (MVC) architecture
example of, 458-462, 459performance issues in, 519, 521-529persistence in, 492persistent CGI and, 465Phone servlet example application, 319-325portability of, 491request processing in, 494-495, 494RPG as client for, 319-325sample of, for Web sever, 439-444security in, 492serial processing of, 497server-side programming for, 326service method for, 491, 492, 493, 494servlet engines and, 318, 635sessions in, 468-476shopping carts and, 465-467, 466, 467, 468,
469-476, 470,SnoopServlet example for, 433-434, 434sockets programming and, 308-311, 315-326statefulness and, 463-476synchronization issues and (See
synchronization issues)
Note: boldface numbers indicate illustrations; italic t indicates a table 755
S ❖ INDEX
servlets, continuedthreading in, 494, 496-497Tomcat and, debugging, 509-510URLs and, 318, 436-437, 437uses for, 491-492vectors and, 440Web server programming and, 432, 436WebSphere Application Server and, 318,
513-514WebSQL Application and, 664, 719-725
session Beans, 562, 567, 570, 592, 593session, in JavaMail, 481-483sessions, 468-476set processing, JDBC, 120-121setCookie function, 388, 391SETLL, 46setsockopt function, sockets, 286setter methods, 207, 213, 699
Beans, 452JDBC, 139
Shaler, Richard, xxix, 1, 25, 45, 47, 426, 511shared commitment control, 70shell programming (See also Qshell), 341, 342,
418shopping carts applications, 465-467, 466, 467,
468, 469-476, 470cookies and, 393
sign-on dialog box, 54Simple Mail Transfer Protocol (SMTP), 316,
479, 481-483Simple Network Management Protocol
(SNMP), SysStats, 707-708, 716-717single- vs. multipane inquiry and entry, 259singleton design, 203, 205, 703-70464-bit computing, 9, 11skeleton classes, 598-599, 603, 608-609slash comment delimiters, 28-29, 41SlidingGraph JavaBean, 714Smalltalk, 26smart parameters, 457, 461SmartGuide (wizard), calling RPG from Java,
275-276, 275, 276SNA, 602SNADS, 316SNMPProtocol JavaBean, 716-717
sockets programming, 7, 229, 236, 285-305,307-313, 315-326, 329, 602, 608, 609accept function in, 286, 303, 311address for, 297, 302-303, 308Application Program Interfaces (APIs) for,
286, 286t, 288tbind function in, 286binding, 287-290, 296, 297, 299, 304, 311client in, 299-303close function in, 298, 304compiling sample program for, 303-304connect function in, 286, 303connecting to, 297-299, 311creation of, 296-297data translation in (ASCII to EBCDIC), 296,
298, 303example use of, Display Library Utility
program, 290-304exception and error handling, 304finding, in QSYSINC library, 287-290function prototypes for, 287, 288thost class for, 311-312HttpServletRequest for, 310HttpServletResponse for, 310Java classes for, 313legacy systems and, 304-305listen function in, 286number or descriptor for, 286, 298port for, 286, 297, 299, 302, 308, 316portability of sockets in, 308read/write functions in, 286-287, 298, 303, 304Send Socket Request (SNDSKTRQS) in, 299server in, 291-298service table entry for, 299servlet using, 308-311, 315-326setsockopt function in, 286socket function in, 286, 296-297, 302“sockets” defined in, 285-287speed of, 308toServer/fromServer objects for, 310-311URL for, 312, 312Web server programming and, 428
soft-coded values for Java applications, 615,617-626editing and editors for, 624-625
756
INDEX ❖ S
ini files and, 618-620JDBC drivers and, 118, 150, 618, 619Notepad/400 for, 624-625Properties class in, 619-620properties files and, 619, 626standard JDBC properties and, 620-623, 622
Solaris, 599SonicMQ, 639source files, 50, 53
Integrated File System (IFS) and, 81Operations Navigator Java plug-ins, 647
source objects, 56, 57Spartan Order System Application example,
663, 693-706spawning, 317special characters, 38, 39split-panel display, 78, 79Spool File to PDF Conversion utility, xxviii,
xxxi, 663, 677-691, 677SpyderMQ, 639-640, 639SQL, xxx-xxxi, 45, 48, 61, 114, 115-118,
125-126, 141, 229, 632commitment control for, 143-148connection and EJBs, 561CREATE in, 720CREATE INDEX in, 116CREATE PROCEDURE in, 278, 280CREATE TABLE in, 116, 694DELETE in, 117, 118, 138, 720DROP in, 720DROP PROCEDURE in, 280DROP TABLE in, 117Enterprise JavaBeans (EJBs) and, 592indexes in, 116INSERT in, 117, 138, 143, 720interpreted JDBC processing and, 122-123JDBC and, 116-118, 125-126, 135-136,
141-142, 197logical views in, 116performance and, 525predicate in selection criteria for, 117rollback method in, 147SELECT in, 117, 119, 120, 128, 135-136,
138, 142, 153, 197, 595, 664, 719, 720,722
stored procedures in, 278-281, 525tables in, 116, 145UPDATE in, 117, 138, 143, 720WebSQL Application and, 664, 719-725WHERE clause in, 117, 118, 119
Standard Generalized Markup Language(SGML), 406
Start Host Servers (STRHOSTSVR) command,59
start method, applet, 14-16, 19, 20Start Performance Explorer (STRPEX), 535,
548Start TCP Server (STRTCPSVR) command, 60“starvation” of processing, 498stateful applications, 387
cookies and, 392-395Enterprise JavaBeans (EJBs) and, 562, 567,
592servlets and, 463-476
stateless applications, 342, 387cookies and, 392-395Enterprise JavaBeans (EJBs) and, 562, 592persistent CGI and, 465servlets and, instance variables and, 463-476,
495-497sessions and, 468-476shopping carts vs., 465-467, 466, 467,
468,469-476, 470solutions to, 464-465
statement blocks, 32-33Statement class, JDBC, 118, 119, 120-123,
126-129, 135, 139-140, JDBC, 197-198statements, 28-29static classes, 528, 702-703, 706static methods, 704, 706status bars, 156, 186-187status codes, HTTP, 429, 430tstop method, applet, 14-16, 19, 20storage pool page faults, 544stored procedures, 229, 525, 616
Callable Statement and, 128in calling RPG from Java, 278-281JDBC and, 128
stream messages, 634string table, PDML, 648-649, 648
Note: boldface numbers indicate illustrations; italic t indicates a table 757
S ❖ INDEX
StringBuffer, 528, 545-546strings, 36-37, 39-40STRJRNPF, 69, 146structural HTML tags, 345stub classes, 598-599, 603, 608-609stylesheets (See Extensible Stylesheet
Language)subfile programming, 156, 201-213, 260,
358-359, 358, 359Customer Update example in, 208-211design tips for, 213encapsulation in, 203, 207-208error handling in, 206, 211-212, 212,
246-247, 246-249HTML and, 358-359, 358, 359JavaServer Pages (JSP) and, 359-362listeners for, 206-207singleton design in, 203, 205table creation for, 202-205, 202tables (JTable) for, 201-213WebSQL Application, 664, 719-725
Submit button, 348, 369-370, 377Submit Job (SBMJOB), 312subprocesses (See threading)subtraction, 34Sun, 6, 11, 49SwiftMQ, 639-640Swing (See also Java Foundation Classes [JFC]
and GUI development), 158, 658, 674SWITCH, 29, 31-32symmetric multiprocessing (SMP), 9synchronization, 426, 491-501, 533
block method for, 498-499contention vs., 500-501deadlocks and, 498, 501, 498external resource access and, 497-499locking records and, 498notify method for, 499-500, 501performance and, 546threading and, 497wait method for, 499-500, 501
syntax of Java, 1SysStats, 664, 707-718system command, Qshell, 83system-managed storage, 10
Ttabbed dialogs, 155, 157, 158, 164, 172-174,
172tables, HTML, using servlets, 92-96, 93, 97-102,
100, 346, 361, 362, 720, 720tables (JTable), 155-158, 193, 194, 198-200,
201-213, 202adding components to, 212-213Customer Update example of, 203-205, 203,
208-211encapsulation in, 203, 207-208error handling, 206, 211-212, 212listeners and, 206-207singleton design in, 203, 205
tables, in SQL, 116, 145tags, HTML, 92, 93, 98, 344, 345, 361, 399tags, XML, 399-400TAR files, 660Task Information File (QAYPETASKI), 537,
537tTCP/IP, 4, 7-9, 23, 54, 58, 61, 65, 74, 142, 228,
229, 316, 602Add TCP/IP Port Restriction
(ADDTCPPORT), 299HTTP and (See HTTP)ports and, 316-317sockets (See sockets programming)SysStats Tracking Utility, 708Tomcat and, 505Web server programming and, 428Work with TCP/IP Network Status
(WRKTCPSTS), 299Technology Independent Machine Interface
(TIMI), 10, 11, 328text buffers, 714-715text input fields, in GUI, 171, 348, 353-354text messages, 634thick client, 425thin client, 425THIS keyword, 171THIS keyword, 55-56, 171threading, 197, 316, 317, 333, 338, 533, 672
block synchronization in, 498-499contention and, 500-501deadlocks and, 498
758
INDEX ❖ S - T
in Display File Field Description (DSPFFD)utility, 670
Enterprise JavaBeans in, 561locking records and, 498multi-, 713, 717notify method synchronization in, 499-500,
501performance and, 545, 549Qshell, 87Remote Method Invocation (RMI) and, 612runaway, 498servlet, 318, 494, 496-497spawning or forking in, 317“starvation” in, 498status bar for, 188synchronization and, 497-499wait method synchronization in, 499-500,
501Together/J UML tool, 202Tomcat, 426, 454, 470, 503-510
Create Java Program (CRTJVAPGM) and,508
debugging JSPs and servlets using, 509-510Enterprise JavaBeans (EJBs) and, 598home page of, 507installing, 504-505interactive running prohibited in, 506JSP and, 509JVM and, 506performance tuning in, 508-509, 510ports for, 505, 506Qshell script for, 508starting, 505-508stopping/ending, 507-508Web Archive (WAR) files and, 509
tool tips, in GUI, 177-180, 178TOPlink, 207, 702trace index file (QAYPETIDX), 535-536, 536ttracing performance, 533-534, 535-536, 536tTracking AS/400 Vital Signs with SyStats
Application for, 664, 707-718transaction attributes, EJB, 564-567, 565ttransaction boundaries, 142, 556, 565-566, 695transaction context, 566transaction control (See commitment control)
transactional integrity, 147transfer objects, 673, 713translations, XSL, 411trees, in GUI, 155, 157, 158, 164true, 38TRY, 54, 122, 211, 271, 618, 675Tucker, Galen, 616, 655tunneling, HTTP, 326
UUCS Transformation Format 8 (UTF 8), 334,
339unary operators, 34-35, 34Unicode values, 38, 39, 339, 527, 556Uniform Resource Locators (URLs), 7, 119,
127-128, 428-429, 435, 436-437, 437, 457in calling RPG from Java, 271in servlets, 318in sockets programming, 312, 312
Universal Database, 398Universal Multiple Octet Coded Character Set 2
(UCS 2), 337UNIX (See also Qshell; sockets programming),
5, 85, 228, 305, 341, 342, 343, 382, 417-424,534, 608, 660, 678
UPDAT, 75update method, applets, 16UPDATE, SQL, 117, 122, 138, 143, 720User Interface Manager (UIM), 158, 194user name/ID
in JDBC and, 119, 128as servlet instance variables, 495
Vvalidation, 207Vandever, Kevin, 229, 231, 307variables
declaration of, 33-34servlets and, instance, 495-497
VBScript, 436vectors, 106, 169-170, 172, 440, 546view Beans, 457virtual machine events, 541
Note: boldface numbers indicate illustrations; italic t indicates a table 759
T - U ❖ INDEX
Visual Age for Java (VAJ), 7, 11, 12, 23, 25, 49,207, 215, 509, 557, 630, 702, 709in calling RPG from Java, 269, 271SmartGuide (wizard) in, 275-276, 275, 276
Visual Basic, xxx, 115, 411Visual Café, 25, 630
Wwait method, synchronization, 499-500, 501Web Archive (WAR) files, 509Web servers (See also HTTP; Tomcat;
WebSphere Application Server), 425,427-444, 455-456CGI and, 436, 437commitment/transaction control in, 443connection pools for, 443, 526cookies and, 432dynamic content and, 431-432, 436, 440, 448,
450-452, 450, 450Enterprise JavaBeans (EJBs) and, 443, 560GET and POST requests in, 428-429, 433,
438, 470headers in, HTTP, 430, 430-431tHTTP and, 427-44HttpServletRequest object in, 432, 433, 442,
448-449, 468, 476, 493HttpServletResponse object in, 432, 433, 442,
449, 493JavaServer Pages (JSP) (See JavaServer
Pages)performance issues in, 436, 523port assignment in, 428, 429record-level access and, 443request processing in, 428-429, 494-495, 494response processing in, 429-431servlet API example for, 439-444servlets and, 432, 436, 491, 526SnoopServlet example for, 433-434, 434sockets programming in, 428stateless applications and, 463-465status codes for, in HTTP, 429, 430tTCP/IP and, 428Tomcat for, 503-510URLs in, 428-429, 436-437, 437
Web site and Java, 4, 7-9
WebLogic, 574, 702WebSphere Application Server, 317, 343, 426,
454, 455, 456, 457, 511-518classpath settings for .class and .jar files in,
515-516, 516competition for, 517configuring, 512-516data pools and, 526-527Document Root for, 514Enterprise JavaBean (EJB) support in, 518,
557, 579-589, 591, 599FixPacks and E fixes for, 517HTTP server instancing and configuration
for, 513-514installing, 512-516interaction of, with servlets, Beans, JSP,
456-458, 458JavaServer Pages (JSP) and, requirements of,
444, 454JSP and, 511-512, 514, 515Pass directive for access in, 514performance and, 522, 523, 525port for, 513QEJB library and directories for, 513required programs and PTFs for, 512, 517RPG as servlet client in, 319-325, 319server-side programming in, 326servlets and, 318, 513-514SnoopServlet example for, 433-434, 434Tomcat vs., 503-510Windows use of, 517
WebSQL Application, 664, 719-725well-known ports, 106, 316WHERE clause, SQL, 117, 118, 119WHILE, 29, 30, 55, 120Window Foundation Classes (WFC), 157Windows, 5, 6, 228, 343, 534, 599, 615WinZip (See Java Archive files)work management, Enterprise JavaBeans (EJBs)
and, 556Work with Object Links (WRKLNK), 81Work with Objects (WRKOBJ), 60Work with System Status (WRKSYSSTS), 544Work with TCP/IP Network Status
(WRKTCPSTS), 299
760
INDEX ❖ V - W
Workstation Gateway Server (WGS), 232,234-235
World Wide Web Consortium (W3C), 403,411-412
wrappers, 73, 702Enterprise JavaBeans (EJBs) as, 570-573, 581HTML, 91-92, 92tJNI functions, 334-337object to relational, 702Qshell, 420
WRITE, 75Write Once, Run Anywhere (WORA) concepts,
5-6, 9, 12, 13, 47, 256, 258-259, 655
XX/Open, 418
xalan, 403
Xerces, 637
XML (See Extensible Markup Language)
XML4J, 638
XSL (See Extensible Stylesheet Language)
Zzip files (See Java Archive Files)
Note: boldface numbers indicate illustrations; italic t indicates a table 761
W - Z ❖ INDEX