Thursday, May 5, 2011

Four

1) How are jvms gathered in wily introscope? Basically the ques was how is wily connected to WAS?

We have a jar file of WAS that we keep in bootclasspath of process def of jvm in admin console,

2) How does the memory leak of jvm graph look like in TPV

3) Which tool to create keys?

Ikeyman tool

4)did u write jacl scripts? What were they? Explain in detail of any one scipt?

5)when an admin forgets his username and passwd, what does he have to do to get back?

/was_home/config/cells/cellname/security.xml

It has admin_passwd set true. Make it false. Then again goto admin console and set username and passwd

6)which files do u change to change the any of the ports

Virtualhosts.xml and serverindex.xml

7)where do you find your web.xml file after u installed an app?

Websphere/AppServer/installedApps

8) max and min connection pools do you set for a cell containing 3 jvms of which only 2 use database.

9)procedure to update a fix pack?

10)install an app in silent mode? Which one do you prefer silent or GUI?

11)cleanUpNode what is it used for?

12) what command do u give to run a TVM in commandline and also the options?

13) what command do u give to backup and and also the options we give generally?

backupConfig name -nostop

14) what stages did you have in your latest proj?

15) what was your work in development stage and what did you do in stress stage?

16)what info did u get from developers to your cell to get connected to db?

Hostname of db, port of db, classpath database info

17) precedence of a variable, at app server, node, cell stage

18) Architecture of your last project

19)you find web.xml from 2 different folder, what are they?

It is installedapps and config

20)ques about session persistence, affinity, session

21)what changes did you observe in V6?

22) what fields are present in plugin-cfg.xml?

Virtualhost, cluster

23)procedure to apply a PMR

24) what files did you send to the IBM support

25)just explore all the folders in AppServer

WEBSPHERE

18) What is global security?

Global security applies to all applications running in the environment and determines whether security is used at all, the type of registry against which authentication takes place.

Global security represents the configuration that is effective for the entire security domain (all the servers configured within the same user registry).

19) What are the different repositories used for security?

I) Local OS

ii) LDAP

iii) Custom: -- Any custom implementation of user registry database.

20) What databases are used in your environment?

i) Oracle: - classes. Zip (class path)

ii) UDB2:- db2java.zip (class path)

iii) Sybase: - jconn.jar (class path)

21) At what level you created JDBC providers?

In DC :- JDBC providers are created in cell level

In B2C:- JDBC providers are created in JVM level

22) How will request get processed from user to App Server?

· A web client request a url in browser

· The request is routed to web server over internet

· The web server passes the request to webserver plugin . All the request go through pligin first.

· The webserver plugin examines the url, verifies the list of hostname alias from which it will accept traffic based on virtual host information, and choose the server to handle request.

· A stream is created, a stream is a connection to webcontainer. It is possible to maintain a connection over number of request. The web container receives the request and based on the url, dispatches it to proper servlet.

· If the servlet is not loaded, the dynamic class loader loads the servlet.

· JNDI is now used for lookup of either data source or Ejb required by servlet.

· Depending upon whether datasource is specified or an EJB is requested the JNDI will direct the servlet.

--To the corresponding database, and get a connection from its connection pool in then case of data source.

--To the corresponding EJB container, which then instantiates the EJB when an EJB is requested.

  • If the EJB requested involves an SQL transaction, it will go back to the JNDI to look up the datasource
  • The SQL statement will be executed and the data retrieved will be sent back

--To the servlet

--To the EJB

  • Data beans are created and handed off to JSPs in the case of EJBs.
  • The servlet sends data to JSPs
  • The JSP generates the HTML that is sent back through the webserver plug-in in to the webserver.
  • The web server sends the output page (output HTML) to the browser.

23) What is node agent and its role?

In centralized managed configurations, each node has a nodeagent that works with a deployment manager to manage administration process.

24) What is wsadmin?

There are two ways to administrate and configure web sphere server and applications.

--web based admin console

--Wsadmin scripting

· Wsadmin is new scripting interface introduced in was5.0

· Wsadmin helps you to configure and manage both application server and applications via scripting

· Currently 3 scripting languages were tested and supported.

---Java Command language based on TCL (JACL), Java Script, JPython.

· Wsadmin built based on BSF, an open source project.

· The BSF architecture works as an interface between java applications and scripting languages.

26) What shells are used in unix , linux, solaris?

KornShell

27) How will you automate scripts?

We automate the scripts using the crontab i.e., we place the scripts in the crontab.

27) what jacl scripts you wrote?

  • Deploying applications
  • Start application
  • Stop application

28) What is AAT(Application assembly tool)?

· Application assembly tool delivers with the application server that helps to build/package applications according to j2ee specifications.

· AAT can be used to view and modify Deployment Descriptors, Binding and extensions.

· Deployment Descriptor contains component configuration that will help container to understand the runtime behaviour of the component.

29) How will you find out that how many connections are currently established between webserver and Appserver?

Use the following command.

netstat –an |grep JVMportnumber |grep EST

30) What logs you used for troubleshooting?

IBM service logs (Activity logs)

JVM logs (System. Out log and System. err log)

System.Out log:- It is used to monitor the health of the running application server. I can be used for the problem determination.

System. err log:- Contains exception stack trace information that is useful when performing the problem analysis.

· Since each application server represents a JVM , there is one set of JVM logs for each app server and all of its applications.

· In case of ND configuration JVM logs are also created for the dmgr and each node agent.

Activity Log:-- The activity log is created only at node level (there is only one service log for all websphere JVM’s on a node including all application servers).

· The activity log is created by application server from the activity of various websphere application server components.

· The activity log is a binary file in the log directory of install_root,

· You can view the activity log in 2 ways

--- Log analyzer

--using the showlog tool which converts the contents of the service log to a txt format that we can write to a file.

We can run this command from install_root/bin/showtool.sh

i.e., where the websphere product is installed.

31) What are the webserver logs?

Error log

Access log

