IBM Certified WebSphere Application Server 8.5 Administrator A course to get certified in 7 days Karun Subramanian, ESIS Consulting LLC.

Download Report

Transcript IBM Certified WebSphere Application Server 8.5 Administrator A course to get certified in 7 days Karun Subramanian, ESIS Consulting LLC.

IBM Certified
WebSphere Application
Server 8.5 Administrator
A course to get certified in 7 days
Karun Subramanian, ESIS Consulting LLC
WebSphere Application
Server 8.5 Architecture
ESIS Consulting LLC
(C) ESIS Consulting LLC. All rights reserved
Real Quick: What is WebSphere?
•
•
•
•
•
Family of Software products from IBM
WebSphere Application Server, being the
most popular, is an implementation of JEE
(Java
Platform
Enterprise
Edition)
specification
Extends JEE by providing several features
and Services
Is the runtime environment for your JEE
Applications
Equivalent products from other Vendors are
What's inside WAS 8.5 ?
WAS 8.5 Core components
Web Container
Runs Web Applications
EJB Container
Runs EJB Applications (provides threading and transaction
support)
Messaging Engine
Provides robust messaging infrastructure
Web Services Engine
Runs Web Services
Naming and Directory
Provides JNDI infrastructure that includes naming servers
Transactions
Provides Support for Transactions (XA)
Security Infrastructure
Robust security (Administrative, Application and Java2
security)
Performance Infrastructure
Tivoli Performance Viewer, Advisor and PMI
High Availability and
Workload Management
Clustering, Dynamic Clustering based on weight and load,
On demand Routing
Admin Application
Web Interface (Admin Console) and wsadmin (Scripting)
Describe Web Container
•
•
•
•
Runs JEE compliant Web Applications that
contain Servlets,JSPs and static HTML
pages
Handles HTTP Sessions
Runs Portlets (using a Portlet Container) and
SIP (Session Initiation Protocol) Applications
(using a SIP container)
Provides Transport Chain that includes TCP
Inbound Channel, HTTP inbound channel
and Web Container Channel
Describe Web Container Cont...
Describe EJB Container
•
•
•
•
Provides runtime for EJBs (Enterprise Java
Beans)
EJBs handle business logic and can manage
data access (Entity EJBs)
EJB Container provides threading and
transaction support
EJBs are packaged as JAR files (Java
archive) and deployed as EJB modules
Clients
Clients can be one of the following:
Application Clients: Run in a JEE compliant
Client container (installed separately from
the Application Server). launchClient
tool can be used to start the clients
Web Clients: Most common. This is typically
the Web Browser
Web Services client
Admin Client: wsadmin and Admin Console
Web Application
•
•
•
•
Describe Web Services
Infrastructure
•
•
•
Application Server acts as both Web
Services client and Server
Web Services are reusable Web
Applications that can be
described,published,discovered and invoked
over Network. They implement SOA (Service
Oriented Architecture)
Under the cover, Web Service operations
are executed as Servlets
Describe Messaging Infrastructure
•
•
•
•
Full support for JMS (Java Messaging
Service)
Message Providers: Default Messaging
Provider,WebSphere MQ Provider, Generic
JMS Provider
Providers use JCA (Java Connector
Architecture) to communicate with JMS
destinations (Queues or Topics)
Concept of inbuilt JMS Server has been
replaced since Version 6
Describe Messaging Infrastructure
Cont..
Service Integration Bus:
Integrated Communication infrastructure for
Messaging and SOA Applications
Contains Messaging Engines and acts as a
JMS Provider
Contains destinations (Web Service
endpoints, Messaging Queues or Topics)
Contains a Message Store
You can make an external Web Service
available at a service destination
•
•
•
•
•
Describe Data Access
•
•
•
•
•
WAS uses JCA to access external Data
Sources such as EIS, RDBMS
JCA requires a Resource Adapter to be
provided by the EIS Vendor
Resource Adapter is a system level driver
that enables WAS to communicate with the
Data Provider
Resource Adapters are plugged into WAS
WAS provides pre defined RDBMS
Resource Adapter
Describe Naming and Directory
•
•
•
•
Each Application Server runs a JNDI
Naming Service which enables Applications
to register and look up resources
WAS provides distributed Name Space for
scalability
Objects are bound in hierarchical structure in
Name Space
dumpNameSpace tool exports the Name
space for troubleshooting
Describe Transactions
Infrastructure
•
•
•
•
•
Transactions are multiple operations on
resources co ordinated as one unit of work
Transaction Manager, part of WAS handles
transactions. Also participates in other
transaction managers on Global
Transactions
Operations are rolled back in case of failure
Transactions can be container managed or
bean managed
Transactions are tracked through logs
Other Services provided by WAS
•
•
•
•
•
Java Mail
Resource References: Enables to specify
logical names in deployment descriptors that
bind to physical resources. Logical names
are then accessible through JNDI lookups
Scheduler: Runs tasks at specified times or
intervals. Tasks can be prioritized
Asynchronous Beans: Enables a resource
intensive task to be run as multiple tasks
Startup Beans: Runs your code on WAS
Other Services provided by WAS
Cont...
•
•
•
•
Dynamic Cache: Greatly improves
performance of Web Applications. Can
replicate Cache among clusters
Object Pools: Improves performance by
reducing object instantiation time
Activity Sessions: Enables grouping of
operations on multiple one-phase commit
resources
Internationalization: Enables application to
process information based on the
Describe Security Infrastructure
•
•
•
•
•
Solid security at various tiers in the
architecture (end to end)
Support for federated user repositories and
Security domains
Support for strong encryption (SSLv3/TLS)
Efficient SSL Certificate Management
Supports Java 2 Application level security
Describe High Availability
Infrastructure
•
•
•
•
Support for Application Server Clusters
Data among the cluster members are
replicated either using memory-to-memory
replication or using Database
HA Manager, which runs in each Application
Server provides the framework for
communication among cluster members.
Dynamic Clusters: Balance workload among
cluster members based on the performance,
dynamically. Can expand or contract.
Describe Performance
Infrastructure
•
•
•
•
PMI (Performance Management
Infrastructure) makes metrics available
through Management Beans
Tivoli Performance Viewer can be used to
view current activity and summary reports
via WAS Admin Console
Tivoli Performance Viewer Advisor provides
advice to tune inefficient settings
Performance and Diagnostic Advisor prints
warning messages in SystemOut.log about
Liberty Profile
A profile defines the runtime environment
Is a lightweight Application Serving
environment mostly used in Development
environments
Uses OSGI framework (Pluggable modules)
Supports Web Applications, OSGI
Applications and JPA
Very fast startup
Deploy applications using 'dropins' or by
updating configuration
•
•
•
•
•
Liberty Profile Cont...
•
•
•
•
Comprises of JVM, Liberty Kernel and
Features (OSGi bundles)
server.xml is the server configuration file
Updates to configuration file is read by File
Monitor Service. Features are loaded
dynamically.
Features to be loaded are specified in the
server.xml
<server>
<featureManager>
<feature>servlet-3.0</feature>
</featureManager>
</server>
Liberty Profile Security
•
•
•
•
Security as per Servlet 3.0 specification
Web Container delegates security check to
WebSecurity Collaborator which talks to
Authentication Service first to create 'subject'
and then to authorization service to perform
authorization check
You can use the quickStartSecurity element
in server.xml to quickly grant access to one
user
Auth Constraints can be defined in the
Full Profile
•
•
•
•
Meant for Production environments (can be
used in Development a well)
Full blown product with all the bells and
whistles
Main components: Application Servers,
Clusters, Resources, Administration
Supports the three-tier architecture
(Presentation, Business Logic, Data/ERP)
Topologies
Various components in any Topology:
Application Servers
Application Server Clusters
Nodes
Node Agents
Deployment Manager
Web Servers
Profiles
Cell
•
•
•
•
•
•
•
•
Various topologies
•
•
•
•
Standalone
Network Deployment - Nodes from same
platform
Network Deployment - Nodes from various
platforms
Flexible Management
http://pic.dhe.ibm.com/infocenter/wasinfo/v8r5/index.jsp?topic=/com.ibm.websphere.nd.multiplatform.doc/ae/tagt_jobmgr_install_i
m.html
Network Deployment
Flexible Management
Describe components in a topology
Cell
•
•
•
•
•
A logical grouping of related components
such as Application Servers, Nodes, Core
groups and Web Servers
Is NOT an Operating System process
Manages the central configuration repository
(XML Files)
A cell can contain nodes from various
physical Servers
Cluster members must belong to the same
cell
Describe components in a topology
Deployment Manager
•
•
•
•
•
•
Provides single point of Administration for all
the components in a Cell
Each cell contains one Deployment Manager
Hosts the Administration Console
Is an Administrative Agent
Is created when a deployment manager
profile is created
There is a dmgr node and dmgr application
server that runs the dmgr application
Describe components in a topology
Profile
•
•
•
After the product installation, you need to
create one or more profiles to define the
runtime
Product files are shared among profiles
Various types of profiles
Application Server Profile
Deployment Manager Profile
Custom Profile
Liberty Profile
Administrative Agent profile
Describe components in a topology
Nodes and Node Groups
•
•
•
•
•
Node is a grouping of managed or unmanaged
Servers. Usually a physical computer system
If it hosts a WebSphere Application Server and
federated into a ND environment, it is a
managed node
Node Group is a collection of managed nodes
Application Server clusters must belong to the
same Node group
Node Groups are optional. By default all nodes
belong to DefaultNodeGroup
Describe components in a topology
Node Agent
•
•
•
•
•
•
Represents a Node
Only present on Network Deployment
Monitors Application Servers on the Node
Routes Administrative requests to
Application Servers
Once stopped, can only be started using
'startNode' command
Once stated, can be restarted from Admin
Console.
Describe components in a topology
Application Server
•
•
•
•
•
Is the JVM that runs the user Application
The core component in any topology
Can be part of Application Server Cluster
With BASE install, Application Server named
server1 is automatically created. This server
can be managed using Admin Console
You can create additional Servers but need
to configure an Administrative agent if you
want to centrally manage them (otherwise,
use command line or individual Admin
Describe components in a topology
Application Server Cluster
•
•
•
•
Group of Application Servers that helps
distribute the workload and provides high
availability for the Applications deployed
When application is deployed on a cluster, it
is automatically installed on all cluster
members
A node group defines the boundary for a
cluster
Two types of clusters: Static and Dynamic
Describe components in a topology
Web Server
•
•
•
•
Receives HTTP requests from clients (typically,
browsers), forwards the request to WebSphere
Application Server, obtains response and sends
it back to the client
Popular Web Servers: Apache, IBM HTTP
Server, IIS
WebServer Plugin, a piece of software that
enables Web Servers route requests to WAS
You must create a Web Server definition on
WAS Admin console to manage the Web
Server (Managment capabilities depends on the
Describe components in a topology
Vertical and Horizontal clustering
•
•
•
Vertical Clustering is where multiple
Application Servers run on the same
Physical Server. This provides process level
HA and Workload management
Horizontal clustering is where multiple
application servers run on multiple Physical
Servers. This provides Server level HA and
workload management
It is common to have mixed clustering in
production environments
Traversing through a Client
Request for a Web Application
•
•
•
•
Request originates from Client's browser (ex:
www.emportal.com/login)
Client's computer resolves the URL to an IP
address and sends a HTTP Request
In production environments, typically a
hardware load balancer (such as F5) is the
first point of entry (there may be firewalls
and edge components prior to the load
balancer)
The load balancer sprays requests to set of
Traversing through a Client
Request for a Web Application
Cont...
•
•
•
You can have a caching proxy between the
Web Server and Application Server. There
can also be an external cache server (such
as Akamai before the Web Server)
There can also be a security server (such as
Siteminder) that integrates with the Web
server
The Application Server processes the
request and can communicate with a
backend server such as relational database
server or Mainframe
Administration Tools
Available Administration tools:
Integrated Solutions Console (formerly Admin
Console) - web based Application that can be
used to manage a Cell or standalone
Application Server
wsadmin - jython based scripting framework
that can be used to automate several
Administrative tasks
WebSphere customization Tool Box - tools for
customizing the environment that includes Web
server plugin configuration tool and Profile
•
•
•
Administration Tools Cont..
•
•
•
Command Line Utilities - several commands
provided with the product
Administrative applications - custom
developed applications utilizing JMX
ANT scripts - you can write ANT scripts to
build and deploy applications on WebSphere
Typical System Management Flow
1. Install the product using IBM Installation
Manager
2. For Standalone environment (No clustering),
create Application Server Profile. You can now
manage the environment
3. For Distributed Server environment, you create
a Deployment Manager profile which will create
a Cell and Deployment manager node. You
would then create a Custom Profile or an
Application Server profile and federate the Node
(that would be created when you create the
Configuration Repository
•
•
•
•
Deployment Manager maintains the master
configuration (set of xml files in local File
System)
Each Node has a copy of relevant
configuration files
Changes to Master configuration files are
synced with all the nodes
Changes made to the Node configuration
files directly will be overwritten with master
copy when the node sync occurs
Configuration Repository Cont...
Important directories in repository
(installroot/profiles/profilehome/config)
cells/cellname/
•
o
o
o
o
o
applications/applicationname- one directory for each
application deployed
nodes/nodename - one directory for each node
nodes/nodename/servers/servername - one
directory for each application server
nodes/nodename/nodeagent - directory for the node
agent
clusters/clustername - one directory for each cluster