Tuesday, July 6, 2010

Oracle Internet Directory LDAP Relpica States in Fusion Middleware 11g


Oracle Internet Directory LDAP Relpica States in Fusion Middleware 11g (11.1.1)

In the Oracle Fusion Middleware 11g Documentation (I think I was referring to Version 11.1.1 of the doco), you can find OID Administrator’s Guide. As the name suggests, this is the top most important and valuable guide for Oracle Internet Directory Administrators. I think I have read most of this guide already. However I still refer this guide, since there is a lot of information provided in this guide (and it is a reference guide too).
I want to write about the LDAP Replica states mentioned in the Appendix D (How Replication Works) of this Guide. In Fusion middleware, Oracle provides lot of details about Oracle Internet Directory Replication. Earlier this information was scattered around the Oracle Support Website and was difficult to find. Now, I think Oracle collected most of this information in this guide.
If you are working or supporting or planning to implement an OID Replication High Availability environment, then you should be familiar with this section of the topic in the guide. This replica states information will be useful if you are running LDAP Based Replica (Just to refresh your memory, there are two types of Replication possible, ASR based and LDAP Based – ASR is based on Ddatabase Links, while LDAP based replication uses a LDAP Client process).

orclReplicaState Attribute

orclReplicaState attribute stores the Replication State for the LDAP Based Replication Replica. You can check the current Replica State of the OID using the ldapsearch command. (In a Live System that uses LDAP based replication, it will be set to the numeric value of 1 – which means it is in online state).
You need to run the following LDAPSEARCH and check the orclreplicastate attribute as shown below. Please make sure to replace values for the arguments specific to your site, I just gave an example.
ldapsearch -h localhost -p 389 -D cn=orcladmin -w password -b “orclreplicaid=local_replica_ID, cn=replication configuration” -s sub objectclass=*
You need to check the value of the orclreplicastate in the output. Alternatively, you can get the orclreplicastate attribute value directly as shown below example:
ldapsearch -h localhost -p 389 -D cn=orcladmin -w password -b “orclreplicaid=local_replica_ID, cn=replication configuration” -s sub objectclass=* orclreplicastate
The local_replica_ID is specific to your installation, normally it is machine_database. You can check the value using a ldapsearch query as shown below.
Ldapsearch Argument Description:
ArgumentDescription
-hHostname or IP Address of the LDAP Directory ServerI used localhost since I am running this command on the same server where OID is running.
-pPort Number for the LDAP Directory, default LDAP port is 389, LDAPS port is 636.If you use the port 636, then you should define the –U argument.
-DBind DN – LDAP DN for connecting to LDAP Directory
-wPassword for the Bind DN – It is site specific.
-bBase DN for the search – here it starts from the top.
-s baseSearch Scope is base (other values are sub and one)

orclReplicaState possible values in 11g

There are 9 LDAP Replica States mentioned in this guide (In 10g OID, there are only 7 LDAP Replica states, it looks like Oracle added two more LDAP Replica states in 11.1.1). As I mentioned earlier, in a normal production system which uses LDAP based replication, the orclreplicastate will be set to the value of 1 automatically during the start of the replication server first time.
Let’s list the LDAP replica states:
LDAP Replica StateDescription
0Bootstrap - This is one of the important Value. You can setup a new LDAP based consumer replica using this value. Lets talk about it in next blog
1Online – For regular replication processing.
2Offline
3Bootstrap in progress
4Bootstrap in progress + cn=orclcontext completed
5Bootstrap completed with failures
6Database based
7Sync Schema only (Not Data)
8Bootstrap without schema sync (Only Data)
In a LDAP replication with high-availability environment, it is a must that you should understand these values and their significance. Let’s talk about these values and how we can exploit this attribute and their values in the coming blogs. Until then

Wednesday, June 2, 2010

Features and Enhancements in SAP TAO 2.0 from SAP TAO 1.0

