Sie sind auf Seite 1von 75

1

Difference
between
WebLogic
8.x and 9.x?
WebLogic 8.x:
 We have a silent
Mode of Domain creation.
 We need configure Connection pools then Data source.
 Here we don’t have any Lock & Edit future in console.
 Don’t have Side by Side Deployment feature.
 Where we are Redeploying application we need un-install previous version , then deploy the
new version application.
 This Will not support two Phase deployment
 Via console we have Different Module Deployment like
1.Applications, 2.EJB Modules, 3.WebApplication Modules, 4.Connector Module.
 WLST was introduced but this will be available from 8.1 SP6.
 Not support for JMS Client-Side Store-and-Forward
 Server doesn’t come up if deployment fails
WebLogic 9.x:
 We don’t have this Option in Domain creation.
 First need to create a Dynamic Data Source , inside u can find a Connection pool tab.
 Here we have Lock and edit feature in console.
 Having Side by Side Deployment feature.
 No need to uninstall simply updates option.
 This will support two Phase deployment.
 Here No module deployment all type of Modules In Single Screen in console.
 Here full Developed with MBean utility.
 Support for JMS Client-Side Store-and-Forward
 Server boots in ADMIN mode if deployment failes

Differences between production mode and development mode in WebLogic server?


Development Mode.
 The default JDK for development domain is Sun jdk.
 You can use the demo certificates for SSL.
 Auto deployment is enabled.
 Server instances rotate their log files on startup.
 Admin Server uses an automatically created boot. Properties during startup.
 The default maximum capacity for JDBC Data source is 15.
Production Mode
 The default JDK for production domain is JRockit.
 If you use the demo certificates for SSL a warning is displayed
 Auto deployment is disabled
 Server instances rotate their log files when it reaches 5MB
 Admin Server prompts for username and password during startup
 The default maximum capacity for JDBC Data source is 25

What Is a Domain?
Domain is a collection of logically related group of services, resources and functionalities together in one
place for example resources like Server instances, machines, clusters and services like JDBC data
sources, JMS servers, security providers and there will One Administration Server, which is the central
point from which you configure and manage all resources in the domain and it contains other additional
WebLogic Server instances called Managed Servers with clustered environment where we deploy
applications like Web, Java and EJBs to process the requests and these total domain information is stored
in Config.xml

What is Config.xml file?


 The central configuration file for a domain is
MW_HOME/user_projects/domains/domain_name/config/config.xml. This file specifies the
configuration of each server instance, cluster, resource, and services in the domain.
 Each time the Administration Server starts successfully, a backup configuration file named
config.xml.booted (backup_config.xml) file is created in the domain directory

What is an Administration Server?


Each and every WebLogic Server domain must have one server instance that acts as the Administration
Server to configure all other server instances and resources in the domain When the Administration
Server starts, it loads the config.xml file for the domain. Each time the Administration Server starts
successfully, a backup configuration file named Config.xml.booted is created in the domain directory.

What is a Managed Server?


All other servers other than Admin Server are referred as Managed servers, which is used to process the
hosted applications and resources. When they start it contacts with the Administration Server for its
configuration information off course even though if admin server fails or stops, managed server can run
independently to continue to do their work
 Looks for msi-config.xml—a replica of the domain's config.xml when it starts in msi mode
3

Three modes of installation of WebLogic Server?


 GRAPHICAL: windows> double click; UNIX> chmod a+x filename.bin, ./filename.bin.
 CONSOLE: WLServerXXX_win32.exe -mode=console; UNIX: chmod a+x filename.bin
./filename.bin -mode=console.
 SILENT: Windows> WLServerXXX_win32 -mode=silent –silent_ xml=path_of_silent.xml
Unix: chmod a+x WLServerXXX, ./ WLServerXXX.bin -mode=silent -silent_xml=/path_to_silent.xml
-log=/home/logs/platform_install.log

Different ways to WebLogic server startup?


WebLogic server can be started in the following ways:
startWeblogic.sh
Using Wlst and Ant Scripts
Node manager
WebLogic. Admin start command

What is Clustering in WebLogic Server?


A cluster is part of a domain, and it is a group of multiple WebLogic Server instances for running
simultaneously and work together as single WebLogic server instance to achieve scalability, Load
Balancing, High Availability and Application fail over enabling
 Scalability: You can add server instances to a cluster without interruption of service—the
application continues to run without impact to clients and end users.
 High Availability: If any Unix Machine(box) fails the other Unix box will handle the requests
 Load Balancing: When the load increases on one server, the load is automatically taken by
another server that has lesser load. All of these severs work together to ensure that the
transaction or job is completed for a given client request.
I) Round-Robin Load Balancing: WebLogic Server uses the round-robin algorithm as the
default load balancing strategy [first in first out]
ii) Weight-Based Load Balancing: This algorithm applies only to EJB and RMI object
clustering. [Decides based up on weight number given for server in cluster weight field]
Server->Configuration Tab->Cluster page—Cluster weight Field(numerical Number)
iii) Random Load Balancing: The random method of load balancing applies
only to EJB and RMI object clustering [In random load balancing, requests
are routed to servers at random]
 Application Fail-over: when server is executing the process suddenly if it stops responding and
then the session information is made available to the next available managed server in the
cluster to complete cycle

How to configure a Cluster?


Click Lock & Edit: select Cluster: click new button: configure Cluster Properties
 

What is a Replication Groups?


 A replication group is a preferred list of clustered servers to be used for storing session state
replicas.
 Using replication groups we define If primary server fails which should be a secondary server to
handle the session state
 Servers are maintained in different Replication Groups with ranking systems assigned using a
combination of the servers in different Geographic Locations
What is session Replication (Maintained in Socket Communication)?
WebLogic Server maintains the HTTP session state ( User Session) of a servlet or JSP accessed that across
clustered are maintained as backup in the form of JSession ID. Proxy servers will create a JSessionID for
client when request comes
WebLogic Server can maintain this JSessionID (client's HTTP session state) is stored in Common
repository (storage) mechanism set in Weblogic.xml (deployment descriptor)
 In-memory replication (Session info stored both in primary and secondary servers memory,
Most commonly used in cluster setup)
 File system persistence (session info stored in text file, Set the directory where WebLogic Server
stores the sessions)
 JDBC persistence (session info stored in a table using database)
 Memory (default – session info stored in memory all session information is stored in memory
and is lost when you stop and restart WebLogic Server.)
 Cookie-based session persistence (session info stored in client browser) or in URL rewriting

How many types Clustering are there? Or Environmental Architecture?


There are two types of clustering:
1) Vertical Clustering 2) Horizontal Clustering

Vertical Clustering: Grouping of available WebLogic server instances in a single physical machine as
cluster
Horizontal clustering: Grouping of multiple application servers that are run on two or more separate
physical machines. Horizontal scaling is more reliable than vertical scaling,
In Real time: Basic Tier cluster with horizontal mc1, mc2
5

What is your Application Architecture?


--Basic Tier Architecture with horizontal clustering
Architecture – defines how various tiers of an application (Web, Presentation, and Object) are deployed
on one or more clusters.
i)Web Tier[Container] : provides static content (HTML pages). The Web tier is generally the first point of
contact between external clients and the Web application. Receiving and forwarding requests to
presentation layer [Displaying the UI to End user] and business layer
ii) Presentation Tier: provides dynamic content (Servlets or JSP) to user
iii) Object Tier [Business Layer]: provides java objects (EJB or RMI classes) and executes associated
business logic with interacting to database.

How WebLogic Servers Instances methods to Communicate in a Cluster and how server detect
failure?
WebLogic Server instances in a cluster communicate with one another using two basic network
Technologies:
1) Sockets Communication 2) Heart Beat Communication

Socket Communication: (one to one or peer to peer) each server instance will communicate with IP
socket programming for sharing the information

Heart Beat Communication: Each server will communicate with the cluster by sending the heart beat for
every 10 sec. if it does not receive a heartbeat from the server for 30 seconds or longer), the monitoring
server marks the peer server as "failed."

There are two types of Messaging Modes for external communication systems:
1) Unicast 2) Multicast (one to many)

Unicast:
 When creating a cluster within a new WebLogic Server environment, it is recommended that you
use the Unicast messaging type
 It works on DHCP no need to require configuring any IP Addresses; it takes the one of the IP
Address from IP Table
 uses TCP protocol

Multicast:
 If you are creating a cluster within an existing WebLogic Server environment or you need to
ensure backward compatibility with older versions of WebLogic Server, you must use the
Multicast messaging type.
 IP multicast is a simple broadcast technology that enables multiple applications to subscribe to a
given IP address and port number and listen for messages.
 Entire network we have to configure to use the same multicast IP address on same LAN using
Class - C and its range is 224.0.0.0 to 239.255.255.255.
 The default value used by WebLogic Server is 239.192.0.0 this address must be unique to this
cluster and should not be shared by other applications
 The multicast port is used by cluster members to communicate with each other. Valid values are
between 1 and 65535.
 IP multicast broadcasts messages to applications, but it does not guarantee that messages are
actually received.
 It uses UDP Protocol

Methods of Configuring Clusters?


 Domain Configuration Wizard: The Domain Configuration Wizard is the recommended tool for
creating a new domain or cluster.
 WebLogic Server Administration Console: It allows you to perform a variety of domain
configuration and monitoring functions.
 WebLogic Server Application Programming Interface (API): You can write a program to modify
the configuration attributes. But not recommended for initial cluster implementation.
 WebLogic Scripting Tool (WLST): is a command-line scripting interface that
system administrators and operators use to monitor and manage domains.

What type of Objects can be clustered and what Objects are cannot be clustered?
 Can be clustered: Web applications, EJBs and RMI Objects, JDBC Connections (data sources and
multi data sources), JMS
 Cannot be clustered: The following APIs and internal services cannot be clustered in WebLogic
Server:
File services including file shares 2) Time services

Types of WebLogic Server Architecture [with Horizontal Clustering]

 Basic Tier Architecture:


 Multi Tier Architecture

 Basic Tier Architecture: The recommended basic architecture is combined tier architecture—all
tiers [Web, Presentation and Object tier] of the Web application are deployed to the same
WebLogic Server cluster.

 Multi Tier Architecture: multi-tier architecture uses two separate WebLogic Server clusters: one
to serve static HTTP content and clustered servlets, and one to serve clustered EJBs.
7

How do stubs work in a WebLogic Server cluster?


Clients that connect to a WebLogic Server cluster and look up a clustered object obtain a replica-aware
stub for the object. This stub contains the list of available server instances that host implementations of
the object. The stub also contains the load balancing logic for distributing the load among its host
servers.