Error log:- The error log records the IBM HTTP server errors.

Access log: - The access log records the all webserver activity including the following information.

i) What was requested

ii) Who requested it

iii) When it was requested

iv) The method used

v) The type of file sent in response

32) Where is the plug-in log?

You can know the location of plug-in log from plugin-config.xml file, generally it is located in

Deploymentmanager/logs/http-plugin.log

33) How you increase max clients in webserver and how it will help?

In Httpd.conf of the http server we can increase the number for the parameter maxkeepalive request.

MaxKeepAlive request:- The maximum number of request to allow during a persistent connection. Set to 0 to allow an unlimited amount.

Leave this number high for maximum performance.

34) How will you enable SSL in webserver?

35) What tool you use to create/install SSL certificates?

IKeyMan.

IKeyman is used for managing keys and certificates.

With key management utility we can

--- Create a new key database

--- Create self signed digital certificate

--- Add certificate authority (CV) roots to the key database as a signer

Certificate

----Request & receive a digital certificate from CA

We can run this tool from install_root/bin directory

Install_root/bin> ikeyman.sh

35) What is PMR?

PMR is a problem management record, when not resolved by team members then a PMR is opened and sent to IBM. Then IBM requests you to run the collector tool. The collector tool gathers information about the websphere application server installation and packages in an output JAR file. The file is sent to IBM customer support to assist in problem determination and analysis.

The information in file includes logs, property files, configuration files, operating system, java data and prerequisite software presence and levels.

To collect information in ND environment, invoke the collector tool from the DM installation directory.

PMR1:-- We have security issues in March 2005. The security uses some keys and these keys which has certificates got expired. Then we opened a PMR and the IBM sent us an efix which we applied to the certificates and the problem was solved.

PMR2:-- The HIS version 2.0.42.1 generated some dumps, then we opened a PMR. IBM asked us to migrate to 2.0.42.2 but if we migrate to 2.0.42.2 we had a site minder problem. So we made an IHS upgraded to 2.0.47.1 in that version even the siteminder was upgraded so the problem was resolved. The siteminder is security software used for authentication.

PMR3:-- We had some JVM’s hanged i.e. hung. So we restarted the node agent but it failed i.e., it could not restart the node agent. So we opened a PMR to IBM. They said that in version 4 they designed that they killed the JVM hung but they had some conflicts so that they designed a SIG TERM instead of killing the jvm process. It was designed in such a way in version 5.

PMR4:- Due to the memory leaks in solaris the jvms hung. So we opened a PMR. They said to add some properties to the jvm configuration i.e., they asked to set the max permsize and minperm size parameters to generic jvm arguments so that the problem was resolved.

Maxperm size=128

Minpermsize=128

37) What is the information present in the plug-in?

-- Virtual host name, port numbers

--location for plug-in log

---all the uri

----information abt the clusters

38) How requests map you to virtual host alias?

Virtual host let you manage a single Application server on a single machine as if the application servers were multiple application servers each on their own host machine.

When you request a resource websphere application server tries to map the request to an alias of defined virual host.

If you request a resource using an alias that cannot be mapped to an alias of a defined virtual host, you receive a 404 error in the browser used to issue a request a message states that virtual host could not be found.

Virtual host enable you to isolate and independently manage multiple set of resources on the same physical machine.

39) What is virtual host?

A virtual host is a configuration enabling a single host to resemble multiple host machines.

Each virtual host has a logical name and a lot of one or more DNS alias by which it is known.

A DNS alias is a hostname and port number used to request the servlet.

40) How to view the java processes.

Ps –ef| grep java

41)a) How do you kill a process i.e., I want to kill a process because the jvm hung?

Kill -9 pid

b) How do you know the pid of that particular JVM?

You can view it in the logs of that particular JVM

42) Can you add an existing server to the cluster that is already been created?

You cannot add an existing server to the existing cluster but you can add a new server to the existing cluster and also we can add existing server to the new cluster.

43) Where do you configure the heap size of jvm?

We can configure the heap size of a jvm for a particular server in the process definition configuration.

---------JVM configuration

heap size configurations

44) Process in creating data sources?

Create a JDBC provider:-- JDBC providers are used by the installed applications to access data from the databases.

Create a data source:-- Data source is used by application to access the data from database. A data source is created under a JDBC provider.

45) Can you start a node agent from admin console?

You cannot start an node agent from admin console, you can either stop or restart the node agent.

46) What protocol is used in 3.5 to send the request from webserver to appserver?

OSE(Open Server Engine) is used to transfer request from webserver to appserver in 3.5

HTTP/HTTPs is used to transfer the request from webserver to appserver in version4 and 5.

47) How will you transfer plugin fron one box to other box?

By using FTP or SCP (secure copy)

48) How do you call a JACL script in unix script?

You can call the jacl script into the UNIX script using wsadmin –f and jacl filename

Syntax:- wsadmin –f jaclfilname

49) What is the difference between version4 datasource and version5 datasource?

Version4 datasource:- Version4 provides its own JDBC connection manager to handle connection pooling and jdbc access. If an application uses v4 data source, the application will have the same connection behavior as websphere v4.

Version 5 datasource:- In version 5 connection pooling in provided by two parts.

---The JCA connection manager provides connection pooling, local transaction and security supports.

---The relational resource adapter provides implementation that allows JDBC applications access the database.

50) What is the role of admin service?

--Admin service runs with each server JVM.

---In Base configuration, the admin service runs in the application server

---In ND, the admin service runs on Dmgr, node agent, application server,

Jms server

---The admin service provides the necessary functions to manipulate

configuration data for the server and its component

51) Important xml files?

Serverindex.xml:--- serverindex.xml file is present in the node level, each node has a

serverindex.xml file. All the server configurations in that node along with the node agent configurations are placed in serverindex.xml. It gives you in detail the servername , type of server (whether it is server or node agent) and all the ports it is listening to. In case of deployment manager it gives you the details of security i.e., any configuration of that node is placed in serverindex.xml.