The SAP Test Acceleration and Optimization™ (SAP TAO ™) software streamlines the creation and maintenance of ERP business process testing. It helps Quality Analyst specialists to break down application into components. Assemble test cases through a simple interface using drag and drop components in Quality Center. Test script can be parameterized for flexible reuse. Maintained easily and inexpensively, even when screens, flows, or service packs change.
Features of SAP TAO ™ 1.0 version released in 2007:
Inspect: Captures the data in a screen or transaction and determines its validity. It enables you to create and maintain a list of transactions and screens.
Import/Export: Primarily runs in background mode to export and import data from the SAP Test Acceleration and Optimization™ client to the SAP Quality Center.
Consolidator: Gathers all the objects and data in an SAP Quality Center test script and creates a single component.
Connect: Connection settings for SAP and Quality Center
Enhancements in SAP TAO ™ 2.0 versions released in 2009:
PFA (Process flow Analyzer): It records user interactions and the sequence of screens to execute a business process, in the SAP TAO ™ repository. It automates inspection and creation of the test components and a parameterized draft transition test case. It automatically creates the data table spreadsheet with the DT columns and values used during the recording process.
Repository: The SAP Test Acceleration and Optimization™ repository is a part of the SAP Solution Manger system and is used to store:
User interaction and sequence of the screens in a business process.
Information specific to SAP Test Acceleration and Optimization™ that cannot be retrieved by other tools.
Change Analyzer: It helps you to analyze the impact of changes due to upgrades, SAP patches or Custom development on a test, components or consolidated component.
Read More about  SAP TAO

Thursday, May 27, 2010

Some myths and challenges faced by BPT Methodology

Is designing test for an entire business scenario a time-consuming process?
Business Process (BP) – a BP should be well-documented written at a level that can be script. The BP should be understandable by people not familiar with business. It should be sufficiently detailed. If possible we can have Mercury Screen Recordings (MSR), Navigational flow etc.

Data – The input data required for executing the BP should be reusable. If it is not reusable, sufficient set of data should provided for automating the BP. For most of the finance modules data are not reusable.

Business Process should be complete, correct and accurate. Verifying BP completeness and correctness takes a lot of time, better to start off with these steps in mind as verification time should be used to ensure the quality of the scripts instead of verifying the quality of the BP. Don’t assume anything, design the test cases so that any person can run it or execute it. Design the test cases so that any person can understand what steps are to be validated.

Generally speaking, the more user involvement a BP requires the less desirable it becomes for automation. Though scripts build during development process are executed successfully, they are liable to fail during regression execution. The common errors and solutions can be summarized as:

Wrong Data is being used: Most of the time the script fails due to a mismatch between the data displayed in application and the data stored in Data Table. The solution for this is to change the incorrect value in the Data Table.

Script Flow has changed due to a new build or a new data: if this is the case we need to modify the existing script to add/remove the necessary steps. This is not acceptable because we are automating scripts with the same process. This may represent delays in our delivery date.

The script is running with a different user: The solution is to use the same user that we were using during the development phase or give the new user the same privileges that the user utilized during development had.

Data is burned: If this is the case we need to get or create new data in order to execute the script.

Are your scripts backward compatible i.e., can they run in lower versions?
Scripts execution in lower version of QTP: The other major problem faced in scripts are not backward compatable.ie.., scripts build in upgraded version of quick test professional like 9.2,cannot be executed in 9.0 or lower versions. This problem can be overcome by using BCIE (Bushiness component Import and Export) tool. Using this tool we can import the reusable component from higher version of QC and export it to lower version of QC. Scripts are then compatible with lower versions.

Does Subject Matter Experts require technical knowledge?
Even though creating Business Processes Test Script using accelerators might seem like a simple task, there are multiple factors and caveats that need to be taken into account.
1.The initial Components base might prove complete for some BP’s, but there will surely be a need to create new components in order to complete all the scripts.
2.Though the UI Scanner automatically generates the required components, it might be required to manually modify the QTP code, or even to manually create a whole component.
3.VB Script knowledge is welcomed, since sometimes, there might even be the need to create new functions in the libraries, or modify the existing ones. It is always better to have a technical architect in a project dedicated to handle Libraries, tool installation, debug and trouble shooting. A technical architect should have considerable knowledge of library architecture and descriptive programming understanding, should understand relationship between Accelerators libraries and Business Process Testing. The responsibilities of the technical architect would be to provide the team with wrappers and