What happens when a failure occurs and the stub cannot connect to a WebLogic
Server instance?
When the failure occurs, the stub removes the failed server instance from its list. If there are no servers
left in its list, the stubb uses DNS again to find a running server and obtain a current list of running
instances. Also, the stub periodically refreshes its list of available server instances in the cluster;
this allows the stub to take advantage of new servers as they are added to the cluster.
Different States of SERVER LIFECYCLE?
STARTING:-
a server instance prepares itself to accept requests and perform application processing
- it retrieves its configuration data; - starts its kernel-level services; - initializes subsystem-level
services
- deploys applications; - loads and runs startup classes

 STANDBY
- a server has initialized all of its services and internal applications (such as the Administration Console)
- can accept administration commands; - can participate in cluster communication
- does not accept requests from external clients.

 RESUMING: - to bring back the server to running state from stand by state
 RUNNING: - it offers its services to clients, - can operate as a full member of a cluster

 SUSPENDING: server handles a predefined portion of the work that is currently in process—referred
to as "in-flight" work
- Upon completion of in-flight work, the server progresses from the SUSPENDING state to the
SHUTTING_DOWN state.
 SHUTDOWN: - a result of a graceful shutdown or forced shutdown process
 FAILED: - one or more critical subsystems have failed, the server instance sets its state to FAILED
 UNKNOWN: - If a server instance cannot be contacted, it is in the UNKNOWN state.

What is WLST (WebLogic scripting tool)?


 It is one of the administration tool to configure, monitor and perform administration tasks in
active and inactive domains
 Based on Jython – pure java implementation of python
 Generally we go for scripting for automating the admin tasks, before going to WLST need Set the
class path (Environment Variables) because it is one of the java class program from
WL_HOME/SERVER/BIN/setWLSEnv.sh
 Command for invoking WLST : java>bin> java weblogic.WLST c:\myscript.py
 We can interact to WLST in two ways:
1) Command Based: Executing one by one command sequentially
2) File Based: Executing all commands at once writing in a one file .py extension

There are two types of connection modes:


1) Offline Mode:
 Similar to configuration wizard
 Read, write and access to configuration data
 Uses a template to create a domain or modify non running domain
2) Online Mode:
 Similar to Administration Console without GUI
 Interacts with Server/Domain MBeans
 Start and stop servers, view run time data, change configuration
 Intended as runtime management tool: configuration, managements, monitoring, and
deployments
What Is Pack and Unpack Commands?
pack.sh & unpack.sh command – Used to Create Templates for Domains in WebLogic
Pack: This command is used to create a snapshot of a domain into a domain template file [JAR file].
WL_HOME/COMMON/BIN/pack.sh
Syntax: Pack -domain=path_of_domain -template=path_of_jara_file_to_create
-template_name=”template_name” [-template_author="author"][-template_desc="description"] [-
managed=true|false][-log=log_file] [-log_priority=log_priority]
Default value for -managed is false
Example ./pack –domain=path of the domain -template= WL_HOME/COMMON/ TEMPLATES/
DOMAINS/filename.jar -template_name=”template name” –managed=True

Unpack: It is used to create a domain from existing domain template


Syntax: unpack -template=path_of_jara_file -domain=path_of_domain_to_be_created [-
user_name=username] [-password=password] [-app_dir=application_directory] [-
java_home=java_home_directory] [-server_start_mode=dev|prod] [-log=log_file] [-
log_priority=log_priority]
Example: ./unpack -template= WL_HOME/COMMON/ TEMPLATES/ DOMAINS/filename.jar
–Domain= MW_HOME/USER_PROJECTS/DOMAINS/domain folder

What is Node Manager?


9

 Node Manager is used for


1) Controlling and Monitoring the admin servers and Managed Servers through Remotely
(Starting, Stopping and Restarting Servers using the Administration Console)
2) Crash Recovery (Auto restart failed or crashed Admin/Managed servers that were started by
node manager)
 Node Manager is Domain-Independent Node Manager resides outside the scope of a domain,
and you can use a single Node Manager process to start Managed Servers in any WebLogic
Server domain
 Default Port No is 5556, Cannot used to start or stop an Administration Server
 WebLogic Server provides two versions of Node Manager, Java-based and script-based
 Java-based Node Manager runs within a Java Virtual Machine (JVM) process. It is recommended
that you run it as a Windows service on Windows platforms and as an operating service on UNIX
platforms, allowing it to restart automatically when the system is rebooted. More secure
 Script based Node Manager on UNIX shell scripts uses ssh connections
 Node Manager is configured at machines
 Starting Node Manager: WL_HOME/SERVER/BIN/./StartNodeManager.sh

Important files about Node Manager:


WL_HOME/COMMON/NODEMANAGER/
 Nodemanager.domain it is used to verify whether a particular domain is registered in node
manager or not
 Nodemanager.Log This log file stores all data about domains including Issues information, The
Node Manager writes its own startup and status messages to a single log file
 Nodemanager.properties Contains attributes and values in encryption to start and stop the
servers, node manager takes from here (Like Secure Listener=True, Crash Recovery
Enabled=False, Listen Port=5556, logfile location, log limit=0, log count=1)
DOMAIN-NAME/SERVERS/SERVER_NAME/DATA/NODEMANAGER/
 boot.properties Node Manager uses this file to specify a boot identity when starting a server
 startup.properties Each Managed Server instance has its own startup.properties file with
properties that control how Node Manager starts up and controls the server. Node Manager
automatically creates this file by using properties passed to Node Manager when the
Administrative Server was last used to start the server.
 Server_name.pidserver_name.pid is generated by each server and contains the process ID of
the server. Node Manager checks the process ID generated by the server during crash recovery.
 Server_name.addr server_name.addr stores the IP Address added when a server starts or is
migrated. This file is generated after the successfully brought online during migration
 server_name.stateserver_name.state is generated by the server and contains the server's
current state. Node Manager monitors the contents of this file to determine the current state of
the server.
Order of Stopping Servers?
1) Node Manager 2) Admin Server 3) Managed Server

How to configure Node Manger?


Adding Machine is nothing but Configuring Node Manager only
Node manager is configured at time of creating a new Domain only

Open WebLogic console http://localhost:7001/console


Click on Lock and Edit
Expand Environment: Select Machines: New button: Give Name for machine and OS: Next

 

Configure Node Manager with properties

 

If Type: Plain – change security Listener=Plain in Nodemanager.properties file


11

Click Finish: You will add a new machine as shown below


Click on “Servers Tab” to add particular Servers to add node manager

Click Finish: Server will added to a machine


Activate Changes

Explain the logging mechanism in WebLogic?


The logging mechanism is done at the different levels with the different settings. The levels here are
domain level, server level, node manager level, application level. The different log files generated here

What are the Important Log Files in WebLogic?


There are two types of Log Files
1) Server Logs (DOMAIN_NAME\SERVERS\SERVER_NAME\LOGS\SERVER_NAME.LOG)
2) Domain Logs (DOMAIN_NAME\SERVERS\ADMIN_SERVER_NAME\LOGS\DOMAIN_NAME.LOG)
 Server Logs: The server log records information about events such as the startup and shutdown
of servers, the deployment of new applications, or the failure of one or more subsystems. The
messages include information about the time and date of the event as well as the ID of the user
who initiated the event and messages of the selected severity or higher are forwarded to the
domain log (AdminServer.Log)
 Access Logs: Contains all http requests information accessed about particular server information
(like Which IP Address accessed that server) (Access. Log)
 Transactions Logs: Tlog files are the files used by WebLogic to keep a trace of current
transactions, These files are not human-readable (Adminserver.Tlog)
 Server_name. Outfile: If node manager is used to start the managed servers, the node manager
creates a OUT file for each of the managed servers it starts.
 Domain Logs: Contains all servers’ information about Domain, admin server will write logs in
Domain. Log including regarding about managed servers also

Managed server log file (soa_server1.log): The soa_server1.log file logs entries that are both
infrastructure and transaction specific. In the event that an error is found in a composite instance that is
unclear, locate the timeframe of that instance and search this log file.

Diagnostic log file (soa_server1-diagnostic.log): writes entries in the Oracle Diagnostic Logging (ODL)
format. It provides a prototype of a log message in the ODL format. This is a text file and entries in this
file conform to an Oracle standard that includes information such as timestamp, server name, error type,
component ID, user, and other log information.

Server startup standard out log file (soa_server1.out): is generated when you start up the managed
server via Node Manager or the Oracle WebLogic Server Administration Console. Review this log for
server startup issues. For example, it may include startup information such as JVM heap and the
CLASSPATH settings as well as runtime infrastructure issues errors

The HTTP access log (access.log): The access.log file is generated in the event that you do not have
the Oracle Web Tier installed. This log file logs all HTTP requests to the internal web server following the
standard Apache HTTP Server log format. Reviewing this may help in identifying all SOAP requests that
have hit your server, as this is the first touch point to the server

Transaction logs store information about committed transactions that may not have been completed.
The transaction logs provide Oracle WebLogic Server with a mechanism to recover from system crashes
or network failures. however, allows transaction logs to be stored in a JDBC store, Transaction logs can
only be stored in the default store and must be file-based.

Use of Logs in WebLogic?


WebLogic Server uses log messages to record information about events such as the deployment of new
applications or the failure of one or more subsystems.
Used for: Frequently accessed resources, Activity by day and time interval, Amount of data send
and received, IP Addresses of users accessing the site, Number of Actual hits, Problem servicing requests,
performance statistics

Log Format and different Log Levels in WebLogic?


####<Sept 22, 2004 10:46:51 AM EST> <Notice> <WebLogicServer> <MyComputer>
<examplesServer><main> <<WLS Kernel>> <> <null> <1080575211904> <BEA-000360>
<Server started in RUNNING mode>

Locale-formatted Timestamp, Severity, Subsystem, Machine Name, Server Name, Thread ID, User ID,
Transaction ID, Diagnostic Context ID, Raw Time Value, Message ID, and Message Text.

 When a WebLogic Server instance writes a message to standard out, he output does not include the
#### prefix and does not include the Server Name, Machine Name, Thread ID, User ID, Transaction
ID, Diagnostic Context ID, and Raw Time Value fields.
13

<Sept 22, 2004 10:51:10 AM EST> <Notice> <WebLogicServer> <BEA-000360> <Server


started in RUNNING mode>

Different Log Levels or Message Severity forwarded to Domain Log:


TRACE
DEBUG
INFO  used for reporting Normal Operations
NOTICE An informational message with higher importance
WARNING  A suspicious operation or configuration occurred but it may not be have impact on norml
operation
ERROR a user error has occurred -debug and close issue
CRITICAL  A system or service error has occurred the system is able to recover but
there might be a momentary loss,
ALERT  A particular service is in an unusable state while other parts of the system continue to function
the immediate attention of the administrator is needed to resolve the problem.
EMERGENCY  The server is an unusable state. Severity indicates a severe system failure or panic.
 First three severity are for general information no need to bother next four severity is to solve

