WebSphere Application Server for z/OS

Werbung
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
Herunterladen