Introduction to z/OS Basics Chapter 14 WebSphere Application Server WebSphere Application Server on z/OS (Based on Version 5) © 2006 IBM Corporation Chapter 14 WebSphere Application Server Chapter objectives Be able to: List the six qualities of the J2EE Application model Give three reasons for running WebSphere Application Server under z/OS Name three connectors to CICS, DB2, and IMS 2 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Key terms in this chapter cell J2EE CR SR CGI cluster EIS node JMX 3 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Introduction to Web applications on z/OS Past: – Many applications are tied to z/OS (CICS, DB2) – New developments made on other platforms Now: – Integrate both on z/OS 4 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Extending the web server The Application Server has been thought of as an extension to a Web server, consisting of 2 main components A plugin for the Web server (HTTP Server) that will pass the request to the actual Application Server. and The Application Server itself HTTP Server Some Application Servers have built-in HTTP support Application Server Web server plugin 5 © 2006 IBM Corporation Chapter 14 WebSphere Application Server J2EE Application Model in z/OS Same as on other platforms, following SDK: Functional Reliable Usable Efficient Maintainable Portable 6 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Running WebSphere Application Server for z/OS Basics of WebSphere on z/OS Consolidation of workloads WebSphere for z/OS Security Continuous availability Performance 7 © 2006 IBM Corporation Chapter 14 WebSphere Application Server What is an Application Server 8 © 2006 IBM Corporation Chapter 14 WebSphere Application Server J2EE Applications execute in MVS Address Space(s) 9 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Java Virtual Machine in z/OS bytecodes z/OS Java application Address Space Java Virtual Machine JVM bytecodes Shared Java code SAF z/OS UNIX DFSMS net WLM ZFS RACF DB SMH RRS C statements ASCII Shared C code Language Environment Unicode platform specific code (C code) awt This layer has the calls to the C runtime library HFS MVS Dataset UNIX System Services EBCDIC X11 sockets Posix interface C runtime library 10 © 2006 IBM Corporation Chapter 14 WebSphere Application Server JVM in z/OS LE Process Heap Java Threads Java Threads Java Threads LE Enclave C/C++ main routine Java Threads Java Threads Java Threads Subroutine LE Heap Storage Thread stack Thread stack Runtime data area JVM System System System Thread Thread Thread Method area Java program executing in a JVM 11 JVM Enclave specific data Data shared between enclaves Java program and JVM executing in a z/OS LE Environment © 2006 IBM Corporation Chapter 14 WebSphere Application Server Enterprise Application Packaging J2EE Application .EAR file Installed RAR Web Module .WAR file EJB Module .JAR file Enterprise Bean EJB DD Application DD Servlet JSP Client Module .JAR file HTML, GIF, etc. Web DD Client Class Client DD DD = Deployment Descriptor 12 © 2006 IBM Corporation Chapter 14 WebSphere Application Server J2EE Enterprise Application Architecture 2. 1. 3. 5. 4. 13 © 2006 IBM Corporation Chapter 14 WebSphere Application Server WebSphere Application Server for z/OS Organization based on concepts: Servers Nodes (and Node Agents): a logical grouping of WebSphere-managed servers Cells: a grouping of Nodes Within the address spaces, concept of CONTAINER 14 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Basic Model Server Web browser client HTTP Server Application server Application database Admin UI 15 © 2006 IBM Corporation Chapter 14 WebSphere Application Server WebSphere Application Server for z/OS Conform Software Development Kit (SDK) Interoperates with other subsystems Application Server = Instance SR CR CR = Controller Region SR = Servant Region 16 © 2006 IBM Corporation Chapter 14 WebSphere Application Server What is a “Standalone” Server A "Standalone Server" is just that -- a single application server that is not part of a Deployment Manager's cell. The name is a bit misleading because in truth it's also a node and a cell: Single application server Because it's a cell, it has a Daemon There are things it can do and not do: Do Daemon CR Use Admin Console Install/run applications Connect to data resources Use for messaging Server CR SR Not Do A cell, but not an ND cell A node, but not a "managed" Add more servers Span MVS images Cluster Start/stop server from Admin It's a very handy configuration for testing and development purposes ... 17 © 2006 IBM Corporation Chapter 14 WebSphere Application Server WebSphere Base Application Server 18 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Administering a Base Application Server Collection of: Administration Application MVS System or LPAR Cell EAR Daemon CR Node Servlets JSPs HTML pages GIF/JPG images Server CR SR A HTTP Files (XML, properties and application) held in the HFS structure Standard Web Browser HFS Important! ! 19 The administrative application requires that only one "servant" (server region) is spawned. This is due to sharing and locking issues. Administrative application installed using batch process. Thereafter, applications installed using graphical interface of administrative program © 2006 IBM Corporation Chapter 14 WebSphere Application Server Address Space Relationships 20 © 2006 IBM Corporation Chapter 14 WebSphere Application Server HFS under the Base Application Server Node 21 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Small, Separate Environments 22 © 2006 IBM Corporation Chapter 14 WebSphere Application Server 23 © 2006 IBM Corporation Chapter 14 WebSphere Application Server 24 © 2006 IBM Corporation Chapter 14 WebSphere Application Server New Administrative Console Look and Feel 25 © 2006 IBM Corporation Chapter 14 WebSphere Application Server HFS under a Base Application Server Node 26 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Run customized Jobs to create Base App Server 27 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Creating First Base Application Server Node 28 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Base App Server Dialog Main Panel ----------------Option ===> WebSphere for z/OS Customization -----------------Appl: GA Configure base Application Server node Use this dialog to define WebSphere for z/OS variables and generate customization jobs for your installation. Specify an option and press ENTER. HLQ for WebSphere product data sets: WASV5GA 1 Allocate target data sets. The data sets will contain the WebSphere customization jobs and data generated by the dialog. 2 Define variables. Define your installation-specific information for WebSphere customization. 3 Generate customization jobs. Validate your customization variables and generate jobs and instructions. 4 View instructions. View the generated customization instructions. Options for WebSphere for z/OS Customization Variables 29 S Save customization variables. Save your WebSphere customization variables in a data set for later use. L Load customization variables. Load your WebSphere customization variables from a data set. © 2006 IBM Corporation Chapter 14 WebSphere Application Server Single copy of JCL for Multiple Servers //V5ACR PROC ENV=CU1X.NU1.SU1,Z=V5ACRZ V5ACR // SET ROOT='/etc/wasv5' //BBOCTL EXEC PGM=BBOCTL,REGION=0M, // PARM='TRAP(ON,NOSPIE),ENVAR("_EDC_UMASK_DFLT=007") /' //BBOENV DD PATH='&ROOT/&ENV/was.env' // INCLUDE MEMBER=&Z //* //* Output //* //CEEDUMP //SYSOUT //SYSPRINT //* //*Steplib //* //STEPLIB // 30 DDs V5ACRZ DD SYSOUT=*,SPIN=UNALLOC,FREE=CLOSE DD SYSOUT=*,SPIN=UNALLOC,FREE=CLOSE DD SYSOUT=*,SPIN=UNALLOC,FREE=CLOSE Setup DD DISP=SHR,DSN=WASV5GA.SBBOLD2 DD DISP=SHR,DSN=WASV5GA.SBBOLOAD © 2006 IBM Corporation Chapter 14 WebSphere Application Server What was Generated by the Dialog? WASZOS.INSTALL.CNTL (FB) –Installation Jobs –Server runtime procedures WASZOS.INSTALL.DATA (VB) EXECs Configuration files –Misc. jobs & utilities –Instructions BBOCBRAJ BBOCBRAK BBOCTI00 BBODEFR BBODMCCB BBOERRLG BBOINST BBOIPCSP BBOMCFG BBOMCFGU BBOMCFG2 BBOMSGC BBOMSMF BBOPROG BBORRS BBORRSLS BBOSCHED *BBOSSINS BBOTCPIP BBOUNIN BBOWCFRM BBOWCHFS 31 BBOSSINS BBOCCINS BBOWCPY1 BBOWCPY2 BBOWCTR BBOWC2J BBOWC2N BBOWIAPP BBOWIVT BBOWTR BBOW5SH BBO5ACR BBO5ACRZ BBO5ASR BBO5ASRZ BBO5DMN BBO5DMNZ } step by step instructions Input members BBOWBMPT BBOWBOWN BBOWBRAC BBOWCEA1 BBOWCOPY BBOWCPYC BBOWCPYD BBOWCPYM BBOWC2JS BBOWC2NS BBOWE2AS BBOWNODA BBOWSAAS BBOWSCMD BBOWSECA BBOWSEIA BBOWSERA BBOWSOAS BBOWUUID BBOWVAA1 BBOWVAA2 BBOWVAA3 BBOWVIHA BBOWWAPA © 2006 IBM Corporation Chapter 14 WebSphere Application Server Introducing the Deployment Manager The Deployment Manager is a special kind of application server instance. The administrative application runs in the Deployment Manager: MVS System or LPAR MVS System or LPAR DM CR Browser SR A Server_A CR Server_C SR CR Server_B CR SR Server_D SR CR SYSA HFS CF SR SYSB HFS Before the Deployment Manager can manage application servers, those application servers need to be grouped into something called "Nodes" ... 32 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Deployment Manager Node and Address Space Relationship 33 © 2006 IBM Corporation Chapter 14 WebSphere Application Server WAS Network Deployment Overview 34 © 2006 IBM Corporation Chapter 14 WebSphere Application Server 35 © 2006 IBM Corporation Chapter 14 WebSphere Application Server WebSphere on z/OS - continuous availability • Vertical and Horizontal Cluster MVS System or LPAR Daemon Cell A MVS System or LPAR CF CR CR A Node Agent CR SR 36 Node You can not have Server_C be a member of two different clusters, for example. Hybrid of vertical and horizontal is permitted CR Server D CR SR Server E SR Server C CR Node Agent Two or more servers in the same system or LPAR Server B CR Node "Vertical" Cluster Server A CR Any given server may be a member of only one cluster at a time Node DM CR Servers are clustered through the administrative interface. Daemon CR SR Two or more servers across multiple nodes (or systems) Server F SR CR "Horizontal" Cluster SR © 2006 IBM Corporation Chapter 14 WebSphere Application Server WAS Cluster Load Balancing 37 © 2006 IBM Corporation Chapter 14 WebSphere Application Server 38 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Add Servers Through Admin Console The Admin Console -- which runs in the Deployment Manager -- is used to create server. DMGR instructs Node Agent to build server in config HFS. "New" Button Pulldown list of nodes will include those "Managed Nodes" you've already built And then you'll have to do a little "MVS System Programmer work" to put down some security stuff. We'll show you how that's all done later. 39 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Running WAS on z/OS - Performance WebSphere uses three distinct functions of WLM: Routing Queuing Prioritizing 40 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Why WLM . . . WebSphere Application Server Instance SR6 SR5 6 Service Classes: 6 SR4 1 SC=CB05 5 SR3 CR 5 6 4 SR2 2 IIOP IIOP HTTP HTTP 3 SR1 2 1 SC=CB04 SC=CB03 SC=CB02 SC=IWEB01 SC=IWEB01 Mimimum = 1 SC=CB01 3 Maximum >= 6 4 41 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Establish Service Level Objectives for different departments 42 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Application Environments 43 © 2006 IBM Corporation Chapter 14 WebSphere Application Server WAS’ Enclave Characteristics 44 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Sample J C L JTA 45 OTS © 2006 IBM Corporation Chapter 14 WebSphere Application Server SDSF display ‘DA’ 46 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Websphere - R R S / XA OTS is the Object Transaction Service - Provides the framework to run transactions on a single server, or across multiple servers. - It is designed to be interoperable with other OTS components. - Provides very few applicaion level APIs accessible from J2EE components. - Our OTS implementation is z/OS specific and lives entirely in native code. - For more details about what OTS is, see the 3.x and 4.x STE resentations. JTA is the Java Transaction API - For WebSphere on z/OS, JTA sits "on top of" OTS. - It is part of the J2EE specification, and as a result, supports the UserTransaction API for J2EE applications, and other SPIs used by the EJB Container. - Since JTA is java-specific, our java implementation lives mostly in java. JTA is modeled on the XA Specification - XA is an X/Open Group specification which describes how a resource should communicate with a transaction manager. It's standardized through ISO. - JTA includes a mapping of the XA specification (but not a full mapping). - XA support is new for z/OS in 5.0 RRS is a z/OS specific transaction manager - RRS can be though of as an entity which manages resources in a z/OS-specific way. - RRS does not support the XA protocol, but does share some similarities which allow us to merge both RRS and XA resources together in the same transaction. 47 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Intelligent Workload Management 48 © 2006 IBM Corporation Chapter 14 WebSphere Application Server zSeries Differentiation with WAS on Z 49 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Web Servers in v6 Web servers can now be defined in a WebSphere Application Server topology Allows association of the application to one or more defined Web servers – This allows generation of custom plug-in configuration files for a specific Web server Allows administration of the web server via the admin console 50 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Integrated Performance Viewer 51 © 2006 IBM Corporation Chapter 14 WebSphere Application Server wsadmin: How does it work? wsadmin acts as an interface to MBeans (JMX management objects) Objects perform different operations – AdminConfig – AdminApp – AdminControl – AdminTask – Help MBean MBean MBean Script Separation between wsadmin MBean Configuration and Control 52 MBean © 2006 IBM Corporation Chapter 14 WebSphere Application Server wsadmin Examples Installing an application – Using jacl • wsadmin.sh –c “$AdminApp install /tmp/MyApp.ear {-appname MyApp}” – Using Jython • wsadmin.sh –lang jython –c “$AdminApp.install (‘/tmp/MyApp.ear’,’ [-appname MyApp]’ )” Running scripts – Running a jacl script • wsadmin.sh –f appinst.jacl – Running a jython script • wsadmin.sh –lang jython –f appinst.py 53 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Application Server Configuration on z/OS • Base Server Node Cell z/OS functions UNIX System Services TCP/IP FTP RRS Workload Management Language Environment Security Server ARM IMS/TM CICS/TS MQ Location Service Daemon (BBODMNB) Controller Application server node J2EE scalable application server (server1) JMS server HTTP internal transport v5 run-time environment Controller Servant HTTP server 54 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Application Server Configuration on z/OS • Network Deployment Manager Cell Location Service Daemon (BBODMNB) Node 2: Application server Node agent (BBON001) JMS server (BBOJ001) Controller Controller Node 1: Deployment manager Deployment manager (BBODMGR) J2EE scalable application server (server1) Controller HTTP internal transport z/OS functions UNIX System Services TCP/IP FTP RRS Workload Management Language Environment Security Server ARM IMS/TM CICS/TS MQ v5 run-time environment Controller 55 Controller Servants © 2006 IBM Corporation Chapter 14 WebSphere Application Server Connectors for Enterprise Information Systems Some considerations: Expensive Must be secured Need to perform well Must be monitorable Methods needed Quality of devices 56 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Mainframe Connectors CICS Transaction Gateway IMS Connect DB2 JDBC 57 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Basic Architecture of an connector to an EIS z/OS WebSphere Application Server RACF RRS Server A RA C EIS/DB memory to memory C=connector RA=resource adapter 58 © 2006 IBM Corporation Chapter 14 WebSphere Application Server 59 © 2006 IBM Corporation Chapter 14 WebSphere Application Server 60 © 2006 IBM Corporation Chapter 14 WebSphere Application Server 61 © 2006 IBM Corporation Chapter 14 WebSphere Application Server 62 © 2006 IBM Corporation Chapter 14 WebSphere Application Server 63 © 2006 IBM Corporation Chapter 14 WebSphere Application Server 64 © 2006 IBM Corporation Chapter 14 WebSphere Application Server WebSphere on z/OS - continuous availability • WebSphere with Sysplex Distributor SYSPLEX z/OS cluster WebSphere Application Server RA RACF Connection Address space RRS EIS/DB TCP/IP memory to memory SD WebSphere Application Server RA RACF Connection Address space RRS EIS/DB z/OS 65 © 2006 IBM Corporation Chapter 14 WebSphere Application Server 66 © 2006 IBM Corporation Chapter 14 WebSphere Application Server 67 © 2006 IBM Corporation Chapter 14 WebSphere Application Server 68 © 2006 IBM Corporation Chapter 14 WebSphere Application Server JDBC Drivers 69 © 2006 IBM Corporation Chapter 14 WebSphere Application Server JDBC Drivers for zOS 70 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Connectivity for a Local DB2 71 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Connectivity for a Remote DB2 72 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Local T2 Connection / Remote T4 Connection 73 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Connectivity Options 74 © 2006 IBM Corporation Chapter 14 WebSphere Application Server VSAM Connector for z/OS Puts VSAM Data into the WebSphere Picture 75 © 2006 IBM Corporation Chapter 14 WebSphere Application Server 76 © 2006 IBM Corporation Chapter 14 WebSphere Application Server 77 © 2006 IBM Corporation Chapter 14 WebSphere Application Server 78 © 2006 IBM Corporation Chapter 14 WebSphere Application Server 79 © 2006 IBM Corporation Chapter 14 WebSphere Application Server Summary In this chapter, you learned to: – List the six qualities of the J2EE Application model – List three reasons for running WebSphere Application Server under z/OS – Name three connectors to CICS, DB2, and IMS 80 © 2006 IBM Corporation