What is Server Boot up Process?


When StartWebLogic.sh script flow need to explain...
CLASSPATH
MEMARGS
GC parameters
To start the weblogic.Server class
Check authentication if user, password given script takes from it. if not
Check for boot. Properties

What is Log file Rotation in Web Logic?


 Each time the server log file reaches this size, the server renames the log file and creates a new
SERVER_NAME.log to store new messages
 By default, in production mode, log file reaches 5 MB in size then it creates a new file
.files to retain: 7 (property)  it creates max 7 log files
 Rotation mechanism is done by types
1) Size Based (default) 2) Time Based
We can enable only one type either size or time based,
SIZE=100mb, But TIME with 2 attributes  start time and Hours
 Commands used for taking backup:
gzip as000*.log;  zipping all files to decrease size
tar –cvf AS_Backup_09102012.tar *.gz  all zip files are compressing to one file
mv filename.tar (path)

What types of files can be deployed in WebLogic?


.WAR (Web based applications); .JAR (EJB applications); .RAR (Resource Adapters/Connectors);
.EAR (Enterprise Applications [combination of above all]); Webservices[WAR/JAR]
Different Deployment Targets
 Deployment targets are the servers or groups of servers to which you deploy an application or stand-
alone module
 The following describes different targets and all valid deployment files
1) WebLogic Server Instance: Java EE Applications; Java EE modules; JMS, JDBC, or WLDF modules;
Java EE Libraries
2) Cluster: Java EE Applications; Java EE modules; JMS, JDBC, or WLDF modules; Java EE Libraries
3) Virtual Host: A configured host name that routes requests for a particular DNS name to a
WebLogic Server instance or cluster Web applications
4) JMS Server: A stand-alone JMS application module can be targeted to server, cluster, or virtual
host targets; queues and topics defined within a JMS module can be further targeted to a
configured JMS server.

What is Deployment Plan?


 Deployment plans helps WebLogic Server configuration for deployment into to multiple, differing
WebLogic Server environments without modifying the deployment descriptor files included in the
application archive.
 We can override the values of the deployment descriptors at the runtime using plan.xml.
 It override context-root of the application specified in the weblogic.xml
 The weblogic.PlanGenerator tool provides a quick and easy way to generate a template deployment
plan

Deployment staging modes in WebLogic?


WebLogic Server provides three different options for staging files:

 Stage mode: The Administration Server copies the deployment unit files to the staging directories of
target servers and they are deployed using the local copy. This mode is useful when deploying small
or moderate size applications, and prevents having a single point of failure if the original copy is not
accessible. This is the default staging mode for Managed Servers.

 Nostage mode: The deployment units are deployed using the same physical copy, which must be
accessible by the Administration Server and target servers (for example, via a shared directory). The
Administration Server does not copy the deployment unit files to the target servers, in this case. This
mode is useful when deploying very large deployments to multiple targets, and for deployments that
require dynamic updates. This is the default staging mode for the Administration Server.
15

 External Stage mode: In external_stage mode you must copy the deployment units manually
to the correct staging directories before deployment. Use this staging mode for deployments
where you want to manually control the distribution of deployment files to target servers. This
mode prevents deployment unit information from being dynamically updated. In this case, the
Administration Server accesses the original (master) deployment unit for validation.

 Configure Deployment Staging Directory : Log in to WebLogic server Admin console and click on
Servers: Deployments Tab:

How many ways you can deploy an application?


1) Admin Console 2) WLST 3) Weblogic.Deployer 4) Ant Build Scripts

1) Deploying from Admin Console:

 
 

2) Deploying by Using Weblogic.Deployer

Syntax: java weblogic.Deployer -adminurl http://localhost:7001 -user weblogic -password weblogic01


-deploy –name companystore –source d:\lab\cpstore.ear -targets mycluster, adminserver,ms1 –stage
–appversion version2 [-plan /myDeployments/myAppPlan.xml]

For listing apps: java weblogic.Deployer -adminurl http://localhost:7001 -user weblogic -password
weblogic01 –listapps

3) Deploying Using WLST Scripts:


 Set calss Path #/domain/bin/Setdomainenv.sh
 Write a script file deploy.py
connect(‘weblogic’,'weblogic’,'t3://localhost:7001′)
edit()
startEdit()
deploy(‘appln name’,'/apps/survey_web.war’, targets=’AdminServer’, stageMode=’nostage’,
versionIdentifier=’10-2′)
save()
activate()
exit()
How to execute script: WLS_HOME/common/bin/wlst.sh deploy.py

4) Deploying Using ANT scripts:


Following are the steps to be followed to create and run ant build script:
1) Set your JAVA_HOME and ANT_HOME.
2) the sample build.xml for wldeploy is as follows:
17

3) Make sure the weblogic.jar is copied to ANT lib directory to run the build.xml successfully.
Note: wldeploy task referring to the classname= weblogic.ant.taskdefs.management.WLDeploy will be
picked from weblogic.jar.

What are deployment descriptors in WebLogic?


Java Modules and applications have deployment descriptors—XML files contain information about
application and specifies to server
Server reads from configuration files and loads that particular class files on JVM from descriptors
 WEB.XML  A application specific file which defines to server that based up On request
or url which class should be executed
 WEBLOGIC.XML  A Server specific file which defines how named resources(Jdbc, jndi,
jms) in the web.xml file are mapped to WebLogic Server resources.
 For EJB applications (ejb-jar.xml, weblogic-ejb-jar.xml); For j2EE Enterprise (application.xml)

What are the different statuses of application after deployment?


 DISTRIBUTE INITIALIZING  before Activate
 PREPARED  After Activate, Application not started (But Targets are up and running)
 Active  application is working fine
 NEW  targets which are specified is not up and running
 RETIRED  side by side deployment (old version status)

What is Deployment order and Deployment plan?


 Deployment Order: Dependencies between two application, if A is dependent on B so first deploy B
and then deploy A
 Deployment plan: updating the configuration changes and used services (JNDI) without disturbance
while moving to the different environments( dev to qa to uat) using plan.xml file in redeploy

Error Codes that we see for web applications?


1XX  Informational Status Codes
2XX  Successful Status Codes that requested
3XX  Redirection Status Codes, server has taken request and trying to call another url
4XX  Client Error Status Codes, URI which is given is not proper but trying to access uri name in server
5XX  Server Error Status Codes, server taken request but able to respond back, problem is server side
due to application not started

What is side by side deployment?


 It is just like Redeploy with updated version without interrupting to the end users and old
application is outdated (retired state)
 It will not use the context name it uses version tag (updates only version tags)
 Assigning the version tags is possible only with weblogic.deployer utility
 Before using weblogic.deployer, Set Path and class path WL_HOME/SERVER/BIN/setWLSEnv.sh
Syntax: java weblogic.Deployer -adminurl http://localhost:7001 -user weblogic -password weblogic01
-deploy –name companystore –source d:\lab\cpstore.ear -targets adminserver –stage –appversion
version2
For listing apps: java weblogic.Deployer -adminurl http://localhost:7001 -user weblogic -password
weblogic01 -listapps

What is JNDI (Java Naming and Directory Interface)?


 JNDI is an API which is used to associate the unique names to objects(binding) and providing access
to that objects and retrieve objects by name (lookup) such as JDBC Data Sources, EJBs,
JMS( connection factories), and based on their names even objects resides in different location.
 JNDI names are stored in stree like structure called JNDI tree.

What is a Data Source?


 Data source is an object associated to connection pools and used for JDBC client to obtain
database connections from a connection pools
 A client retrieves a Data Source through JNDI look up and uses it to obtain a database connection

What is JDBC (Java Database Connectivity)?


WebLogic Server uses JDBC to handle the multiple database connections from end users at a time
For this 1) creating a datasources (Generic Datasources, Multi Datasources) 2) Configuring connection
properties and for DB and then testing it, configuring values to Connection Pool

What is Connection Pool?


 A connection pool is group open connections that connect to a database at all times.
 These are created at WebLogic server startup, It can be dynamically resized for performance
 Minimum value: 0 ; Maximum value: 2147483647

What are different types of JDBC Drivers?


There are four different types of JDBC Drivers
TYPE 1 DRIVER (JDBC-ODBC Bridge):
 Requires ODBC driver to installed on client machine, usually runs on windows
 Converts JDBC query into ODBC query, which is then handled by the ODBC driver.
TYPE 2 DRIVER (JDBC-Native API):
19

 Requires a Native Driver (vender specific driver written specifically for the relevant OS)
to be already installed on the client machine
 This driver converts JDBC calls to Native API calls
TYPE 3 DRIVER (Network-Protocol Driver- (Middleware Driver))
 Also known as the Pure Java Driver for Database which makes use of a middle-tier between the
calling program and the database.
 The middle-tier (application server) converts JDBC calls directly or indirectly into the vendor-
specific database protocol.
 The middleware server (which can be a fully fledged J2EE Application server) can provide typical
middleware services like caching, load balancing, logging, and auditing
TYPE 4 DRIVER (Native-Protocol Driver (Pure Java Driver))
 This driver converts JDBC calls directly into a vendor-specific database (Direct to Database)
 Completely implemented in Java to achieve platform independence. They install inside the Java
Virtual Machine of the client. This provides better performance from previous drivers

Type-1 Type-2 Type-3 Type-4

How do you configure JDBC for Database Connection?


1. Login to WebLogic Server Administration console (default port 7001)
http://hostname:port/console
2. Select Data Sources under JDBC in Services section
3. Click on New button on right side as shown above
4. Enter JDBC Name, JNDI Name, Database type as shown below

Select JDBC Database Driver: type 4 for singe database

5. Select “one phase commit” for using sing database here but in real time “two –Phase commit” : Next
6. Now configure Database Connection Properties as shown below
21

7. Now test the Database Connection


8. You can select one or more targets to deploy your new JDBC data source. If you don't select a target,
the data source will be created but not deployed. You will need to deploy the data source at a later time

 Now create another Generic data source with the previous steps for adding to multi datasource

 Now create a Multi-DataSource and configure it as shown below


9. select one or more targets to deploy your new JDBC Multi Data Source.
And select data source type as non-xa driver for single database using

10. Select What JDBC Data Sources would you like to add to your new JDBC Multi Data Source
And click finish
23

How will you monitor the JDBC Connection Pool?


Click the [Genric] DataSource you want to monitor
Go to: Monitoring tab: Statistics Tab

 Here waiting for connection failure count not to be failed at any time

What is JMS (Java Messaging Service)?


 In WebLogic Server the messaging service is implemented through JMS, It is an enterprise messaging
