WebSphere Application Server for z/OS

8 downloads 135 Views 387KB Size Report
2009 IBM Corporation. WebSphere Application Server for z/OS. 2. Application Serving: the Basics. What is an application server? Operating System. Application ...
Martina Schmidt [email protected]

WebSphere Application Server for z/OS

© 2009 IBM Corporation

WebSphere Application Server for z/OS

Application Serving: the Basics What is an application server? An application server is middleware designed as a fully functioning deployment platform for applications. WebSphere Application Server is built on J2EE technology and provides:  Web services

 Connection Mgmt

 JCA Connectors to EIS

 Communications

 J2EE artifacts

 High Availability

 Embedded messaging

 Security

 Distributed caching

 Systems Mgmt

 Transaction management

 etc…

Application

Application

Application

Service

Service

Service

Application Server Operating System

 Workload management

It also shields applications from platform specifics and allows the application designer to focus on Business Logic 2

© 2009 IBM Corporation

1

WebSphere Application Server for z/OS

Application Serving: the Basics J2EE Application Model

Components  Fokus der Anwendungsentwickler, EJBs, Servlets, JSPs und Clients  Verhalten der einzelnen Komponenten kann beim Deployment spezifiziert werden, anstatt im Programmcode Container  Stellen den Komponenten transparent Services zur Verfügung, wie z.B. Transaktionalität oder Resourcenpooling  Container und Connectors verbergen Komplexität und begünstigen Portabilität Connectors  Definieren portable Service APIs, um sich an existierende Anwendungen anzustecken  Begünstigen Flexibilität, da sie eine Menge von Implementierungen von spezifischen Services ermöglichen

Components

Container

Connectors

3

© 2009 IBM Corporation

WebSphere Application Server for z/OS

Application Serving: the Basics Typical Deployment Web servers provide static content and support basic application front-end functions Firewall

Firewall

Browser

Web Server

Internet

Internet DMZ

Application Server

Internal Network

Network firewall, often specialized hardware 4

Business applications, data access, integration

Often a software firewall © 2009 IBM Corporation

2

WebSphere Application Server for z/OS

Application Serving: the Basics J2EE Application Server Legacy Application

Applet Container J2SE

J2EE Application Server Web Container

EJB Container

Servlet Web Browser

EJB

JSP

Application Client Container

J2EE

J2EE

J2SE

J2SE

J2SE

Database

5

© 2009 IBM Corporation

WebSphere Application Server for z/OS

Application Serving: the Basics The WebSphere Application Server Family Summary Ultimate scalability & performance; functional depth & breadth

Customer Needs

Multiple Business Models, Multiple Deployments Options

WebSphere Application Server for zOS

WebSphere Application Server Network Deployment WebSphere Application Server WebSphere Application Server - Express

Reduced acquisition costs; Small footprint..

WebSphere Application Server Community Edition

Fast deployment of single app; low transaction volumes… 7

Built on common WebSphere code Built on open source technology

Capabilities

High transaction volumes, High Availability, Advanced Web Services… © 2009 IBM Corporation

3

WebSphere Application Server for z/OS

Application Serving: the Basics WebSphere Application Server Services User Devices

Enterprise Infrastructure

Enterprise Assets

WebSphere Application Server Browser Web Container HTML

Java Server Pages

HTTP

Java Applet

HTTP

Java Servlets

Session Beans

Desktop

SOAP

.Net Application

Java Ápplication

Java Application

IIOP

Java Applications

JCA JMS SOAP

(Packaged or Custom)

Non-Java Applications

IIOP

Other Devices .Java Client

Enterprise Integration Framework

EJB Container

Java Servlets

Entity Beans

Sockets

JDBC

Other SQL

DB2

Other SQL

DB2 8

© 2009 IBM Corporation

WebSphere Application Server for z/OS

WebSphere Application Server Typical Middleware architecture

Process

Resources

Application Server Database

Client

App

App CICS

App

TCP/IP

9

IMS

 Typical application server runs as a single process  Fatal exceptions that stem from Applications can terminate the entire server process.  In order to scale, we would start multiple server processes. – Multiple servers would typically run on multiple boxes  Termination of a Server process leads to unavailability of the application unless the application is clustered. © 2009 IBM Corporation

4

WebSphere Application Server for z/OS

WebSphere Application Server Typical Application Server Distributed Box Client

Application Server

Client

TCP/IP

DB

Client

 Basic Application Server on non-z/OS platforms – Positive •Simple – Negative •Does not Scale •Not Highly Available •Entire server can fail by Application Code 10

© 2009 IBM Corporation

WebSphere Application Server for z/OS

WebSphere Application Server Typical Application Server- A little better availability Distributed Box Client

Application Server

Client

TCP/IP

Client Client Client Client

IP Sprayer/

Distributed Box Application Server

Web Server

TCP/IP

DB DB DB

Distributed Box Application … Server TCP/IP

… 11

© 2009 IBM Corporation

5

WebSphere Application Server for z/OS

