Introduction to iSeries Mandy Shaw Version 0.3, 14 June 2006 © Logicalis Group Agenda iSeries in context Architecture The iSeries environment Windows, Linux and AIX integration Security DB2/400 Disk and tape storage, backup and recovery, data storage Programming the iSeries Printing and electronic output Day-to-day operation, licensed programs, fixes and support, sources of information Communications Introduction to iSeries iSeries in context © Logicalis Group iSeries: an industry phenomenon Optimised, integrated business computing for mid-enterprises Enduring and unique software-based, hardware-independent architecture avoids all costly technology transitions Easy to manage, secure, highly reliable Successful in business solutions driven mid market Far lowest total cost of ownership amongst midrange systems IBM midrange systems System /3 1969-1975 System /32 System /34 System /36 System /38 1975-1977 1977-1981 1981-1986 1978-1988 AS/400 1988-2000 iSeries New iSeries 2000-2002 2003-2004 i5 2004- Product of General Systems Division, formed as result of anti-trust legislation. Low -end batch system replacement for unit-record equipment. Used RPG programming language. Disk and terminals soon added. 28-instruction CPU. Over 25,000 sold. System/3 follow -on. System/32 follow -on. Ran SSP OS. System/34 follow -on. Ran SSP OS. Pioneering design, revolutionary architecture system, continued in AS/400 and iSeries to date, provides complete insulation for user applications against technology change. Also, first system line to include in-built relational database system. Ran CPF OS. Repackaged and improved S/38, hugely successful in medium business markets, using S/38 architecture. By mid-late 1990s, became open, ebusiness capable server. 200,000th AS/400 sold by 1992. OS/400 OS. From 1995 based on RISC chip (Pow erPC). Repackaged and re-branded AS/400, under eServer strategic initiative. Radically reshaped and extended, repackaged and re-priced iSeries, repositioned as "On Demand" e-business hub platform consolidating Window s/Intel, Linux, AIX, Java and Domino (as w ell as traditional OS/400) w orkloads. Over $500M IBM investment. Technology convergence w ith pSeries, including AIX in a partition. i570 i595 i520 i550 Open Virtualised Autonomic Integrated Some iSeries applications Domino (iSeries as application server) Sametime (iSeries as application server) Linux, AIX and Windows workloads Feeds from iSeries database to decision support tools such as Excel Green screen (5250) application .Net fat client or Web application (iSeries as database server and/or application server) J2EE applications on Tomcat or WebSphere Introduction to iSeries Architecture © Logicalis Group Architecture: agenda Hierarchy of microprocessors Layered architecture Single level storage Object orientation Built in database Logical partitioning iSeries workloads: traditional, Windows, Linux on Power, Linux on Intel, AIX stand-alone, AIX within OS/400, Java and WebSphere, Domino WebFacing i5 models and editions Hierarchy of microprocessors Disk IOP Tape IOP LAN IOP CPU(s) Pentium IXS (xSeries IOP) 2-line WAN IOP I/O Adapter (IOA) IOA Control of peripheral devices is not the CPU’s responsibility, being carried out by specialised input/output processors (IOPs). iSeries - an enduring architecture eliminates technology transition costs MyPgm Applications Development Systems Management OLTP and OLAP Complete “Operating System” LDAP Open Interfaces Printing and eOutput Technology Independent Machine Interface (TIMI) System Licensed Internal Code - SLIC Microcode LPAR TCP/IP DB2 UDB/400 Security Java Virtual I/O Communications Linux AIX iSeries Hardware 64-bit RISC PowerPC Single level storage Applications access objects by name Operating system accesses pages by virtual address Microcode translates virtual address to physical address Microcode handles all paging Object orientation Methods applicable to object Create Content of object (in this case, program instruction stream) Debug Run X Edit Delete Everything stored on iSeries is an object. Each object has a fixed object type determining the methods that may be used on it. Examples: *PGM - program *FILE - database or device file *USRPRF - user profile *JOBQ - batch job queue iSeries - an enduring architecture eliminates technology transition costs System/38, 1978 MyPgm CISC AS/400, 1988 MyPgm RISC AS/400, 1995 iSeries, 2000 i5, 2004 No need even to recompile, since the program object encapsulates its own TIMI ‘source code’ which can be automatically re-translated by OS/400 as necessary MyPgm What can your iSeries do? One box to house, manage and maintain Flexible use of disk, tape, memory, CPU, … Secure and resilient integration Capacity Upgrade on Demand for CPU and memory Linux on Intel Java Windows 2000/3 AIX app (PASE) AIX OS/400 OS/400 WebSphere DB2 UDB Linux on PowerPC Domino Logical partitioning (OS/400, Linux on PowerPC, AIX) AIX Linux on PowerPC OS/400 V5R3 GMT OS/400 V5R2 OS/400 V5R3 PST OS/400 level (n-1 to n+1, but hardware dependent) Time zones Development, production, test DMZ separation Gigabit virtual LAN available Fractions of a processor Dynamic resource allocation Linux and AIX partitions need only CPU and memory iSeries layered architecture gives high resilience No additional software costs Windows integration (IXS and IXA) iSeries Integrated xSeries Server Linux on Intel Windows 2000/3 Intel server within iSeries Processor and memory on card Uses OS/400 disk, tape and LAN resources Has own monitor, mouse and keyboard Windows 2000 or 2003, or RedHat Linux Fully certified by Microsoft for Windows User profile and database integration Gigabit virtual LAN available [Windows only at present] Manage from OS/400 iSeries Integrated xSeries Adapter Separate xSeries box iSeries server IXA card links it to iSeries via HSL Leverage increasing xSeries power IXA in supported Has own memory, processor, cards xSeries server Uses xSeries and/or OS/400 tape and LAN Uses OS/400 disk Windows 2000 or 2003, or Suse or RedHat Linux Otherwise same as IXS Linux on IXS/IXA Linux on PowerPC (i.e. in an iSeries partition) is tried and tested, but vendor support for PowerPC Linux can be a problem. Linux on IXS/IXA gets round this. Seen by some IBMers as a stepping stone to PowerPC Linux, rather than as a solution in its own right. PowerPC Linux is more flexible: Intel Linux requires IXS/IXA hardware, and processor and memory allocation are not dynamic. VMWare ESX is not yet supported. Linux on IXS/IXA has been available only since the autumn of 2004, with no production deployment in the UK as yet. Logicalis view: great future, but not ready yet. Examples: Logicalis DMZ server Quickplace External Domino email protected by Norton Anti-Virus with live update Win2K MySQL PASE PHP Customer apps – Apache WebSphere AS/400 model 170, 1GB memory, V5R2, IXS card Services organisation: Before Sage Line 50 Access database and corporate application User Hand-held Terminal Message Server and gateway desktop Telephone Email server No DNS or DHCP Fax File and print Internet facing Access database and corporate application External Web browser user Web server Internet email gateway External email senders and recipients Email server Proxy server User Web browser External Web sites DMZ Internet Internal After LPAR 1 - Production Email: Domino Fax: Domino Fax Server Corporate app: IXS Additional apps DB2 Sage Line 50: IXS Hand-held terminal gateway: IXS DNS DHCP Telephones: IXS LPAR 2 – Linux Guest File server: Samba LPAR 3 – LPAR 4 - DMZ Linux Firewall SMTP: and Domino Proxy Server Web server: Apache, potential for WebSphere applications Web serving and Web enablement Native Resilient, high performance Java Virtual Machine WebSphere Application Server Apache Web server Apache Tomcat WebFacing Portal PowerPC Linux WebSphere Application Server LAMP (Linux, Apache, mySQL, PHP) AIX WebSphere Application Server, Apache Web server Other Unix Web environments IXS/IXA WebSphere Application Server, Apache Web server Microsoft Web environments Possible configurations Web browser – Extranet or external user MZ Apache on iSeries DMZ Firewall Apache on iSeries, or Apache on xSeries (Windows or Linux) INTERNET Firewall Other external data or transaction sources and targets Web browser – Intranet user Tomcat or WebSphere Application Server WebFacing, JDBC or WebSphere MQ Internal databases and RPG-based applications Internal 5250 application user WebFacing Use of WebFacing removes normal 5250 application cost implications i5 models and editions i550 i570 i595 Enterprise Edition i520 •Allows interactive (5250) workload •BRMS for backup and recovery •Additional IBM software •e.g. 20 users of Portal Standard Edition •Only WebFaced interactive workload •Base OS/400 software only Introduction to iSeries The iSeries environment © Logicalis Group The iSeries environment: agenda Objects and libraries Integrated Filing System Work management Instructing the iSeries iSeries Navigator CL commands Integrated Filing System One integrated structure QSYS.LIB = libraries, objects and members QDLS = traditional 8.3 folder/document tree QNTC = Windows Network client – sees contents of your Windows servers includes file system level view of IXS/IXA QFILESVR.400 = Remote IFS – sees contents of other iSeries systems QOPT = your iSeries’ CD drive QIBM/ProdData and QIBM/UserData used by many IBM products including WebSphere Qxxx used by other IBM products Other root folders use Unix naming conventions, e.g. case-sensitive Can define shares using NetServer and map them as network drives from Windows Jobs All work progresses through the machine as a series of jobs. Jobs can have various sources. The most important types of job are: Interactive Jobs An interactive job is one which starts when a user signs onto a display station (i.e. a terminal emulation session). It is ended when the user signs off; if he signs on again, another interactive job is initiated. Server Jobs A server job runs continuously on the iSeries waiting for requests from clients (typically PCs). Examples of server jobs are: FTP server; database server (used by ODBC applications). Typically, server jobs are listening on TCP/IP ports. Server jobs vary in the way in which they are started. Batch Jobs A batch job carries out processing that requires no input from a client or display station (for example, the generation of a report by an application). A batch job is normally placed on a job queue via the SBMJOB command, which has many parameters, of which the following are the most important: CMD - the CL command to be executed JOB - the job name to be used for the batch job JOBD - the job description to be used for this job The job description specifies the job queue on which the job is to be placed, together with a lot of detailed information about the job - the default output queue for its spooled output, for example. Print Writers (Spool Jobs) These connect physical printers to output queues, and print spooled output as it arrives. Job tuning depends on job type. IBM ships sensible defaults for traditional workloads. Control Language, commands and menus ... DCL &INPUTFILE *CHAR 30 ... MONMSG (CPF0001 CPF0006) EXEC(GOTO VALID) ... CHGVAR &INPFILLIB %SST(&INPUTFILE 11 10) ... OVRDBF FILE(INPUT) TOFILE(&INPFILLIB/&INPFILOBJ) + MBR(&INPFILMBR) ... FTP RMTSYS(&HOST) OVRPRTF FILE(QSYSPRT) SPLFNAME(FTPBATCH) CPYF FROMFILE(&OUTFILLIB/&OUTFILOBJ) + TOFILE(QSYSPRT) FROMMBR(&OUTFILMBR) DLTOVR FILE(*ALL) RETURN /************************************************************/ VALID: RCVMSG MSGTYPE(*DIAG) MSGDTA(&LMSGDTA) MSGID(&LMSGID) + MSGF(&LMSGF) SNDMSGFLIB(&LMSGFLIB) ... iSeries Navigator Introduction to iSeries Windows, Linux and AIX integration © Logicalis Group d: drive Network Storage Space NWSSTG2 IXS/IXA running Windows 2000/2003 c: drive hot swap Network Storage Space NWSSTG3 c: drive Network Storage Space NWSSTG1 •Network storage spaces allocated from iSeries single level storage •Easy creation and linking from iSeries Navigator •Then manage like normal Windows volumes •Linux and AIX: network storage space for each filesystem •Major performance and availability advantages RMVLNK OBJLNK('/mysqlbackup/notabilitydb.sql') MONMSG CPFA0A9 /* File not present - ignore */ SBMNWSCMD CMD('net use y: \\cat34\root') SERVER(WWW1) AUTDMN(*LOCAL) SBMNWSCMD CMD('c:\mysql\bin\mysqldump -uroot notabilitydb + >y:\mysqlbackup\notabilitydb.sql') + SERVER(WWW1) AUTDMN(*LOCAL) SBMNWSCMD CMD('net use y: /delete') SERVER(WWW1) AUTDMN(*LOCAL) /* Check success by making sure file now exists */ DSPLNK OBJ('/mysqlbackup/notabilitydb.sql') OUTPUT(*PRINT) SNDDST TYPE(*LMSG) TOUSRID((SHAWM CATALYST)) + DSTD('MySQL dump successfully created') + LONGMSG('MySQL dump successfully + created') SUBJECT('MySQL dump + successfully created') Virtual LAN Performance, resilience N.B. not yet supported for Linux on Intel User profile/password synchronisation easy management, resilience Instruct server from iSeries (e.g. from WRKJOBSCDE) easy management, resilience Introduction to iSeries Security © Logicalis Group Special authorities Differentiate job functions: Security officer (root or superuser) Service engineer Security administrator Operator Programmer User *SECADM *SAVSYS *JOBCTL *IOSYSCFG *SPLCTL *AUDIT: required in addition to relevant resource access *ALLOBJ gives *ALL access to all objects Simplify your infrastructure: single level signon What Every Enterprise Wants Protect access to enterprise resources at lowest possible cost What Every User Wants Highest possible convenience and productivity Not to have to remember or change passwords SSO Definition What we mean by SSO The ability of an end user to sign in to the enterprise network and run multi-tier applications without being prompted again for authentication data, and without requiring the end user to have the same user ID and/or password on every system. What we don’t mean by SSO Same user id everywhere Same password everywhere Centralized storing/caching of passwords LDAP authentication Kerberos and Enterprise Identity Mapping Kerberos involves the acceptance of a single authentication by ‘Kerberised’ applications, avoiding the need for passwords EIM links user ids for different servers, at individual or group level Traffic cop EIM can be used without Kerberos; Kerberos can be used without EIM Nirvana Windows 2000/NT NetServer NDS WebSphere Linux iSeries intranet User AIX RACF z/OS John Smith's user ID: u:JSmith p:myonepwd Extranet / Internet OS/400 approach gets you here Windows NT/98/95 NetServer Windows 2000/2003 Server WebSphere NDS intranet User iSeries John Smith's user IDs: u:JohnSmith u:smithj u:John u:Smith1 u:JoSm05 etc.. p:myonepwd p:*NONE p:*NONE p:*NONE p:*NONE Linux John Smith's user IDs: u:John Smith u:JSimth u:John u:Smith1 u:JoSm05 etc.. RACF AIX z/OS OS/400 implementation elements EIM •Identifiers for individuals •Maps identifiers to user ids in registries LDAP directory •used to store EIM data Applications •NetServer, iSeries Navigator, Management Central, PC5250, QFileSvr.400, … Kerberos •OS/400 can store KDC and do Kerberos authentication •Typically, it won’t Network Authentication Service •Identifies where the Kerberos authentication is done, and for which apps Introduction to iSeries DB2/400 © Logicalis Group DB2/400: agenda DB2 within the iSeries environment Functionality and programming approaches: SQL traditional Journalling and commitment control Providing high availability Management and administration DB2 within the iSeries environment Database is built in to the operating system Database components can exist in any library; they can be managed and accessed via SQL or via traditional OS/400 commands and programming techniques, interchangeably SQL functionality well up there with the competition Traditional RPG database I/O ... FBIDDETAILSIF E FCONTRATE UF A E ... C C *IN90 C ... C C ... C DISK DISK RENAME(BIDDETAILX:BIDS) READ DOWEQ MOVE BIDDETAILS *OFF IDOCID READ ENDDO BIDDETAILS WRITE CONTRATER 90 W1UNID 32 Important concept: externally described file 90 Physical file = SQL table Access path = SQL index Logical file = SQL view High availability via data replication Source Target Mirrored database tables Copy of application Mirrored journal receiver Journal receiver Main database tables Main application Management and administration Interactive SQL (green screen) CL commands CRTPF DSPDBR DSPFD RGZPFM iSeries Navigator SQL command execution Performance advice and monitoring Graphical representation of entities and relationships WebSphere Development Studio Client Data definition view Introduction to iSeries Disk and tape storage, backup and recovery, data storage © Logicalis Group Disk storage options ESS attach example PROD DEV HA 4 fibre connections TotalStorage ESS 4 fibre connections 4 fibre connections iSeries tape example DEV HA PROD Shared LTO with shared PCI attach Fibre connection LTO with PCI attach Fibre connection 3494 tape library Fibre connection Customer example: commodity trader Total HA/DR solution for 5 x timezones + test/dev Site A Site B IBM 3494 Tape library 3 x 3590 B1A drives Crossroads 8000 storage routers SCSI Fiber IBM 3494 Tape library 3 x 3590 B1A drives Crossroads 8000 storage routers Orion Replication SCSI Vision Suite BRMS AS/400 730 with 8 x LPAR’s Vision Suite BRMS AS/400 730 with 8 x LPAR’s IFS is saved with the SAV command IFS is restored with the RST command BRMS Backup, Recovery and Media Services Manages your backups Process, report, monitor backups All data is backed up Control groups Parallel save Lists unsaved objects Restricted state saves BRMS Recovery Orderly retrieval of lost or damaged objects Restore entire system Restore of libraries/objects Restore of control groups Restore of IFS BRMS Recovery Recovery report Step by step guide BRMS takes responsibility BRMS Media management Tracks all tapes and save files Tracks tape movement Tracks contents of media BRMS Other functions Spool file saves Save to savefile Network capable Archive Hierarchical Storage Management Data storage Compliance requirements demand full control of tape cycles and tape retention Provided by BRMS An application’s library structure would normally group objects with similar backup requirements Introduction to iSeries Programming the iSeries © Logicalis Group Programming the iSeries Control Language Device files and display files Traditional high level languages RPG, Cobol, C, C++ Integrated Language Environment Java WebSphere Development Studio iSeries-based compilers Client-based development environment CODE/400 WDS Client for HTML, Java, JSPs, EJBs, web services, … WebFacing development environment Popular iSeries change control products have interfaces to WDSC Visual RPG and other pointless byways Control Language programming ... DCL &INPUTFILE *CHAR 30 ... MONMSG (CPF0001 CPF0006) EXEC(GOTO VALID) ... CHGVAR &INPFILLIB %SST(&INPUTFILE 11 10) ... OVRDBF FILE(INPUT) TOFILE(&INPFILLIB/&INPFILOBJ) + MBR(&INPFILMBR) ... FTP RMTSYS(&HOST) OVRPRTF FILE(QSYSPRT) SPLFNAME(FTPBATCH) CPYF FROMFILE(&OUTFILLIB/&OUTFILOBJ) + TOFILE(QSYSPRT) FROMMBR(&OUTFILMBR) DLTOVR FILE(*ALL) RETURN /************************************************************/ VALID: RCVMSG MSGTYPE(*DIAG) MSGDTA(&LMSGDTA) MSGID(&LMSGID) + MSGF(&LMSGF) SNDMSGFLIB(&LMSGFLIB) ... Used for ops programming and where high level languages can’t do what is required. Far more powerful than many people think. You can even write your own commands – very useful in ops programming. Probably the only time you will come across DB2/400 multi-member physical files Externally described files again. WebFacing translates these into JSPs and servlets Integrated Language Environment Program *PGM object. traditional via CRTxxxPGM, ILE via CRTPGM *PGMs contain 1 or more modules Module *MODULE object type Module MOD1 RPGMOD1 Contains translated but unexecutable code Must be BOUND into a program to run Input is a source member May contain one or more procedures Procedure Executable code with entry point Not an AS/400 object RPG & Cobol: 1 per compilation, C: many per compilation Service program Separate object, works like a Windows DLL Module MOD2 CBLMOD1 Module MOD3 Procedure CRTINVNBR Procedure LOCKSTOCK Program INVMAST Traditional Programming versus Java Repeat for every platform Source Code compiler Object Code Module Executable Code binder versus Compile time Source Code Compile once, run everywhere JAVA compiler Run time Byte Code Loader Byte Code Verifier CLASS File Java Interpreter How can this be? Traditional environment Java environment Java program code execution Native program code execution Java Virtual Machine Operating system Operating system Java can be invoked efficiently from ILE, and vice versa Java source code and class files are stored in the IFS Multi-language example PTSTSOCKET HOST(PACIFIC6) PORT(1352) If successful, a completion message will be returned Connection successfully obtained to PACIFIC6 on port 1352 Otherwise, an appropriate escape message will be returned Host CAT32 name resolved but no connection was Introduction to iSeries Printing and electronic output © Logicalis Group iSeries Printing and Electronic Output Printer data streams can be simple (SCS) or complex (AFP) Printer attachment can be LPR/LPD, IPP or Intelligent Printer Data Stream (IPDS) R BARLOGO2 AFPRSC('WarringtonMap.jpg' *JFIF + 2.0 1.0 (*PATH '/shawm')) CRTPRTF FILE(SHAWM/BARLOGO) DEV(PDF) DEVTYPE(*AFPDS) USRDFNDTA('MAILTAG(mandy.shaw@notability.com)') CHGPSFCFG PSFCFG(SHAWM/MANDY) PDFGEN(*MAIL) PDFDEVTYPE(*IP40300) PDFPPRDWR1(*A4) PDFPPRDWR2(*A4) STRTFMMGR STRPRTWTR PDF CALL BARLOGO JPEG and TIFF, but not GIF CRTDEVPRT DEVD(PDF) DEVCLS(*LAN) TYPE(*IPDS) MODEL(0) LANATTACH(*IP) AFP(*YES) PORT(5101) FONT(011) RMTLOCNAME('127.0.0.1') USRDFNOBJ(SHAWM/MANDY *PSFCFG) Introduction to iSeries Day-to-day operation, licensed programs, fixes and support, sources of information © Logicalis Group Example iSeries Console Provision - Local V.24 connection Ops Console (async) Ops Console (async) PROD DEV HA Physical control panel Physical control panel Ethernet HMC LPAR management HMC Example iSeries Console Provision - Remote 10/100 Ethernet Remote control panel LAN Console HA DEV PROD HMC LPAR management HMC WebSM Remote control panel Some monitoring tools WRKACTJOB monitors running subsystems and jobs WRKCFGSTS monitors comms lines and IXS/IXA Management Central for performance data collection and performance monitoring WRKSYSSTS to monitor number of jobs in system and auxiliary storage usage Housekeeping Spool files Deleted records in physical files (REUSEDLT(*YES) recommended) ‘Temporary’ objects (savefiles, Queries and outfiles) It is still good practice to IPL the box occasionally PTF downloads: Fix Central Management Central manages the distribution Sources of information iSeries Support area of IBM Web site (excellent PTF download area and much other good stuff) http://www.midrange.com (mailing list and archive) iSeries Network http://www.iseriesnetwork.com (Web version of iSeries News – you need the ProVIP option - ££ but excellent articles, many code downloads, frequently nothing else will do) IBM Infocenter (getting much better) Redbooks on specific technical topics (e.g. single signon) Logicalis IT Forum Introduction to iSeries Communications © Logicalis Group Communications: agenda Ethernet options N.B. 10/100 required for SNA and for LAN Console Virtual LAN WAN connectivity TCP/IP and applications DNS, DHCP, LDAP, SMTP, FTP SSL and Digital Certificate Management Apache, WebSphere Application Server, Tomcat, MQ iSeries Access SNA and applications LU6.2 (APPC/APPN) SNADS DDM and DRDA SNA host connectivity Anynet Application integration using MQSI iSeries GTS iSeries JD Edwards Windows Holland MQ Adapter iSeries DB2 MQ Adapter Windows COGNOS DB2 MQ MQ Broker JDBC MQ Adapter MQ Adapter JDBC DB2 pSeries iSeries Access Windows 5250 Integrated support for 5.7 of Personal Communications Will install on Windows NT 4.0 / 2000 / XP Pro / 2003 Server Will not install on Windows 95 / 98 / Me iSeries Access for Web 5722-XH2 Customise 5250 User Interface Shared Sessions Download from iSeries IFS Send messages Workstations Sametime Short cuts to sessions iSeries Access for Web Non-IP protocols Prefer to FTP for object distribution: store and forward, industrial strength error checking Extraordinarily useful and dead easy!