system which is used to exchange the messages between java applications. And a message can be a
request, report, alert, notification or event
 If persistence store is defined, when a message is failed to send it store in database as persistent
store or if JMS server is down then it writes into file system later push to JMS
 One managed server is used for JMS server completely
 BY default JMS has one connection factory

What are the messaging models supported by JMS?


JMS supports two models
1) Point to Point [Queue]: One sender will send message and only one receiver will get the
message. It is Guaranteed message delivery
JMS queue:
 A staging area that contains messages that has been sent and is waiting to be read.
 A message is removed from the queue once it has been sent or expired
 The receiver does not have to be up and running at the time the sender sends the message
 Every message successfully processed is acknowledged by the consumer (synchronous)

2) Publish and Subscribe [Topic]: One publisher publishes the message and Zero or more
subscribers will receive the messages.
JMS topic:
 A distribution mechanism for publishing messages that are delivered to multiple subscribers.
 The publisher has to create a message topic Subscribers may register to receive messages on a
particular message topic. The subscriber has to remain continuously active to receive messages

o JMS producer/publisher: A JMS client that creates and sends messages


o JMS consumer/subscriber: A JMS client that receives messages.

o Required To send messages by JMS Creates : 1) Connection 2) Session 3)lookup Destination

 Connection factory name is given for sender/publisher and receiver/subscriber to connect JMS
Server
 While connecting the client look up for the connection factory with help of JNDI in messaging
model in JMS to identify the destination
 A Connection Factory encapsulates connection configuration information,

Steps for Configuring JMS?


25

Next select the server instance or migratable target on which you would like to deploy this JMS Server.

 Now create a JMS Module

The following properties will be used to target your new JMS system module.
Use this page to select the server or cluster on which you would like to deploy this JMS system module.
Next Finish

Now create the sub deployments for JMS Module, click on created JMS Module

Now create the queues and topic by going to configuration Tab clicking on JMS Module


27

A subdeployment is a mechanism by which JMS resources are grouped and targeted to a server instance,
cluster, or SAF agent. If necessary, you can create a new subdeployment by clicking the Create a New
Subdeployment button.

If you want to create Topic follow the same above procedure

Creating Persistence Store

Creating JDBC Store or File Store as shown below


or

What is a sub-deployment
A sub-deployment is a mechanism by which JMS module resources like 'queues, topics, and connection
factories' can be grouped and targeted to a server resource like 'JMS servers, server instances, SAF
agents, or a cluster'.

What are the main features of JMS in WebLogic Server?


WebLogic Server JMS Supports
 PTP and Pub/Sub Domains  two models which is used for sending messages
 Guaranteed and transactional message delivery  if any one operation failed rolling back the session.
 Durable Subscribers  "save” messages when the subscriber is inactive & sends when it is active
 Distributed Destinations  a group of physical queues, or topics for .Load balancing and high
availability
 Recovery from failed Servers

What is Threshold and Quota in JMS?


A Threshold and a quota can be set for server and destination objects
A Quota is a limit defined for JMS administered objects, include these values
 The Maximum number of bytes that can be stored
 The Maximum number of messages that can be stored
Threshold is limit that triggers message paging, flow control and logged warnings using:
 Upper and lower values for the number of bytes for the queue
 Upper and lower values for the number of message

Explain about Security in WebLogic?


 Authentication is identification an user
 Authorization is granting the rights to that user to use a resources or information

There are two types of security are available in WebLogic


1. JAAS (Java Authorization and Authentication Service):
29

2. SSL ( Security Socket Layer ):

1) JAAS (Java Authorization and Authentication Service):


 The services that provide authentication and authorization for the clients those who access the
application
 It used for SSO (Single sign on) i.e., used to login the multiple applications with single sign on
 It uses of a Login Module and a Principal Validation provider

JAAS can be implemented at


 Domain Level : Domain Level Resources are used by Administrators , In Admin Console: +
Security Realms : My Realm : User & groups Tab for Creating Groups by default ( Administrator,
Deployer, Operator, Monitor ) and Users by (name and password) and assigning users to groups
 Application Level : Application Level Resources ( The J2EE application which you are using ) are
used by End Users by storing users information at LDAP Security and using URL Pattern
Here Application Level Uses ROLE and POLICY

 ROLE: Dynamic authorization while accessing to application (Depends upon user who logged
in) and it defines at Admin Console at [+Security + My Realm: URL Patterns tab]
 POLICY: A policy specifies which users, groups, or roles can access the resource under a set
of conditions defines at Deployment Descriptors by developers

2) SSL ( Security Socket Layer ):


 IT is Secured protocol, which used for connecting two applications over a network to
authenticate each other’s identity and exchanging the data in the form of encryption

SSL can be configured one-way or two-way:


 one-way SSL : The server is must present a certificate to the client, but the client is not required
to present a certificate to the server, The client must authenticate the server, but the server
accepts a connection from any client
 Two-way SSL : The server presents a certificate to the client and the client presents a certificate
to the server

Configuring the SSL Certificates in WebLogic


Steps to obtain an appropriate Digital certificates, Private keys and Trusted CA certificates and install
in server

1) Creating a Key store (.JKS) file by using JAVA KEY TOOL from jdk1.6/bin/
keytool –genkey –alias (domain name) –keyalg RSA –[key size 512] –keystore (domainname.jks)
Now it generates a new private key entry and self-signed digital certificate in a key store
client_domain.JKS file is created in bin directory.

2) Now generate a CSR (certificate service request) to submit to CA


Keytool –certreq –v alias (domain name) –file (filename.pem) –keypass (give password)
–keystore (give password) –storepass (password)

Now it generates a client_domain_cert_req.pem file submit this to CA team

3) CA Team (done by CA team) Import Signed certificate reply from and they will give back
Keytool –import -alias (domain name) –file filename.pem –keypass (password) –keystore (Filename.jks)
–storepass (password)

4) Now configure Server side ( .jks file)


Admin server: Configuration Tab: Key stores Tab
31

1. Enter the following details: configuration: keystores tab

Save it

2. Enter the following details: configuration: SSL Tab

Configuring Proxy Apache Webserver?


To avoid multiple addresses to client and including load balancing
Collect setup file of apache webserver – httpd-2.2.23.tar.gz
# gunzip httpd-2.2.23.tar.gz , #tar –xvf httpd-2.2.23.tar, #Cd httpd-2.2.23
#./configure -checking the files, #make -for compiling the files
#make install -for installing the apache
Now apache is installed at /usr/local/apache2
#cd /usr/local/apache2/bin
Bin# ./apachectl -k start
To chek whether it is started or not – open browser and type localhost in url you will get apache page

Installing a apache plugin


Copy a file from weblogic_home/server/plugin/linux/x86_64/ mod_wl_22.so to
/usr/local/apache2/modules/
 Copy a mod_wl_22.so file of related as per bit of operating system
Now stop and start your apache
Bin# ./apachectl -k stop -start –restart

Now configure the file httpd.conf with


1. Load Module: loading module to apache
2. #proxy configuration: here we are adding the clustered ip addresses & port numbers to
proxy

Directory Structure of apache


Bin: contains executable files
Lib: all configuration related files
Conf: configuration files including httpd.conf
Logs: contains all server logs including [error.log-contains log if any error occurs]
Htdocs: check any error occurs here; handles static pages
Modules: supported libraries for WebLogic environment

What is the important configuration file in apache?


The Apache configuration will be defined in the httpd.conf, if required segregated weblogic.conf file can
be created. SSL enable sites requires httpsd.conf

WebLogic Server Patching: Apply WebLogic Patch


33

BSU or also called smart update utility a Utility (java based application) provided with the weblogic
server to apply patches.
You can find bsu script under ORACLE_HOME\utils\bsu\bsu.sh

Earlier it was possible to login and download patches directly via bsu gui console but Smart
Update patch and patch set download capability has been decommissioned by Oracle since June 10,
2011, it mean you have download patch from oracle support website first ( support.oracle.com using
your oracle credentials ), after that you have to place it under patch staging directory (which is
ORACLE_HOME\utils\bsu\cache_dir by default ),

And after either you can apply from BSU GUI console or by command line.

GUI Mode :
Console Mode :
Syntax: ./bsu.sh -prod_dir=/opt/appsvr/product/wls_103/wlserver_10.3 -patchlist=SFF2 -verbose –install
#./bsu.sh -report -To Verify WebLogic Patch

What is a Thread Dumps?


A Thread Dump is a brief snapshot in text format of threads within a JVM. Data about each thread
including the name of the thread, priority, thread group, state (running/blocked/waiting/parking). All
threads - the Java VM threads (GC threads/scavengers/monitors/others) as well as application and server
threads are all included in the dump
 Its always recommended to take multiple thread dumps at close intervals (5 or 6 dumps at 10-15
seconds intervals).

Different types of Thread States?


A Thread can be in one of the following states:
o New,
o Runnable,
o Non-Runnable ,
o Sleep for a time duration,
o Wait for a condition/event,
35

o Blocked for a lock,


o Dead (If there are deadlocks, restart is the only option to kill the deadlock)

What are locks?


Locks ensure only one thread can execute at a time for a particular resource or to ensure ordering of
execution

Why to capture Thread Dumps?


Under what conditions should we capture thread dumps? Anytime or specific times? Capturing thread
dumps are ideal for following conditions:
To understand what is actively executed in the system when under load
o When system is slow or hangs i.e., server will not respond to coming requests.
o While sever is taking more time to restart
o When we are Getting exception like “java.lang.OutOfMemoryException”
o Pages take long time to load; Response time increases; For Performance tuning

How to capture Thread Dumps

In Windows, Ctrl-Break to the JVM process running in foreground can generate thread dumps
1.Kill -3 PID 2.weblogic.Admin Utility 3.Admin Console 4.WLST Scripts

1. In Unix,
Find the process id for your server
Ps –ef | grep java; Kill -3 <pid>
The OutPut of the Thread Dump will be generated in the Server STDOUT.