Server.xml:---server.xml is present for every jvm. It contains the details of a particular server and all the tuning parameters that effect the performance of the server are present in server.xml

Resource.xml:---resource.xml is available in three scopes cell scope, node scope and

Jvm scope.

Resource.xml contains contains all the details about JDBC resources, JMS, Resource adapters. It has all the configuration of resources made at that level.

Plugin-Cfg.xml:-- Plugin-Cfg.xml file contains all the information about virtual host alias and port which is called as virtual host group and all URI’s and details about the clusters.

52) If you have web server in DMZ and apperser in another DMZ what is the protocol used to send request from webserver to appserver?

Http and Https

53) What protocol does Dmgr uses to communicate with node agent?

SOAP

54) When using the assembly toolkit to map groups to security roles for an application, which file is modified?

Ibm-application-bnd.xmi

55) When installing multiple instances of websphere on the same computer without checking the co-existence box, what behavior is expected?

Each websphere instance can run , but not at the same time.

56. How can LDAP be used with websphere application server v5?

LDAP is an internet standard for directory lookups. Websphere can use this protocol in

performing authentication.

  1. What must be done to monitor EJB methods using Tivoli performance Viewer?

Ans: Select customer monitoring and monitoring level maximum.

  1. Why would an administrator increase the EJB cache size?

Ans: Performance testing shows many EJBs being passivity & activated.

  1. When is server.xml for node agent is created?

Ans: The server.xml for node agent is created when the node is added to the cell using add node command.

  1. The Default Port Numbers:

http

80

https

443

Admin Console

9090

bootstap (base)

2809

bootstap (dmgr)

9809

Soap(base)

8880

Soap(dmgr)

8879

Admin Console Secure Port

9443

MQ

1414

LDAP

389

Oracle

1521

  1. What do you mean by setting up the environment?

Ans: Setting the environment is nothing but

a) Installing web sphere and web sphere application servers

b) Creating clusters

c) Creating JVM’s

d) Creating data source, resource adapters, MQ Providers. Creating application related configurations.

  1. How to add Node to deployment Manager?

Ans: To add a Node to deployment manager the deployment Manager should be started (It’s should be in running state).

We can do it 2 ways:

a) Either add it from the deployment managers admin console ensuring that the dmgr and the node agent of the node that is being added are started (running).

b) We can add it from the nodes bin directory using the command

addNode.sh (Unix)

addNode.bat (Windows)

Syntax:

addnode.sh dmgrName SOAPport Number

Example:

Addnode.sh dmgr 8879

Addnode.bat dmgr 8880

  1. How to generate a plug-in config file?

Ans: The plug-in configuration file(plugin-cfg.xml) can be generated from the admin console of ND in case of cell or from the admin console of the base

(or)

From the BIN directory of dmgr or base using the command GenPlugincfg.sh in case of UNIX or GenPlugincfg.bat in case of windows.

  1. What is xml config?

Ans: In previous version of web sphere the configurations are stored in the databases. The xml config is used to import or export if we make any changes to the configuration.

  1. Is there any difference between web server and Application Server?

Ans: a) The web server serves static content such as html pages, images.

c) Application server servers dynamic content .The Application Server extends the capability of web server to server the request.

  1. When you run the ivt either from the command line or from the first steps? What do you think the ivt is doing?

Ans: When you run the ivt (installation verification test)

a) It starts the server and b) looks into the log

  1. What is the difference you see in plugin-cfg.xml when the request is being served from the web server or appserver?

Ans: In the plugin-cfg.xml file . if u see *.JSP, *.JSV OR *.JSW for Uri’s then the request is being served by appserver or if u see individual Uri’s then request is being served by web server.

Some additional questions

1. What version of websphere did you mostly workon?
2. What about The Application Migrations, have you
done any?
3. Why did you go to migrate 4 to 5?

4. Tell me about the path you took to do the
migrations?
5. Why did you go to Websphere 5 and not something
else like Apache Tomcat?
6. Did you work on web applications or was it OAS?
7. What were your tasks besides Web Application?
8. How do you do implantation Horizontal and
Vertical scaling for OAS?
9. Did you have to do session application and what
route did you take?
10. Did you do clustering?

11. What does it mean from a performance stand point
was there's a lot of network traffic and network slow down?
12. How do you manage the routing to the clusters?

13. Did you have to do any session analysis?
14. Did you use single signs on?
15. What are the back-up configurations that you
have done?
16. Do you do a dry run to make sure it worked
before you went live?
What is the difference between Websphere v 5.x and 6.0?

What would be your approach to migrating from
websphere 4.0 to 6.0? Can you do the migration without
going to the intermediate version of 5.0?



In J2EE what is the difference between version 1.3 and
1.4?


Why would you choose the websphere applications over
other applications such as Apache Tomcat etc?

Can you give me an idea of what J2EE is and what is
your understanding of it?

What kind of load balancing have you done?
What is your experience in Unix Scripting?

Explain your experience using OAS (oracle application
server) ver 9i?
17. Using Webspere edge for loads balancing, what is the procedure?
18. How do you identify the pages?
19. How good are you in Unix Skills?
20. We use AIX, Sun Solaris, and Linux, Hp, How much exp do you have on
these?

21. How different or similar are all the flavors of Unix?
22. What type of shell scripting do you have? We use ksh scripting, have
you used it?

23. What is the problem of scripting?
24. What is your OAS experience?

Project
WAS, 5.x, 6.x, responsible for WAS operations
 
1.session management, different session persistance mechanisms
2.Differences between 5 and 6
3.What kind of problmes you faced
4.PMR, did you ever open PMR, what kind of information you sent to IBM, 
sent collector tool, I opened 15 - 20 PMRs
5.JVM outofmemory error, how will you analyze and resolve,
6.How will you find out whether OOM(outofmemory) is from WAS or apps ?, 
using tools ( TPV,Wily)
7.Verbose GC on JVM ( native system out)
8.JVM Heap management
9.Clustering, differences betweem horizontal and vertical clustering
10.Objects in JACL (wsadmin) scripting
11.Unix commands for checking OS resources usage
12.DB connection pool count
13.how do you troubleshoot issues
14.how do you work with other team members( getting things done from 
other team members)
15.How do you connect to your office network


