SlideShare a Scribd company logo
1 of 134
WebSphere Administration
Course

Copyright Ā© Oded Nissan 2009
Agenda
ā€¢ Administration of WebSphere Resources
ā€“ JDBC Administration
ā€“ JMS Administration

ā€¢
ā€¢
ā€¢
ā€¢

WebSphere Naming
JEE Class Loading
Working with Profiles
Summary
Copyright Ā© Oded Nissan 2009
Administration of WebSphere
Resources

Copyright Ā© Oded Nissan 2009
JDBC Data Source Administration

Copyright Ā© Oded Nissan 2009
Java Database Connectivity (JDBC)
ā€¢ Java programs communicate with databases
and manipulate their data using the
JDBCā„¢API.
ā€¢ A JDBC driver enables Java applications to
connect to a database in a particular DBMS
and allows programmers to manipulate that
database using the JDBC API.

Copyright Ā© Oded Nissan 2009
Java Database Connectivity (JDBC)
ā€¢ Database vendors implement the JDBC API.
The implementation is called a JDBC Driver.
ā€¢ The driver is provided as a jar file that should
be included in the classpath of the using
program.
ā€¢ JDBC is a standard JavaSE technology.

Copyright Ā© Oded Nissan 2009
JDBC Architecture

Copyright Ā© Oded Nissan 2009
The Data Source API
ā€¢ The Data Source API was introduced in the
JDBC 2.0 Optional Package as an easier, more
generic means of obtaining a Connection.
ā€¢ Application servers work with JDBC using the
Data Source API.
ā€¢ WebSphere uses the Data Source API to
manage connection pooling, container
managed transactions etc.

Copyright Ā© Oded Nissan 2009
Data source and JDBC Provider
ā€¢ The JDBC provider defines the driver in use.
We can configure more than one JDBC
provider in WebSphere.
ā€¢ The DataSource uses a specific provider and
defines the database host, port, database
name, schema etc.
ā€¢ We can think of the provider as the class and
the DataSource as the instance (sort of..).

Copyright Ā© Oded Nissan 2009
Data Source
ā€¢ The JCA connection manager provides
connection pooling, transaction support and
security support.
ā€¢ The JDBC driver is used by the connection
manager to obtain connections.

Copyright Ā© Oded Nissan 2009
Data Source

Copyright Ā© Oded Nissan 2009
The Data source programming model
ā€¢ The application looks up the datasource in the JNDI
tree and obtains it.
ā€¢ The application calls getConnection() on the Data
source object obtained to get a JDBC Connection.
The connection is retrieved from the connection
pool.
ā€¢ The application uses the connection to access the
database.
ā€¢ The application calls the close() method on the
connection when it is done, the connection is
returned to the pool.
Copyright Ā© Oded Nissan 2009
Creating a Data Source

Copyright Ā© Oded Nissan 2009
Creating a Data Source
ā€¢ Create a JDBC Provider, specify the JDBC
driver to be used by the specific data base.
ā€¢ Create a data source specify the connection
settings for the database.

Copyright Ā© Oded Nissan 2009
Creating a JDBC Provider
ā€¢ Using the Admin console select Resources>JDBC->JDBCProviders
ā€¢ Select the scope for which the resource will be
visible, default is node.
ā€¢ Press the new button to create a new JDBC
Provider.

Copyright Ā© Oded Nissan 2009
Creating a JDBC Provider (step 1)

Copyright Ā© Oded Nissan 2009
Creating a JDBC Provider (step 1)
ā€¢ Database type ā€“ select the type of the
database, WebSphere is preconfigured for
popular databases such as DB2, Oracle etc.
ā€¢ Provider type ā€“ select the JDBC driver to use.
ā€¢ Implementation type ā€“ XA or regular
connection. Use XA to support two-phasecommit.

Copyright Ā© Oded Nissan 2009
Creating a JDBC Provider (step 2)

Copyright Ā© Oded Nissan 2009
Creating a JDBC Provider (step 2)
ā€¢ Classpath ā€“ the relevant classpath for the
specific JDBC driver.
ā€¢ Library path ā€“ specify the value for the
environment variable specifying the directory
with the JDBC driver. Can also be set using
Environment->WebSphere variables.
ā€¢ Native library path ā€“ optional path to native
libraries used by the JDBC driver.

Copyright Ā© Oded Nissan 2009
Creating a JDBC Provider (step 3)
ā€¢ Review the settings and press finish to create
the JDBC Provider
ā€¢ Press the save link to save the provider to the
master configuration.
ā€¢ It is recommended to restart the server after
adding a new JDBC provider.

Copyright Ā© Oded Nissan 2009
Creating a Data Source
ā€¢ Using the Admin console select Resources>JDBC->Data sources
ā€¢ Select the scope for which the resource will be
visible, default is node.
ā€¢ Press the new button to create a new data
source.

Copyright Ā© Oded Nissan 2009
Creating a Data Source (step 1)

Copyright Ā© Oded Nissan 2009
Creating a Data Source (step 1)
ā€¢ Data source name ā€“ enter a name for the data
source.
ā€¢ JNDI name ā€“ the name the data source will be bound
to in the JNDI naming tree.
ā€¢ Authentication alias ā€“ choose an existing
authentication alias or create a new one by pressing
the link. The authentication alias stores the
authentication data for the database (user,
password).
ā€¢ Press next
Copyright Ā© Oded Nissan 2009
Creating a Data Source (step 2)
ā€¢ Choose the JDBC Provider
ā€¢ Press next

Copyright Ā© Oded Nissan 2009
Creating a Data Source (step 3)

Copyright Ā© Oded Nissan 2009
Creating a Data Source (step 3)
ā€¢ Database name ā€“ the name of the database.
ā€¢ Driver type ā€“ the JDBC driver type to use.
ā€¢ Server name ā€“ the name of the server where
the database instance is running.
ā€¢ Port number ā€“ the port the database instance
is listening to.

Copyright Ā© Oded Nissan 2009
Creating a Data Source (step 4)
ā€¢ Review the settings and press finish to create
the data source
ā€¢ Press the save link to save the data source to
the master configuration.
ā€¢ You can now test the connection by pressing
the Test connection button.

Copyright Ā© Oded Nissan 2009
Testing the connection

Copyright Ā© Oded Nissan 2009
Update Data source properties
ā€¢
ā€¢
ā€¢
ā€¢

Click the data source in the resource list.
Click custom properties
Click new to add a new property.
Click a property to change its value.

Copyright Ā© Oded Nissan 2009
Update Data source properties

Copyright Ā© Oded Nissan 2009
JMS Administration

Copyright Ā© Oded Nissan 2009
Introduction to JMS
ā€¢ JMS is a vendor-neutral API that can be used to
access enterprise messaging systems
ā€¢ Applications that use JMS are called JMS clients , and
the messaging system that handles routing and
delivery of messages is called the JMS provider.
ā€¢ A JMS client that sends a message is called a
producer , and a JMS client that receives a message
is called a consumer . A single JMS client can be both
a producer and a consumer.

Copyright Ā© Oded Nissan 2009
JMS Architecture
A JMS application is composed of the following parts:
ā€¢ A JMS provider: A messaging system that
implements the JMS specification.
ā€¢ JMS clients: Java applications that send and receive
messages.
ā€¢ Messages: Objects that are used to communicate
information between JMS clients.
ā€¢ Administered objects: Preconfigured JMS objects
that are created by an administrator for the use of
JMS clients.
Copyright Ā© Oded Nissan 2009
JMS Delivery Modes
JMS supports two different message delivery
models:
ā€¢ Point-to-Point (Queue destination): In this
model, a message is delivered from a
producer to one consumer.
ā€¢ Publish/Subscribe (Topic destination): In this
model, a message is delivered from a
producer to any number of consumers.
Copyright Ā© Oded Nissan 2009
Point to Point
ā€¢ The messages are delivered to the destination, which
is a queue, and then delivered to one of the
consumers registered for the queue. While any
number of producers can send messages to the
queue, each message is guaranteed to be delivered,
and consumed by one consumer. If no consumers
are registered to consume the messages, the queue
holds them until a consumer registers to consume
them.

Copyright Ā© Oded Nissan 2009
Publish/Subscribe
ā€¢ Messages are delivered to the topic destination, and
then to all active consumers who have subscribed to
the topic. In addition, any number of producers can
send messages to a topic destination, and each
message can be delivered to any number of
subscribers. If there are no consumers registered,
the topic destination doesn't hold messages unless it
has durable subscription for inactive consumers. A
durable subscription represents a consumer
registered with the topic destination that can be
inactive at the time the messages are sent to the
topic.
Copyright Ā© Oded Nissan 2009
The JMS programming Model
ā€¢ A JMS application consists of a set of
application-defined messages and a set of
clients that exchange them.
ā€¢ JMS clients interact by sending and receiving
messages using the JMS API.
ā€¢ A message is composed of three parts:
header, properties, and a body.

Copyright Ā© Oded Nissan 2009
The JMS programming Model

Copyright Ā© Oded Nissan 2009
JMS Message Types
ā€¢

The JMS specification defined six type or classes of messages that a JMS
provider must support:
ā€“ Message: This represents a message without a message body.
ā€“ StreamMessage: A message whose body contains a stream of Java
primitive types. It is written and read sequentially.
ā€“ MapMessage: A message whose body contains a set of name/value
pairs. The order of entries is not defined.
ā€“ TextMessage: A message whose body contains a Java string...such as
an XML message.
ā€“ ObjectMessage: A message whose body contains a serialized Java
object.
ā€“ BytesMessage: A message whose body contains a stream of
uninterpreted bytes.
Copyright Ā© Oded Nissan 2009
Producing and Consuming Messages

Copyright Ā© Oded Nissan 2009
Sample Code
Creating a connection:
QueueConnection conn;
QueueSession session;
Queue que;
InitialContext iniCtx = new InitialContext();
Object tmp = iniCtx.lookup("ConnectionFactory");
QueueConnectionFactory qcf = (QueueConnectionFactory) tmp;
conn = qcf.createQueueConnection();
que = (Queue) iniCtx.lookup("queue/testQueue");
session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
conn.start();

Copyright Ā© Oded Nissan 2009
Sample Code
Sending a message:

// Send a text msg
QueueSender send = session.createSender(que);
TextMessage tm = session.createTextMessage(text);
send.send(tm);

