Anda di halaman 1dari 41

DanNotes Danish Notes User Group 2012

about.me/david_hay
WebSphere Administration for Domino Administrators
Wednesday 2 May 2012

Introduction
With IBM since 1992
Experienced with hardware, software and services
Started with AS/400 and iSeries
Moved onto Network Station
Working with WebSphere and Lotus software since 2000
Linux and Mac advocate
Collaboration evangelist
Serial blogger
Infrastructure Architect
Focused on IBM middleware and integration with client hardware, software and services
With IBM Software Services since 2009
Wide range of projects, including Collaboration Portal, Secure Portal, Process Portal, Google Search
Appliance integration and, most recently, WAS integration with Active Directory .....

Session objectives
This presentation aims to introduce you, the Domino administrator, to the fundamentals of
IBM WebSphere Application Server (WAS).
It aims to cover:

What is WebSphere Application Server (WAS) ?

A brief history of WebSphere Application Server

The core building blocks of a typical WAS infrastructure

An examination of some of the core WAS configuration files

An illustration, by demonstration, of WAS administration

via command-line

via script

via graphical user interface

Note that I'm going to focus on WAS v7 because that's what is currently delivered via IBM
products such as Connections and Sametime .....

What is Java Enterprise Edition (JEE) ?

Source: The Java EE 6 Tutorial: Basic Concepts (4th Edition) - Eric Jendrock (Author), Ian Evans, Devika Gollapudi, Kim Haase & Chinmayee Srivathsa
4

What is WebSphere Application Server (WAS) ?

A core component of many IBM software products

From the WebSphere Brand of IBM Software

Available on every server software platform on the market ......

Often misnamed purely as WebSphere

WebSphere is the brand


WAS is but one product

A standards-based Java Enterprise Edition (JEE) application server.

A set of run-time components, servers and services

IBM Connections
WebSphere Portal
IBM Web Content Manager
IBM Sametime
IBM Lotus Quickr for WebSphere Portal
IBM Forms

Based and built upon open-standards including JEE6, OSGi, CEA, JPA, SAML, SCA, SDO,
SIP, Web 2.0, Mobile, Dynamic Scripting and XML :-)

A brief history of WebSphere Application Server v1 to v7

A brief history of WebSphere Application Server Up to Date


WAS V8
Web 2.0 & Mobile FeP
WAS HV Refresh
WAS V7 Feature Packs Migration Toolkit Refresh
(XML, CEA, SCA)
SAML & WOLA
WAS HV
WAS EC2 AMI
WebSphere
Application Server
V7
WAS V7 & V6.1
Feature Packs

WebSphere
Application
Server V6.1
Feature Packs
(FeP)
WebSphere
Application Server
V6.1
WebSphere
Application Server
V6.0.2
WebSphere
Application Server
V6

05
0
2

06
0
2

0
20

0
20
7

11
0
2

10
0
2
09
0
2

8
WAS V8 Alpha, Beta & Beta Refresh
WAS V7 Feature Packs
OSGi Apps & JPA 2.0
Modern Batch
CEA Mobile Widgets
Dynamic Scripting
WAS HV Refresh
Migration Toolkit Refresh

Introducing WebSphere Application Server 8.5 ....


Specifically, WAS 8.5 will include
The Liberty Profile
A dynamic WAS profile

Features and services deployed on-demand

Model is similar to that of the Linux kernel

Built around the Open Services Gateway Imitative (OSGI) model

For example:

The application only requires Java servlets, only the WAS kernel, the HTTP transport and the web
container are loaded....

The application then requires database persistence via the Java Persistence API ? Load that up ....

No WAS restarts required

Ideal for development.

Perhaps this is a parallel with the way that Domino works ? One can load and unload tasks
such as nldap and nhttpd at will. Just a thought ..... :-)

WAS vs. Domino What's the Difference ?


John P. Lamb, Michael Laskey and Gopal Indurkhya explain in their book, IBM WebSphere
and Lotus: Implementing Collaborative Solutions, which applications are best suited for Lotus
Domino or WebSphere Application Server in the following way:
At a high level, the type of application is an important factor in deciding on which platform to build. ...
the strengths of Domino lie in collaborative applications.
Domino is good at applications involving user interaction, providing a scalable document data store,
rich content handling, and a robust security model.
WebSphere Application Server (WAS) is ideal for transactional applications, highly leveraging a
relational data store, and providing enterprise-level J2EE application hosting.

