Thursday, April 28, 2011

Configure SOA Suite 11g for sending email notifications

One of the ways of the SOA Suite 11g for communicating with the outside world – apart of course from web service calls and interaction via technology adapters – is through the new User Messaging Service (UMS), a facility installed in the SOA Domain during installation of the SOA Suite. The UMS enables two-way communication between users (real people) and deployed applications. The communication can be via various channels, including Email, Instant Messaging (IM or Chat), SMS and Voice. UMS is used from several components in Fusion Middleware, for example BPEL, Human Workflow, BAM and WebCenter and can also be used from custom developed applications.


Before you can apply this article, you need to have installed the SOA Suite 11g, configured the SOA Domain and have the AdminServer and the SOA Server running. You also need access to the Oracle Enterprise Manager Fusion Middleware Control Console.

Step 1: Configure the UMS Email Driver

The User Messaging Service comes with a number of drivers that each handle traffic for a specific channel. One of the drivers controls the email channel. This driver needs to be configured with the properties of the Mail Server and the email account from which emails are sent.

Go to the Oracle Enterprise Manager Fusion Middleware Control Console (typically http://hostname:8100/em) and open the User Messaging Service node. From the drop down menu in the right hand pane, select the option Email Driver Properties:

The properties that need to be configured for sending emails are indicated in the red rectangle. They are:
·         OutgoingMailServer –  (Get in touch with the messaging team in your organization)
·         OutgoingMailServerPort – (Get in touch with the messaging team in your organization)
·         OutgoingMailServerSecurity – (Get in touch with the messaging team in your organization)
·         OutgoingDefaultFromAddress – (stgsoa3 is my instance name. you can put any thing you like.)
·         OutgoingUsername –  (Get in touch with the messaging team in your organization)
·         OutgoingPassword –  (Get in touch with the messaging team in your organization)

Press Apply.
 Step 2: Configure the SOA Suite Workflow Notification properties
To make sure that (email) notifications are really sent to the email server, we also need to adjust a setting for the SOA Suite Workflow Notification. Navigate to the properties form via the dropdown menu for SOA Infrastructure, under SOA Administration:

The Workflow Notification Properties are shown. Only one is really important at this point: the Notification Mode (default value is None) must be set to either All or Email, otherwise any notification is not really sent onwards by the SOA Suite to UMS!

Click on Apply

Now restart the SOA Managed Server. If you don’t restart the managed server the email notification doesn’t work!

Ask developers to test if sending emails works. 

For setting email notifications using gmail please follow:

Now you can folow us on facebook and post your comments/views and questions for expert advise. Check this out facebook

Find us on facebook here

Monday, April 4, 2011

Load/Stress test your Oracle HTTP Server with Apache Benchmark (AB Tool)

Most of the times you take all that time to build your server, host your application on to it and then the management comes up to ask you how many concurrent users can it support? The answer to this question is the key to how your application is goanna perform in the production when its accessed by multiple users simultaneously. How good it is to have a simulator to simulate say n number of concurrent users and you could go ahead and test your app then. IN this post I will be showing how to use the AB tool to simulate n number of concurrent users and how you would use it to load test your web server/application hosted on it.Often you need solid metrics on the performance of your web application. Benchmarking your website can provide insight into which sections of your application might need major optimizations, and helps in dealing with scalability issues.

Since Oracle Web Server uses Apache HTTP Server internally we can use the ab tool to load test it.
In our setup the B2B trading partner link was supposed to be accessed through the Oracle Web Server (OHS 11g). The management needed to test the web server in terms of number of concurrent users it could service at any given point of time. I did a bit of research to find out tools which I could use to load/stress test the Web server servicing the HTTP requests. Though there were lot many tools available for testing the Web server I zeroed in on the ab tool from Apache and the more convincing one Apache JMeter (to be discussed in later posts).
Though you can also evaluate other tools like the Oracle Load Testing Tool, Apache tools like JMeter,AB were quite simple to use and above all are free! In this post I would show you how to use the Apache AB(Apache Benchmarking ) tool to load test your web server/web application. Apache Bench, or ‘ab’, is a command line load testing utility which ships with Apache, and allows you to simulate load on a web server. In this tutorial, I’ll show you how to get started with ab

Step 1: Install Apache on local Machine (Your Laptop/Desktop from where you would be accessing your application)
  1. Download Windows Apache (httpd-2.0.64-win32-x86-no_ssl) from
  2. Intall Apache by double clicking the installer (Install Path: C:\APACHE\)
Step 2: Load test your Web Server/Application:
  1. Go to directory: C:\APACHE\Apache2\bin and Issue below Command:

In the above example, I'm sending 100 requests in total to B2B server, 20 concurrently:

As you can see, there are various things returned, including latency times, document length, and most importantly how response times are distributed. A few remarks/tips apply to the usage of this tool:

Above command will have 10 concurrent users for 60 s with as many hits as possible, by default .When you don’t use the -n option, ab sets to default 50,000.

You can also use a -g option to get the output on a txt file to use for gnuplot. Sample Output below:

starttime                          seconds      ctime dtime ttime wait
Sat Apr 02 14:57:51 2011      1301736471009140  403   3649  4052  3649
Sat Apr 02 14:57:51 2011      1301736471412870  403   3246  3649  3245
Sat Apr 02 14:57:51 2011      1301736471816601  419   2826  3245  2826
Sat Apr 02 14:57:52 2011      1301736472235860  403   2423  2826  2422
Sat Apr 02 14:57:52 2011      1301736472639590  388   2034  2422  2034
Sat Apr 02 14:57:53 2011      1301736473027793  419   1615  2034  1614
Sat Apr 02 14:57:53 2011      1301736473447051  403   1211  1614  1211
Sat Apr 02 14:57:53 2011      1301736473850782  388   823   1211  822
Sat Apr 02 14:57:54 2011      1301736474238984  419   481   900   481
Sat Apr 02 14:57:54 2011      1301736474658243  403   435   838   434

 Usage: ab [options] [http[s]://]hostname[:port]/path
Options are:
    -n requests     Number of requests to perform
    -c concurrency  Number of multiple requests to make
    -t timelimit    Seconds to max. wait for responses
    -p postfile     File containing data to POST
    -T content-type Content-type header for POSTing
    -v verbosity    How much troubleshooting info to print
    -w              Print out results in HTML tables
    -i              Use HEAD instead of GET
    -x attributes   String to insert as table attributes
    -y attributes   String to insert as tr attributes
    -z attributes   String to insert as td or th attributes
    -C attribute    Add cookie, eg. 'Apache=1234. (repeatable)
    -H attribute    Add Arbitrary header line, eg. 'Accept-Encoding: gzip'
                    Inserted after all normal header lines. (repeatable)
    -A attribute    Add Basic WWW Authentication, the attributes
                    are a colon separated username and password.
    -P attribute    Add Basic Proxy Authentication, the attributes
                    are a colon separated username and password.
    -X proxy:port   Proxyserver and port number to use
    -V              Print version number and exit
    -k              Use HTTP KeepAlive feature
    -d              Do not show percentiles served table.
    -S              Do not show confidence estimators and warnings.
    -g filename     Output collected data to gnuplot format file.
    -e filename     Output CSV file with percentages served
    -h              Display usage information (this message)
    -Z ciphersuite  Specify SSL/TLS cipher suite (See openssl ciphers)
    -f protocol     Specify SSL/TLS protocol (SSL2, SSL3, TLS1, or ALL)
Repeat above command 3-5 times and save the best reading.

If you need to study more the AB tool please refer to :

For Apache HTTP Server Tuning

Other tools recommended by me:

Hope this articles help. Awaiting your comments...

Sunday, April 3, 2011

Saturday, April 2, 2011

Oracle Product Price Lists


Heres the link for the downloadable price list that will help you familiarize yourself with Oracle's product offerings and pricing.
Pricing for the following products are included:







Exadata and Exalogic PRICE LISTS


Oracle SOA vs. IBM SOA Whitepaper

A good whitepaper on Oracle SOA vs. IBM SOA: Customer Perspectives on Evaluating Complexity and Business Value:

Soumya ...