Receiving a message:

// Set the async listener
QueueReceiver recv = session.createReceiver(que);
recv.setMessageListener(new ExListener());
public static class ExListener implements MessageListener {
public void onMessage(Message msg) {
TextMessage tm = (TextMessage) msg;
try {
log.info("onMessage, recv text=" + tm.getText());
}
catch(Throwable t) {
ā€¦.

Copyright Ā© Oded Nissan 2009
Message Driven Beans

Copyright Ā© Oded Nissan 2009
Message Driven Beans
ā€¢ Message-driven beans (MDBs) are stateless, server-side,
transaction-aware components for processing asynchronous
messages delivered via JMS. While a message-driven bean is
responsible for processing messages, its container manages
the component's environment, including transactions,
security, resources, concurrency, and message
acknowledgment..
ā€¢ An MDB can process hundreds of JMS messages concurrently
because numerous instances of the MDB can execute
concurrently in the container.

Copyright Ā© Oded Nissan 2009
MDB Example

Copyright Ā© Oded Nissan 2009
Message Driven Beans

Copyright Ā© Oded Nissan 2009
The MDB Life Cycle
An MDB can be in two states:
ā€¢ Does not exist
ā€¢ Method Ready Pool ā€“ the pool is maintained
by the container, when the container decides
to reduce the number of MDB instances it
may destroy some instances.

Copyright Ā© Oded Nissan 2009
The MDB Life Cycle

Copyright Ā© Oded Nissan 2009
Message Driven Beans
ā€¢ MDB clients are regular JMS clients, in
contrast to other EJB types.
ā€¢ Use MDBs to perform asynchronous
operations.
ā€¢ MDBs can be a good fit for handling a high
load of events or observations.

Copyright Ā© Oded Nissan 2009
JMS Resources

Copyright Ā© Oded Nissan 2009
JMS Providers
ā€¢ Default Messaging Provider - based on service
integration technologies and is fully integrated with
the WebSphere Application Server runtime
environment.
ā€¢ WebSphere MQ Provider - integrate WebSphere
Application Server messaging applications into an
exising WebSphere MQ server.
ā€¢ Generic Provider- integrate WebSphere messaging
with a 3rd party JMS provider.
Copyright Ā© Oded Nissan 2009
Default Messaging Provider
ā€¢ Based on a preconfigured JCA adapter that
integrates with a Service Integration Bus (SIB).
ā€¢ The Admin Console allows us to configure the
adapter as if it was a JMS provider.
ā€¢ The preferred choice for most JEE
applications, unless we are integrating with
other systems.

Copyright Ā© Oded Nissan 2009
WebSphere MQ Provider
ā€¢ Provides integration with MQ products for
both the point to point and publish-subscribe
messaging models.
ā€¢ Creation of MQ objects such as queue
managers, channels and queues must be done
in the MQ product.
ā€¢ These objects can then be used when
integrating with WebSphere.
Copyright Ā© Oded Nissan 2009
Generic Provider
ā€¢ You can configure any third-party messaging
provider that supports the JMS Version 1.1
specification.
ā€¢ JMS Administered objects must be created
using the 3rd party provider.
ā€¢ JMS Administered objects are bound to the
WAS JNDI tree, however, these are aliases to
the real JMS objects that are bound to an
external JNDI tree.
Copyright Ā© Oded Nissan 2009
Generic Provider

Copyright Ā© Oded Nissan 2009
Service Integration Bus
ā€¢ A service integration bus is a group of one or
more application servers or server clusters in
a WebSphereĀ® Application Server cell that
cooperate to provide asynchronous messaging
services.
ā€¢ The application servers or server clusters in a
bus are known as bus members.

Copyright Ā© Oded Nissan 2009
Service Integration Bus
ā€¢ A service integration bus, or bus, is simply an
architectural concept. It gives an
administrator the ability to group a collection
of resources together that provide the
messaging capabilities of the bus.
ā€¢ The application servers or server clusters in a
bus are known as bus members.

Copyright Ā© Oded Nissan 2009
Service integration Bus in a Cell

Copyright Ā© Oded Nissan 2009
Messaging Engine
ā€¢ A messaging engine is the component within an
application server that provides the core messaging
functionality of a bus. At run time, it is the messaging
engines within a bus that communicate and
cooperate with each other to provide the messaging
capabilities of the bus.
ā€¢ A messaging engine is responsible for managing the
resources of the bus and it also provides a
connection point to which local and remote client
applications can connect.
Copyright Ā© Oded Nissan 2009
SIB and Messaging Engine

Copyright Ā© Oded Nissan 2009
Message Store
ā€¢ Every messaging engine defined within a bus has a
message store associated with it. A messaging engine
uses this message store to persist durable data, such
as persistent messages and transaction states.
ā€¢ Durable data written to the message store survives
the orderly shutdown, or failure, of a messaging
engine, regardless of the reason for the failure.

Copyright Ā© Oded Nissan 2009
Destinations
ā€¢ A destination within a bus is a logical address to
which applications can attach as message producers,
message consumers, or both, in order to exchange
messages.
ā€¢ The main types of destination that can be
configured on a bus are:
ā€“ Queue destinations for point-to-point messaging.
ā€“ Topic destinations for publish-subscribe messaging.

Copyright Ā© Oded Nissan 2009
Using the Default Provider
ā€¢ To create JMS resources using the default
provider:
ā€“ Create a Service Integration Bus (SIB)
ā€“ Add a member to the SIB.
ā€“ Create a destination on the SIB
ā€“ Create a JMS connection factory.
ā€“ Create the JMS destinations: queues or topics.

Copyright Ā© Oded Nissan 2009
Creating a SIB
ā€¢ From the navigation menu choose Service
Integration->Buses.
ā€¢ Press the new button.
ā€¢ Name the bus and press next.
ā€¢ Confirm your bus creation.

Copyright Ā© Oded Nissan 2009
Creating a SIB

Copyright Ā© Oded Nissan 2009
Adding a bus member
ā€¢
ā€¢
ā€¢
ā€¢
ā€¢
ā€¢
ā€¢

Click bus members
Press Add
Choose a bus member to add, a server or a cluster.
Press next.
Choose the store for the bus, file store or data store.
Press next and edit store properties.
Press finish.

Copyright Ā© Oded Nissan 2009
Adding a bus member

Copyright Ā© Oded Nissan 2009
Create a destination
ā€¢ From the navigation menu choose Service
integration->Buses choose the desired bus.
ā€¢ Press destinations
ā€¢ Press new
ā€¢ Choose the destination type
ā€¢ Enter a name for the destination.
ā€¢ Press next.
Copyright Ā© Oded Nissan 2009
Create a destination

Copyright Ā© Oded Nissan 2009
Create a destination
ā€¢ Choose a bus member to assign the
queue/topic to.
ā€¢ Click finish.

Copyright Ā© Oded Nissan 2009
Creating a JMS Connection Factory.
ā€¢ From the navigation menu choose Resource>JMS->JMS providers.
ā€¢ Choose the Default JMS Provider in the
required scope and press the connection
factories link.
ā€¢ Press new to create a new connection factory.

Copyright Ā© Oded Nissan 2009
Creating a JMS Connection Factory.

Copyright Ā© Oded Nissan 2009
Creating a JMS Connection Factory.
ā€¢ Name - The name by which this resource is known
for administrative purposes.
ā€¢ JNDI Name-The JNDI name for the resource.
ā€¢ Bus name - The name of the service integration bus
to connect to.
ā€¢ Target - The name of a target that identifies a group
of messaging engines. Specify the type of target
using the Target type property.
ā€¢ Target type - The type of target named in the Target
property.
Copyright Ā© Oded Nissan 2009
Creating a JMS Connection Factory.
ā€¢ Target Significance - the significance of the target
group. Preferred or required.
ā€¢ Target inbound transport chain - Type the name of
the transport chain that the application should use
when connecting to a messaging engine in separate
process to the application. The name you specify
must be one of the transport chains available in the
server that hosts the messaging engine, as listed on
the Servers > Application servers > server >
Messaging engine inbound transports panel.
Copyright Ā© Oded Nissan 2009
Creating a JMS Connection Factory.
ā€¢ Provider endpoints - The list of comma
separated endpoints used to connect to a
bootstrap server. You only need to modify this
property if you have client applications
running outside of an application server.
ā€¢ Connection Proximity - The proximity of
messaging engines that can accept connection
requests, in relation to the bootstrap
messaging engine.
Copyright Ā© Oded Nissan 2009
Creating a JMS Connection Factory.
ā€¢ Durable subscription- properties for
configuring a durable supscription.
ā€¢ Quality of Service - The reliability applied to
JMS messages sent using this connection
factory.
ā€¢ Advanced Messaging-read ahead, temporary
queue name prefix and more.

Copyright Ā© Oded Nissan 2009
Creating a Queue
ā€¢ From the navigation menu choose
JMS>Queues.
ā€¢ Select the scope and press new.
ā€¢ Choose the default messaging engine.
ā€¢ Press Next

Copyright Ā© Oded Nissan 2009
Creating a Queue

Copyright Ā© Oded Nissan 2009
Creating a Queue
ā€¢ Name - The name by which this resource is known
for administrative purposes.
ā€¢ JNDI Name-The JNDI name for the resource.
ā€¢ Bus name - The name of the service integration bus
to connect to.
ā€¢ Queue name - The name of the associated queue on
the service integration bus.
ā€¢ Delivery Mode - the persistence mode of messages
on this destination.
Copyright Ā© Oded Nissan 2009
Creating a Queue
ā€¢ Time to live ā€“The default length of time in
milliseconds from its dispatch time that a message
sent to this destination should be kept by the
system.
ā€¢ Priority ā€“ The relative priority for messages sent to
this destination, in the range 0 to 9.
ā€¢ Read ahead - an optimization that preemptively
assigns messages to consumers. This improves the
time taken to satisfy consumer requests.
Copyright Ā© Oded Nissan 2009
JMS Activation Spec
ā€¢ a JMS activation specification is used to
configure an instance of an Activation Spec
JavaBean for the default messaging JMS
provider.
ā€¢ A JMS activation specification is then
associated with a message-driven bean during
application installation.

Copyright Ā© Oded Nissan 2009
Creating a JMS Activation Spec
ā€¢ From the navigation menu choose Resources>JMS->Activation spec.
ā€¢ Choose the scope and press new.
ā€¢ Choose the message provider press OK.

Copyright Ā© Oded Nissan 2009
Creating a JMS Activation Spec

Copyright Ā© Oded Nissan 2009
Creating a JMS Activation Spec
ā€¢ Name - The name by which this resource is
known for administrative purposes.
ā€¢ JNDI Name-The JNDI name for the resource.
ā€¢ Destination type ā€“ queue or topic
ā€¢ Destination JNDI ā€“ the JNDI name of the
destination.

Copyright Ā© Oded Nissan 2009
Creating a JMS Activation Spec
ā€¢ Message selector - a message selector property is a
string that is used to select a subset of the available
messages.
For example:
JMSType='car' AND color='blue' AND weight>2500
ā€¢ Bus name ā€“ the name of the bus
ā€¢ Acknowledge mode - The acknowledge mode
indicates how a message received by a messagedriven bean should be acknowledged.

Copyright Ā© Oded Nissan 2009
Creating a JMS Activation Spec
ā€¢ Target properties ā€“same as for a JMS connection
factory.
ā€¢ Authentication alias - The name of a J2C
authentication alias used for component-managed
authentication of connections to the service
integration bus.
ā€¢ Maximum batch size - The maximum number of
messages received from the messaging engine in a
single batch.
ā€¢ Maximum concurrent endpoints - The maximum
number of endpoints to which messages are
delivered concurrently.
Copyright Ā© Oded Nissan 2009
WebSphere Naming

Copyright Ā© Oded Nissan 2009
WebSphere Naming
ā€¢ WAS has a naming service that is used to store
references to JEE resources.
ā€¢ The naming service is a JNDI implementation.
ā€¢ Objects are bound into a mostly hierarchical
structure, referred to as a name space. All
non-leaf objects are called contexts.

Copyright Ā© Oded Nissan 2009
WebSphere Naming Features
ā€¢ Distributed name space - For additional
scalability, the name space for a cell is
distributed among the various servers. The
deployment manager, node agent, and
application server processes all host a name
server.
ā€¢ Transient and persistent partitions - The name
space is partitioned into transient areas and
persistent areas.
Copyright Ā© Oded Nissan 2009
WebSphere Naming Features
ā€¢ Federated name space structure - A name
space is a collection of all names bound to a
particular name server. A name space can
contain naming context bindings to contexts
located in other servers.
ā€¢ Configured bindings - Administrators can
configure bindings into the name space.
ā€¢ Support for CORBA URLS - WAS contains
support for CORBA object URLs
Copyright Ā© Oded Nissan 2009
WebSphere Naming

Copyright Ā© Oded Nissan 2009
WebSphere Naming
ā€¢ Use the DumpNameSpace.cmd utility in the
bin directory to dump the serverā€™s
namespace.
ā€¢ The DumpNameSpace command can be given
the host and port to connect to in the
command line arguments.
ā€¢ The BOOTSTRAP_ADDRESS in the ports panel
specifies the naming serverā€™s port.
Copyright Ā© Oded Nissan 2009
Naming Bindings
ā€¢ Bindings can be created in three ways:
ā€“ By application deployment the binding is specified
in the deployment descriptor.
ā€“ Explicitly using the admin console.
ā€“ Programmatically using the JNDI API.

Copyright Ā© Oded Nissan 2009
Naming Bindings in the
AdminConsole
ā€¢ From the navigation menu select
Environment->Naming->Name Space bindings
ā€¢ Select the scope and click new.
ā€¢ Select the binding type and enter the binding
value.

Copyright Ā© Oded Nissan 2009
Naming Bindings in the
AdminConsole

Copyright Ā© Oded Nissan 2009
Naming Bindings Using JNDI
ā€¢ Obtain an InitialContext object.
ā€¢ Perform lookups and binding of objects using
the InitialContext object.
ā€¢ The InitialContext object must be given either
an iiop or CORBA style URL to the naming
server. If we are calling the local naming
server, no URL is needed.

Copyright Ā© Oded Nissan 2009
Naming Bindings Using JNDI
ā€¢ Getting an InitialContext

Copyright Ā© Oded Nissan 2009
Naming Bindings Using JNDI
ā€¢ Looking up and EJB home using a compound
name.

Copyright Ā© Oded Nissan 2009
The Federated NameSpace

Copyright Ā© Oded Nissan 2009
JEE ClassLoading

Copyright Ā© Oded Nissan 2009
Java Class Loaders
ā€¢ Class loaders enable the Java virtual machine
(JVM) to load classes. Given the name of a
class, the class loader locates the definition of
this class.
ā€¢ Each Java class must be loaded by a class
loader.
ā€¢ The JVM uses more than one class loader.
Class loaders are organized in a hierarchy
Copyright Ā© Oded Nissan 2009
Java Class Loaders
ā€¢ By default the JVM uses three class loaders:
ā€“ bootstrap class loader loads the core Java libraries
ā€“ extensions class loader loads extention java
libraries
ā€“ application class loader loads classes from the
CLASSPATH.

Copyright Ā© Oded Nissan 2009
Java Class Loaders
ā€¢ A class loader delegates class loading to its
parent before trying to load the class itself.
The parent class loader can be either another
custom class loader or the bootstrap class
loader.
ā€¢ A class loader can only delegate requests to its
parent class loader, never to its child class
loaders (it can go up the hierarchy but never
down).
Copyright Ā© Oded Nissan 2009
The JVM ClassLoader Hierarchy

Copyright Ā© Oded Nissan 2009
The WebSphere Class Loader
Hierarchy

Copyright Ā© Oded Nissan 2009
WebSphere Class Loaders
ā€¢ The WAS extension class loader - The class path used
by the extensions class loader is retrieved from the
ws.ext.dirs system property.
ā€¢ Web Module class loader ā€“ loads classes from the
WEB-INF/classes WEB-INF/lib directories in the web
application.
ā€¢ Application class loader ā€“ handles EJB modules utility
jars etc that reside in the EAR file.

Copyright Ā© Oded Nissan 2009
WAS Class Loader Policies
ā€¢ Single - a single application loader is used to
load all EJBs, utility JARs, and shared libraries.
Same with single web class loader.
ā€¢ Multiple ā€“ each application (or web
application) will receive its own class loader.

Copyright Ā© Oded Nissan 2009
Multiple Class Loaders
ā€¢ Total isolation between applications and web
modules.

Copyright Ā© Oded Nissan 2009
Single Web class loader
ā€¢ WAR2-2 is loader by the application class
loader.

Copyright Ā© Oded Nissan 2009
Single Application class loader
ā€¢ Single application class loader and single web
class loader for WAR2.

Copyright Ā© Oded Nissan 2009
Class loading order
ā€¢ Parent first ā€“ first try to load classes using the
parent class loader. This is the default. (JVM
behavior).
ā€¢ Application first (parent last) ā€“ try to load
classes using the applicationā€™s class loader
(web or application) before delegating to the
parent. This allows the application to override
classes in the parent.
Copyright Ā© Oded Nissan 2009
Shared Libraries
ā€¢ These are libraries that we want to share
among all applications. For example:
framework libraries.
ā€¢ Shared libraries are defined using the
administration tools. They consist of a
symbolic name, a Java class path, and a native
path for loading JNI libraries.
ā€¢ Share libraries need to be associated with an
application in order to be loaded.
Copyright Ā© Oded Nissan 2009
Class loader viewer
ā€¢ the Class Loader Viewer displays the hierarchy of
class loaders and their classpaths.
ā€¢ To enable the Class Loader Viewer Service, select
Servers ā†’ Application Servers ā†’ <server name> and
then click the Class Loader Viewer Service under the
Additional Properties link. Then select Enable service
at server startup.
ā€¢ You will need to restart the application server for the
setting to take effect.
Copyright Ā© Oded Nissan 2009
WebSphere Profiles

Copyright Ā© Oded Nissan 2009
WebSphere Profiles
ā€¢ A set of WebSphere configuration files that
represent a WAS instance.
ā€¢ In the WAS Base product, you can only have
stand-alone application servers, Each
application server is defined within a single
cell and node. The administration console is
hosted within the application server and can
only connect to that application server.
Copyright Ā© Oded Nissan 2009
WebSphere Profiles
ā€¢ Standalone server profile.

Copyright Ā© Oded Nissan 2009
WebSphere Profiles
ā€¢ With the Network Deployment package, you have
the option of defining multiple application servers
with central management capabilities. The
administration domain is the cell, consisting of one
or more nodes.
ā€¢ Each node contains one or more application servers
and a node agent that provides an administration
point management by the deployment manager.

Copyright Ā© Oded Nissan 2009
WebSphere Profiles
ā€¢ Profiles with Network Deployment

Copyright Ā© Oded Nissan 2009
Profile Types
ā€¢ Application Server profile - defines a single stand-alone
application server.
ā€¢ Deployment manager profile -defines a deployment manager
in a distributed server environment.
ā€¢ Custom profile - A custom profile is an empty node, intended
for federation to a deployment
ā€¢ manager. This type of profile is used when you are building a
distributed server
ā€¢ environment.
ā€¢ Cell profile - A cell profile is actually a combination of two
profiles: a deployment manager profile and an application
server profile. Useful for test environments.
Copyright Ā© Oded Nissan 2009
Profile Directory Structure

Copyright Ā© Oded Nissan 2009
Creating a profile
ā€¢ From the <WAS
HOME>bin/ProfileManagment directory run
PMT.bat
ā€¢ Choose the type of the profile to create.
ā€¢ In case of an application server profile choose
whether to install the admin console and
default application.
ā€¢ Press next
Copyright Ā© Oded Nissan 2009
Creating a profile
ā€¢ Give the profile a name and choose the profile
directory (to override the default).

Copyright Ā© Oded Nissan 2009
Creating a profile
ā€¢ You can enter the node name and host name
defaults are automatically filled.

Copyright Ā© Oded Nissan 2009
Creating a profile
ā€¢ You can change the ports to avoid collision
with an existing server.

Copyright Ā© Oded Nissan 2009
Creating a profile
ā€¢ On windows systems you can run the profile
as a windows service.

Copyright Ā© Oded Nissan 2009
Creating a profile
ā€¢ Press next, review settings and press finish to
create the profile.
ā€¢ The First Steps console is started.
ā€¢ Now we can move to the profile directory and
start the server using the startServer
command from the bin directory.

Copyright Ā© Oded Nissan 2009
Backing up a profile
ā€¢ Use the backupConfig command to back up a
profile. The command will zip the
configuration file and store it in the current
directory or a specified file name. The zip file
can be restored using the restoreConfig
command.
ā€¢ Run backupConfig from the
<WAS_HOME>/bin directory
Copyright Ā© Oded Nissan 2009
Restoring a profile
ā€¢ Use the restoreConfig command to restore a
profile configuration using an archive
previously generated using backupConfig. If
the configuration to be restored exists, the
config directory is renamed to config.old
before the restore begins.
ā€¢ The command then restores the entire
contents of the <profile_home>/config
directory
Copyright Ā© Oded Nissan 2009
Exporting and Importing Profiles
ā€¢ WAS provides a mechanism that allows you to export
certain profiles, or server objects from a profile to an
archive. The archive can be distributed and imported
to other installations.
ā€¢ An exported archive is a zip file of the config
directory with host-specific information removed.
ā€¢ The exported archive can be the complete
configuration or a subset.
ā€¢ Importing the archive creates the configurations
defined in the archive.
Copyright Ā© Oded Nissan 2009
Exporting and importing profiles
ā€¢ To export a profile run wsadmin, type the
following command:
ā€“ $AdminTask exportWasprofile {-archive
<archivename>.car}

ā€¢ To import a profile run wsadmin, type the
following command:
ā€“ $AdminTask importWasprofile {-archive
<archivename>.car}
Copyright Ā© Oded Nissan 2009
Managing Profiles
ā€¢ The wasprofile command line tool can also be
used to create profiles from the command
line.
ā€¢ The wasprofile tool can also delete and list
available profiles.
ā€¢ Listing available profiles:
ā€“ wasprofile.sh -listProfiles

Copyright Ā© Oded Nissan 2009
Managing Profiles
ā€¢ Creating a profile:
ā€“ /wasprofile.sh  -create -profileName bladetcb6profile 
-profilePath
/usr/IBM/WebSphere/AppServer/profiles/bladetcb6profil
e  -templatePath
/usr/WebSphere/AppServer/profileTemplates/default 
-nodeName bladetcb6node  -cellName bladetcb6Cell 
-hostName bladetcb6.rtp.raleigh.ibm.com
ā€¢ Deleting a profile:
ā€“ wasprofile.sh -delete -profileName profile_name

Copyright Ā© Oded Nissan 2009
Resources

ā€¢ Info center for WAS 6.1 http://publib.boulder.ibm.com/infocenter/wasi
ā€¢ IBM Redbook ā€“ sg247304 WAS 6.1 System
Management and configuration.
ā€¢ Admin Console context sensitive online help.

Copyright Ā© Oded Nissan 2009
Summary
ā€¢ Administration of WebSphere Resources
ā€“ JDBC Administration
ā€“ JMS Administration

ā€¢ WebSphere Naming
ā€¢ JEE Class Loading
ā€¢ Working with Profiles

Copyright Ā© Oded Nissan 2009

More Related Content

What's hot

Using WebSphere MQ with WebSphere Application Server and the Liberty Profile
Using WebSphere MQ with WebSphere Application Server and the Liberty ProfileUsing WebSphere MQ with WebSphere Application Server and the Liberty Profile
Using WebSphere MQ with WebSphere Application Server and the Liberty Profilet_quigly
Ā 
WebSphere Application Server Topology Options
WebSphere Application Server Topology OptionsWebSphere Application Server Topology Options
WebSphere Application Server Topology Optionsejlp12
Ā 
IBM websphere application server types of profiles
IBM websphere application server types of profilesIBM websphere application server types of profiles
IBM websphere application server types of profilesKuldeep Saxena
Ā 
IBM Websphere introduction and installation for beginners
IBM Websphere introduction and installation for beginnersIBM Websphere introduction and installation for beginners
IBM Websphere introduction and installation for beginnersShubham Gupta
Ā 
Ibm web sphere application server interview questions
Ibm web sphere application server interview questionsIbm web sphere application server interview questions
Ibm web sphere application server interview questionspraveen_guda
Ā 
IBM WebSphere MQ Introduction
IBM WebSphere MQ Introduction IBM WebSphere MQ Introduction
IBM WebSphere MQ Introduction ejlp12
Ā 
Websphere interview Questions
Websphere interview QuestionsWebsphere interview Questions
Websphere interview Questionsgummadi1
Ā 
WebSphere Application Server Family (Editions Comparison)
WebSphere Application Server Family (Editions Comparison)WebSphere Application Server Family (Editions Comparison)
WebSphere Application Server Family (Editions Comparison)ejlp12
Ā 
WebSphere Application Server Information Resources
WebSphere Application Server Information ResourcesWebSphere Application Server Information Resources
WebSphere Application Server Information Resourcesejlp12
Ā 
WAS Support & Monitoring Tools
WAS Support & Monitoring ToolsWAS Support & Monitoring Tools
WAS Support & Monitoring ToolsRoyal Cyber Inc.
Ā 
Ibm web sphere_job_interview_preparation_guide
Ibm web sphere_job_interview_preparation_guideIbm web sphere_job_interview_preparation_guide
Ibm web sphere_job_interview_preparation_guideKhemnath Chauhan
Ā 
AAI-1445 Managing Dynamic Workloads with WebSphere ND and in the Cloud
AAI-1445 Managing Dynamic Workloads with WebSphere ND and in the CloudAAI-1445 Managing Dynamic Workloads with WebSphere ND and in the Cloud
AAI-1445 Managing Dynamic Workloads with WebSphere ND and in the CloudWASdev Community
Ā 
Websphere Application Server v7
Websphere Application Server v7Websphere Application Server v7
Websphere Application Server v7Chris Sparshott
Ā 
ibm websphere admin training | websphere admin course | ibm websphere adminis...
ibm websphere admin training | websphere admin course | ibm websphere adminis...ibm websphere admin training | websphere admin course | ibm websphere adminis...
ibm websphere admin training | websphere admin course | ibm websphere adminis...Nancy Thomas
Ā 
IBM WebSphere Application Server version to version comparison
IBM WebSphere Application Server version to version comparisonIBM WebSphere Application Server version to version comparison
IBM WebSphere Application Server version to version comparisonejlp12
Ā 
IBM WebSphere application server
IBM WebSphere application serverIBM WebSphere application server
IBM WebSphere application serverIBM Sverige
Ā 
WebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination FeaturesWebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination FeaturesChris Bailey
Ā 
Classloader leak detection in websphere application server
Classloader leak detection in websphere application serverClassloader leak detection in websphere application server
Classloader leak detection in websphere application serverRohit Kelapure
Ā 
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...WASdev Community
Ā 
W23 - Advanced Performance Tactics for WebSphere Performance
W23 - Advanced Performance Tactics for WebSphere PerformanceW23 - Advanced Performance Tactics for WebSphere Performance
W23 - Advanced Performance Tactics for WebSphere PerformanceHendrik van Run
Ā 

What's hot (20)

Using WebSphere MQ with WebSphere Application Server and the Liberty Profile
Using WebSphere MQ with WebSphere Application Server and the Liberty ProfileUsing WebSphere MQ with WebSphere Application Server and the Liberty Profile
Using WebSphere MQ with WebSphere Application Server and the Liberty Profile
Ā 
WebSphere Application Server Topology Options
WebSphere Application Server Topology OptionsWebSphere Application Server Topology Options
WebSphere Application Server Topology Options
Ā 
IBM websphere application server types of profiles
IBM websphere application server types of profilesIBM websphere application server types of profiles
IBM websphere application server types of profiles
Ā 
IBM Websphere introduction and installation for beginners
IBM Websphere introduction and installation for beginnersIBM Websphere introduction and installation for beginners
IBM Websphere introduction and installation for beginners
Ā 
Ibm web sphere application server interview questions
Ibm web sphere application server interview questionsIbm web sphere application server interview questions
Ibm web sphere application server interview questions
Ā 
IBM WebSphere MQ Introduction
IBM WebSphere MQ Introduction IBM WebSphere MQ Introduction
IBM WebSphere MQ Introduction
Ā 
Websphere interview Questions
Websphere interview QuestionsWebsphere interview Questions
Websphere interview Questions
Ā 
WebSphere Application Server Family (Editions Comparison)
WebSphere Application Server Family (Editions Comparison)WebSphere Application Server Family (Editions Comparison)
WebSphere Application Server Family (Editions Comparison)
Ā 
WebSphere Application Server Information Resources
WebSphere Application Server Information ResourcesWebSphere Application Server Information Resources
WebSphere Application Server Information Resources
Ā 
WAS Support & Monitoring Tools
WAS Support & Monitoring ToolsWAS Support & Monitoring Tools
WAS Support & Monitoring Tools
Ā 
Ibm web sphere_job_interview_preparation_guide
Ibm web sphere_job_interview_preparation_guideIbm web sphere_job_interview_preparation_guide
Ibm web sphere_job_interview_preparation_guide
Ā 
AAI-1445 Managing Dynamic Workloads with WebSphere ND and in the Cloud
AAI-1445 Managing Dynamic Workloads with WebSphere ND and in the CloudAAI-1445 Managing Dynamic Workloads with WebSphere ND and in the Cloud
AAI-1445 Managing Dynamic Workloads with WebSphere ND and in the Cloud
Ā 
Websphere Application Server v7
Websphere Application Server v7Websphere Application Server v7
Websphere Application Server v7
Ā 
ibm websphere admin training | websphere admin course | ibm websphere adminis...
ibm websphere admin training | websphere admin course | ibm websphere adminis...ibm websphere admin training | websphere admin course | ibm websphere adminis...
ibm websphere admin training | websphere admin course | ibm websphere adminis...
Ā 
IBM WebSphere Application Server version to version comparison
IBM WebSphere Application Server version to version comparisonIBM WebSphere Application Server version to version comparison
IBM WebSphere Application Server version to version comparison
Ā 
IBM WebSphere application server
IBM WebSphere application serverIBM WebSphere application server
IBM WebSphere application server
Ā 
WebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination FeaturesWebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination Features
Ā 
Classloader leak detection in websphere application server
Classloader leak detection in websphere application serverClassloader leak detection in websphere application server
Classloader leak detection in websphere application server
Ā 
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
AAI-4847 Full Disclosure on the Performance Characteristics of WebSphere Appl...
Ā 
W23 - Advanced Performance Tactics for WebSphere Performance
W23 - Advanced Performance Tactics for WebSphere PerformanceW23 - Advanced Performance Tactics for WebSphere Performance
W23 - Advanced Performance Tactics for WebSphere Performance
Ā 

Similar to WebSphere 6.1 admin Course 2

JDBC,Types of JDBC,Resultset, statements,PreparedStatement,CallableStatements...
JDBC,Types of JDBC,Resultset, statements,PreparedStatement,CallableStatements...JDBC,Types of JDBC,Resultset, statements,PreparedStatement,CallableStatements...
JDBC,Types of JDBC,Resultset, statements,PreparedStatement,CallableStatements...Pallepati Vasavi
Ā 
Mobile Application Devlopement-Database connections-UNIT-5
Mobile Application Devlopement-Database connections-UNIT-5Mobile Application Devlopement-Database connections-UNIT-5
Mobile Application Devlopement-Database connections-UNIT-5Pallepati Vasavi
Ā 
java.pptx
java.pptxjava.pptx
java.pptxbfgd1
Ā 
Weblogic configuration
Weblogic configurationWeblogic configuration
Weblogic configurationAditya Bhuyan
Ā 
Weblogic Cluster configuration
Weblogic Cluster configurationWeblogic Cluster configuration
Weblogic Cluster configurationAditya Bhuyan
Ā 
Jdbc
JdbcJdbc
Jdbcgee eew3
Ā 
Chap3 3 12
Chap3 3 12Chap3 3 12
Chap3 3 12Hemo Chella
Ā 
PROGRAMMING IN JAVA- unit 5-part II
PROGRAMMING IN JAVA- unit 5-part IIPROGRAMMING IN JAVA- unit 5-part II
PROGRAMMING IN JAVA- unit 5-part IISivaSankari36
Ā 
Java database connectivity
Java database connectivityJava database connectivity
Java database connectivityVaishali Modi
Ā 
Java database connectivity
Java database connectivityJava database connectivity
Java database connectivityVaishali Modi
Ā 
Show104 buried treasure
Show104 buried treasureShow104 buried treasure
Show104 buried treasureMark Myers
Ā 
SHOW104 - Buried treasure: Finding the Hidden Gold in Lotus Notes Data
SHOW104 - Buried treasure: Finding the Hidden Gold in Lotus Notes DataSHOW104 - Buried treasure: Finding the Hidden Gold in Lotus Notes Data
SHOW104 - Buried treasure: Finding the Hidden Gold in Lotus Notes Datapanagenda
Ā 
Types of Drivers in JDBC
Types of Drivers in JDBCTypes of Drivers in JDBC
Types of Drivers in JDBCHemant Sharma
Ā 
java database connection (jdbc)
java database connection (jdbc)java database connection (jdbc)
java database connection (jdbc)Sanjay Gunjal
Ā 

Similar to WebSphere 6.1 admin Course 2 (20)

JDBC,Types of JDBC,Resultset, statements,PreparedStatement,CallableStatements...
JDBC,Types of JDBC,Resultset, statements,PreparedStatement,CallableStatements...JDBC,Types of JDBC,Resultset, statements,PreparedStatement,CallableStatements...
JDBC,Types of JDBC,Resultset, statements,PreparedStatement,CallableStatements...
Ā 
Mobile Application Devlopement-Database connections-UNIT-5
Mobile Application Devlopement-Database connections-UNIT-5Mobile Application Devlopement-Database connections-UNIT-5
Mobile Application Devlopement-Database connections-UNIT-5
Ā 
java.pptx
java.pptxjava.pptx
java.pptx
Ā 
JDBC
JDBCJDBC
JDBC
Ā 
jdbc
jdbcjdbc
jdbc
Ā 
Weblogic configuration
Weblogic configurationWeblogic configuration
Weblogic configuration
Ā 
Weblogic Cluster configuration
Weblogic Cluster configurationWeblogic Cluster configuration
Weblogic Cluster configuration
Ā 
Jdbc
JdbcJdbc
Jdbc
Ā 
Chap3 3 12
Chap3 3 12Chap3 3 12
Chap3 3 12
Ā 
PROGRAMMING IN JAVA- unit 5-part II
PROGRAMMING IN JAVA- unit 5-part IIPROGRAMMING IN JAVA- unit 5-part II
PROGRAMMING IN JAVA- unit 5-part II
Ā 
Java database connectivity
Java database connectivityJava database connectivity
Java database connectivity
Ā 
Java database connectivity
Java database connectivityJava database connectivity
Java database connectivity
Ā 
Advanced JAVA
Advanced JAVAAdvanced JAVA
Advanced JAVA
Ā 
Show104 buried treasure
Show104 buried treasureShow104 buried treasure
Show104 buried treasure
Ā 
SHOW104 - Buried treasure: Finding the Hidden Gold in Lotus Notes Data
SHOW104 - Buried treasure: Finding the Hidden Gold in Lotus Notes DataSHOW104 - Buried treasure: Finding the Hidden Gold in Lotus Notes Data
SHOW104 - Buried treasure: Finding the Hidden Gold in Lotus Notes Data
Ā 
Types of Drivers in JDBC
Types of Drivers in JDBCTypes of Drivers in JDBC
Types of Drivers in JDBC
Ā 
Jdbc
JdbcJdbc
Jdbc
Ā 
Jdbc
JdbcJdbc
Jdbc
Ā 
Jdbc driver types
Jdbc driver typesJdbc driver types
Jdbc driver types
Ā 
java database connection (jdbc)
java database connection (jdbc)java database connection (jdbc)
java database connection (jdbc)
Ā 

More from odedns

Introduction to spring
Introduction to springIntroduction to spring
Introduction to springodedns
Ā 
Jee course web services
Jee course web servicesJee course web services
Jee course web servicesodedns
Ā 
JEE Course - EJB
JEE Course - EJBJEE Course - EJB
JEE Course - EJBodedns
Ā 
JEE Course - The Web Tier
JEE Course - The Web TierJEE Course - The Web Tier
JEE Course - The Web Tierodedns
Ā 
JEE Course - JEE Overview
JEE Course - JEE  OverviewJEE Course - JEE  Overview
JEE Course - JEE Overviewodedns
Ā 
Designing JEE Application Structure
Designing JEE Application StructureDesigning JEE Application Structure
Designing JEE Application Structureodedns
Ā 

More from odedns (6)

Introduction to spring
Introduction to springIntroduction to spring
Introduction to spring
Ā 
Jee course web services
Jee course web servicesJee course web services
Jee course web services
Ā 
JEE Course - EJB
JEE Course - EJBJEE Course - EJB
JEE Course - EJB
Ā 
JEE Course - The Web Tier
JEE Course - The Web TierJEE Course - The Web Tier
JEE Course - The Web Tier
Ā 
JEE Course - JEE Overview
JEE Course - JEE  OverviewJEE Course - JEE  Overview
JEE Course - JEE Overview
Ā 
Designing JEE Application Structure
Designing JEE Application StructureDesigning JEE Application Structure
Designing JEE Application Structure
Ā 

Recently uploaded

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
Ā 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
Ā 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
Ā 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
Ā 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
Ā 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
Ā 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
Ā 
šŸ¬ The future of MySQL is Postgres šŸ˜
šŸ¬  The future of MySQL is Postgres   šŸ˜šŸ¬  The future of MySQL is Postgres   šŸ˜
šŸ¬ The future of MySQL is Postgres šŸ˜RTylerCroy
Ā 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
Ā 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
Ā 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
Ā 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
Ā 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
Ā 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
Ā 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel AraĆŗjo
Ā 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
Ā 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
Ā 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
Ā 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
Ā 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
Ā 

Recently uploaded (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Ā 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Ā 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
Ā 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
Ā 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
Ā 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
Ā 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
Ā 
šŸ¬ The future of MySQL is Postgres šŸ˜
šŸ¬  The future of MySQL is Postgres   šŸ˜šŸ¬  The future of MySQL is Postgres   šŸ˜
šŸ¬ The future of MySQL is Postgres šŸ˜
Ā 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
Ā 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
Ā 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
Ā 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Ā 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Ā 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
Ā 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Ā 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Ā 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Ā 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
Ā 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
Ā 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
Ā 

WebSphere 6.1 admin Course 2

  • 2. Agenda ā€¢ Administration of WebSphere Resources ā€“ JDBC Administration ā€“ JMS Administration ā€¢ ā€¢ ā€¢ ā€¢ WebSphere Naming JEE Class Loading Working with Profiles Summary Copyright Ā© Oded Nissan 2009
  • 4. JDBC Data Source Administration Copyright Ā© Oded Nissan 2009
  • 5. Java Database Connectivity (JDBC) ā€¢ Java programs communicate with databases and manipulate their data using the JDBCā„¢API. ā€¢ A JDBC driver enables Java applications to connect to a database in a particular DBMS and allows programmers to manipulate that database using the JDBC API. Copyright Ā© Oded Nissan 2009
  • 6. Java Database Connectivity (JDBC) ā€¢ Database vendors implement the JDBC API. The implementation is called a JDBC Driver. ā€¢ The driver is provided as a jar file that should be included in the classpath of the using program. ā€¢ JDBC is a standard JavaSE technology. Copyright Ā© Oded Nissan 2009
  • 8. The Data Source API ā€¢ The Data Source API was introduced in the JDBC 2.0 Optional Package as an easier, more generic means of obtaining a Connection. ā€¢ Application servers work with JDBC using the Data Source API. ā€¢ WebSphere uses the Data Source API to manage connection pooling, container managed transactions etc. Copyright Ā© Oded Nissan 2009
  • 9. Data source and JDBC Provider ā€¢ The JDBC provider defines the driver in use. We can configure more than one JDBC provider in WebSphere. ā€¢ The DataSource uses a specific provider and defines the database host, port, database name, schema etc. ā€¢ We can think of the provider as the class and the DataSource as the instance (sort of..). Copyright Ā© Oded Nissan 2009
  • 10. Data Source ā€¢ The JCA connection manager provides connection pooling, transaction support and security support. ā€¢ The JDBC driver is used by the connection manager to obtain connections. Copyright Ā© Oded Nissan 2009
  • 11. Data Source Copyright Ā© Oded Nissan 2009
  • 12. The Data source programming model ā€¢ The application looks up the datasource in the JNDI tree and obtains it. ā€¢ The application calls getConnection() on the Data source object obtained to get a JDBC Connection. The connection is retrieved from the connection pool. ā€¢ The application uses the connection to access the database. ā€¢ The application calls the close() method on the connection when it is done, the connection is returned to the pool. Copyright Ā© Oded Nissan 2009
  • 13. Creating a Data Source Copyright Ā© Oded Nissan 2009
  • 14. Creating a Data Source ā€¢ Create a JDBC Provider, specify the JDBC driver to be used by the specific data base. ā€¢ Create a data source specify the connection settings for the database. Copyright Ā© Oded Nissan 2009
  • 15. Creating a JDBC Provider ā€¢ Using the Admin console select Resources>JDBC->JDBCProviders ā€¢ Select the scope for which the resource will be visible, default is node. ā€¢ Press the new button to create a new JDBC Provider. Copyright Ā© Oded Nissan 2009
  • 16. Creating a JDBC Provider (step 1) Copyright Ā© Oded Nissan 2009
  • 17. Creating a JDBC Provider (step 1) ā€¢ Database type ā€“ select the type of the database, WebSphere is preconfigured for popular databases such as DB2, Oracle etc. ā€¢ Provider type ā€“ select the JDBC driver to use. ā€¢ Implementation type ā€“ XA or regular connection. Use XA to support two-phasecommit. Copyright Ā© Oded Nissan 2009
  • 18. Creating a JDBC Provider (step 2) Copyright Ā© Oded Nissan 2009
  • 19. Creating a JDBC Provider (step 2) ā€¢ Classpath ā€“ the relevant classpath for the specific JDBC driver. ā€¢ Library path ā€“ specify the value for the environment variable specifying the directory with the JDBC driver. Can also be set using Environment->WebSphere variables. ā€¢ Native library path ā€“ optional path to native libraries used by the JDBC driver. Copyright Ā© Oded Nissan 2009
  • 20. Creating a JDBC Provider (step 3) ā€¢ Review the settings and press finish to create the JDBC Provider ā€¢ Press the save link to save the provider to the master configuration. ā€¢ It is recommended to restart the server after adding a new JDBC provider. Copyright Ā© Oded Nissan 2009
  • 21. Creating a Data Source ā€¢ Using the Admin console select Resources>JDBC->Data sources ā€¢ Select the scope for which the resource will be visible, default is node. ā€¢ Press the new button to create a new data source. Copyright Ā© Oded Nissan 2009
  • 22. Creating a Data Source (step 1) Copyright Ā© Oded Nissan 2009
  • 23. Creating a Data Source (step 1) ā€¢ Data source name ā€“ enter a name for the data source. ā€¢ JNDI name ā€“ the name the data source will be bound to in the JNDI naming tree. ā€¢ Authentication alias ā€“ choose an existing authentication alias or create a new one by pressing the link. The authentication alias stores the authentication data for the database (user, password). ā€¢ Press next Copyright Ā© Oded Nissan 2009
  • 24. Creating a Data Source (step 2) ā€¢ Choose the JDBC Provider ā€¢ Press next Copyright Ā© Oded Nissan 2009
  • 25. Creating a Data Source (step 3) Copyright Ā© Oded Nissan 2009
  • 26. Creating a Data Source (step 3) ā€¢ Database name ā€“ the name of the database. ā€¢ Driver type ā€“ the JDBC driver type to use. ā€¢ Server name ā€“ the name of the server where the database instance is running. ā€¢ Port number ā€“ the port the database instance is listening to. Copyright Ā© Oded Nissan 2009
  • 27. Creating a Data Source (step 4) ā€¢ Review the settings and press finish to create the data source ā€¢ Press the save link to save the data source to the master configuration. ā€¢ You can now test the connection by pressing the Test connection button. Copyright Ā© Oded Nissan 2009
  • 28. Testing the connection Copyright Ā© Oded Nissan 2009
  • 29. Update Data source properties ā€¢ ā€¢ ā€¢ ā€¢ Click the data source in the resource list. Click custom properties Click new to add a new property. Click a property to change its value. Copyright Ā© Oded Nissan 2009
  • 30. Update Data source properties Copyright Ā© Oded Nissan 2009
  • 32. Introduction to JMS ā€¢ JMS is a vendor-neutral API that can be used to access enterprise messaging systems ā€¢ Applications that use JMS are called JMS clients , and the messaging system that handles routing and delivery of messages is called the JMS provider. ā€¢ A JMS client that sends a message is called a producer , and a JMS client that receives a message is called a consumer . A single JMS client can be both a producer and a consumer. Copyright Ā© Oded Nissan 2009
  • 33. JMS Architecture A JMS application is composed of the following parts: ā€¢ A JMS provider: A messaging system that implements the JMS specification. ā€¢ JMS clients: Java applications that send and receive messages. ā€¢ Messages: Objects that are used to communicate information between JMS clients. ā€¢ Administered objects: Preconfigured JMS objects that are created by an administrator for the use of JMS clients. Copyright Ā© Oded Nissan 2009
  • 34. JMS Delivery Modes JMS supports two different message delivery models: ā€¢ Point-to-Point (Queue destination): In this model, a message is delivered from a producer to one consumer. ā€¢ Publish/Subscribe (Topic destination): In this model, a message is delivered from a producer to any number of consumers. Copyright Ā© Oded Nissan 2009
  • 35. Point to Point ā€¢ The messages are delivered to the destination, which is a queue, and then delivered to one of the consumers registered for the queue. While any number of producers can send messages to the queue, each message is guaranteed to be delivered, and consumed by one consumer. If no consumers are registered to consume the messages, the queue holds them until a consumer registers to consume them. Copyright Ā© Oded Nissan 2009
  • 36. Publish/Subscribe ā€¢ Messages are delivered to the topic destination, and then to all active consumers who have subscribed to the topic. In addition, any number of producers can send messages to a topic destination, and each message can be delivered to any number of subscribers. If there are no consumers registered, the topic destination doesn't hold messages unless it has durable subscription for inactive consumers. A durable subscription represents a consumer registered with the topic destination that can be inactive at the time the messages are sent to the topic. Copyright Ā© Oded Nissan 2009
  • 37. The JMS programming Model ā€¢ A JMS application consists of a set of application-defined messages and a set of clients that exchange them. ā€¢ JMS clients interact by sending and receiving messages using the JMS API. ā€¢ A message is composed of three parts: header, properties, and a body. Copyright Ā© Oded Nissan 2009
  • 38. The JMS programming Model Copyright Ā© Oded Nissan 2009
  • 39. JMS Message Types ā€¢ The JMS specification defined six type or classes of messages that a JMS provider must support: ā€“ Message: This represents a message without a message body. ā€“ StreamMessage: A message whose body contains a stream of Java primitive types. It is written and read sequentially. ā€“ MapMessage: A message whose body contains a set of name/value pairs. The order of entries is not defined. ā€“ TextMessage: A message whose body contains a Java string...such as an XML message. ā€“ ObjectMessage: A message whose body contains a serialized Java object. ā€“ BytesMessage: A message whose body contains a stream of uninterpreted bytes. Copyright Ā© Oded Nissan 2009
  • 40. Producing and Consuming Messages Copyright Ā© Oded Nissan 2009
  • 41. Sample Code Creating a connection: QueueConnection conn; QueueSession session; Queue que; InitialContext iniCtx = new InitialContext(); Object tmp = iniCtx.lookup("ConnectionFactory"); QueueConnectionFactory qcf = (QueueConnectionFactory) tmp; conn = qcf.createQueueConnection(); que = (Queue) iniCtx.lookup("queue/testQueue"); session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE); conn.start(); Copyright Ā© Oded Nissan 2009
  • 42. Sample Code Sending a message: // Send a text msg QueueSender send = session.createSender(que); TextMessage tm = session.createTextMessage(text); send.send(tm); Receiving a message: // Set the async listener QueueReceiver recv = session.createReceiver(que); recv.setMessageListener(new ExListener()); public static class ExListener implements MessageListener { public void onMessage(Message msg) { TextMessage tm = (TextMessage) msg; try { log.info("onMessage, recv text=" + tm.getText()); } catch(Throwable t) { ā€¦. Copyright Ā© Oded Nissan 2009
  • 43. Message Driven Beans Copyright Ā© Oded Nissan 2009
  • 44. Message Driven Beans ā€¢ Message-driven beans (MDBs) are stateless, server-side, transaction-aware components for processing asynchronous messages delivered via JMS. While a message-driven bean is responsible for processing messages, its container manages the component's environment, including transactions, security, resources, concurrency, and message acknowledgment.. ā€¢ An MDB can process hundreds of JMS messages concurrently because numerous instances of the MDB can execute concurrently in the container. Copyright Ā© Oded Nissan 2009
  • 45. MDB Example Copyright Ā© Oded Nissan 2009
  • 46. Message Driven Beans Copyright Ā© Oded Nissan 2009
  • 47. The MDB Life Cycle An MDB can be in two states: ā€¢ Does not exist ā€¢ Method Ready Pool ā€“ the pool is maintained by the container, when the container decides to reduce the number of MDB instances it may destroy some instances. Copyright Ā© Oded Nissan 2009
  • 48. The MDB Life Cycle Copyright Ā© Oded Nissan 2009
  • 49. Message Driven Beans ā€¢ MDB clients are regular JMS clients, in contrast to other EJB types. ā€¢ Use MDBs to perform asynchronous operations. ā€¢ MDBs can be a good fit for handling a high load of events or observations. Copyright Ā© Oded Nissan 2009
  • 50. JMS Resources Copyright Ā© Oded Nissan 2009
  • 51. JMS Providers ā€¢ Default Messaging Provider - based on service integration technologies and is fully integrated with the WebSphere Application Server runtime environment. ā€¢ WebSphere MQ Provider - integrate WebSphere Application Server messaging applications into an exising WebSphere MQ server. ā€¢ Generic Provider- integrate WebSphere messaging with a 3rd party JMS provider. Copyright Ā© Oded Nissan 2009
  • 52. Default Messaging Provider ā€¢ Based on a preconfigured JCA adapter that integrates with a Service Integration Bus (SIB). ā€¢ The Admin Console allows us to configure the adapter as if it was a JMS provider. ā€¢ The preferred choice for most JEE applications, unless we are integrating with other systems. Copyright Ā© Oded Nissan 2009
  • 53. WebSphere MQ Provider ā€¢ Provides integration with MQ products for both the point to point and publish-subscribe messaging models. ā€¢ Creation of MQ objects such as queue managers, channels and queues must be done in the MQ product. ā€¢ These objects can then be used when integrating with WebSphere. Copyright Ā© Oded Nissan 2009
  • 54. Generic Provider ā€¢ You can configure any third-party messaging provider that supports the JMS Version 1.1 specification. ā€¢ JMS Administered objects must be created using the 3rd party provider. ā€¢ JMS Administered objects are bound to the WAS JNDI tree, however, these are aliases to the real JMS objects that are bound to an external JNDI tree. Copyright Ā© Oded Nissan 2009
  • 56. Service Integration Bus ā€¢ A service integration bus is a group of one or more application servers or server clusters in a WebSphereĀ® Application Server cell that cooperate to provide asynchronous messaging services. ā€¢ The application servers or server clusters in a bus are known as bus members. Copyright Ā© Oded Nissan 2009
  • 57. Service Integration Bus ā€¢ A service integration bus, or bus, is simply an architectural concept. It gives an administrator the ability to group a collection of resources together that provide the messaging capabilities of the bus. ā€¢ The application servers or server clusters in a bus are known as bus members. Copyright Ā© Oded Nissan 2009
  • 58. Service integration Bus in a Cell Copyright Ā© Oded Nissan 2009
  • 59. Messaging Engine ā€¢ A messaging engine is the component within an application server that provides the core messaging functionality of a bus. At run time, it is the messaging engines within a bus that communicate and cooperate with each other to provide the messaging capabilities of the bus. ā€¢ A messaging engine is responsible for managing the resources of the bus and it also provides a connection point to which local and remote client applications can connect. Copyright Ā© Oded Nissan 2009
  • 60. SIB and Messaging Engine Copyright Ā© Oded Nissan 2009
  • 61. Message Store ā€¢ Every messaging engine defined within a bus has a message store associated with it. A messaging engine uses this message store to persist durable data, such as persistent messages and transaction states. ā€¢ Durable data written to the message store survives the orderly shutdown, or failure, of a messaging engine, regardless of the reason for the failure. Copyright Ā© Oded Nissan 2009
  • 62. Destinations ā€¢ A destination within a bus is a logical address to which applications can attach as message producers, message consumers, or both, in order to exchange messages. ā€¢ The main types of destination that can be configured on a bus are: ā€“ Queue destinations for point-to-point messaging. ā€“ Topic destinations for publish-subscribe messaging. Copyright Ā© Oded Nissan 2009
  • 63. Using the Default Provider ā€¢ To create JMS resources using the default provider: ā€“ Create a Service Integration Bus (SIB) ā€“ Add a member to the SIB. ā€“ Create a destination on the SIB ā€“ Create a JMS connection factory. ā€“ Create the JMS destinations: queues or topics. Copyright Ā© Oded Nissan 2009
  • 64. Creating a SIB ā€¢ From the navigation menu choose Service Integration->Buses. ā€¢ Press the new button. ā€¢ Name the bus and press next. ā€¢ Confirm your bus creation. Copyright Ā© Oded Nissan 2009
  • 65. Creating a SIB Copyright Ā© Oded Nissan 2009
  • 66. Adding a bus member ā€¢ ā€¢ ā€¢ ā€¢ ā€¢ ā€¢ ā€¢ Click bus members Press Add Choose a bus member to add, a server or a cluster. Press next. Choose the store for the bus, file store or data store. Press next and edit store properties. Press finish. Copyright Ā© Oded Nissan 2009
  • 67. Adding a bus member Copyright Ā© Oded Nissan 2009
  • 68. Create a destination ā€¢ From the navigation menu choose Service integration->Buses choose the desired bus. ā€¢ Press destinations ā€¢ Press new ā€¢ Choose the destination type ā€¢ Enter a name for the destination. ā€¢ Press next. Copyright Ā© Oded Nissan 2009
  • 69. Create a destination Copyright Ā© Oded Nissan 2009
  • 70. Create a destination ā€¢ Choose a bus member to assign the queue/topic to. ā€¢ Click finish. Copyright Ā© Oded Nissan 2009
  • 71. Creating a JMS Connection Factory. ā€¢ From the navigation menu choose Resource>JMS->JMS providers. ā€¢ Choose the Default JMS Provider in the required scope and press the connection factories link. ā€¢ Press new to create a new connection factory. Copyright Ā© Oded Nissan 2009
  • 72. Creating a JMS Connection Factory. Copyright Ā© Oded Nissan 2009
  • 73. Creating a JMS Connection Factory. ā€¢ Name - The name by which this resource is known for administrative purposes. ā€¢ JNDI Name-The JNDI name for the resource. ā€¢ Bus name - The name of the service integration bus to connect to. ā€¢ Target - The name of a target that identifies a group of messaging engines. Specify the type of target using the Target type property. ā€¢ Target type - The type of target named in the Target property. Copyright Ā© Oded Nissan 2009
  • 74. Creating a JMS Connection Factory. ā€¢ Target Significance - the significance of the target group. Preferred or required. ā€¢ Target inbound transport chain - Type the name of the transport chain that the application should use when connecting to a messaging engine in separate process to the application. The name you specify must be one of the transport chains available in the server that hosts the messaging engine, as listed on the Servers > Application servers > server > Messaging engine inbound transports panel. Copyright Ā© Oded Nissan 2009
  • 75. Creating a JMS Connection Factory. ā€¢ Provider endpoints - The list of comma separated endpoints used to connect to a bootstrap server. You only need to modify this property if you have client applications running outside of an application server. ā€¢ Connection Proximity - The proximity of messaging engines that can accept connection requests, in relation to the bootstrap messaging engine. Copyright Ā© Oded Nissan 2009
  • 76. Creating a JMS Connection Factory. ā€¢ Durable subscription- properties for configuring a durable supscription. ā€¢ Quality of Service - The reliability applied to JMS messages sent using this connection factory. ā€¢ Advanced Messaging-read ahead, temporary queue name prefix and more. Copyright Ā© Oded Nissan 2009
  • 77. Creating a Queue ā€¢ From the navigation menu choose JMS>Queues. ā€¢ Select the scope and press new. ā€¢ Choose the default messaging engine. ā€¢ Press Next Copyright Ā© Oded Nissan 2009
  • 78. Creating a Queue Copyright Ā© Oded Nissan 2009
  • 79. Creating a Queue ā€¢ Name - The name by which this resource is known for administrative purposes. ā€¢ JNDI Name-The JNDI name for the resource. ā€¢ Bus name - The name of the service integration bus to connect to. ā€¢ Queue name - The name of the associated queue on the service integration bus. ā€¢ Delivery Mode - the persistence mode of messages on this destination. Copyright Ā© Oded Nissan 2009
  • 80. Creating a Queue ā€¢ Time to live ā€“The default length of time in milliseconds from its dispatch time that a message sent to this destination should be kept by the system. ā€¢ Priority ā€“ The relative priority for messages sent to this destination, in the range 0 to 9. ā€¢ Read ahead - an optimization that preemptively assigns messages to consumers. This improves the time taken to satisfy consumer requests. Copyright Ā© Oded Nissan 2009
  • 81. JMS Activation Spec ā€¢ a JMS activation specification is used to configure an instance of an Activation Spec JavaBean for the default messaging JMS provider. ā€¢ A JMS activation specification is then associated with a message-driven bean during application installation. Copyright Ā© Oded Nissan 2009
  • 82. Creating a JMS Activation Spec ā€¢ From the navigation menu choose Resources>JMS->Activation spec. ā€¢ Choose the scope and press new. ā€¢ Choose the message provider press OK. Copyright Ā© Oded Nissan 2009
  • 83. Creating a JMS Activation Spec Copyright Ā© Oded Nissan 2009
  • 84. Creating a JMS Activation Spec ā€¢ Name - The name by which this resource is known for administrative purposes. ā€¢ JNDI Name-The JNDI name for the resource. ā€¢ Destination type ā€“ queue or topic ā€¢ Destination JNDI ā€“ the JNDI name of the destination. Copyright Ā© Oded Nissan 2009
  • 85. Creating a JMS Activation Spec ā€¢ Message selector - a message selector property is a string that is used to select a subset of the available messages. For example: JMSType='car' AND color='blue' AND weight>2500 ā€¢ Bus name ā€“ the name of the bus ā€¢ Acknowledge mode - The acknowledge mode indicates how a message received by a messagedriven bean should be acknowledged. Copyright Ā© Oded Nissan 2009
  • 86. Creating a JMS Activation Spec ā€¢ Target properties ā€“same as for a JMS connection factory. ā€¢ Authentication alias - The name of a J2C authentication alias used for component-managed authentication of connections to the service integration bus. ā€¢ Maximum batch size - The maximum number of messages received from the messaging engine in a single batch. ā€¢ Maximum concurrent endpoints - The maximum number of endpoints to which messages are delivered concurrently. Copyright Ā© Oded Nissan 2009
  • 88. WebSphere Naming ā€¢ WAS has a naming service that is used to store references to JEE resources. ā€¢ The naming service is a JNDI implementation. ā€¢ Objects are bound into a mostly hierarchical structure, referred to as a name space. All non-leaf objects are called contexts. Copyright Ā© Oded Nissan 2009
  • 89. WebSphere Naming Features ā€¢ Distributed name space - For additional scalability, the name space for a cell is distributed among the various servers. The deployment manager, node agent, and application server processes all host a name server. ā€¢ Transient and persistent partitions - The name space is partitioned into transient areas and persistent areas. Copyright Ā© Oded Nissan 2009
  • 90. WebSphere Naming Features ā€¢ Federated name space structure - A name space is a collection of all names bound to a particular name server. A name space can contain naming context bindings to contexts located in other servers. ā€¢ Configured bindings - Administrators can configure bindings into the name space. ā€¢ Support for CORBA URLS - WAS contains support for CORBA object URLs Copyright Ā© Oded Nissan 2009
  • 92. WebSphere Naming ā€¢ Use the DumpNameSpace.cmd utility in the bin directory to dump the serverā€™s namespace. ā€¢ The DumpNameSpace command can be given the host and port to connect to in the command line arguments. ā€¢ The BOOTSTRAP_ADDRESS in the ports panel specifies the naming serverā€™s port. Copyright Ā© Oded Nissan 2009
  • 93. Naming Bindings ā€¢ Bindings can be created in three ways: ā€“ By application deployment the binding is specified in the deployment descriptor. ā€“ Explicitly using the admin console. ā€“ Programmatically using the JNDI API. Copyright Ā© Oded Nissan 2009
  • 94. Naming Bindings in the AdminConsole ā€¢ From the navigation menu select Environment->Naming->Name Space bindings ā€¢ Select the scope and click new. ā€¢ Select the binding type and enter the binding value. Copyright Ā© Oded Nissan 2009
  • 95. Naming Bindings in the AdminConsole Copyright Ā© Oded Nissan 2009
  • 96. Naming Bindings Using JNDI ā€¢ Obtain an InitialContext object. ā€¢ Perform lookups and binding of objects using the InitialContext object. ā€¢ The InitialContext object must be given either an iiop or CORBA style URL to the naming server. If we are calling the local naming server, no URL is needed. Copyright Ā© Oded Nissan 2009
  • 97. Naming Bindings Using JNDI ā€¢ Getting an InitialContext Copyright Ā© Oded Nissan 2009
  • 98. Naming Bindings Using JNDI ā€¢ Looking up and EJB home using a compound name. Copyright Ā© Oded Nissan 2009
  • 99. The Federated NameSpace Copyright Ā© Oded Nissan 2009
  • 100. JEE ClassLoading Copyright Ā© Oded Nissan 2009
  • 101. Java Class Loaders ā€¢ Class loaders enable the Java virtual machine (JVM) to load classes. Given the name of a class, the class loader locates the definition of this class. ā€¢ Each Java class must be loaded by a class loader. ā€¢ The JVM uses more than one class loader. Class loaders are organized in a hierarchy Copyright Ā© Oded Nissan 2009
  • 102. Java Class Loaders ā€¢ By default the JVM uses three class loaders: ā€“ bootstrap class loader loads the core Java libraries ā€“ extensions class loader loads extention java libraries ā€“ application class loader loads classes from the CLASSPATH. Copyright Ā© Oded Nissan 2009
  • 103. Java Class Loaders ā€¢ A class loader delegates class loading to its parent before trying to load the class itself. The parent class loader can be either another custom class loader or the bootstrap class loader. ā€¢ A class loader can only delegate requests to its parent class loader, never to its child class loaders (it can go up the hierarchy but never down). Copyright Ā© Oded Nissan 2009
  • 104. The JVM ClassLoader Hierarchy Copyright Ā© Oded Nissan 2009
  • 105. The WebSphere Class Loader Hierarchy Copyright Ā© Oded Nissan 2009
  • 106. WebSphere Class Loaders ā€¢ The WAS extension class loader - The class path used by the extensions class loader is retrieved from the ws.ext.dirs system property. ā€¢ Web Module class loader ā€“ loads classes from the WEB-INF/classes WEB-INF/lib directories in the web application. ā€¢ Application class loader ā€“ handles EJB modules utility jars etc that reside in the EAR file. Copyright Ā© Oded Nissan 2009
  • 107. WAS Class Loader Policies ā€¢ Single - a single application loader is used to load all EJBs, utility JARs, and shared libraries. Same with single web class loader. ā€¢ Multiple ā€“ each application (or web application) will receive its own class loader. Copyright Ā© Oded Nissan 2009
  • 108. Multiple Class Loaders ā€¢ Total isolation between applications and web modules. Copyright Ā© Oded Nissan 2009
  • 109. Single Web class loader ā€¢ WAR2-2 is loader by the application class loader. Copyright Ā© Oded Nissan 2009
  • 110. Single Application class loader ā€¢ Single application class loader and single web class loader for WAR2. Copyright Ā© Oded Nissan 2009
  • 111. Class loading order ā€¢ Parent first ā€“ first try to load classes using the parent class loader. This is the default. (JVM behavior). ā€¢ Application first (parent last) ā€“ try to load classes using the applicationā€™s class loader (web or application) before delegating to the parent. This allows the application to override classes in the parent. Copyright Ā© Oded Nissan 2009
  • 112. Shared Libraries ā€¢ These are libraries that we want to share among all applications. For example: framework libraries. ā€¢ Shared libraries are defined using the administration tools. They consist of a symbolic name, a Java class path, and a native path for loading JNI libraries. ā€¢ Share libraries need to be associated with an application in order to be loaded. Copyright Ā© Oded Nissan 2009
  • 113. Class loader viewer ā€¢ the Class Loader Viewer displays the hierarchy of class loaders and their classpaths. ā€¢ To enable the Class Loader Viewer Service, select Servers ā†’ Application Servers ā†’ <server name> and then click the Class Loader Viewer Service under the Additional Properties link. Then select Enable service at server startup. ā€¢ You will need to restart the application server for the setting to take effect. Copyright Ā© Oded Nissan 2009
  • 115. WebSphere Profiles ā€¢ A set of WebSphere configuration files that represent a WAS instance. ā€¢ In the WAS Base product, you can only have stand-alone application servers, Each application server is defined within a single cell and node. The administration console is hosted within the application server and can only connect to that application server. Copyright Ā© Oded Nissan 2009
  • 116. WebSphere Profiles ā€¢ Standalone server profile. Copyright Ā© Oded Nissan 2009
  • 117. WebSphere Profiles ā€¢ With the Network Deployment package, you have the option of defining multiple application servers with central management capabilities. The administration domain is the cell, consisting of one or more nodes. ā€¢ Each node contains one or more application servers and a node agent that provides an administration point management by the deployment manager. Copyright Ā© Oded Nissan 2009
  • 118. WebSphere Profiles ā€¢ Profiles with Network Deployment Copyright Ā© Oded Nissan 2009
  • 119. Profile Types ā€¢ Application Server profile - defines a single stand-alone application server. ā€¢ Deployment manager profile -defines a deployment manager in a distributed server environment. ā€¢ Custom profile - A custom profile is an empty node, intended for federation to a deployment ā€¢ manager. This type of profile is used when you are building a distributed server ā€¢ environment. ā€¢ Cell profile - A cell profile is actually a combination of two profiles: a deployment manager profile and an application server profile. Useful for test environments. Copyright Ā© Oded Nissan 2009
  • 120. Profile Directory Structure Copyright Ā© Oded Nissan 2009
  • 121. Creating a profile ā€¢ From the <WAS HOME>bin/ProfileManagment directory run PMT.bat ā€¢ Choose the type of the profile to create. ā€¢ In case of an application server profile choose whether to install the admin console and default application. ā€¢ Press next Copyright Ā© Oded Nissan 2009
  • 122. Creating a profile ā€¢ Give the profile a name and choose the profile directory (to override the default). Copyright Ā© Oded Nissan 2009
  • 123. Creating a profile ā€¢ You can enter the node name and host name defaults are automatically filled. Copyright Ā© Oded Nissan 2009
  • 124. Creating a profile ā€¢ You can change the ports to avoid collision with an existing server. Copyright Ā© Oded Nissan 2009
  • 125. Creating a profile ā€¢ On windows systems you can run the profile as a windows service. Copyright Ā© Oded Nissan 2009
  • 126. Creating a profile ā€¢ Press next, review settings and press finish to create the profile. ā€¢ The First Steps console is started. ā€¢ Now we can move to the profile directory and start the server using the startServer command from the bin directory. Copyright Ā© Oded Nissan 2009
  • 127. Backing up a profile ā€¢ Use the backupConfig command to back up a profile. The command will zip the configuration file and store it in the current directory or a specified file name. The zip file can be restored using the restoreConfig command. ā€¢ Run backupConfig from the <WAS_HOME>/bin directory Copyright Ā© Oded Nissan 2009
  • 128. Restoring a profile ā€¢ Use the restoreConfig command to restore a profile configuration using an archive previously generated using backupConfig. If the configuration to be restored exists, the config directory is renamed to config.old before the restore begins. ā€¢ The command then restores the entire contents of the <profile_home>/config directory Copyright Ā© Oded Nissan 2009
  • 129. Exporting and Importing Profiles ā€¢ WAS provides a mechanism that allows you to export certain profiles, or server objects from a profile to an archive. The archive can be distributed and imported to other installations. ā€¢ An exported archive is a zip file of the config directory with host-specific information removed. ā€¢ The exported archive can be the complete configuration or a subset. ā€¢ Importing the archive creates the configurations defined in the archive. Copyright Ā© Oded Nissan 2009
  • 130. Exporting and importing profiles ā€¢ To export a profile run wsadmin, type the following command: ā€“ $AdminTask exportWasprofile {-archive <archivename>.car} ā€¢ To import a profile run wsadmin, type the following command: ā€“ $AdminTask importWasprofile {-archive <archivename>.car} Copyright Ā© Oded Nissan 2009
  • 131. Managing Profiles ā€¢ The wasprofile command line tool can also be used to create profiles from the command line. ā€¢ The wasprofile tool can also delete and list available profiles. ā€¢ Listing available profiles: ā€“ wasprofile.sh -listProfiles Copyright Ā© Oded Nissan 2009
  • 132. Managing Profiles ā€¢ Creating a profile: ā€“ /wasprofile.sh -create -profileName bladetcb6profile -profilePath /usr/IBM/WebSphere/AppServer/profiles/bladetcb6profil e -templatePath /usr/WebSphere/AppServer/profileTemplates/default -nodeName bladetcb6node -cellName bladetcb6Cell -hostName bladetcb6.rtp.raleigh.ibm.com ā€¢ Deleting a profile: ā€“ wasprofile.sh -delete -profileName profile_name Copyright Ā© Oded Nissan 2009
  • 133. Resources ā€¢ Info center for WAS 6.1 http://publib.boulder.ibm.com/infocenter/wasi ā€¢ IBM Redbook ā€“ sg247304 WAS 6.1 System Management and configuration. ā€¢ Admin Console context sensitive online help. Copyright Ā© Oded Nissan 2009
  • 134. Summary ā€¢ Administration of WebSphere Resources ā€“ JDBC Administration ā€“ JMS Administration ā€¢ WebSphere Naming ā€¢ JEE Class Loading ā€¢ Working with Profiles Copyright Ā© Oded Nissan 2009