300 likes | 508 Views
Chapter 14b: z/OS WebSphere Application Server. Chapter 14b 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. cell CR CGI EIS JMX. J2EE
E N D
Chapter 14b 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
cell CR CGI EIS JMX J2EE SR cluster node Key terms in this chapter
WebSphere Application Server (WAS) for z/OS • Combining Industry Leading SOA Runtime and z/OS to Deliver Superior Customer Value • WAS is a cross platform product The Industry's leading application server for building, running & managing business-critical application services • All application interface functions and features are available on all platforms • Benefits include common programming model, common administrative functions, etc. • The difference is in the WAS and z/OS platform integration • WAS specifically leverages z/OS and Sysplex capabilities • … In an application-transparent fashion
Integrated into the operating environment WebSphere Application Server for z/OS • Replicated Server cluster architecture leveraging shared data for scale and availability • Optimal access to existing assets through Workload Manager • No single points of failure, integrated with z/OS recovery mechanisms • Integrated with local SAF security, application isolation for additional integrity • Integrated with z/OS automation capabilities for superior manageability • Comprehensive and recoverable transaction management leveraging RRS and System Logger • SMF-based comprehensive reporting for capacity chargeback and diagnosis Hardware, operating system, and middleware working together to bring true 99.999% application availability to your business critical services.
Cross Platform Common Elements WebSphere Application Server for z/OS JSP WS Session Entity • Common Programming Model • Application Touch Interface • Security Facilities Servlet Engine JSP Web Services Commands XSL Naming JTS Web Container EJB Container Web Container Collaborator EJB Container Collaborator Web Container Activity Service JavaMail Connection Mgr JCA XML Parser Concurrent Function and Service Delivery RAS Web Services Engine Fragment Cache BSF Persistence HTTP Session Manager Data Cache Command Cache Dyna Cache Data Replication Workload Manager UDDI Thread Local Alarm Manager Thread Pools Classloader Systems Management Configurations Monitoring Scripting Tooling Communications Layer HTTP SIP Channel Frmt IIOP JMS Security (Authentication, Authorization, Registry, ….) Systems Management (Java EE Deployment, Business Level Applications, Ops Management, Problem Management, Performance Management, JMX, WCCM) JDK Libraries (Security Manager) JVM Common across platforms Optimized for z/OS
Server Architecture Control/Servant Region Split Workload Management Leverages Workload Manager Security Use of the Security Authorization Facility Transaction Management Leverages Resource Recovery Services Connectors Leverages available local (Type 2) connectors Thread Management OS level threads for monitoring and control Scalability Multiple Servant Region Communications layer True Asynchio model Recovery Leverages Automatic Restart Manager Reporting System Management Facility WebSphere Application Server for z/OS Integration maintains application transparency JSP WS Session Entity Servlet Engine JSP Web Services JTS Commands XSL Naming Web Container EJB Container Web Container Collaborator EJB Container Collaborator Web Container JavaMail Activity Service Connection Mgr JCA XML Parser RAS Persistence Web Services Engine BSF Fragment Cache HTTP Session Manager Command Cache Dyna Cache Data Cache Data Replication Workload Manager Thread Local Alarm Manager Thread Pools UDDI Classloader Communications Layer Channel Frmt IIOP JMS HTTP SIP Security (Authentication, Authorization, Registry, ….) Systems Management (Java EE Deployment, Business Level Applications, Ops Management, Problem Management, Performance Management, JMX, WCCM) JDK Libraries (Security Manager) JVM Optimized for z/OS Common across platforms
Business Logic Runtime Structure WebSphere Application Server for z/OS • To best leverage platform capabilities, server consists of multiple processes • Control: Control-related processes • authorized, recoverable address spaces • Entry points for communication protocols • Servant: Business logic-related processes • Execute application code (i.e., ‘does work’) • Work is distributed via WLM queue • 1 or more • Handle Different Priorities of Work • Can be terminated or created without interrupting the overall end-user experience • Dynamically created or destroyed based on user-defined service policies • There can be multiple servers on a single z/OS image WebSphere Application Server on z/OS Communication Endpoints/ Control Business Logic Servant
WebSphere Application Server for z/OS and WLM • WebSphere Application Server on z/OS leverages four key capabilities of WLM to support the business goals of diverse workloads • Routing • Work is distributed among multiple execution processes • Queuing • Work that cannot be distributed waits until a execution process is available • Prioritizing • Higher priority work can be distributed before lower priority work • Managing • Starts and Stops execution processes as needed (to scale, for failure recovery, etc).
Data Collection via System Management Facility WebSphere Application Server for z/OS • Data accumulated in a z/OS Dataspace • Server Data • Application Data • Two types of records written • Detailed record written when activity completes • Summary record written at defined intervals • Information used for • Capacity planning • Chargeback accounting
Transaction Management via RRS WebSphere Application Server for z/OS The z/OS Resource Recovery Service Provides 2-Phase-Commit for processes engaged in a global transaction RRS IMS MQ WebSphere DB2 • Application Server uses RRS to manage the transaction state • Local Connections: RRS manages transaction flows • Example: Type 2 JDBC driver is a local connection • Remote Connections: XA technology transaction flows are used • Example, Type 4 JDBC driver is a remote connection that could support XA
High Availability WebSphere Application Service for z/OS Sysplex Distributor • Intelligent routing to LPAR’s via WLM and the Sysplex Distributor • If a control process fails, the Sysplex Distributor would route work to the other control process. • ARM detects that the controller failed and restarts it. IRD LPAR1 LPAR2 Logical SYSD SYSE SYSA SYSB CPUs Physical CPUs
Business Logic Data Logic Dislocation: What happens when logic and data are separated? • Objects are converted into byte array at the requester (CPU, time) • Network latency is incurred (time) • More latency is incurred as service is dispatched(CPU, time) • Objects are reconstructed at the server(CPU, time) • Requested data is retrieved • Objects are converted into byte array at the server(CPU, time) • Network latency is incurred (time) • Objects are reconstructed at the requester(CPU, time) Some other considerations: • Number of interactions between the tiers, volume of data passed • No local optimizations of the access protocol • Effect on server memory requirements due to locking DB2
Presentation Logic Presentation Logic Business Logic Business Logic Avg CPU time per trx (ms) Avg CPU time per trx (ms) 2.64 11.73 Amount of data xfrd per trx (KB) Amount of data xfrd per trx (KB) Data Logic Data Logic 0.5 54.4 Proximity Value: Transportation Industry POC DB2 • Effect of refactoring business logic to be co-resident with z/OS data: • Average CPU time per EJB transaction was reduced by over 77% • Number of bytes of data transferred per EJB transaction was reduced by 99% http://www.ibm.com/support/techdocs, Optimizing WebSphere Performance on DB2, WP100558
Proximity Performance Benefits • High Availability (HA) benefits • Fewer tiers to HA enable and manage • Proven Parallel Sysplex HA enablement • Parallel Sysplex exploitation by all program products • Simplified recovery procedures • Faster restart times • Operating system service (ARM) for system restart • Performance benefits* • No network time • No product specific network protocol construction / deconstruction • DRDA (DB2) • CICS Transaction gateway (CICS) • RMI / IIOP (IMS & J2EE) • Reduced CPU utilization • High speed access to cache without network • Parallel Sysplex infrastructure infrastructure for DB2, CICS, IMS, MQ • Guaranteed integrity and currency of data (Pessimistic data access) • Improved two phase commit performance *Local (Type 2) connectors within a system image
Qualities of Service Benefits from Proximity Security benefits • Single security authority for authentication and authorization • Simplified Compliance Certification and Analysis (SOX, HIPAA, etc) • Tight integration of WebSphere and RACF via Security Authorization Facility (SAF) • End user authentication for authorization and auditing throughout the architecture • No network between tiers • Reduced Opportunity for intercepting transmissions ( • No need to encrypt data or tunnel between tiers • Management benefits • Fewer components to manage • Hardware servers • Network Infrastructure • Operating Systems • System z Platform Scalability • Vertical (Up to 32 CPU per image) • Horizontal Scalability (Parallel Sysplex) • Smaller Physical Footprint and resource utilization • Single end to end management interface / console for all products within the architecture • WebSphere cross platform administrative interface • z/OS Console, System Management Facility
WebSphere Application Server v7.0 (3Q 2008) z/OS Key Differentiation • Standards Currency • Standards currency with Java EE 5, including EJB 3.0, enhances productivity and ease of use. • New JDK 6 for improved performance and reduced footprint. • Enhanced Web services standards. • Consumability, Simplicity and Performance Improvements • Flexible systems management options. • Enhanced diagnostic tools that help pinpoint problems. • Security enhancements. • New virtual image delivery option. • Tight integration across the WebSphere family of products improves ROI . • New Application Types and Workloads • Improved performance, scaling and reliability. • Reduced cost of managing and administering large numbers of individual servers. • Performance • Improvements in response time for static and dynamic content with Fast Response Cache Acceleration first availability in z/OS 1.9. • Increased application runtime performance with focused analysis and code path improvement effort for JEE, Web Services and Connectors. • High Availability and Reliability • High Availability Manager based on Cross-System Coupling Facility (XCF). • Thread Hang Recovery improves server reliability and performance. • Consumability and Usability • Redesigned data collection facility to improve chargeback capabilities. • More unified install and configuration tasks (load modules in HFS). Open Beta is now available from WebSphere Software Early Programs website at:www14.software.ibm.com/iwm/web/cc/earlyprograms/websphere.shtml
Caching • What is caching, and why do I care? • Caching is a way to use memory to save CPU or processing time • Studies have shown that use of memory as a cache can have a big impact on throughput and response time of a server for e-business workloads • http://www.ibm.com/developerworks/websphere/techjournal/0405_hines/0405_hines.html • Caching is used today in multiple places within a configuration. • WebSphere Application Server • Dynacache provides ability to cache Servlets/JSPs, commands, and Web Services responses • Dynacache supported on all platforms • IBM HTTP Server • Caches static files • Supported on all platforms
Business Logic Business Logic Data Logic Data Logic Fast Response Cache Acceleration (FRCA) Support Before: DB2 HTTP Server WAS plug-in WAS 6.1 • What It is? • FRCA is integrated caching technology in the z/OS TCP/IP stack • FRCA is supported by the IBM HTTP Server, but only for static content • WAS 7.0 supports direct exploitation of FRCA in conjunction with existing Dynacache capability • FRCA holds static pages and dynamic content such as servlets and JSPs • Customer Value • Improved response time on web requests • Reduced CPU load • Initial prototype shows significant improvement over dynamic cache • Simplified administration Dynacache Web Request TCP/IP z/OS FRCA After: DB2 WAS 7 Dynacache Web Request TCP/IP z/OS FRCA
High Availability Manager Based on Heartbeats • High Availability Manager (HAM) • A function within the WebSphere Application Server. • It detects when a member within the cluster has failed, and takes recovery action. • High Availability Manager was originally implemented using TCP/IP heartbeats • For effective detection of a failure, heartbeats need to be regular & frequent • the longer the time between heartbeats, the longer it takes to detect a failure • Heartbeats consume resources even when the server is idle • Heartbeats consume more resources as the topologies scale up • Reducing the impact of the High Availability Manager • Turn off HAM when not needed, • However, certain Application Server functions do require that HAM be active, e.g. Data Replication Services • Offer a more efficient failure detection methodology • Use the z/OS Sysplex service called Cross System Coupling Facility (XCF) • Uses notification rather than heartbeats which requires less overhead • XCF sends notification to group members when there is a change in member status
High Availability Manager Based on XCF • What It Is • WAS Distribution and Consistency Services (DCS) • Distribution of information among a set of members who belong to groups • Failure detection of said members/groups • Forms the infrastructure utilized by the High Availability Manager • DCS can optionally use XCF or Heartbeats • High Availability Manager on z/OS starting in Version 7 • Can continue to use Heartbeats • Can optionally use XCF when all members are at Version 7 • Customer Value • XCF also provides superior solution for recovery • Reduced CPU consumption
Thread Hang Recovery on z/OS • What is thread hang recovery, and why do I care? • Thread hang recovery is a new feature of WAS on z/OS that provides an infrastructure to “shake loose” a thread that is hung • This means that server resources will not be drained, and a server recycle can be avoided. • Server continues to operate normally • Other “innocent” work in the server is not affected • Thread hang recovery also includes a mechanism to attempt to stop a “runaway” thread • “Run-away” threads are worse than “hung” threads in that they not only hold resources, but eat up CPU cycles as well. • The same recovery actions apply to these as well.
Business Logic Business Logic Business Logic Business Logic Thread Hang Recovery • What It Is • Mechanism to interrupt errant applications and return thread to take new work from queue • Other work continues WebSphere Application Server • Customer Value • Improved Failover/ recovery • Improved Reliability • Improved performance • avoid starting replacement process
Charge Backs • What are charge backs and why do you care? • Businesses are usually organized as units each with a focus on different aspects of the business, and as such, run different workloads • Each workload associated with a business unit uses IT resources which impacts the IT budget • As SOA principles and virtualization techniques come into play, resources are less and less dedicated to specific workloads and business units • In these shared multiple workload system environments, the ability to understand what workload is using which resources is key to calculating the cost to run the business unit. • The cost of the resources used can be “charged back” to the business unit receiving the benefit to ensure an accurate business view • Being able to easily collect charge back data reduces the overhead of the basic processing required to run a large business
Summary - Unique Features WebSphere Application Server for z/OS • z/OS platform • Large-scale transaction processing • Thousands of transactions per second • Support thousands of users and application programs, Simultaneously accessing resources • Terabytes of information in databases • Large-bandwidth communications • z/OS Work Load Manager (WLM) – superior performance management • Priority based - CPU, memory, I/O, routing, reporting • RRS – platform 2 phase commit - local high speed transaction management • System Logger – for transactions and Sysplex wide error log • SAF – Exploitation of z/OS security • ARM – Automatic Restart Manager • Isolation and scale – Control Region/Servant Region split
Summary - Unique Features WebSphere Application Server for z/OS • Performance and Scale • HW cryptography – JCE and system SSL • Scalable network interfaces - Asynchio • New z10 HW instructions – Just in Time compiler (JIT) • zAAP – special CPU for Java workloads reduces software costs • Operational Consistency • RAS – SVC dumps, java tdumps, ctrace, IPCS formatters • Console commands and messages • Log messages for automation • SMF records for capacity, chargeback and diagnosis • Sysplex – z/OS shared data cluster • DB2 datasharing, MQ datasharing, IMS, CICS, zFS (Unix file system) • High performance notification and messaging • Stateful workload placement and routing • Capacity (Sysplex Distributor) and health based routing • VIPA – (network routing)