Are accelerators only for ERP applications?
Accelerator projects are not restricted to only ERP applications like SAP, PeopleSoft,Seibel and Oracle. It can be customized for application like Metavance, web based application like SAP web portal by our technically expertise development team.

When to automate?

  • Business scenario that will run with each new version of your application
  • Business scenario that uses multiple data values for the same operation
  • Business scenario that create data for additional business scenario
  • Business scenario that require low end-user decision making
  • Complex or lengthy business scenario that are often run during business day.

Monday, May 17, 2010

Fusion Middleware: New features in Oracle Internet Directory


Going forward, I am planning to write more about Fusion Middleware 10g, Fusion Middleware 11g and Oracle Database 11g. These are the areas that I am developing more interest now-a-days. I am currently working on Fusion Middleware 10g. First of all, I am learning these new software. And when I write here I feel my knowledge level increases. The first Fusion Middleware component that I am going to write about is Oracle Directory Server and Oracle Internet Directory. Both are LDAP Directories from Oracle and part of Fusion Middleware (Why two LDAP Directories as part of Fusion Middleware? – Think about it).
I worked in multiple LDAP Directories during the last few years. A LDAP Directory is software that stores information or entries or data in a tree like format for easy access, it is based on a standard. As per my experience with LDAP Directories, these are the major LDAP directories:
  • Oracle Directory Server (earlier Sun Java/Iplanet Directory)
  • Novell’s eDirectory (earlier NDS)
  • Microsoft’s Active Directory (AD)
  • Oracle Internet Directory (OID)
  • openLDAP
Among these, I like Sun Java Directory (now, Oracle Directory Server) the most. It is because I worked on it first and it was from Sun, standards based, and works well in heterogeneous environments. There are other various reasons, but we will talk more about Oracle Internet Directory here.

What is Oracle Internet Directory?

Oracle Internet Directory is a LDAP Version 3 Compliant Directory Server from Oracle Corporation. Oracle Internet Directory (OID) is used in most of the Oracle Components (such as Oracle Single Sign On) and is one of the primary components delivered as part of the Fusion Middleware.
OID is used to integrate Oracle Middleware and applications and mainly used with Oracle Applications. Oracle Internet Directory stores its data in an Oracle Database. The directory store is an Oracle Database. Oracle Database is a required component to run Oracle Internet Directory. This is one of the major differences among the remaining four major LDAP directory servers.

New Features of OID in Fusion Middleware 11g

OID is delivered by Oracle for the use of Oracle Identity Management. This was part of the Oracle Application Server “Application Infrastructure” Component. So, Oracle Internet Directory is not a new component that is delivered as part of Fusion Middleware.  It was already there in Version 10g as well.
I am currently working on Oracle Internet Directory Version 10.1.4.2.0. Fusion middleware version of Oracle Internet Directory is called 11.1.1. There are few improvements between these two versions. I noticed that the improvements lie on these lines

1. Manageability Features

Oracle Directory Services Manager and integration with Weblogic Admin Server are the major changes in the OID Version 11.1.1.  Fusion Middleware is Weblogic-Centric. So it is time to learn Weblogic again. Oracle Process Manager and Notification Server (OPMN) is still used in Fusion Middleware for managing OID, as well as other components.
ODSM (Oracle Directory Services Manager) is replacing Oracle Directory Manager (oidadmin). ODSM is a new web-based management tool for managing Oracle Internet Directory in Fusion Middleware 11g.

2. Replication Features

One of the important features that you can setup is a multi-master replication using LDAP based replica model. In earlier versions, it was not possible. Earlier you need to use ASR based replication to setup a multi-master replication. Now it is possible to setup multi-master replication using LDAP based replication.

3. Instance Configuration

