SWG Competitive Project Office Introduction to IBMs Web
SWG Competitive Project Office Introduction to IBM’s Web. Sphere Application Server on System z Platform
Trademarks The following are trademarks of International Business Machines Corporation. ACF/VTAM Enterprise System/4381 AD/Cycle Enterprise System/9000 ADSM Enterprise Systems Connection Architecture Advanced Function Printing ES/3090 AFP ES/4381 AIX* ES/9000 AIX/ESA ESA/370 AOEXPERT/MVS ESA/390 Automated Operations Expert/MVS ESCON CICS/ESA FASTService* Data. Hub Flow. Mark DATABASE 2 Hardware Configuration Definition Data. Trade Hiperbatch DB 2* Hipersorting* DFDSM Hiperspace DFSMS IBM* DFSMS/MVS IBM S/390 Parallel Enterprise Server DFSMdfp IBM S/390 Parallel Enterprise Server - Generation 3 DFSMSdss IMS/ESA DFSMShsm LANRES DFSMSrmm Micro Channel* Distributed Relational Database MQ Series Architecture MVS/DFP DRDA MVS/ESA Enterprise Systems Architecture/370 Net. View* Enterprise Systems Architecture/390 NQS/MVS Enterprise System/3090 OPC Open Blueprint Open. Edition* OSA 1 OSA 2 OS/2* OS/390 OS/400* Parallel Sysplex Power Prestige PR/SM PS/2* Processor Resource/Systems Manager RISC System/6000 S/360 S/370 S/390 SAA SAP R 3 Sysplex Timer System/370 System/390 Systems Application Architecture* System. View VM/ESA VSE/ESA VTAM 3090 Note: Performance is in Internal Throughput Rate (ITR) ratio based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput that any user will experience will vary depending upon considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve throughput improvements equivalent to the performance ratios stated here. Actual performance and environmental costs will vary depending on individual customer configurations and conditions. Note: IBM hardware products are manufactured from new parts, or new and used parts. Regardless, our warranty terms apply. z. CPO z. Class Introduction to z/OS 2
What is Web. Sphere? The list is constantly changing! n n It’s not a single product, it’s a Brand, like Tivoli There are multiple products under the Web. Sphere Brand. They tend to fall into 5 categories u Development Tools i. e. − RAD - Rational Application Developer (follow-on to Visual. Age for Java and Web. Sphere Studio, including Web. Sphere Studio Application Developer) − WID - u u Web. Sphere Application Servers i. e. − Base Server – Express − Web. Sphere Application Server Network Deployment − Web. Sphere Application Server e. Xtended Deployment Web. Sphere Application Server Extensions these are installed into or on top of the application server i. e. − Web. Sphere Business Integration Server Foundation now Web. Sphere Process Server − Web. Sphere Commerce Suite − Web. Sphere Portal Server Integration or Connector Components i. e. − Web. Sphere MQ − Web. Sphere Enterprise Service Bus (ESB) − Web. Sphere Broker Management and analysis tools i. e. − Web. Sphere Studio Application Monitor − Web. Sphere Studio Workload Simulator z. CPO z. Class Introduction to z/OS 4
What’s an Application Server? n An Application Server usually supports the following u Common programming model based on a standard u Platform neutral application programming u JAVA based execution model, interpreted, using a JVM n Some Available Application Servers u IBM Web. Sphere Application Server u BEATM Web. Logic u i. PLANETTM u Others: Tomcat, JRUN, JSERV etc. A Web server is not an Application Server z. CPO z. Class Introduction to z/OS 5
Web. Sphere Application Server Runs as a threaded model n Supports a component based architecture u Servlets - Base component that extends a specific Java class HTTP Servlet. All HTTP requests will be initially processed by a Servlet or a JSP. Should contain minimal business logic. Acts as a controller to call EJB's and JSP's u Java Server Pages (JSP's) - The component that is used to dynamically build the data sent back to the requester. This is usually dynamic HTML u Enterprise Java Beans (EJB's) - The component where the business logic and data access is contained. There are three main types of EJB's n − Session Beans • Can be stateful or stateless − Entity Beans • Can use container managed persistence (CMP) or bean managed persistence (BMP) − Message Driven Beans • Get and process JMS messages from a queue u These components run in containers. Servlets and JSP's in a Web container and EJB's in an EJB Container z. CPO z. Class Introduction to z/OS 6
Extending the Web server §The Application Server was originally 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 Some Application Servers have builtin HTTP support HTTP Server Application Server Web server plugin z. CPO z. Class Introduction to z/OS 8
HTTP Server plugin § This plugin is usually a. dll or. so file § It is included in the webserver's configuration file as a plugin § It usually has it's own configuration, located in a file or some other location. § It runs just like an API application in the HTTP server, but the vendor you get it from should support any problems. § Performs some very specific functions for the Application Server, as an example § Load balancing across multiple App Servers § Enforcing Server affinity § Routing requests based on URL HTTP Server Application Server Webserver plugin z. CPO z. Class Introduction to z/OS 9
Application Server §Usually* runs as a separate process either on the same machine as the web server or on a different machine ƒ Can be one or more processes depending on how it was setup. §Plugin can communicate with the Application Server using several protocols depending on the Application Server vendor ƒ IBM uses HTTP and HTTPS. §Application Server uses a Java. TM environment to run the executables. ƒ Interpretive model. –Needs a Java runtime environment (JRE) or Software Development kit (SDK) –Key element is Java virtual machine (JVM), the interpretive runtime §The Application Server runs components as threads in the Application Server. Machine 2 HTTP Server Application Server Web server plugin Machine 1 *The original Servlet Express and Web. Sphere Application Server Standard Edition for OS/390 ran in the same address space as the HTTP Server z. CPO z. Class Introduction to z/OS 10
Standards are key to platform neutral code n J 2 EE ™ (Java 2 Enterprise Edition) is the main standard all Application Servers are measured against n Standard currently supported in Web. Sphere Application Server u V 5 - J 2 EE 1. 3 u V 6 - J 2 EE 1. 4 u Components that make up the J 2 EE standards also have version numbers (just to confuse you) n − Servlets − JSP's − EJB's (including Message Driven Beans) u Others, Java Mail, Java Messaging Service etc. n Standards maintained by Sun with many companies contributing z. CPO z. Class Introduction to z/OS 11
What's in J 2 EE §Components ƒ These are Servlets, JSP's and EJB's with other Java classes as helpers and utilities. These are executable. §Containers ƒ This is where the components are executed. There are two types of containers, Web containers (where servlets and JSP's are executed) and EJB containers (where EJB's are executed). A container on z/OS is not an address space. You can have both a Web container and an EJB container in the same server address space. The difference is the services available to the component. §Connectors ƒ These are the adapters a developer uses to get to databases and transactions. They include the CICS Transaction Gateway, IMS Connect, JDBC drivers, and JMS. In the past there were the CCF Connectors (Common Connector Framework) for Servlets. The J 2 EE standard now includes the J 2 CA (J 2 EE Connector Architecture) connectors. z. CPO z. Class Introduction to z/OS 12
J 2 EE Programming Model NOTE: VSAM Connector for z/OS Puts VSAM Data into the Web. Sphere Picture z. CPO z. Class Introduction to z/OS CICS Transaction Gateway IMS Connect DB 2 JDBC … Other Connectors 13
Application Servers connect to Data Bases n Directly Accessing Databases using JDBC u Vendor Neutral interface u Requires a JDBC driver − DB 2 (Type 2 or Type 4, Local vs. remote) − Oracle − Merant n Access u J 2 EE transactions (Local or remote) Model − J 2 EE Connector Architecture Connectors (IMS Connect, CICS Transaction Gateway) now JCA − JMS (Java Message Service) z. CPO z. Class Introduction to z/OS 14
Understanding the Transition The J 2 EE space is introducing many new acronyms and concepts, but many have parallels to those environments you are used to. n CICS applications have an entry point Usually a (Terminal Owning Region or TOR), 3270 screens (using BMS maps), and services to support file access (File Owning Regions). These modules or components run within CICS Regions that manage the environment. n REXX End User Applications on z/OS normally use ISPF Screens for display and ISPF Dialog Manager to display the screens and to put data into them. They also use EXECIO for file IO and other connectors to do DB 2 and CICS. n The following foils are meant to provide a bridge in understanding Web. Sphere. They are not meant to compare the capabilities of CICS or REXX/ISPF to Web. Sphere z. CPO z. Class Introduction to z/OS 16
Traditional CICS Application 3270 TOR App 1 Scr 1 VTAM AOR App 1 Scr 1 Fn 1 DB 2 Fn 1 CICS q. TOR - Terminal Owning Region q. AOR - Application Owning Region q. App 1 - Main Application module q. Fn 1 - Business Logic Module q. Fn 2 - Data Access Module q. Scr 1 - Presentation Screen module BMS mapping q. TOR Region owns the connection to the 3270 q. AOR Region is where the application (transaction) runs, Application is broken up into separate modules and connected using DLP calls, z. CPO z. Class Introduction to z/OS 17
Web. Sphere Application 3270 Browser Controller TOR Servant AOR Fn 1 App Servlet EJB 1 Scr 1 JSP TCP/IP Fn 2 EJB Servant AOR Fn 1 Servlet EJB App 1 JSP Scr 1 DB 2 Fn 2 EJB Web. Sphere CICS q. Controller TOR - Terminal Owning Region AOR - Application q. Servant Owning Region q. Servlet q. App 1 - Main q. JSPJava Server Application module Page q. Fn Business Logic q 1 EJB Module q. Session q. Fn 2 -q Data Access Entity Module q. MDB q. Scr 1 - Presentation Screen module BMS mapping q. Controller is the entry point, from Browsers or other Clients q. Servant is where the actual application and executables are run q. Application is composed of components which use standard J 2 EE interfaces to communicate z. CPO z. Class Introduction to z/OS 18
Analogies with CICS Application n TOR-Terminal Owning Region => Web. Sphere Controller u This is where Web. Sphere handles the incoming protocol. This can be: − HTTP/HTTPS - Normal browser traffic, customers are now doing XML over HTTP by having an application simulate a browser − IIOP - For remote EJB execution − JMS Java Message Service - For Message driven beans n AOR-Application Owning Region => Web. Sphere Servant n CICS Main Application => Java Servlet n Modules for Business Logic or Data Access => EJB n BMS Map => Java Server Page z. CPO z. Class Introduction to z/OS 19
J 2 EE Applications execute in MVS Address Space(s) z. CPO z. Class Introduction to z/OS 20
Java Virtual Machine in z/OS z. CPO z. Class Introduction to z/OS 21
JVM in z/OS LE z. CPO z. Class Introduction to z/OS 22
Web. Sphere Application Server for z/OS Optimized for z/OS u That's why it requires RRS, Logger, WLM Goal mode n SMP/E installed with an ISPF dialog for the install customization n Multiple processes (address spaces) u Base Server n − Control Region - distributes the work among server regions − Control Region Adjunct − Servant Region - does the actual work, Has 2 types of containers, a Web Container and an EJB Container running in the same address space u Other Daemons for control, including a Server instance for the Deployment Manager n Does not run under the USS Shell but does use some Unix System Services n Configuration is performed with an administrative console (browser based) or script (JACL, Python) z. CPO z. Class Introduction to z/OS 25
Basic Operation on z/OS n HTTP Traffic using a Web server on z/OS or another platform u u u The client Request comes into the HTTP Server and is processed by the WAS Plugin The WAS Plugin redirects the request to Web. Sphere using HTTP A Control Region in Web. Sphere receives the request and puts the request on a Workload Manager queue A Servant Region takes the request off the queue and starts the requested Servlet or JSP The response is passed back through the Web server and to the client n HTTP Traffic using the HTTP Transport u u The request comes directly into the Control Region and is placed on the WLM queue and processed exactly like the above HTTP method The HTTP Transport is not a full Web server and there is usually a full Web server that acts as a proxy to get the request to the HTTP Transport n IIOP Traffic u u u The client request is usually an RMI (remote Method Invocation) over IIOP to an EJB The Request comes directly into a Controller and is placed on a WLM queue A Servant Region takes the request off the queue and starts the EJB requested and the results are returned to the client n JMS Traffic u u The client puts a message on a message queue The Control Region Adjunct (in WAS 6) connected to the message queue places the message on a WLM queue A Servant Region takes the message off the queue and invokes an MDB EJB. Results are not necessarily returned to the client z. CPO z. Class Introduction to z/OS 26
Basic Runtime Structure on z/OS (5. 0 and previous) §The basic execution environment for Web. Sphere on z/OS is a server. A server is a Controller/Servant configuration. Each is an address space ƒ ƒ ƒ For every Controller is one or more Servants The Controller is the protocol entry point. Multiple protocols are supported: HTTP, HTTPS, IIOP and JMS. The Servant is where the components execute With a WLM Queue between them There can be multiple servers on a single z/OS image Server Control Region S WLM Queue S E J S E S J E J Servant Region Containers z. CPO z. Class Introduction to z/OS 27
Basic Runtime Structure on z/OS (6. 0) §The basic execution environment for Web. Sphere on z/OS is the same, with the addition of a Control Region Adjunct server. CRJ acts as the listener for MDB’s, moved from the Control Region ƒ Feeds messages to the Servent regions ƒ Server Control Region S WLM Queue S J E J S Control Region Adjunct E E S J E J Servant Region Containers z. CPO z. Class Introduction to z/OS 28
Scaling REQUEST Network Workload Manager S WLM Queue Locks J E J WAS Servers CICS IMS DB 2 Directory S S E J Cache E Containers S E J Controller Servants Network services Sysplex services z/OS Coupling Facility Web. Sphere Application Server is fully Sysplex-enabled You can have one or more Controller/Servant configurations setup on each z/OS image in a Sysplex. z. CPO z. Class Introduction to z/OS 29
Transaction flows in WAS on z/OS n HTTP Traffic using a Web server on z/OS or another platform u u u n HTTP Traffic using the HTTP Transport u u n The request comes directly into the Control Region and is placed on the WLM queue and processed exactly like the above HTTP method The HTTP Transport is not a full Web server and there is usually a full Web server that acts as a proxy to get the request to the HTTP Transport IIOP Traffic u u u n The client Request comes into the HTTP Server and is processed by the WAS Plugin The WAS Plugin redirects the request to Web. Sphere using HTTP A Control Region in Web. Sphere receives the request and puts the request on a Workload Manager queue A Servant Region takes the request off the queue and starts the requested Servlet or JSP The response is passed back through the Web server and to the client The client request is usually an RMI (remote Method Invocation) over IIOP to an EJB The Request comes directly into a Controller and is placed on a WLM queue A Servant Region takes the request off the queue and starts the EJB requested and the results are returned to the client JMS Traffic u u The client puts a message on a message queue The Control Region Adjunct (in WAS 6) connected to the message queue places the message on a WLM queue A Servant Region takes the message off the queue and invokes an MDB EJB. Results are not necessarily returned to the client z. CPO z. Class Introduction to z/OS 30
Security – WAS on z/OS Traditional security model u You have a userid that is connected to one or more RACF groups u Logon with userid and have access to applications and resources based on userid and group u Batch jobs or subsystems run under Service id’s n Web. Sphere security model u Control Region runs as key 0, Servant Region runs at Key 8. Servers run under a service id, but requests can be switched to other ids. u Access can be controlled at the level of a component or specific methods within the component − Might have authority to account. get. Balance() but not account. make. Withdrawal() u Access is based on Roles − Roles are like RACF groups, each user could be in one or more roles − Principals are like userids • Each request has a “Subject” containing one or more “Principals” • A Principal contains information about caller's identity • Could be non-RACF as well as RACF identity − Works even if end user has no principles u Not the same as an ACEE − ACEE still controls access to non-Java resources (like datasets) n z. CPO z. Class Introduction to z/OS 31
Depth of Security Options z. CPO z. Class Introduction to z/OS 32
Web. Sphere Application Server for z/OS Organization based on concepts: n Servers n Nodes (and Node Agents): a logical grouping of Web. Sphere-managed servers n Cells: a grouping of Nodes Within the address spaces, concept of CONTAINER z. CPO z. Class Introduction to z/OS 33
Basic Model z. CPO z. Class Introduction to z/OS 34
Web. Sphere Application Server for z/OS Software Development Kit (SDK) n Interoperates with other subsystems n CR = Controller Region SR = Servant Region z. CPO z. Class Introduction to z/OS 35
What is a “Standalone” Server z. CPO z. Class Introduction to z/OS 36
Web. Sphere Base Application Server z. CPO z. Class Introduction to z/OS 37
Administering a Base Application Server z. CPO z. Class Introduction to z/OS 38
Address Space Relationships z. CPO z. Class Introduction to z/OS 39
HFS under the Base Application Server Node z. CPO z. Class Introduction to z/OS 40
Small, Separate Environments z. CPO z. Class Introduction to z/OS 41
z. CPO z. Class Introduction to z/OS 42
z. CPO z. Class Introduction to z/OS 43
WAS Cluster Load Balancing z. CPO z. Class Introduction to z/OS 45
Cluster WAS w/LPAR Cluster & Sysplex z. CPO z. Class Introduction to z/OS 46
Don’t Forget the z. AAP! z. CPO z. Class Introduction to z/OS 49
Thanks! The End
- Slides: 42