Deployment
Manager

IBM
HTTP
Server
Site
Visitor

Oracle

WAS

Load
Balancer

Domino

WAS

Domino
Directory

10

Some examples of where WAS fits ...

IBM Connections

IBM Sametime

WebSphere Portal
11

How is WAS delivered ?

12

12

What will you see most commonly ....


Most IBM Collaboration Solutions ( nee Lotus ) deployments will include some entitlement for
WAS Network Deployment (WAS ND)

Built on top of the WAS Base edition

Advanced deployment services such as:

Advanced clustering

Dynamic scalability

High availability

Supports multiple, distributed servers as well as stand-alone servers

Centralized administration of multiple servers

Advanced management features for distributed configurations

13

Includes:
IBM HTTP Server

WebSphere Plugin

WebSphere Edge Components ( Load Balancer, Reverse Proxy )

etc.

What are the core WAS building blocks ?

Application in this model refers to a Java EE (J2EE) web


application, comprised of an Enterprise ARchive (.EAR) file
and/or Web Application Archive ( .WAR) files.
Application Server is a process that hosts and runs one or
more Java EE web application. Each application server runs
in its own Java Virtual Machine (JVM).
Another name for Application Server is Instance or JVM
instance or merely JVM
Node is an individual physical or virtual system/machine that
contains an installation of WebSphere Application Server.
Cell is a group of Nodes in an administrative domain.

14

What are the core WAS building blocks ?

Deployment Manager administers multiple


nodes in a cell from a centralized location.
Node Agents work with the Deployment
Manager to perform administrative functions.
Cluster is a group of application servers that
are used for the same purpose / run the same
applications.

15

To put it another way ....

A cell consists of one or more physical or logical ( virtual ) nodes

A node contains one or more application servers or instances

An instance comprises a single JVM

Applications are deployed to instances

A cluster consists of one or more instances ( a cluster of one wouldn't be


much of a cluster )

The configuration of the cell is managed by the Deployment Manager


instance

Each node has a Node Agent instance which is communicates with the
Deployment Manager

16

File System Layout


Split into two distinct sections:

Read-only product static files or product binaries

shared by any functional instance of the WAS product

Set of configuration files that are customized


Known as the WAS profile

Minimum of one profile per WAS installation

Analagous to Domino partitioning

17

File System Layout Domino and WAS Compared

Domino Product Binaries


+

Domino
Data
Directory

Domino
Data
Directory

WAS
Profile

WAS
Profile

Domino
Server

Domino
Server

Application
Server /
Deployment
Manager

Application
Server /
Deployment
Manager

Physical / Virtual Machine

18

WAS Product Binaries

Physical / Virtual Machine

An Example - IBM Connections Deployment

WAS Product Binaries


+

WAS
Profile
(DMgr01)

WAS
Profile
(AppSrv01)

Application
Server
Instance
(Profiles)

Deployment
Manager
Instance

Node 1

19

WAS Product Binaries


+

WAS
Profile
(AppSrv01)

WAS
Profile
(AppSrv02)

Application
Server
Instance
(Homepage)

Application
Server
Instance
(Blogs)
Node 2

What else do we need to know about the WAS file system ?


Product Binaries
/opt/IBM/WebSphere/AppServer

Profiles
/opt/IBM/WebSphere/AppServer/profiles/Dmgr01
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01
/opt/IBM/WebSphere/wp_profile

Cell Configuration
/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/cells/rhel

Node Configuration
/opt/IBM/WebSphere/AppServer/profiles/wp_profile/config/cells/rhel/nodes/rhel/servers/server1
/opt/IBM/WebSphere/AppServer/profiles/wp_profile/config/cells/rhel/nodes/rhel/servers/WebSphere_Portal
Note: these are examples of paths; guess which OS I mainly use :-)
20

Where does WAS keep it's logs ?

In multiple places

With the binaries


/opt/IBM/WebSphere/AppServer

/opt/IBM/WebSphere/PortalServer

/opt/IBM/WebSphere/UpdateInstaller/logs

With the web server


/opt/IBM/HTTPServer/logs

/opt/IBM/HTTPServer/Plugin/logs

With the profile


/opt/IBM/WebSphere/AppServer/profiles/wp_profile/logs

/opt/IBM/WebSphere/AppServer/profiles/wp_profile/logs/server1

/opt/IBM/WebSphere/AppServer/profiles/wp_profile/logs/WebSphere_Portal

21