2. webLogic.Admin utility
set the class path running <DOMAIN_HOME>/bin/setDomain.env
# java weblogic.Admin -url t3://localhost:7001 -username weblogic -password weblogic1
THREAD_DUMP
Note: Thread Dump will be printed to the server’s standard out (by default, the shell in which the server
is running).
3. WLS Admin Console can generate thread dumps. Go to the Server Instance -> Monitoring ->
Threads-> Dump Thread Stack Button option
4. Using WLST (WebLogic Scripting Tool)
a. Save and execute the below snippet as ThreadDump.py next # . ./setDomainEnv.sh
************************************
connect(‘weblogic’,'weblogic1′,’t3://localhost:7001′)
cd(‘Servers’)
cd(‘AdminServer’)
threadDump()
disconnect()
exit()
************************************
Note: The thread dumps get stored in the location from where you run the WLST script
NOTE: It is recommended to capture a set of 6-7 thread dumps at an interval 8-10 seconds to find a
pattern in the thread execution.

What is a Core Dump?


A Binary file which is generated by the operating system whenever a process gets crashed. If a Java
Process gets crashed OS generates a Core Dump for Java Process.The Core Dump contains informations
of the Operating System Signals, Thread Details (Native Threads details), Native Libraries information etc.
Systems to analyze these Core Dumps like:
Tool-1). Dr. Watson Tool in Windows OS. Windows OS Start (Button)—>Run…—>drwtsn32
Tool-2). “pstack” and “pmap” in Solaris Operating System.
Tool-3). “procstack” and “procmap” in AIX Operating System.
Tool-4). “lsstack” and “pmap” in Linux Operating System.
Tool-5). “pflag” if available in HP-UX Operating System.

What is Heap Dump?


Takes For Memory Leaks Based on this analysis we can find out that what all objects are consuming more
memory inside the heap file=MyHeapDump.hprof

Take heap dump at regular interval using jmap.


jmap -dump: format=b, file=dump1.bin 5004; jmap -J-d64 –heap <pid> for 64bit
37

To Read the Binary Heap Dump File in Eclipse Memory Analyzer Tool ( MAT ) Just u need to extract this
Zip then u can directly start (no Installation needed)

Observe the heap usage of Objects in the heap dumps. If the object instance keeps on increasing in the
subsequent heap dumps, force a garbage collection from the WebLogic Server console
What is a Stuck Thread?
WebLogic Server diagnoses a thread as stuck if it is continually working (not idle) for a set period of
time. You can tune a server's thread detection behavior by changing the length of time before a thread is
diagnosed as stuck (Stuck Thread Max Time), and by changing the frequency with which the server
checks for stuck threads. Check here to see how to change the Stuck Thread Max Time.
Expand Environment > Servers(select server) : Configuration > Tuning tab,
 Stuck Thread Max Time -- Amount of time, in seconds, that a thread must be continually working
before a server instance diagnoses a thread as being stuck.
 Stuck Thread Timer Interval -- Amount of time, in seconds, after which a server instance periodically
scans threads to see if they have been continually working for the configured Stuck Thread Max
Time.

What is a Garbage Collection?


The Java Garbage Collector releases Java objects from memory as long as no other object refers to this
object
This is the process to clearing the dead objects from heap in 5-6 sec

1) Using Console:
Particular Server: Monitoring: Performance Tab: Garbage Collect button

2) Using weblogic.Admin
java weblogic.Admin –url t3://<Target IP>:<PORT> -username <WL Admin username>password <admin
password> INVOKE –pretty –type JVMRuntime –method runGC
39

What are the tuning techniques you applied?


Tunning for JVM - chanigng -Xmx, -Xms, MaxNewSize, MaxPermSize, and if required GC algorithms
Tuning in Threads/ThreadPool -- Defining Workmanager with maximum constraint
Tuning TCP/IP connections Interface address, backlog count,
Tuing JMS -- changing queue sizes as required
Tuing JDBC - initial count, maximum capacity, increase by number of connections

What can be the various reasons for a server crash?


Native IO b) SSL Native Libraries c) JVM d) Supported Configuration e) JDBC Driver issue

What can be the reasons of Server hang?


Memory leak, database query taking a long time to return, Deadlock.

How do u trouble shoot if managed server is in FAILED state?


If any managed server is in FAILED state there could be reasons as follows:
i) Deployment failed ii) JDBC DataSource issue iii) JMS configuration issue

IF Process runs OutOfMemory?


If java heap is full, server process appears to be hung and not accepting any requests because each
request needs heap for allocating objects. So if heap is full, none of the requests get served, all the
requests fail with java.lang.OutOfMemory

GC taking long times (more than 20secs)?


This appears like a hang for end users.
In the above case, we need to tune the GC parameters.
In these scenarios, we should be trying other GC options available. In some cases (GC taking very long
times), incremental GC has been useful (-Xincgc).

Using >Java Weblogic.Admin Command

1. Starting a managed server- java weblogic.Admin -url -username -password START


2. Finding the state of a server - java weblogic.Admin -url -username -password GETSTATE
3. Shutting down a server- java weblogic.Admin -url -username -password SHUTDOWN
4. Starting a Cluster- java weblogic.Admin -url -username -password STARTCLUSTER -clustername
5. Shutting down a cluster- java weblogic.Admin -url -username -password STOPCLUSTER
-clustername
6. Finding a state if a cluster- java weblogic.Admin -url -username -password CLUSTERSTATE
-clustername
Parts of JVM and JVM Architecture Diagram?

EX:- Java Process to explain the Java Process partitions in a 2Gb process size
machine.
Java Heap Area: (-Xmx and -Xms)
 When a Java program started Java Virtual Machine gets some memory from Operating System, the
Memory part is called Java Heap. Whenever we create objects they are created inside Heap in Java.
 Java Heap space is divided into Young Generation and Old or Tenured Generation
 Java Heap dump is a snapshot of Java Heap Memory at a particular time. This is very useful to
analyze or troubleshoot any memory leak in Java or any Java.lang.OutOfMemoryError.

Young generation:
Young generation memory consists of two parts, Eden space and survivor space. Shortlived objects will
be available in Eden space. Every object starts its life from Eden space. When GC happens, if an object is
still alive and it will be moved to survivor space and other dereferenced objects will be removed

Eden Space:
Every object starts its life from Eden space; Short-lived objects will be available in Eden space.
Space allocated to objects created inside the methods is reclaimed after the method execution is over.
Some objects might live longer as references pointing to them are cleaned up by the minor Garbage
If the Eden space starts filling up then minor garbage collector runs and shifts the old objects to the
Tenured Generation space

Survive ratio: When minor GC happens, if an object is still alive in Eden Space and it will be moved to
survivor space

PermGen Space: (-XX:MaxPermSize) or Tenured Generation


PermGen is a non-heap memory area where the Class Loading happens and the JVM allocates spaces for
classes, The major Garbage collection happens in this area of JVM Memory as well. The Garbage
collection in this area is called as “Class GC”.

Native Area:
41

Native area is for the internal operations of the JVM. JVM uses this area to load libraries and for
intermediate code generation. The Size of the Native Memory depends on the Architecture of the
Operating System and the amount of memory which is already committed to the Java Heap.

Cluster Constraint for the deployment in WebLogic server


Cluster constraint specifies that deployments targeted to a cluster succeed only if all servers in the
cluster are running. If any server instance in the cluster is unreachable, the application is not deployed to
any of the Managed Servers.
By default, cluster constraints are disabled and deployment is attempted only on the servers that are
reachable at the time of deployment from the Administration Server.

To Enable Cluster Constraint:


 Login to WebLogic Admin Console
 Click on the domain name
 Select the Check box against “Enable Cluster Constraint”

What is a Work Manager in WebLogic?


 Prioritize the work, based on rules which we define and used for monitoring actual run time
performance statistics of a thread. This information is then used to optimize the performance of
your application
 You can configure Work Managers at the domain level, application level, and module level in one
of the following configuration files, or by using the WebLogic Server Administration Console
 config.xml—Work Managers specified in config.xml can be assigned to any application, or
application component, in the domain.
 weblogic-application.xml—Work Managers specified at the application level can be assigned
to that application, or any component of that application.
 weblogic-ejb-jar.xml or weblogic.xml—Work Managers specified at the component level can
be assigned to that component.
 weblogic.xml—Work Managers specified for a Web application.

What is WebLogic Diagnostics Framework (WLDF)?


The WebLogic Diagnostics Framework (WLDF) consists of a number of components that work together to
collect, archive, and access diagnostic information [contains more detailed information about the
specific error] about a WebLogic Server instance and the applications it hosts.
This section provides an architectural overview of those components.

ADMIN CONSOLE VIEW Default Users?


ADMIN CONSOLE VIEW depends on the security role granted to the user
The four global roles are as follows:
1.Admin
 View the server configuration, including the encrypted value of encrypted attributes.
 Modify the entire server configuration.
 Deploy enterprise applications, startup and shutdown classes, and Web application, EJB, J2EE
Connector, Web Service, and WebLogic Tuxedo Connector components. If applicable, edit deployment
descriptors.
2. Deployer
 View the server configuration, except for encrypted attributes.
 Change startup and shutdown classes, Web applications, JDBC data pool connections, EJB, J2EE
Connector, Web Service, edit deployment descriptors.
3. Monitor: View the server configuration provides read-only access to the WebLogic Server
4. Operator: View the server configuration,  Start, resume, and stop servers by default.

Trouble shooting Commands


Vmstat : Vmstat reports virtual memory statistics of process, virtual memory, disk, trap and CPU
activity. vmstat displays a one-line summary of the virtual memory activity since the
system was booted.
Basic syntax is: vmstat interval count
option - let you specify the type of information needed such as paging -p , cache -c ,.interrupt -i etc.
If no option is specified information about process, memory, paging, disk, interrupts & CPU is displayed.
43

vmstat 4 will give data at each 4 seconds interval.


Count - is the number of times the data is needed.
vmstat 4 5 will give data at 4 seconds interval 5 times.
vmstat -s gives the summary of the statistics
vmstat –p gives the information about paging activity

What is WebLogic Connection Filters?


A connection filter allows the server to reject unwanted connections based on some filter criteria. For
example, a connection filter would allow you to configure WebLogic to permit T3 or IIOP connections
only from within your intranet, and reject any T3 or IIOP connection request from outside the intranet.
So, connection filtering provides network-level access control.
Login into to the console. Click on the Domain Name –> Security –> Filter: Specify “Connection Filter
Rules”

What is memory leak?


Memory leak is when objects are not removed from the heap even when they are not required.

What are the various causes for OUT OF MEMORY?


a) Insufficient heap size, not able to match the extra load.
b) Objects living too long, like HTTP Sessions.
c) Memory leak in application code.
d) Full GC not happening due to JVM Bug.

OutOfMemoryError when deploying the Composite:-


OutOfMemoryError has thrown when deploying the services to SOA 11g server from UNIX using ANT.
To overcome this issue increase the client memory (ANT) by executing the below comment and
try the deployment again.
In Unix:
export ANT_OPTS=”-Xms512m -Xmx1024m -XX:MaxPermSize = 512m -XX: PermSize = 512m”
In Windows:
set ANT_OPTS=”-Xms512m -Xmx1024m -XX:MaxPermSize = 512m -XX: PermSize = 512m”

Unable to get managed connection for jdbc/datasourcename


Solution: Check ojdbc.jar in the library path

Could not commit heap memory


