WebSphere Application Server Features

WebSphere Application Server is a platform on whichWeb servers. Can be done through the administrative
Java-based business applications run. WebSphereconsole. Alternatively use the script generated during
Application Server Is an implementation of the Java 2the installation of the plug-in which can automate the
Enterprise Edition(J2ee) Specification.mapping of all the applications to the Web server
WebSphere Application Server provides servicesconfigure .bat in bin. Mapping the applications to
(database connectivity, threading, workloadspecific Web Servers will cause the custom
management, and so forth) that can be used by theplugin-cfg.xml files for only those Web servers to
business applications. The main element is theinclude the information for those applications. Web
application server, a java process that encapsulatesservers target specific applications running in a cell.
many services, including the containers, whereAutomatically generated by the deployment manager.
business logic executes. If you are familiar with J2EE,Just as modules for an enterprises application need to
you will recognize the Web Container and the EJBbe mapped to one or more application servers, they
container. The Web container executes Servlets andalso need to be mapped to one or more Web
JavaServer Pages(JSPs), both of which are javaservers.
classes that generate markup to be viewed by aJ2EE Packaging
Web browser. Traffic into and out of the WebA J2EE application is packaged in an Enterprise
Container travels through the embedded HTTPArchive, a file with a.EAR extension. The application
Server. While Servlets and JSPs can acthas a deployment descriptor, shown here as DD,
independently, they most commonly make calls toallowing configuration to a specific container's
Enterprise Java Beans (EJBs) to executes businessenvironment when deployed. The application can
logic or access data. EJBs, which run in the EJBinclude one or more modules. J2EE components are
container, are easily reusable java classes. They mostgrouped in modules, and each module has its own
commonly communicate with a relational database ordeployment descriptor. EJB modules group related
other external source of application data, eitherEJBs in a single module, and are packaged in Java
returning that data to the Web container or makingArchive (JAR) files. Note that there is only
changes to the data on behalf of the servlet or JSP.deployment descriptor for all of the EJBs in the
The JMS messaging engine is built into the applicationmodule. Web modules group servlet class files, JSPs,
server. This is a pure-java messaging engine. JMSHTML files and images. They are packaged in Web
destinations, known as queues and topics provideApplication Archive (WAR) files. Application client
asynchronous messaging services to the code runningmodules are packaged in Java Archive (JAR) files.
inside the containers, JMS will be covered in moreResource Adapters may be packaged to the
depth later in this course.application server or within an application .EAR file.
As you will see in more detail later on, the webAssembling an enterprise application
services engine enables application components to beWhen working with a workspace handed over by
exposed as web services, which can be accesseddevelopment, no assembly is required (already done
using Simple Object Access Protocol (SOAP).automatically by tool). If your developers use IBM
Several other services run within the applicationtools you may receive an existing, working
server, including the dynamic cache, data replication,workspace folder for final configuration and
security, and others. These will be covered later indeployment. In this case the individual WAR and JAR
this course.files are not required as they already exist as part of
There are also some important components outsidethe workspace. When working with workspaces all
of the application server process.you need to do when starting AST, is point to the
WebSphere Application Server also provides a plug-inroot directory of the workspace. If you receive the
for HTTP servers that determines what HTTP trafficindividual WAR and JAR files, which are the modules
is intended to be handled by WebSphere, and routesfor the application, you will need to point AST to an
the requests to the appropriate server. The plug-in isempty workspace which will hold the Enterprise
also a critical player in workload management ofapplication's workspace. You only do this the first
HTTP requests, as it can distribute the load totime, thereafter you just point AST to this newly
multiple application server, as well as steer trafficcreated workspace directory. In this last scenario,
away from unavailable servers. It too roads itsassembly is just the action of importing the files
configuration from a special XML file.containing the modules and associating them with the
One of the servervices provided within theEnterprise Application. The end result is an EAR file,
application server is the admin service. This servicewhich contains all the modules and their deployment
allows for the ability to configure the applicationdescriptors. The EAR file can then be installed (or
server. This files necessary for configuration aredeployed) to an application server.
stored outside of the actual application server in aCreating a data source
set of XML configuration files. There is an applicationInstalled applications that must interact with relational
that runs within the Web application-the admindatabases use JDBC providers for data access.
console.Together, the JDBC provider and data source
WebSphere Architecture Administrationobjects are functionally equivalent to the J2EE
There are two main tools used to administerConnector architecture (JCA) connection factory
WebSphere Application Server:1) The Administrative(which provides access to non-relational databases).
console, and 2) wsadmin command line tool.Installed applications use a data source to access the
The Server's Configuration is stored in a set of XMLdata from the database. A data source is associated
files, often referred to as the configurationwith a JDBC provider that supplies the specific JDBC
repository. These files define the server itself, as welldriver implementation class. The data source
as resources and services that it provides. One ofrepresents the J2EE Connector Architecture (JCA)
the services provided within the application server isconnection factory for the relational adapter.
the admin service. This service allows for the abilityApplication components use the data source to
to configure the application server. The filesaccess connection instances to a specific database; a
necessary for configuration are stored outside of theconnection pool is associated with each data source.
actual application server in a set of XML configurationYou can create multiple data sources with different
files. There is an application that runs within the Websettings, and associate them with the same JDBC
container that provides user the ability to administerprovider. (One reason to do this is to provide access
the application server via a Web application- theto different databases.) JDBC providers that are
admin console. Here you see the communication fromsupported by WebSphere Application Server are
the browser all the way back to the XMLrequired to implement one or both of the following
configuration files. Wsadmin can be used todata source interfaces, which are defined by Sun
administer the application server in two ways. 1) ViaMicrosystems. The interfaces enable the application
SOAP by communicating with the embedded HTTPto run in a single-phase or two-phase transaction
server. 2) By using RMI (the default) to communicateprotocol.
directly with the admin service.WebSphere Application Server logs
One of the services provided within the applicationJava virtual machine (JVM) Logs
server is the admin service. This service allows forThe JVM logs are created by redirecting the
the ability to configure the application server. TheSystem.out and System.err streams of the JVM to
files necessary for configuration are stored outsideindependent log files. WebSphere Application Server
of the actual application server in a set of XMLwrites formatted messages to the System.out
configuration files. There is an application that runsstream. In addition, applications and other code can
within the Web container that provides users thewrite to these streams using the print() and printIn()
ability to administer the application server via a Webmethods defined by the streams. In the case of a
application-the admin console.WebSphere Application Server Network Deployment
WebSphere profiles overviewconfiguration, JVM logs are also created for the
Profiles are the way that you are allowed to rundeployment manager and each node agent because
more than one application server on a singlethey also represent JVMs.
installation of WebSphere product files.Process Logs
Profiles are sets of files that represent a WebSphereWebSphere Application Server processes contain two
Application Server configuration. WebSphereoutput streams that are accessible to native code
Application Server files are split into two categories.running in the process. These streams are the stdout
1) Product files Set of shared read-only static files orand stderr streams. Native code, including Java virtual
product binaries shared by any instances of themachines (JVM), might write data to these process
WebSphere Application Server product. 2)streams. In addition, JVM provided System.out and
Configuration files (profiles) Set of user-customizableSystem.err streams can be configured to write their
data files. Files include: WebSphere configuration,data to these streams also. As with JVM logs, there
installed applications, resource adapters, properties,is a set of process logs for each application server,
log files, and so forth. Each profile uses the samesince each JVM is an operating system process, and
product files, Simpler than multiple WebSpherein the case of a WebSphere Application Server
installations, Less disk space, Simplifies application ofNetwork Deployment configuration, a set of process
product updates.logs for the deployment manager and each node
Under the WebSphere installation directory there areagent.
subdirectories for each profile. In the example aboveIBM Service Logs
there are two application servers running that areThe IBM Service log contains both the WebSphere
each configure by the files that exist within their ownApplication Server messages that are written to the
profile directory.System.out stream and some special messages that
Network deployment runtime flowcontain extended service information that is normally
The main theme with network deployment isnot of interest, but can be important when analyzing
distributed applications. While the "flow" of anproblems. There is one service log for all WebSphere
application remains the same, there are significantApplication Server JVMs on a node, including all
additions to runtime of an application. Note the "Loadapplication servers. The IBM Service log is maintained
balancer" this allows for multiple HTTP servers, usersin a binary format and requires a special tool to view.
point there browsers to the load balancer and theirThis viewer, the AST Log and Trace Analyzer,
request will be work load managed to an HTTPprovides additional diagnostic capabilities. In addition,
Server. Once the request hits one of these HTTPthe binary format provides capabilities that are utilized
Servers, the HTTP Server plug-in will load balance theby IBM support organizations. The HTTP server
request between the application servers that it isplug-in log will be covered later in this presentation.
configured to serve. Once the request enters theWsadmin Introduction
application server, the flow is identical to how it wasWsadmin provides scripting capabilities and
in Express and Base. The Java clients requests tocommand-line administration. Common operational and
EJBs can also be work load managed so that theconfiguration tasks can be performed from scripts
requests do not all hit one application server.and the command line instead of through the
Network Deployment Administration Flow.administrative console. The WebSphere Application
Each managed process, node agent, deploymentServer wsadmin tool provides the ability to execute
manager starts with it's own set of configuration files.scripts. You can use the wsadmin tool to manage a
Deployment manager contains the MASTERWebSphere Application Server V6.1 installation. This
configuration and application files. Any changes madetool uses the Bean Scripting Framework (BSF), which
at node agent or server level are local and will besupports a variety of scripting languages to configure
overridden by the MASTER configuration at the nextand control your WebSphere Application Server
synchronization. The administrative console andinstallation. The wsadmin launcher makes
wsadmin are still the two ways that the environmentadministrative objects available through language
is administered. However, take note that these toolsspecific interfaces. Scripts use these objects for
now talk to the deployment manager and NOT toapplication management, configuration, operational
the application servers directly. The communication ofcontrol, and for communication with MBeans running
these commands flows from the tools to thein WebSphere server process. Wsadmin acts as an
deployment manager to the node agents, to theinterface to Java objects for access by scripts.
application servers. This allows administration ofWsadmin uses the same interface (through JMX) as
multiple nodes (each possibly containing multiplethe administrative console to make configuration
application servers) from a single focal point (thechanges and control servers
deployment manager).There a many levels that are involed in security an
There is ONE main repository for the configurationenvironment. WebSphere only provides part of the
files within a cell, and those are associated with thetotal security that needs to be applied. Things like file
deployment manager. All updates to the configurationsystem security still need to be taken into account to
files should go through the deployment manager. Youprotect things like your configuration files and
will see in a moment how this process works. Youkeyrings. Operating System Security - The security
should be very careful in connecting to an applicationinfrastructure of the underlying operating system
server directly with wsadmin or the administrativeprovides certain security service to the WebSphere
console as any changes that are made to theSecurity Application. This includes the file system
configuration files are only temporary, they will besecurity support to secure sensitive files in
overwritten with the configuration files from theWebSphere product installation. The WebSphere
MASTER files.system administrator can configure the product to
Web Server custom plugin-cfg.xmlobtain authentication information directly from the
Web server definitions are created to allow theoperating system user registry, for example the NT
mapping of J2EE enterprise applications to specificSecurity Access Manager.