Most Useful

Which bits of WAS do we really need to know about ? ( 1/3 )

The Web Container


Similar to the Domino Web Server

Serves dynamic web content such as servlets and JSPs

Can serve static content, but this isn't a typical pattern

Receives requests vis Web container inbound transport chain

Participates in Single Sign-On interactions including LTPA and SPNEGO

The EJB Container


Similar to Domino IIOP Task in that it communicates over the RMI/ORB protocol.

Runtime for deployment and management of Enterprise JavaBeans (EJB)

Can interaction with Web Container

The Service Integration (SI) Bus


Default Java Message Service (JMS) provider

Provides point-to-point and publish/subscribe services between application servers

JMS is a reliable protocol with built-in Quality of Service (QoS) and intelligent mediation

Provides asynchronous messaging capability

IBM Connections makes particular use of the SIbus

22

Which bits of WAS do we really need to know about ? ( 2/3 )

Java Database Connectivity (JDBC)


Provides loose coupling between application servers and relational databases

Application talks to application server, application server talks to JDBC data source, JDBC data
source talks to JDBC driver, JDBC driver talks to relational database

Supports performance characteristics such as connection and statement pooling

JDBC drivers exist for most relational database platforms, including:


DB2 UDB

Domino :-)

Oracle

SQL Server

PostgreQL

MySQL

Lightweight Third Party Authentication (LTPA)


Provides identity assertion across Domino and WAS-based servers

Allows a user to log-in once and then seamlessly access other servers in SSO realm

Proprietary to IBM

Potentially more efficient that mechanisms which call back e.g. SPNEGO, Kerberos

23

Which bits of WAS do we really need to know about ? ( 3/3 )

Federated Respository

Unlike Domino, WAS cannot be used as a LDAP server

However, it does have its own built-in user registry defaultWIMFileBasedRealm which, out-ofthe-box, contains the administration user ID

Federated Repository function allows WAS to see multiple user registries, including WIM, LDAP,
database, custom adapters etc.

This provides a single logical repository of users and groups, similar to Domino's Directory
Assistance feature

Job Manager
Introduced in WAS v7, this adds flexible management to WAS

Application servers register with the Job Manager, via an Administrative Agent

The Job Manager can then queue jobs to one of many Application Servers

Jobs can include wsadmin scripts, application management commands, server start/stop
commands etc.

The next slide provides an illustration of the Job Manager hierarchy

24

An Example of the Job Manager Hierarchy

25

What is the Interated Solutions Console (ISC) ?

A single, common interface for system administration

The main platform on which IBM and non-IBM products can build administrative user interfaces
as individual plug-ins to a common console framework

A Java EE application running on WAS

Completely web-based

26

No separate admin client ( not required since v4 )

Not the only game in town for WAS admin

IBM Sametime extends the ISC one of a few products which do ...

27

Apart from the ISC, we also have wsadmin ....

wsadmin is a scripting interface to the


WAS administration APIs
wsadmin can be interactive: $ ./wsadmin.sh -lang jython -c 'AdminApp.list()'

or scripted
$ ./wsadmin.sh -lang jacl -f ~/extractDataSource.tcl

wsadmin supports two different scripting languages


Jacl - a self-contained implementation of Tool Command Langage Tcl

Jython a Java-based implementation of the Python programming language

Jacl has been deprecated in favour of Jython, which could also be said to be simpler

Why script ?
Automation, audit trail, re-use, remote access, consistency ....l

28

A quick plug for automation ....

Rational Automation Framework

A customizable framework to provide automation of:


environment build-outs

configuration management

application deployments on heterogeneous middleware platforms

IBM Workload Deployer


A hardware appliance that provides access to IBM middleware virtual images and patterns

Easily, quickly and repeatedly create application environments

Provide for secure deployment in a private cloud

Uses Rational Automation Framework

IBM PureSystems
Expert, integrated, enterprise-level family of cloud system

Encompasses applications, services, hardware, and the expertise

Uses Rational Automation Framework

29

And onto .... The


Demo .....

30

Questions ?

?
?

31

?
?

31

?
?

?
?

?
? ?

Next Steps ....

Go here and download the WAS 8.5 Liberty Profile

Sign up for IBM developerWorks

Check out some of the links at the end of this deck

Download a trial / evaluation of one of the IBM Lotus products that include
WAS

32

IBM WebSphere Portal

IBM Web Content Manager

IBM Forms

etc.