Error:
[ERROR][Memory] Could not commit 2097152KB heap memory at 0×76659000.
Could not create the Java virtual machine.
Cause:
Physical server is not able to allocate requested memory for JVM (Virtual Machine)
Solution:
Reduce the memory arguments and try
i.e. reduce xms and xmx values.

When Application is facing issue while fetching data from Database ?


1. Check from console free server memory and number of free DB threads.
2. Take thread dump and analyze server logs which will provide detailed information, if in logs DB
error codes are found, provide logs to DB team for their further analysis.
3. With the help of telnet command check whether we are able to connect to DB server or not,
issue may be from port or firewall also.
4. If not able to connect successfully, log a ticket to Firewall team and also check with UNIX team
for any OS related issue.
What Is Oracle Fusion Middleware?
Oracle Fusion Middleware is a packaged set of Web servers, application servers, content management
systems; it includes Java Enterprise Edition 5 (Java EE) compliant environment, and developer tools, to
integration services, business intelligence, collaboration, and content management.
Oracle Fusion Middleware consists of several Oracle products, built over the years and recently
acquired, that will help build end to end solutions. Oracle has been attempting to bring all these
products under one roof. With recent release of Oracle Fusion Middleware 11g R1, I must say that it has
managed to do it pretty well.
Oracle Fusion Middleware provides fully integrated products that can be divided into four important
categories:
 Data and Application Layer: Products in this category help build integration with various
databases, legacy/custom applications and ERP products.
 Business Process Layer: Products in this category utilize the integrations built in the data &
application layer to create re-usable orchestrated services.
 User Interface Layer: Products in UI Layer will assist in creating sophisticated user interfaces
supporting multiple delivery channels such as web, mobile etc.,
 Identity Management Layer: This is the security backbone of entire Fusion Middleware. We can
easily plug-in authentication, authorization in standalone and/or distributed server
environment.

Oracle fusion middleware Components

1 2
45

3 4

5 6

What is a SOA Suite [service-oriented architecture]?


 SOA is a part of the Oracle Fusion Middleware family; it is a collection of services and reused to
communicate with external systems to automate the business process by passing data
 SOA architecture is SCA [Service Component Architecture] it is a framework for building a
Service infrastructure [BPEL, Mediator, Business Rules and Human workflow]
 Oracle SOA Suite provides a complete set of service infrastructure components for designing,
deploying, and managing SOA composite applications

Difference Between Oracle SOA 10g and Oracle SOA 11g ?


Oracle SOA 10g Oracle SOA 11g
contains Service Component Architecture (SCA) No Service Component Architecture (SCA)
ORACLE SOA Suite 10g is based on Oracle AS 10g It uses the Oracle WebLogic server 10gR3, Sun or
It uses Oracle Application Server 10.1.x, OC4J, JRockit JVM, Repository Creation Utility ( RCU ) to
Sun JVM, Repository tool ( irca) to create create or delete the SOA 11g repository , Weblogic
the SOA 10g repository , Managed with server console used for managing.
Application Server Console
all the SOA Components of Project deployed into Each component is deployed into particular server.
Single Server
Having ESB Console, BPEL Console, Application Provides service monitoring across
Server Control these are all individual and not all SOA Components Such as ESB, BPEL, Human
well integrated. Workflow

What are the Oracle SOA Suite components?


 Service Infrastructure: Specialized and advanced capabilities are provided by dedicated engines
that plug into this infrastructure.

 Oracle Mediator : Static Routing: Mediator Routes data from service providers (BPEL process,
business rule, human task) to external partner using adapters. Using mediator you create routing
services and rules for them.

 Oracle Adapters: Oracle Adapters use JCA technology to connect the external systems to the
Oracle SOA Suite. by default the following adapters are installed ( BAM, FTP, Java Messaging
Service (JMS), Advanced Queuing (AQ), Files, Message Queuing (MQ) Series )

 Business Events and Events Delivery Network: Event Delivery Network allows publish-subscribe
type of loose coupling between SCA components. SOA framework neatly abstracts these details
in the Even Delivery Network so that users can purely focus on publishing and subscribing to
event

 Oracle Service Bus: [Dynamic Routing depends up on request received] Oracle Service Bus is
designed to connect, mediate, and manage interactions among heterogeneous services.

 Oracle Metadata Repository: Contains Schemas information which we created by RCU


[SOA_Infra, ORA Bam, ORA SDPM (UMS), MDS (inf. About all above schemas) ]

 Oracle Business Rules : Oracle Business Rules enables business analysts to easily define, update,
and manage key decisions and policies governing business processes and applications..

 Oracle WSM Policy Manager:

 Oracle BPEL Process Manager or BPM: (BPEL is used for bringing together multiple services and
allows implementation of complex business logic). This component will take care of executing all
components in SOA into an end-to-end process flow. And provides a “dehydration” capability so
that the state of long-running flows is automatically maintained in a database.

 Human Workflow : This component is used for approval of transactions by human interaction
(Validation manually Ex:-manual order approval)

 Oracle Business Activity Monitoring: (In Built Reporting Tool) Oracle BAM enables business
users to build interactive, real time dashboards (charts), and proactive alerts. which real time
data and personalized reports are delivered to Business Users via a standard web browser
47

 Oracle User Messaging Service: It is used to configure the E-Mail drivers to connect email
servers for sending the emails to other systems

 Oracle B2B: Provides a platform to exchange standard messages between business entities. It
comes with pre-built messaging templates and samples. It is part of Oracle SOA Suite. However,
we need to separately download and install Oracle B2B Document editor

 Oracle JDeveloper: Oracle JDeveloper is the integrated development environment used by


Oracle SOA Suite for building service-oriented applications

 Oracle Enterprise Manager: Used to Configure, manage and monitor all components and
services. In this web-based environment, administrators can perform everything

Prerequisites for Installation of SOA?


Installation Order: Database, RCU (Repository Creation Utility), WebLogic Server with Coherence, SOA
Installation [BPM], OSB (Oracle Service Bus), Domain Creation

What is RCU how it is used?


It is a Repository Creation Utility Tool used to create the Required Schemas for Database to store related
information of SOA
Schemas are [SOA_Infra, ORA Bam, ORA SDPM (UMS) and MDS (Inf. About all above schemas)]

What are the sessions and processes in Database how do you change parameters to it?
Sessions: are the external connections to Database
Processes: executes processes which is send by sessions
Processes should be minimum 300 connections
Changing parameters:
Sql> show parameter sessions
Sql> show parameter processes
Sql> alter system reset sessions scope=spfile sid=’*’;
Sql> alter system set processes=300 scope=spfile;
Restart DB Service

What is the difference between Development and Production mode Installation for SOA?
Development: All SOA Infrastructure applications target would be an Admin Server
Production Mode: All SOA Infrastructure applications are installed on separate Managed Server called
(SOA_Server1)

What is farm, SOA Infra, Composite, Component and Instance?


Farm: Grouping all multiple resources or Stacks together [OSB, Web Center, BAM]
SOA Infra: While Installing SOA, template will be used to get SOA infrastructure and it used to handle the
environment like configuring and monitoring composite applications, composite Instances, Deployments
and Service Engines
Composite: Grouping multiple components as Deployment Unit.
Component: Presents Business Logic Unit used within composite
Instance: Tracking the information between payload [Actual Data] request and payload response
(Tracking the Total flow of execution) or Tracking the total life cycle of request and response

What SOA composite application contain?


SOA composite applications include service components. Service components are the basic building
blocks of SOA composite applications. Service components implement a part of the overall business logic
of the SOA composite application.
The following service components can be used in a SOA composite application:
 BPEL process: For process orchestration of synchronous and asynchronous processes
 BPMN process (if Oracle BPM Suite is installed): For creating and modeling business processes
using Business Process Management Notation and Modeling (BPMN)
 Oracle Mediator: For content transformation and routing events (messages) between service
producers and consumers
 Human task: For modeling a human task (for example, manual order approval) that describes the
tasks for users or groups to perform as part of an end-to-end business process flow
 Spring: For integrating Java interfaces into SOA composite applications
 Decision service: For making a decision or for processing based on business rules

What is BAM Server?


Oracle BAM provides a framework for
 Creating dashboards that display real-time data flow to end users and delivers the information
in reports to users
 Creating alerts, based on rules and events occurring in real-time, are delivered through e-mail.
 Designing Web applications with graphs displaying active data.

What is OSB Server?


[Dynamic Routing depends up on request received] Oracle Service Bus is designed to connect, mediate,
and manage interactions among heterogeneous services.
BEA’s AquaLogic Service Bus (ALSB) and Oracle’s Enterprise Service Bus (ESB) are now called as Oracle
Service Bus (OSB).
Create three services to connect SOA
1) External Service: give application WSDL url to integrate with OSB
2) Business Service: which service has to invoked (type)
3) Proxy Service: Client will invoke the proxy

What is BPEL?
BPEL (Business Process Execution Language) is XML based language to design business process that
integrates services into end -to-end process flow. BPEL is based on XML Schema, SOAP (Simple Object
Access Protocol), and WSDL (Web Service Description Language)
BPEL Process Manager is used to design, deploy and manage BPEL business processes.
Key components of BPEL Process Manager are
A) BPEL Server - is Server on which you deploy BPEL Process. These processes are design by developers
and contain Human Workflow (HW) , Adapters and Notification Services.
B) BPEL Console/Control - is console from which you run, test and manage BPEL Processes. This is Web
Based interface to manage, administer and debug processes deployed on BPEL Server. You also manage
49

BPEL Domains from BPEL Control.


C) Dehydration Store – Database to store BPEL Schema.

What are Sensors:


Sensors Used to monitor specific BPEL activities, variables, faults during run time.
Sensors are used to specify BPEL activities, variables and faults that you wish to monitor during runtime.
There are three types of sensor (Activity, Variable and Fault) which can be defined either through
JDeveloper or manually using Sensor configuration file. You can view definition of sensor and its actions
using BPEL Control (BPEL Process should be configured for this)

Explain about Web service?


 Web service is type of software system which is used for exchange the data and use information
from one machine to another machine through network.
 Web which is used for exchange information through Internet to direct application to application
interaction.

What is the Partition in SOA?


 Partitions are separate sections of your SOA Infrastructure that enable you to logically group the
composite applications for ease of management.
 At least one partition is required for deploying composite applications. A default partition is
automatically included when SOA is installed
Managing partitions
 You can perform several management tasks pertaining to partitions. These tasks include:
 Creating a partition
 Deleting a partition, including all composites within the partition
 Starting up and shutting down all composites in a partition
 Retiring and activating all composites in a partition
 Un deploying all composites in a partition

Different Ways to Deploy composite applications in SOA:


1) Em Console 2) WlST Scripts 3) ANT Scripts