There are changes in configset information. Now every instance can have a separate rootDSE information. This was one of the major issue in earlier version. I need to explore this option more. I will write more about this later.
A last important note is: why Oracle is delivering two separate LDAP Directories now as part of Fusion Middleware 11g or as part of its Directory Services Offerings. Why Oracle supports Oracle Directory Server and Oracle Internet Directory? This is because; Oracle Applications are tightly integrated with Oracle Internet Directory. For Example, Oracle Single Sign On needs Oracle Internet Directory. This is one of the reasons Oracle is unable to move to Oracle Directory Server. Let’s hope this will soon change.
Let’s talk more about OID in coming weeks.  Until then

Read More about Fusion Middleware

Thursday, April 29, 2010

Moving to Oracle Server Technologies


Believe me; life is not easy when you are working with a Vendor Company, such as Hexaware Technologies that I work for (Hexaware is an Oracle Platinum Partner as well). I have to learn all the new things with the little time you get, sometimes you have to learn lot of things in less than few hours. For a person like me, this is exactly what I want and like to do. Learn new things all the time!!! That is my motto!

One thing I like the most here is, I have the freedom to move to other IT technologies that I have little or no experience with. However that was not easy for a person like me or anybody for that matter. You have to keep learning and understand new things that come up.

As you are already aware (or if you are reading my blogs for first time), I started my IT career as the Web Developer with Apache and Perl CGI development (really old technologies!!). After couple of years, I got bored with Web Development. Then, I moved into Unix System Administration, mainly worked on Solaris and HP-UX and related hardware and software. And again, I got bored with UNIX Administration and moved to Peoplesoft Infrastructure and Administrator positions.

I was a happy person (I am still happy!!) for almost 7 years working with Peoplesoft Infrastructure for many clients. Now, I got an opportunity to work in Oracle Server Technologies here, especially Oracle Database, Oracle Identity Management and Oracle Fusion Middleware technologies.

If you are in the IT industry, you have to know one thing for sure. Keep learning. We have to develop a mentality like kids have. They are always curious to learn new things and all the time. This is an important quality you have to develop if you want to excel in IT Technical career. You have to develop curiousness to learn new things (from internet, from other blogs, from collogues, from peers, from managers and almost everywhere!).

I started working in Oracle Server Technologies (Oracle Database, Oracle Application Server, Oracle Fusion middleware, Enterprise Manager etc ) less than a year ago. However, before starting, I had an fundamental understanding of what they are and why do we need them. You cannot build this in one day. You should be aware of other technologies. One major thing that helped me was, my UNIX skills. I am able to solve almost any problems if that runs on UNIX.

Two things you have to understand in UNIX World. Everything is handled as a file and everything runs in the server is a process. If you are able to make these two simple facts, then I am sure you will be able to fix any servers, anything that runs in UNIX/Linux.
Okay, I think we are going off topic. Other than books and internet, I use two simple ways of learning.

a) Blogging
b) Teaching/Mentoring

Both of these are not easy for me. I have to really develop mastery to some level before start teaching someone. Believe me, it is not easy to teach, especially in IT industry, it is difficult with all the new things popping up almost every second. That is why I wanted to start blogging more often and conduct more mentoring classes in Hexaware.

And now, within last one year, I have got quite an expertise on Oracle Server Technologies. During this time, my experience with UNIX, Web Development and Peoplesoft really helped a lot in understanding the architecture of the Oracle Server Technologies. I am still learning new things everyday (that is why I want to write here, at least I can use them later!).

I want to use this new blog site to start sharing knowledge, write about errors or failures and how we handle them (lessons learned) etc. I will start with a new topic here soon. Until then.

Wednesday, April 28, 2010

QATS @ Hexaware

Welcome to the world of QATS.
Our Motto
Strive for perfection
Our Goal
Testing to make the application fool proof
What we do
We at QATS live eat sleep test everything. Innovation is in blood. We do not talk about innovation but we live it.
We never take things for granted. We love our work and we never leave any stone unturned. This belief philosophy helps us differentiate us from other. The team strives to bring that wow effect in every engagement that we undertake.
The WOW effect
A testimony of our innovation @ our QATS is now also on Microsoft site. We hope you will keep coming again and again here.
We promise that we will serve you with more and more info/tips/solutions that will help you make your life easy.
For more details on the complete suite of QATS offerings check out this link
If you would like to learn more, check out this link http://www.hexaware.com/new_testing.htm