Reach out to IBM Software Services :-)

Tak !
Mange tak
Tack s
mycket
33

References
WebSphere Application Server
WebSphere Application Server Version 7.0 Information Center
WebSphere Application Server product architecture
JVM updates in WebSphere Application Server V8: Using wsadmin and Jython to easily collect and report
WebSphere Application Server PMI data
WebSphere Scripting: WSADMIN, jacl, jython [PDF]
Jython script library
Redbook - WebSphere Application Server V7 Administration and Configuration Guide [PDF]
Using Jython Scripting Language With WSADMIN
IBM Education Assistant WebSphere
Overview of IBM WebSphere Application Server Concepts for IBM Lotus Connections Administrators [PDF]
IBM WebSphere Application Server Introduction for Lotus [PDF]
Introducing the WAS Liberty Profile
WebSphere Application Server V8.5 Concepts, Planning and Design Guide
34

Backup Material

35

Recap of the Demo ( 1/2 )


The main points of the file system
Product binaries

Profiles

Where the logs are kept


For binaries and installations

For profiles

How to start and stop WAS

How to back up WAS

Examples of scripts and short cuts

backupConfig.sh

Some core configuration files


Cell configuration resources.xml

Security configuration security.xml

WIM configuration wimconfig.xml

SOAP client configuration - soap.client.props

36

Recap of the Demo ( 2/2 )

The Integrated Solutions Console

wsadmin
JACL

Jython

Federated Repositories
defaultWIM

LDAP

Update Installer

Common TCP/IP ports

37

Covers IHS, Plugin, SDK, WAS ....

And how to see what's listening ....

wsadmin what did we do ?


JACL - lots of dollars, now deprecated
$AdminApp uninstall DefaultApplication
$AdminApp list
$AdminApp install /opt/IBM/WebSphere/AppServer/installableApps/DefaultApplication.ear
$AdminApp taskInfo /opt/IBM/WebSphere/AppServer/installableApps/DefaultApplication.ear
MapModulesToServers
$AdminConfig save

38

wsadmin what did we do ?


Jython - it's the future
Getting Help
print Help.help()
print AdminConfig.help()
print AdminApp.help()
print AdminControl.help()
print AdminTask.help()
print AdminServerManagement.help()
print AdminTask.help('-commands')

// Penelope Pitstop

Unformatted output - hard to read


AdminApp.list()
AdminApp.install('/opt/IBM/WebSphere/AppServer/installableApps/DefaultApplication.ear')
AdminApp.uninstall('DefaultApplication.ear')
AdminApp.taskInfo('/opt/IBM/WebSphere/AppServer/installableApps/DefaultApplication.ear',
'MapModulesToServers')
AdminConfig.save()

39

wsadmin what did we do ?


Formatted output - easier on the eyes
print AdminApp.list()
print AdminApp.uninstall('DefaultApplication.ear')
print AdminConfig.save()
print AdminApp.install('/opt/IBM/WebSphere/AppServer/installableApps/DefaultApplication.ear')
print
AdminApp.taskInfo('/opt/IBM/WebSphere/AppServer/installableApps/DefaultApplication.ear','MapModul
esToServers')
print AdminConfig.save()
print AdminApplication.startApplicationOnSingleServer("DefaultApplication.ear","rhel","server1")
print AdminConfig.save()
print AdminServerManagement.listServers()
print AdminServerManagement.showServerInfo("rhel","server1")

40

wsadmin what did we do ?


Interactive
/opt/IBM/WebSphere/AppServer/profiles/wp_profile/bin/wsadmin.sh -lang jython -c 'print AdminApp.list()'
/opt/IBM/WebSphere/AppServer/profiles/wp_profile/bin/wsadmin.sh -lang jython -c
'AdminApplication.stopApplicationOnSingleServer("DefaultApplication.ear","rhel","server1")'
Scripted
/opt/IBM/WebSphere/AppServer/profiles/wp_profile/bin/wsadmin.sh -lang jython -f stopApplication.py
/opt/IBM/WebSphere/AppServer/profiles/wp_profile/bin/wsadmin.sh -lang jython -f
uninstallApplication.py
/opt/IBM/WebSphere/AppServer/profiles/wp_profile/bin/wsadmin.sh -lang jython -f
installAndStartApplication.py
/opt/IBM/WebSphere/AppServer/profiles/wp_profile/bin/wsadmin.sh -lang jython -f startApplication.py

41

Anda mungkin juga menyukai