1) Deploying Composite application using WLST Script:


Use with WLST: Offline ; setwlsenv.sh
Syntax: sca_deployComposite (serverURL, sarLocation, [overwrite], [user], [password],
[ForceDefault], [configplan], [partition])
Example: wls:/mydomain/ServerConfig> sca_deployComposite("http://stadp10:7001",
"/tmp/sca_HelloWorld_rev1.0.jar", partition="myPartition"

2) Deploying Composite Application using ANT Scripts:


 You can manage SOA composite applications with the ant utility. ant is a Java-based build tool
The configuration files are XML-based
 ant scripts available in the Middleware_Home\SOA_Suite_Home\bin directory.

ant -f ant-sca-deploy.xml
-DserverURL=http://localhost:8001
-DsarLocation=C:\demo\end2end-105-POProcessing\po\solutions\ch9\POProcessing\POPro
cessing\deploy\sca_POProcessing_rev6-cmdline.jar
-Doverwrite=true
-Duser=weblogic
-DforceDefault=true
-Dconfigplan=C:\demo\end2end-105-POProcessing\po\solutions\ch9\POProcessing\POProc
essing\demed_cfgplan.xml
-Dscac.user.classpath=C:\jarfolder\custom.jar
-Dpartition=partition.name
3) Deploying Composite application using EM Console:
51

In Option Configuration Plan section, optionally specify the configuration plan to include with the
archive. The configuration plan enables you to define the URL and property values to use in different
environments. During process deployment, the configuration plan is used to search the SOA project for
values that must be replaced to adapt the project to the next target environment

3) Click Next.
The Select Target page appears.
 This page lists the available deployment targets (servers and clusters)
 Select the partition into which to deploy this SOA composite application. Partitions enable you to
logically group SOA composite applications into separate sections.

4) Click Next.
The Confirmation page appears.

5) Review your selections.


 Select whether to deploy the SOA composite application as the default revision. The default revision is
instantiated when a new request comes in.

6) Click Deploy.

Starting and stopping the Composite Application?

What are Dashboard, Instances, Faults and Rejected Messages and Polices Tab Sections?
Dashboard Tab: This is used to monitor the Recent Instance IDs and State of Instances whether it is
running or completed, click an instance to access a flow trace of the application and you can monitor the
Recent Faults and Rejected Messages occurred, Component Metrics, Services and References
Component Metrics: The name and type of service components used in this SOA composite application,
the number of running and total instances, and the number of recoverable and no recoverable faulted
instances for each service component
The service components like [BPEL, Mediator] in a SOA composite application appear in the component
metrics
Services and References: The name and type of service (inbound) and reference (outbound) binding
components and components and type of services [Web services ]used in this SOA composite
application, the number of binding component faults, the total messages processed, and the average
message processing time.
Binding components connect SOA composite applications to external services,
Binding components are organized into two groups:
Services: Services Provides the outside world with an entry point to the SOA composite application. The
WSDL file communicates with external applications (for example, through SOAP).
References: Enable messages to be sent from the SOA composite application to external services

Instances Tab: It is used to search the instances by Instances id, name, conversation id and start time
And used to delete the instances with criteria and you can view the log messages of composite instances

Faults and Rejected Messages Tab: It is used to Recover the errors, search by Error message contains,
fault id, composite instance id it displays including the error message, whether you can recover with
options from the fault, Delete rejected messages, the time at which the fault occurred, the fault location
(service, service component, or reference), the instance ID of the SOA composite application, and a link
to log files describing the fault.

Policies: You can attach or detach security policies to and from currently deployed SOA composite
applications. Policies apply security to the delivery of messages
You can attach and detach policies at the following levels in SOA composite applications, Service
components, Service and reference binding components
How do you Recover SOA Composite Application Faults at the SOA Infrastructure Level

You can monitor and perform individual and bulk fault recoveries for BPEL process and Oracle Mediator
service components across any number of SOA composite applications

To recover from SOA composite application faults at the SOA Infrastructure level:

1) Access this page through one of the following options:

2) Click the Faults and Rejected Messages tab.


The Faults and Rejected Messages page displays the following details for all SOA composite
application faults:
 Options for selecting instance recovery actions (for example, retry, abort, replay, and others),
deleting rejected messages, and performing bulk message recovery.
 Faults and rejected messages, including the error message, whether you can recover from the
fault, the time of the fault, if the fault message is classified as a rejected message (if so, a
checkmark is displayed), the SOA composite application in which the fault occurred, the fault
location, the instance ID, and a link to log files describing the fault.
53

3) Select faults for recovery using one of the following options. Fault recovery selection at the SOA
Infrastructure level matches the SOA composite application level and BPEL process and Oracle Mediator
service component levels.
4) Select an action from the Recovery Action list.

5) If you want to perform a bulk recovery of messages, click Recover with Options.

This page displays the Recover with Options dialog for specifying criteria for recovering BPEL and Oracle
Mediator messages of all composites directly from the database. Human workflow faults can also be
recovered, but not directly from Oracle Enterprise Manager Fusion Middleware Control. Instead, the
audit trail provides a link to the Oracle BPM Worklist
 Business event and business rule messages cannot be recovered.
 Specify criteria. Retry and Abort are the only recovery actions permitted

Note:
55

For bulk fault recovery at the SOA composite application level, a check of the state of the composite is
performed. If the state of the composite is set to off, a message is displayed warning you that a recovery
cannot be performed.
=====================================================================================
Configuring BPEL Process Service Engine Properties:
You can configure BPEL process service engine properties, which are used by the BPEL process service
engine during processing of BPEL service components.

Audit Level:
o Off: Composite instance tracking and payload tracking information is not collected.
o Inherit: Logging equals the SOA Infrastructure audit level. This page overrides or inherits the
tracking set at the SOA Infrastructure level.
o Minimal: The BPEL service engine does not capture any audit details. Therefore, they are not
available in the flow audit trails. All other events are logged.
o Production: The BPEL service engine does not capture the payload. The payload details are not
available in the flow audit trails.
o Development: Allows both composite instance tracking and payload tracking. All events are
logged. However, it may have an impact on performance. This level is useful mostly for
debugging purposes.

 Audit Trail Threshold: Enter the maximum size in bytes of an instance audit trail before it is chunked
and saved in a dehydration store table separate from the audit trail. If the threshold is exceeded, the
View XML link is shown in the audit trail instead of the payload. Default 50MB

 Large Document Threshold: Enter the maximum size of a generated document within a BPEL process
component instance before it is stored in a separate table in the dehydration store. Default 100MB

 Dispatcher System Threads: Specify the total number of threads allocated to process system
dispatcher messages generated during runtime. Default 2
 Dispatcher Invoke Threads: Specify the total numbers of threads allocated to process invocation
dispatcher messages are generated for each payload received; higher thread counts may cause
greater CPU utilization. Default 20

 Dispatcher Engine Threads: Specify the total number of threads allocated to process engine
dispatcher. Engine dispatcher messages are generated whenever an activity must be processed
asynchronously higher thread counts can cause greater CPU utilization. Default 30

 Payload Validation: Select to enable validation of inbound and outbound messages. This setting is
independent of the SOA composite application. If payload validation is enabled at both the service
engine and SOA Infrastructure levels, data is checked twice: once when it enters the SOA
Infrastructure, and again when it enters the service engine.

 Disable BPEL Monitors and Sensors: Select this checkbox to disable all BPEL monitors and sensors
defined for all BPEL components across all deployed SOA composite applications.

==============================================================================

Configuring SOA Infrastructure Common Properties


The properties set at this level impact all deployed SOA composite applications, except those
composites for which you explicitly set different audit level values at the composite application or service
engine levels.
57

 Capture Composite Instance State: captures the SOA composite application instance state.
Whether it is Running or Completed, If you not selected this you will get unknown state
This activates the Abort button on the Instances page of a SOA composite application. Else no

 States of Composite Application: running, faulted, stale, terminated, completed, unknown

 Payload Validation: Select to enable validation of incoming and outgoing messages.

 Disable fetching of instance and fault count metrics: Select to disable the display of instances
(failed, completed) and fault count metrics on the following pages: - on Dashboard pages of the
SOA Infrastructure, SOA composite applications, service engines, and service components. This
setting can improve the time it takes to load pages.

 Set default search criteria to fetch recent instances and faults only within a recent duration
(applies to lists of instances and faults): can search for instances. When you select this checkbox
and specify a time period, the Show All links change to Show More links - on the Dashboard
pages of the SOA Infrastructure, SOA composite applications, service engines, and service
components.
=====================================================================================
Configuring Oracle Mediator Service Engine Properties:
You can configure Oracle Mediator service engine properties, which are used by the Oracle Mediator
service engine during processing of Oracle Mediator service components.
 Metrics Level: configuring the Dynamic Monitoring Service (DMS) metrics level. DMS metrics are
used to measure the performance of application components. Enabled/Disabled
 Parallel Worker Threads: Specifies the number of parallel dispatchers for message processing.
Increase this parameter to increase the number of outbound threads for parallel processing.
Default 4
 Parallel Maximum Rows Retrieved: Specifies the number of rows retrieved per iteration for
parallel processing. You can set the value of this parameter to 50 to 100 times
 Parallel Locker Thread Sleep (sec): Specifies the idle time between two successive iterations for
retrieving rows
 Error Locker Thread Sleep (sec): You can configure the error/retry infrastructure by setting this
property. This property specifies the idle time between two successive iterations for retrieving
errored out messages
The heartbeat infrastructure is a part of the Oracle Mediator service engine and detects the
absence of an Oracle Mediator service engine instance due to failure or shutdown of a node.
 Container ID Refresh Time (sec): Specifies the time interval at which the heartbeat thread
periodically updates the time stamp associated with each Oracle Mediator service engine's
unique identifier.
 Container ID Lease Timeout (sec): Specifies the time interval at which the heartbeat thread
periodically checks if there are unique identifiers that have not been updated for a particular
period of time.
 Resequencer Locker Thread Sleep (sec): Specifies the sleep time in seconds for a deferred locker
when there is no message in the database
 Resequencer Maximum Groups Locked: Specifies the maximum number of groups locked.
 Resequencer Worker Threads: Specifies the number of resequencers.
What are the steps to configure External Adapters?
1) If adapter is not available then download from oracle site and deploy in Admin Console
59

2) Configure the adapter: Environment + Deployments: deploy particular adapter: by click install
Drill on installed adapter:
3) click configuration tab: Outbound connection pools: -
4) configure connection properties from collecting particular sys admin and save new JNDI name in
Plan.xml
5) Now redeploy the Adapter with new JNDI Name in Plan.xml and start it

Recovering the BPEL instances:-