grabage collection.
tenure momory
mutil-swap
multi-thred


backupconfig.sh

creating alias

watching the router tables.

session persistance
session affinity

99.999 availabilty

ports --- ping command
waht does ping work on ....

jvm tuning
paramerets we tune for a jvm

how to enable garbage collection...

about the plugin.. how do you make the static contect handled by web servers abd dynamic content handled by App server .....

PLUGIN PLUGIN PLUGIN... we just love that shit.....

1) what are vertical and horizontal clusters : The members of a cluster can be located on a single node (vertical cluster),

across multiple nodes (horizontal cluster), or on a combination of the two.

Cluster

. In WebSphere Application Server V5, if

you updated an application on a cluster, you had to stop the application on every

server in the cluster, install the update, and then restart the server. With

WebSphere Application Server V6, the Rollout Update option allows you to

update and restart the application servers on each node, one node at a time.

2) JMS Servers

3) Three types of containers :

_ A Web container, which processes HTTP requests, servlets, and JavaServer

Pages (JSPs)

_ An EJB container, which processes Enterprise JavaBeans (EJBs)

-Application client container

->The Web container processes servlets, JSP files, and other types of server-side

includes. Each application server runtime has one logical Web container,

->The Enterprise JavaBeans (EJB) container provides all the runtime services that

are needed to deploy and manage enterprise beans. It is a server process that

handles requests for both session and entity beans.

->the container and the server provide the enterprise bean runtime environment.

The container provides many low-level services, including threading and

transaction support. From an administrative viewpoint, the container manages

data storage and retrieval for the contained enterprise beans.

->The application client container is a separately installed component on the

client's machine. It allows the client to run applications in a J2EE environment

that is compatible with EJB.

4)when web server and when app server..how connect both of them

The Web server can serve requests that do not require any dynamic content, for example,

HTML pages. However, when a request requires dynamic content, such as JSP

or servlet processing, it must be forwarded to WebSphere Application Server for

handling.

To forward a request, you use a Web server plug-in that is included with the

WebSphere Application Server packages for installation on a Web server. You

copy an Extensible Markup Language (XML) configuration file, located on the

WebSphere Application Server, to the Web server plug-in directory. The plug-in

uses the configuration file to determine whether a request should be handled by

the Web server or an application server. When WebSphere Application Server

receives a request for an application server, it forwards the request to the

appropriate Web container in the application server. The plug-in can use HTTP

or HTTPs to transmit the request.

5)What is J2C

The connection between

the enterprise application and the EIS is done through the use of EIS-provided

resource adapters, which are plugged into the application server

6)what is dynamic cache in WAS?

The dynamic cache service improves performance by caching the output of

servlets, commands, Web services, and JSP files.

7)Message Driven Beans and Listener ports:

8) Object Request Broker (ORB), using Internet Inter-ORB Protocol (IIOP).

An Object Request Broker (ORB) manages the interaction between clients and

servers, using Internet Inter-ORB Protocol (IIOP). The ORB service enables

clients to make requests and receive responses from servers in a

network-distributed environment.

WebSphere Application Server uses an ORB to manage communication

between client applications and server applications as well as communication

among product components.

9)JNDI (Java Naming and Directory Interface)

10)Virtual host: A virtual host is a configuration that enables a single host machine to resemble multiple host machines. This configuration allows a single physical machine to

support several independently configured and administered applications.

_ default_host

This virtual host is used for accessing most applications. The default settings

for default_host map to all requests for any alias on ports 80, 9443, and 9080.

For example:

http://localhost:80/snoop

http://localhost:9080/snoop

38 WebSphere Application Server V6: System Management and Configuration Handbook

_ admin_host

This virtual host is configured specifically for accessing the WebSphere

Application Server administrative console. Other applications are not

accessible through this virtual host. The default settings for admin_host map

to requests on ports 9060 and 9043, as in http://localhost:9060/admin

11) Three approaches to track sessions:

_ Secure Sockets Layer (SSL) session identifiers, where SSL session

information is used to track the HTTP session ID.

_ Cookies, where the application server session support generates a unique

session ID for each user and returns this ID to the user’s browser using a

cookie. The default name for the session management cookie is

JSESSIONID. Using cookies is the most common method of session

management.

_ URL rewriting

12) Two types of session persistence:

Session persistence: cache. The local session cache keeps session

information in memory, which is local to the machine and WebSphere Application

Server where the session information was first created. Local session

management does not share user session information with other clustered

machines.

Two options for HTTP session

persistence are available:

_ Database

Session information is stored in a central session database for session

persistence.

In a single-server environment, the session can be persisted when the user's

session data must be maintained across a server restart or when the user's

session data is too valuable to lose through an unexpected server failure.

In a multi-server environment, the multiple application servers hosting a

particular application need to share this database information to maintain

session states for the stateful components.

_ Memory-to-memory using data replication services

In a Network Deployment distributed server environment, WebSphere internal

replication enables sessions to be shared among application servers without

using a database. Using this method, sessions are stored in the memory of

an application server, providing the same functionality as a database for

session persistence.

13) About web services UDDI, JAX

What IBM added (section 2.9)

14) About JDBC resources that is

Data source, Connection pool, CP is provided by 2 parts

Datasource : Information about the data source and how to locate it, such as its name, the

server on which it resides, its port number, and so on, is stored in the form of

properties on the DataSource object.

Once a data source has been registered with an application server’s JNDI name

space, application programmers can use it to make a connection to the data

source it represents.

JCA Connection Manager and a relational resource adapter,

The JCA Connection Manager provides the connection pooling, local