WebSphere Application Server “Gold Standard” With Distributed Application Servers Cell 1 HTTP Server

WAS WAS

Load Balancer

WAS HTTP Server

Network Network Switch Switchd

… Cluster

DMZ

Trusted Zone

HTTP Server

DB DB DB

WAS WAS

Load Balancer

WAS HTTP Server

… Cluster Cell 2

12

© 2009 IBM Corporation

WebSphere Application Server for z/OS

WebSphere Application Server Typical Application Servers  How do you scale the Application? – Add more boxes

 What about when I don’t have peak loads? – The Servers will be underutilized

 How do you scale the Database? – Add more boxes and replicate

 How do you route work evenly to multiple boxes? – Round-robin inbound work

 How do you handle failover? – Add more boxes  How is an application highly available? – Install the application on many boxes  How are requests prioritized? – Add more boxes to handle Gold Customers

 How do you ensure that your servers are evenly utilized? – Best guess based on Application Knowledge

“Add More Boxes”

 How do I handle peak loads? – Keep enough boxes available to handle the max possible load 13

© 2009 IBM Corporation

6

WebSphere Application Server for z/OS

WebSphere Application Server WebSphere for z/OS Server Architecture A WAS z/OS application server is comprised of multiple processes.

Mainframe Logical WAS z/OS Application Server

Mem-to-Mem

WLM

Client Client

Servant

Servant

Controller

 Only authorized, robust system code is executed within the Controller process.  Application code is executed within the Process.  Servant Application code is executed within the Servant Process. – Theoretically, Servant processes are of eachServant other. processes are – clones Theoretically, clones of each other. – They can be terminated or created interrupting the overall end– without Theyexperience can be terminated or created user without interrupting the overall enduser experience – Servant processes can be dynamically destroyed bybe Work-load – created Servant or processes can dynamically Management. The decisions can be createdonoruser-defined destroyed byservice Work-load based Management. The decisions can be policies. based on user-defined service policies.

TCP/IP

Client

Servant

15

© 2009 IBM Corporation

WebSphere Application Server for z/OS

WebSphere Application Server Why is WAS z/OS Reliable? Mainframe

 If a servant process is terminated, the application can still be served by any of the other servants within the Application Server.

Logical WAS z/OS Application Server

Mem-to-Mem

Controller TCP/IP

Client

16

Servant

WLM

Client Client

 WLM Detects that the Servant has terminated and starts a new one.

Servant

X

Servant

© 2009 IBM Corporation

7

WebSphere Application Server for z/OS

WebSphere Application Server Why is WAS z/OS Scalable?  Within a WAS z/OS Application Server, one can define a minimum and maximum number of servant processes that are allowed.  Workload could suddenly spike, overloading the WebSphere Server

Mainframe

Client

Logical WAS z/OS Application Server

Mem-to-Mem

Client

Servant

 Built-in vertical clustering

WLM

Client Client

 If the maximum number of servants has not been reached, WLM can start a new Servant process to handle the load.

MinSR=2, MaxSR=3

Client

 Work items begin to queue up and wait for an available servant. WLM can detect this and act…

Servant

Controller TCP/IP

Client

Servant

17

© 2009 IBM Corporation

WebSphere Application Server for z/OS

WebSphere Application Server Why is WAS z/OS Scalable?  After some time, the spike in workload could end. Our workload would then return to normal

Mainframe Client

 WLM can detect that the servants are underutilized and act…

Logical WAS z/OS Application Server

 WLM terminates the extra servants until utilization goals are reached. This allows system resources to be freed and available for other system services.

Client Mem-to-Mem

Client

WLM

Client Client

Servant

Controller

Servant

TCP/IP

Client

18

Servant

© 2009 IBM Corporation

8

WebSphere Application Server for z/OS

WebSphere Application Server Why is WAS z/OS High Available? LPAR 1 Client

WAS

Controller

Client Client Client Client

Sysplex Distributor ARM

Servant Servant

 If a controller process fails, the Sysplex Distributor would route work to the other controller process.

Servant

 ARM detects that the controller failed and restarts it.

LPAR 2 WAS

X

Controller

Client

 In order to provide a true high-availability server, the Controller processes would be clustered.

X Servant Servant Servant

19

© 2009 IBM Corporation

WebSphere Application Server for z/OS

WebSphere Application Server How does WAS leverage WLM?



20

WAS uses four distinct functions of WLM: – Routing • Work is distributed among multiple Servants – Queuing • Work that cannot be distributed waits until a Servant is available – Prioritizing • Higher priority work can be distributed before lower priority work – Process Management • Starts and Stops Servants as needed (to scale, for failure recovery, etc).

© 2009 IBM Corporation

9

WebSphere Application Server for z/OS

WebSphere Application Server How does WAS z/OS leverage WLM? - Workload can be classified (WLM Service Policies) - Higher priority work can be given more system resources

Client Client

Priority

Mem-to-Mem

Client

Servant

1

CPU’s

Priority

WLM

Client Client

Mainframe

Logical WAS z/OS Application Server

2 Servant