Sometimes the BPEL instances may go to the recovery queue, the instances in the recovery queue can be
recovered manually to continue the processing.

Below are the some of the reasons the instances to go to manual recovery.
1. There are not enough threads or memory to process the message.
2. The server shuts down or crash before it finishes processing the BPEL message
3. The engine could not finish processing the message before reaching the time-out as dictated by
the transaction-timeout configuration

1) Login to EM console
2) Right click on soa-infra ,Click on Service Engine: BPEL
3) Click on Recovery tab
4) Change the Type accordingly(Invoke, Activity, Callback) and the Message state to “Undelivered”
and click on search
5) All the recoverable messages that match the criteria will be displayed.
6) Select the required messages and click on Recovery button.

Configuring Oracle BAM Adapter connection factory through EM console– Oracle BAM 11g
Steps to configure the BAM Adapter:
Business Activity Monitoring is a tool that is useful in monitoring business services and processes. It
actively collects data, applies rules and reports information to users. When something goes wrong in
business processes, BAM can be configured to take corrective measures such as emailing
administrators/support team.

1) Login WebLogic Admin Console


2) Click Deployments in Domain Structure pane
3) Click on the application OralceBamAdapter
4) Click on Configuration tab
5) Click on Outbound Connection Pools
6) Expand oracle.bam.adapter.adc.RMIConnectionFactory.

 Go TO : Weblogic Admin Console : Deployments : Bam Adapter resource File (click it)
 Click eis/bam/rmi link

 And configure the Connection Properties to connect BAM Server:


61

1) Enter the Plan file name accordingly and click on ok

 After this Redeploy with New Plan.xml


 Now create a Data Object in BAM by
URL for BAM Console is : http://localhost:9001/OracleBAM give username and password

Select Architect to create the Data Objects as shown below


 Create folder : EmployeeTest (browse if already created)
 Create Data Object: Employee
 Add Fileds in Data Objects (id, name, and department) as shown below

 Now Create Reports and assign Data Object to report


63

 Create Alerts if required as shown below

 Select Create A new Alert: and Select Create a Rule as shown below

 Select An Event to create a rule


Next select a particular Field
65

 Go to Em Console and copy faultmgnt appln wsdl URL and paste here and click “Display
Operations” and click Map parameters then give the required details of fault mgnt details
And click ok to complete the Alert

NOTE: Whenever the data filed changes in data object in BAM Server it generates an instances in Fault
Mgnt Application

Configuring Oracle BAM Server Properties


To configure Oracle BAM Server properties:
1. Go to the BAM Server Properties page by selecting the OracleBamServer node in Fusion
Middleware Control BAM folder.
2. Choose BAM Server Properties from the BAM Server menu.
3. The BAM Server Properties page opens.
4. Enter the appropriate values in each of the fields provided.

1 2 3
==============================================================================

Configuring Oracle BAM Web Applications Properties

The Oracle BAM web applications properties are configured in the BAM Web Properties page in Fusion
Middleware Control.

To configure Oracle BAM web applications properties:


67

1. Go to the BAM Web Properties page in Fusion Middleware Control by selecting the
OracleBamWeb node in the BAM folder.
2. Choose BAM Web Properties from the BAM Web menu.
3. The BAM Web Properties page opens.
4. Enter the appropriate values in each of the fields provided.

1) 2) 3)

Creating OSB Service with example

Login to OSB console by URL: http://localhost:7001/sbconsole and give username and password

1. Click on CREATE Button.


2. Click on Project Explorer and give Project Name and click “activate” and “submit” it

3. Select project you created and Again click “Create Button” and select from Create Resources
option: “Resource from URL” for creating External Service

WSDL URL of fault mgnt application copy to paste here


69

And click NEXT

a.i) Click “Import” and “Activate” buttons

4. Follow previous steps For creating “Business Service” select from Create Resources option:
“Business Service”
5. After selecting Business Service you will navigate to following page

6. For WSDL Web service option click on Browse button you will go to another page click
BAMExternalService next select BAMExampleProcedss_pt under Ports click “submit” and “save”
the Business service

7. Follow previous steps For creating “Proxy Service” select from Create Resources option:
“Proxy Service” and you will get next page
71

Give Service Name and For Business Service option filed click on Browse you will go to another page
select BAMBusinessService and click “submit” and “save” it

Now come to Resource Section by clicking of your project and click Sun Symbol In actions section for
BAMBusinessService link

A new window will be opened with xml details you give a name and dept and click “execute” button
Now Check the details it will be updated in BAM Server at Employee Data Object

Note: Here we are accessing the BAM Example in SOA through OSB to update the Details in BAM Data
Object
=============================================================================

What is Basic difference between BPEL and ESB (Enterprise Service Bus)?
1). An ESB on the other hand is a piece of infrastructure software that provides APIs for developers to
create services and send messages between services.
2) ESB is good for routing message to multiple destinations. It is also good for doing transformations that
have little to no business rules.
3).BPEL is used for bringing together multiple services. There is much more functionality and allows
implementation of complex business logic.
4).Exception handling can be done in BPEL.
5). ESB does not have the sensors which can be used to monitor the activities that can send actions to
BAM or DB/JMS.
6).BPEL can use Business Rules, Human Task and Notifications.
7). BPEL primarily used for Orchestration, Data enrichment and also for Human interactions where as ESB
is used for Store and forward transport data.

What are different Default Adapters in SOA?


Enable you to integrate BPEL processes with file systems, FTP servers, database tables, database Queues,
oracle applications etc.
Kinds of Adapters: – File, – FTP, – Database, –AQ, –Oracle Applications, –JMS, – MQ
73

1) Search a file from root directory.(filename = sample.txt)  find / -name sample.txt


2) Display the last 50 updated lines in file  tail –f 50 filename
3) How to zip a Directory  gzip -r /hom/bea/app
4) How to kill a process  kill -9 pid
5) How to rename a file  mv oldfilename newfilename
6) Copy the content one directory to another directory  cp -r dir1/file1 dir2/file2
7) Syntax for zip and unzip afile  gzip filename, guzip filename.gz
8) How can display top 10 disk usage files  du |sort -nr|head -10  This command will report the
space used by a directory and sub-directories in folder top 10 files
9) How to search a string in a file(filename=sample,string=weblogic)?  grep weblogic sample
10) How to copyfile from one unix to other unix system and syntax (file=sample.txt,target
host=192.168.11.128,target file path=/home/bea)?
 scp -rp sample.txt username@192.168.11.128:/home/bea
11) How to find out CPU utilization?  top
12) How to execute ascript using nohup and ‘&’(script name=startweblogic.sh) ‘&’ is used for
background process? nohup ./startWeblogic.sh &
13) what are the Advantages of nohup command?
nohup Execute Commands After You Exit From a Shell Prompt
14) zip dir1 dir2 dir3 to new_dir?  tar -cvfj new_dir.tar dir1 dir2 dir3.
15) How to display the ipaddress and portnumber?  netstat –anp
16) how to delete directory with recursion and force?  rm -rf filename.
17) How to Open a file with page to page ?  more filename
18) How to Hide a file (file name=samp1)? Rename a file with ‘.’  mv samp1 .samp1
19) How to unhide the file?  ctrl H or rename without ‘.’
20) Display the directiory count in current dir?  ls | wc –l
21) Display the file count in current dir?  ls *.txt | wc
22) How to append data to the existing file?  cat>>filename
23) How to find out the all drive’s diskspace of the fileSystem df
24) Which command is used to connect to the remote server?  telnet ipaddress.
25) How to display hiddean a file?  ls -a.
26) How to display all cuurent running process? ps –ef
27) Display all java process in Unix  ps -ef |grep java
28) To just list files and directories without date and size details  ls
29) To list files and directories with date and time stamp along with size details ( l: listing, t: time stamp,
r:reverse )  ls –ltr
30) To list files and directories along with hidden files  ls -lart
31) To check how long machine is up  uptime
32) To get Fully Qualified domain name of the machine along with IP address  nslookup <hostname>
33) To check host name and type of machine  uname –n –m
34) Displays the hostname of the machine  hostname
35) display information about active processes on the system taken more cpu resources prstat
36) users consuming top system resources  prstat -a
37) What difference between cmp and diff commands?
cmp - Compares two files byte by byte and displays the first mismatch diff - tells the changes to be
made to make the files identical
38) The crontab utility is mostly used to run jobs at the same time every day, every month, or every
year. Every minute, the system checks a system file, called crontab, to see which (if any)
processes/jobs need to be started.
crontab [filename] ; crontab -l [username] ; crontab -r [username]

Every line in the crontab file contains six fields, each separated by a space. A field may contain
more than one value, each separated by a comma. An means ``all values".
The fields are:
1. minute: values are 0 to 59.
2. hour: legal values are 0 to 23.
3. date of the month: 1 to 31.
4. month: 1 to 12 (Jan - Dec).
5. day of the week: 0 to 6 (Sun - Sat).
6. Bourne shell command.

Here is an example of what a crontab file would look like:


0 0 * * * /usr/bin/new.messages
0,15,30,45 * * * * /usr2/people/cantin/check.mail
0 0 1 1 * /usr2/people/cantin/new.year.message
The first line on the above example runs the command new.messages at 0 minutes, 0 hours
(midnight), every day, every month (i.e., every day at midnight).
The second line runs /usr2/people/cantin/check.mail every fifteen minutes.
Finally, the third entry runs new.year.message the first of January, at midnight.

psrinfo Command
To determine the number of processors in the system and their speed use the psrinfo -v command. In
Solaris 10, -vp prints additional information.

Iostat command (Input Output statistics)


iostat reports terminal and disk I/O activity and CPU utilization. The first line of output is for the time
period since boot & each subsequent line is for the prior interval .

Basic synctax is iostat < options > interval count


option - let you specify the device for which information is needed like disk , cpu or terminal. (-d , -c , -t
or -tdc ) E gives error statistics and n expands disk names (-E, -n or –En). x options gives the extended
statistics .
interval - is time period in seconds between two samples .
iostat 4 will give data at each 4 seconds interval.
count - is the number of times the data is needed .
iostat 4 5 will give data at 4 seconds interval 5 times.

Mpstat: Display the utilization of each CPU individually


If you are using SMP (Multiple CPU) system, use mpstat command to display the utilization of each CPU
individually. It report processors related statistics.

# vmstat 3 -The command vmstat reports information about processes, memory, paging, block IO, traps,
and cpu activity.
75

#free - Memory Usage


The command free displays the total amount of free and used physical and swap memory in the system,
as well as the buffers used by the kernel

What is the difference between cat and more command?


Cat displays file contents. If the file is large the contents scroll off the screen before we
view it. So command 'more' is like a pager which displays the contents page by page

Das könnte Ihnen auch gefallen