transaction, and security supports. The relational resource adapter provides the

JDBC wrappers

15) JMS providers

The JMS functionality that WebSphere provides includes support for three types

of JMS providers:

_ Default messaging provider (service integration bus)

_ WebSphere MQ provider

_ Generic JMS providers

16)How is workload management done in:

Routing of servlet requests occurs between the Web server plug-in and the

clustered application servers using HTTP or HTTPS,

members. If all

cluster members have identical weights, the plug-in sends equal requests to all

members of the cluster, assuming no strong affinity configurations.

If the weights are scaled in the range from zero to twenty, the plug-in routes requests to those

cluster members with the higher weight value more often.

A rule of thumb formula for determining routing preference is:

% routed to Server1 = weight1 / (weight1+weight2+...+weightn)

In this statement, n is the number of cluster members in the cluster.

The Web server plug-in temporarily routes around unavailable cluster members.

17) High Availability:

_ HTTP server failover

The use of multiple HTTP servers, along with a load balancing product such

as provided with the Edge components can be used to provide HTTP Server

failover.

_ Web container failover

The HTTP server plug-in in the Web server is aware of the configuration of all

Web containers and can route around a failed Web container in a cluster.

Sessions can be persisted to a database or in-memory using data replication

services.

_ EJB container failover

Client code and the ORB plug-in can route to the next EJB container in the

cluster.

_ Deployment manager and node agent

The need for failover in these two components has been reduced. Thus, no

built-in failover capability is provided. The loss of the deployment manager

Chapter 2. WebSphere Application Server V6 architecture 67

only affects configuration. We recommend that you use a process nanny to

restart the Node Agent if it fails.

_ Critical services failover

Hot standby and peer failover for critical services such as workload

management routing, PMI aggregation, JMS messaging, transaction

manager, and so on, is provided through the use of high availability domains.

18)which framework does scripting based on …

Bean Scripting Framework

The scripting client uses the Bean Scripting Framework, which allows you to use

a variety of scripting languages for configuration and control. WebSphere

Application Server V6 supports two languages: jacl and jython (or jpython).

19) Main processes in websphere

Deployment manager

The deployment manager process provides a single, central point of

administrative control for all elements in the cell. It hosts the Web-based

administrative console application. Administrative tools that need to access any

managed resource in a cell usually connect to the deployment manager as the

central point of control In a distributed server environment, the deployment manager maintains a master configuration repository that contains all of the cell’s configuration data.

Node Agent

The node agent aggregates and controls all the managed processes on its node

by communicating with:

_ The deployment manager to coordinate configuration synchronization and to

perform management operations on behalf of the deployment manager.

_ Application servers and managed Web servers to manage (start or stop) each

server and to update its configuration and application binaries as required.

20) Rational rose or rational xde

Rational App Developer , CVS, Rational Clear Case

Design tools like Rational Rose® or Rational XDE™ can be used to model the

application using the Unified Modeling Language. The output of the modeling

generally consists of use-case scenarios, class diagrams, and starter code

generated based on the model.

21) Configuration repository

The configuration repository holds copies of the individual component

configuration documents stored in XML files. The application server's

administrative service takes care of the configuration and makes sure it is

consistent during the runtime.

You can archive the configuration of unfederated nodes for export and import,

making them portable among different WebSphere Application Server instances.

22) Steps involved in installing a new app

Installing an application involves the following tasks:

_ Binding resource references, created during packaging, to real resources

For example, a data source would need to be bound to a real database.

_ Defining JNDI names for EJB home objects

_ Specifying data source entries for entity beans

_ Binding EJB references to the real EJB JNDI names

_ Mapping Web modules to virtual hosts

_ Specifying listener ports for message-driven beans

_ Mapping application modules to application servers

_ Mapping security roles to users or groups

The use of an enhanced EAR file simplifies this installation process.

After a new application is deployed, the Web server plug-in configuration file

needs to be regenerated and copied to the Web server.

WebSphere Interview Questions:

1. What is the difference between Web Server and Application Server ?

Web Server: Web server handles the HTTP protocol. When the Web server receives an HTTP requests, it responds with an HTTP response, such as sending back an HTML page. To process a request a web server may respond with a static HTML page or image, send a redirect, or delegate the dynamic response generation to some other program such as CGI scripts, JSPs, Servlets, ASPs, server-side Java Scripts, or some other servers-side technology.

Application Server: an application server exposes business logic to client applications through various protocols. Possibly including HTTP. While a Web server mainly deals with sending HTML for display in a Web browser, an application server provides access to business logic for use by client application programs. The application program can use this logic just as it would call a method on an object


2. How many ways deployments are possible in IBM WebSphere? Please give at least one example

1) user can deploy the application on WebSphere server through Administration console, which provide the war file selection browse button so user can select the war file.

2) We could also directly copy the jar files to deployed application folder in WebSphere. this is called hot deployment.

3) The more generic way is to use WebSphere specific ant tasks and building automated scripts for deploying the application.

3. What is deployment descriptors?

Ans: Deployment descriptor is an XML file that describes how to deploy a module or application by specifying configuration and container options. For example, an EJB deployment descriptor passes information to an EJB container about how to manage and control an enterprise bean

This is an xml file. It tells to the server about the application. Each web application contain one deployment descriptor

deployment descriptors are used specify the information that is used to deploy the application on the server.

4. Application Server is combination of ???

Ans: Web Container ( Embedded HTTP server, HTML, Servlets, JSP)

EJB containers ( EJB ‘s)

J2C Container ( JCA Resource Adapter)

5. Protocol between the Servlet and EJB container?

Ans: IIOP

6. What is the importance of HTTPD.CONF ?

Ans: configure the plug-in

7. Types of Application Servers?

Ans: Express/Base/Network Deployment/Enterprise

8. What is the purpose of using port 9080?

Using port 9080 by passes the Web Server plug-in and used the Embedded HTTP Server

9. What is garbage collection?