Controller

Priority

3

TCP/IP

Client

Servant

21

© 2009 IBM Corporation

WebSphere Application Server for z/OS

WebSphere Application Server How does WAS z/OS leverage WLM? Intelligent routing to LPAR’s via WLM and the Sysplex Distributor = Simple Request

= Complex Request WLM

Client

LPAR 1 Servant

34% Util 54%

Client

Controller

Client Client

Servant

Sysplex Distributor WLM

Client Client

Servant

LPAR 2 Servant

44% 38%Util 39% Util Controller

Servant Servant

22

© 2009 IBM Corporation

10

WebSphere Application Server for z/OS

WebSphere for z/OS Uses Enclaves

 Eine „Geschäftstransaktion" ohne Adressraumgrenzen – Zwei Arten – Existieren in goal (Ziel) mode und compatibility (Verträglichkeit) mode – System oder Sysplex Geltungsbereich  unabhängige Enclaven – echte SRM Transaktion – Wird in Serviceklasse oder Performancegruppe separat klassifiziert und verwaltet  abhängige Enclaven – Logische Erweiterung einer existierenden Adressraumtransaktion – Erbt Serviceklasse / pgn vom existierenden Adressraum

24

© 2009 IBM Corporation

WebSphere Application Server for z/OS

z/OS Resource Recovery Services (RRS) Usage

 Erforderlich um 2-phase commits zu benutzen: – Unterstützt verschiedene & mehrfache Ressourcenmanager: WebSphere, DB2, IMS, CICS, APPC – Differenziert zWAS von anderen Web Application Servern  Nutzung des Subsystems ist abhängig vom Produkt: – Nutzen RRS optional wenn es bei ihrer Initialisierung aktiv ist: APPC, IMS, MQ, DB2 – Muss bei Initialisierung gesagt bekommen, RRS zu nutzen: CICS – RRS muss bei ihrer Initialisierung aktiv sein: WebSphere für z/OS

25

© 2009 IBM Corporation

11

WebSphere Application Server for z/OS

WebSphere AS Security Mechanisms

 Sicherheit in WebSphere Application Server Infrastruktur – RACF Profile & Erlaubnisse – HFS Datei/Verzeichnis Erlaubnis & Eigentum – Administrator Tool Sicherheit  Sicherheit für Anwendungsdeployment – SSL – Kerberos – EJB Rollen & Runas Support – Kryptographie Support – JAAS – CSIv2

26

© 2009 IBM Corporation

WebSphere Application Server for z/OS

WebSphere Application Server Developer Responsibilities

 How do Developers leverage these QoS? – By writing well-designed J2EE Applications  Is there anything specific that Developers must do on z/OS? – NO. WAS z/OS provides these qualities of service to J2EE applications, no zspecific application code is required.  If the Java Runtime is platform optimized, will the java code in my application only run on z/OS? – NO. Java Runtime Optimizations are hidden from the Developer. Developer writes standard code, the Runtime is optimized under the covers  Are there z-specific features that my application code could include? – Sure… but z-specific code isn’t required to take advantage of WLM, RRS, etc.

28

© 2009 IBM Corporation

12

WebSphere Application Server for z/OS

WebSphere Application Server WebSphere z/OS Application Server  How do you scale the Application? – Increase the Max Servants per Server  How do you scale the Database? – Use a Shared DB2 Database  How do you handle failover? – Use ARM for Controllers. Servants are handled via WLM  How is an application highly available? – Servants are restartable via WLM. Controllers are recoverable via ARM  How are requests prioritized? – WLM  How do I handle peak loads? – WLM spawns servants

 What about when I don’t have peak loads? – WLM eliminates excess Servants, freeing up system resources for other work  How do you route work evenly to multiple Servers? – Sysplex Distributor routes work to specific LPAR’s based on WLM metrics for resource utilization  How do you ensure that your servers are evenly utilized? – WLM Metrics are used to decide where to route work to

WAS integration with z/OS System Facilities provides a more robust, efficient, scalable environment

29

© 2009 IBM Corporation

WebSphere Application Server for z/OS

System z Application Assist Processor (zAAP)

New specialty assist processor dedicated exclusively to execution of Java workloads under z/OS® – e.g. WebSphere®, CICS, IMS, DB2  Available on IBM Server™ zSeries® 990 (z990), zSeries 890 (z890) and System z9 / z10 BC and EC servers  Used by workloads with Java cycles, e.g. WebSphere, DB2® – Executes Java code with no changes to applications  Attractively priced, much lower than standard CPs  Significantly lower maintenance costs than standard CPs  Traditional IBM zSeries software charges unaffected  Sub-capacity eligible IBM software charges can be reduced  Up to 1 zAAP per general purpose processor in a CEC Objective: Enable integration of new Java based Web applications with core z/OS backend database environment for high performance, reliability, availability, security, and lower total cost of ownership

30

© 2009 IBM Corporation

13

WebSphere Application Server for z/OS

Questions?

32

© 2009 IBM Corporation

14

Suggest Documents