Garbage Collection: the process of the JVM that frees unused portions of memory and returns the portions to the heap size

Garbage Collection Duration: Average amount of time (over the given discovery cycle 300 seconds) the JVM spent cleaning up unused portions of memory

10. What’z the command to federate?

Ans: addNode.bat ajel-31 8879 –conntype SOAP –includeapps

11. How many JMS servers you can have on one node? How many nodes can have one Application server?

Ans: JMS server – 1

Application Server - and one application server instance can be clustered with n number of nodes...

12. What are the types of Servers Handled and their configurations: Number of servers, whether clustered, How many app servers, WebSphere servers.

Ans:

13. What is the procedure for cloning / clustering servers in WebSphere environment.

Ans: First create a cluster – then add cluster members

14. What versions of WebSphere have you used and how do u differentiate between Version 4.x and 5.x: What are the added features in version 5.x or what are the major differences between 4 and 5 or between 5 and 6 ?

Version 3.5 / 4.0

Version 5

1. configuration stores in database

1. xml file

2. Java based client

2. web browser based

3.Workload Management

    1. Server groups
    2. Clones

3.Workload management

    1. Clusters
    2. Cluster members

4. Resource Analyzer

4. Tivoli performance user

15. What is Network Dispatcher….? What does it do?

Ans: Network Dispatcher also called as Load Balancer. It can dynamically monitor and balance requests to available TCP/IP server and applications in real time.

Load balancing allows heavily accessed websites to increase capacity by linking many individual servers to a single logical server.

Edge components (Load Balancing, Switch Consultants, Caching proxy, dynamic content caching)

16. Which port is used for configuring WebSphere 5:

Answer: 9090

17. What if 9090 is busy then how do you change the port.?

Virtualhost.xml

Server.xml

(WAS/appserver/bin/admin.config)

Changing port 9090

If you are running AIX 5.1 or AIX 5.2, it is likely that you will have a port conflict between the Web-based system manager of AIX and the WebSphere administrative console.

To see if port 9090 is in use, issue the following command:

netstat -an | grep 9090

If port 9090 is in use (there is a line of output resulting from the command), you will need to change the port for the WebSphere administrative console.

Tip: As a temporary measure, you can disable the AIX system manager.

To disable the system manager, enter:

/usr/websm/bin/wsmserver –disable

You can enable it using:

/usr/websm/bin/wsmserver –enable

For DMGR

18. What do you do with Log Analyser. Where does this reside (in your m/c or websphere). How this helps you does it take some file to analyse. Pls explain

Ans :- WAS 4 (Binary log files, Activity.log), We can analaysize and gives warning log files..

19. If you have worked with IBM on Websphere related issues how did u interact: What procedures did you follow to ask IBMs help at your client site on Websphere.

Open PMR

By opening a ticket with IBM,

Send log files to them

and follow-up the solution.

20. How do you troubleshoot that which application server is having problem and how do u find out.

Ans :- Each Application Server has its own logs. Standardout.log, standarderr.log

21. Supposing you have a cluster: How do you find out that your request is going to all the servers on the cluster. Say one server is down in the 4 nodes of the cluster how do find out which is not responding or replicating.

Ans: try each systemout.log, systemerr.log to see each server getting request or not

23. How do you check Application Servers status through Scripts.

Ans: serverStatus - all

25. Do you have any Java skills or any programming background

Ans: Well I have some basic java skills in JSP’s and Servlets..

26. Most work in the WebSphere is done via command line not through GUIs in this setup of IBM.

Ans: Silent Mode.

27. If you are in off shift…and you have a problem and u r unable to reach the key person who could solve the problem ….what do u do. ?

Ans:

28 How do you stop a web server from trying to handle requests for our Servlets and JSPs?

Ans:

28. What is Virtual Host?

Ans: A virtual host is a configuration enabling a single host machine to resemble multiple host machines.

29. What is the plugin-cfg.xml role?

Ans: The plug-in runs in the Web Server and routes requests from the Web Server to the Application Server.

Location of the plugin-cfg.xml is : /config/cells/plugin-cfg.xml

30. What is Class loader? What does it do?

Ans: Class loaders are part of the JVM code. They find and load class files.

Parent_First

Parent_last

31. Difference in HTTP Server and WebSphere Application Server?

Ans:

32. what is a bootstrap port ?

Ans: the port for which the Web server has been configured to accept client requests. Specify a port value in conjunction with the host name (boot strap port in V5.0 = 2809, V4 = 900)

Flowchart: Alternate Process: Cisco Arrow point33. define your websphere architechuture.


Cisco Arrowpoint Router/load balance. Connection goes to 2 HTTP Sun one servers. Two Son one servers connected to 2 Application servers (DM running on them) they are connected to DB

Each Application server holding 4 instances ( 4X2=8)

1 Deployment manager, 1 Node agent

So total = 10

Memory 6 GB each box

34. What other WebSphere products do you use..

Ans:

35. How do you use some 3rd party jars files integrated into your App?

Ans:

36. What type of security did you implement in WAS ?

Ans: Global security - LDAP level, SSL

37. Did you ever done performance tuning? What parameters you have implemented ? What tools u used to monitor performance?

We used Tivoli Performance Viewer

To increase performance :

System Administration – deployment manager – process definition - JVM –

Intial heap size =

Max heap size =

If you use more memory unnecessary problems occur – main garbage collection

2) DB connection

Connection pooling

Session Time out

Threads

If you don’t mention session time if you left without disconnect it will continue… so it will effect performance..

38. what are the disadvantages of using more heap size than required ?

Ans: Garbage colleciton

39. what is cluster weight ?

Ans: The weighting you give each will determine how much of the workload will be routed to the cluster member. ( Default 2)

40. How do you backup WAS? Restore WAS?

backupconfig.bat/.sh

restoreconfig.bat/.sh

41. I get a page 404 error while trying to view my page ?, how do i debug it ?

systemOut.log

Access & Error logs

42. What are type2 and type 4 drivers ?

Type 2 drivers ( Thick drivers) typically require a local database client to be installed.

Type 3 (Net Protocol) drivers use a network protocol to communicate with JDBC server code on the database server.

Type 4 drivers ( Native Protocol) implement the database’s network protocol directly and require no additional software at the client or server.

43. While accessing jsp, the error displays 'web group not found' and also says, host has not been defined.

Ans: Check in virtual host

44. How do you configure IIS/apache? We are having IIS/apache run on a separate machine than our WebSphere application server?

Ans: httpd.conf (IBM HTTP server)

Magnus.conf and obj.conf ( Apache Server)

45. How do you check the available ports on the server?

Ans: netstat -an

46. How do you monitor the performance of the application? What tools do you use ?

- Tivolo performance Viewer ( Can not be used to view WASV4 PMI data)

- Log Analyzer (V4)

- MVWS

47.Three Dimensions of Performance Monitoring

- End - User View (determine whether there is publicly visible performance problem)

- System and Application Health (Identify troubled components resulting in potential bottlenecks)

- Application view (Look more in-depth at the internal execution of the Application)

48. What should you monitor ?

- Load ( number of concurrent users / requests)

- Response Time

- Through put ( Look more in-depth at the internal execution of the application)

- Utilization of pools

- Component response times (Servlets, EJBs)

- Component Throughput

- WLM performance metrics (Response time, delays)

49. have you done any migration from was 4 to was 5 ?

Ans:

50. what is the WebSphere 4 bootstrap port ?

Ans: 900

51. what is horizontal and vertical clustering ? and how many instances have you clustered ?

Ans: Cluster is logical grouping of servers which can be managed as a unit.

Vertical Scaling is a defining multiple members of the same cluster on the same physical machine.

Horizontal Scaling is defining multiple members of the same cluster on the different physical machines.

Vertical Scaling 2 clusters – 4 instances on each. Total 8 instances

52. How to cluster on was 4 ?

Ans: first create server groups, then clones

53. How do you run WAS as a non-root user?

Ans: system administration – deployment manager – process definition – process execution - there you can see run as user _____ , run as group _____ options…

54. what language have you guys used to run the scripts for deployment.

Ans: I used Ant Scripts, wsAdmin, JACL

55. what is the path to plug-in file ?

Ans: \config\cells\plugin-cfg.xml

56. how do u add/remove a node ?

Ans: Use addNode command to add a node to a cell. Required parameters are the hostname and SOAP port of the deployment manager.

(After the node has been added to the cell there will be three servers running on the node, the Node Agent, Application Server, and JMS server ( which previously running in the application server)

A node can be removed from a cell using removeNode command. If a node no longer exists in the cell ( perhaps due to a server hardware failure) and you cannot run removeNode at the ndoe, you can remove the node from the cell configuration by running cleanupNode at the deployment manager machine.

57. Tell me about a problem which you faced recently?

Ans: Well.. I applied 5.1.1.8 fix pack ..lost my admin console.. got errors in console like can’t find this file… Admin console got corrupted… I called IBM for technical support, they sent me that .ear file. Then i installed thru wsadmin script…

58. What are logs and traces?

Logs and traces provide information about the execution of WebSphere Application Server components, including the administrative server and clients, application servers and other processes in the environment.

Logs and traces are basically the same. In other words, traces are just logs. The difference is that traces must be turned on, while logs are always enabled.

Improvement in WebSphere V4.0

improvements and additions to IBM WebSphere Application Server V4.0 from Release V3.5. Some changes are very obvious, such as the three editions of the application server or the new look and feel of the WebSphere administrative console. Other changes are subtle, but

critical, and affect the runtime, such as performance enhancements to

connection manager.

But the biggest change is architectural in nature, with the J2EE certification of the product.

The list of new/improved features in WebSphere V4.0 include:

1. J2EE compliance ,J2EE 1.2

2. WebSphere editions

3. Java 2 Connectors (JCA)

4. Web services

5. Web server plug-in

6. Embedded HTTP server

7. Performance enhancements

8. Administration tools

9. Other tools

10.Expanded platform support

11.Expanded database support

12.Migration

13.Enterprise Extensions

WebSphere V5.0

The base WebSphere Application Server and WebSphere Application Server

Network Deployment has been updated since V5 was released.

Two fix packs, 5.0.1 and 5.0.2, provide limited new function and minor enhancements.

V5.1 provides more significant enhancements.

The highlights of WebSphere Application Server V5 are as follows:

- Full J2EE 1.3 support and support for the Java SDK 1.3.1.

- A new administrative model based on the Java Management Extensions

(JMX) framework and an XML-based configuration repository. A relational

database is no longer required for the configuration repository.

- A Web-based administrative console provides a GUI interface for administration.

- An interface based on the Bean Scripting Framework, wsadmin, has been

provided for administration through scripts.

- In V5, the only supported scripting language is JACL. Jacl :Jacl is an alternate implementation of TCL, and is written entirely in Java code.

- Security enhancements including support for Java 2, JAAS, and CSIv2.

- Common code base between z/OS and distributed platforms.

- WebSphere Application Server Network Deployment V5 provides:

Clustering, workload management, and single point of administration in a

multi-node single cell topology

- Web Services Gateway

- Private UDDI Registry

- WebSphere Application Server V5.0.1 has added HP-UX platform support and

includes minor enhancements and fixes.

WebSphere Application Server V5.0.2 provides:

- Web services support based on JSR 101 and JSR 109. WebSphere Studio

Application Developer 5.1 includes the function required to create JSR 101

and JSR 109 Web services applications.

The following improvements have been made to session management of

WebSphere V5:

- Session manager configuration enhancement: In WebSphere V4, session

manager configuration is at the application server level. In WebSphere V5, it

can be defined at the following levels:

– Application server level

– Application level

– Web module level

Chapter 1. Introduction to IBM WebSphere Application Server 27

_ WS-Security integration into the WebSphere Application Server security

mechanism. Web Services Gateway has also been enhanced to use

WS-Security.

_ Limited Tivoli Access Management support. Credential mapping using TAM

V4.1 is achieved by calling the APIs directly.

_ The Application Server Toolkit has been improved and now supports J2EE

application assembly, logically replacing the Application Assembly Tool (AAT).

The Application Server Toolkit is based on the Eclipse workbench and has the

same look and feel as WebSphere Studio Application Developer.

WebSphere Application Server V5.1 provides the following enhancements:

_ Java SDK 1.4.1 support. Although the new features are not yet being

exploited by WebSphere, user applications have access to them.

_ UDDI Registry tools that allow you to back up, restore, and modify UDDI

registries.

_ Web Services Gateway enhancements including JAX-RPC handler support,

performance improvements, and SOAP/JMS support.

_ Tivoli Access Manager V5.1 integration. Credential mapping is now done

using a login module provided by Tivoli.

_ Performance enhancements through optimized transaction handling.

_ Support for Jython scripting language support in wsadmin.

_ In a Network Deployment environment, the application server can now start

without the Node Agent running.

Note: WebSphere Studio Application Developer V5.1.1 provides the support

for SDK 1.4.1 and WebSphere Application Server V5.1 as a test server.

Problems:

WebSphere allows the administrator to define a limit on the number of sessions

held in the in-memory cache via the administrative console settings on the

session manager. This prevents the sessions from acquiring too much memory

in the Java virtual machine associated with the application server.

A server overload can cause requests belonging to the same session to go to

different cluster members. This can occur even if all the cluster members are

up and running. For each cluster member, there is a backlog queue where an

entry is made for each request sent by the Web server plug-in waiting to be

picked up by a worker thread in the servlet engine. If the depth of this queue

is exceeded, the Web server plug-in will start receiving responses that the

cluster member is not available. This failure will be handled in the same way

by the Web server plug-in as an actual JVM crash.

Examples of when this can happen are:

– If the servlet engine has not been set up with an appropriate number of

threads to handle the user load.

– If the servlet engine threads are taking a long time to process the requests

for various reasons, such as applications taking a long time to execute,

resources being used by applications taking a long time, and so on.

Enterprise JAVA Beans (EJB) Three types

Sessions Beans

§Stateful – State info required between service calls

§Stateless – State info not required between service calls

Entity Beans

§Provide connectivity to databases

Message-Driven Beans

§Provide application connection through asynchronous messaging

Possible problem if the number of objects allocated by threads keeps growing

§JAVA application not releasing objects

§Objects take up JVM memory

§The unreleased objects could result in a JVM memory starvation problem

This parameter is important because the JVM cannot run out of threads

§If it runs out of threads, all new servlet and JSP requests will stop

§Yes, the JVM can add more threads but there is a maximum amount specified at JVM startup

§Is the answer to increase the maximum thread count?

•Increase maximum thread count?

§Eventually a thread will request memory or CPU

§JVM will be unavailable because of too many threads

§The JVM will start to thrash attempting to allocate resources for the threads

Q. How will you find the OS version of the system your working on ?

A. uname (look into /proc, this may be disabled and may not work)

Q. How will you find the Physical memory & number of CPUs ?

And. use vmstat ( or Look into /proc/cpuinfo, /proc/meminfo but that may not always work)

Q. Can you have Multiple OSes like windows, AIX, solaris in the same production environment ? How would that be ?

A. yes, it is possible.

Clustering would require some careful thought.

There may be path issues in the application ( on Widows vs unix )

Q. Can you have a multiple node architecture with base ? How will we do it ? How will we do load balancing?

A. Yes, we can have base installed on each node. It will involve lot of manual work. We can use the backupconfig utility.

Load balancing will be done by the plugin. We will assign weights to each AS.

Q. How did you file a PMR?

A. We send the jar file to IBM.

Q. How do you create the jar file?

A. Collector tool

Q. Will you run collector tool in the bin folder?

A. Usually no, we may not have write privileges in the bin folder.

Q. There is a performance issue? How would you troubleshoot it?

A. We may use Tivoli Performance viewer to see where the problem is.

Q. Tivoli cannot be run due to the performance issue? What do you do then?

A. Run ps -ef and see which process is hogging the resources and then dig into the log files to pinpoint the problem.

There could be issues with the heap size in the JVM or the JDBC connection pool etc.

Q. How would you gracefully terminate a process on AIX?

A. We may use ptrace.

Q. What other ways are there to do it ?

A. We can use kill -9.

Q. What else can you do with kill ?

A. Take a core dump.

Q. How ?

A. kill -3

Q. What is a core dump?

A. It is a dump of the memory content used by the application.

Q. Is it the memory dump or the JVM dump ?

A. Both. JVM is in the memory.

Q. what is you strongest point ?

A. Command-line

Q. Which is your weakest?

A. probably MQ, because there was always a Business Integration Team to guide on issues related to MQ. So I did not get to do a lot of work on MQ.

Q. During deployment, what if you want to make changes to the application ?

A. We can browse through the EAR file while deployment and make the changes.

Q. How do you find the URI of the application ?

A. Look into the xml configuration files in the EAR file, we look in the application.xml for context-root.

Q. How do you federate a ode into the DM ?

A.


1) About cisco switchesâ¦.how do they do load
balancing?
2) About Load Balancers
3) http plugins â¦how do they do load balancing?
4) About websphere MQ
5) How is dns configured for web servers?
6) How many data repositories you had in your proj
7) What happens when a db fails
8) What happens when a data source fails
9) Difference between 4,5,6 versions
10) If a patch is installed and it has a problem
â¦what would you do?
11) When you opened a PMR ,what files did you send?
12) What happens when the size of coredump gets
truncated?
13) How did you create certificates?
14) How do you configure SSL?
15) What LDAP server did use in your proj?

No comments:

Post a Comment