Wednesday, April 27, 2011

Part I – LDAP Directory for the Cloud – Which one do you recommend?


I am planning to appear for the CISSP exam sometime this year (could be in the month of May – I believe it really needs more time to prepare). For my Exam, I just completed my reading the Access Control chapter. I am using the Shon Harris AIO guide for my CISSP Exam. Whether I take the exam or not, the more knowledge I gain, then I am good with that. Believe me “Access Control” is not an easy chapter for me (though I worked on that domain for last few years. I have to understand lot of terminologies for the CISSP Exam. I still have 9 more domains to complete before start taking other books (Access Control is just one of them). It looks like it needs a lot more preparation than I thought.
Definition of Cloud Computing
Directory as a Service
  • Oracle Directory Server (ODS) – formerly Iplanet or Sun LDAP.
  • Oracle Internet Directory (OID)
  • Microsoft Active Directory (AD)
  • IBM Tivoli Directory Server (ITDS)
  • Novell’s eDirectory
  • OpenLDAP
What do I think?
Anyways, I don’t want to talk about Access Control here. But it is about the webcast by Mark Wilcox from Oracle couple of weeks ago. Mark webcasted a presentation on “Choosing the right Directory for the Cloud”. You can find the recording here.
Let’s try to understand the general definition of cloud computing first. According to “The NIST Definition of Cloud Computing” Version 15, it is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
According to the definition, there should be shared pool of configurable computing resources. In this context, we are talking about LDAP Directory as a software service that can be configured to provide access through various resources through. In this webcast, Mark talked more about the OID and ODS (see below).
In this context, let’s try to understand how LDAP Directories can be a service in the cloud.
There are many LDAP Directory offerings from various vendors, such as the ones below:
I want to talk more about LDAP directories for the clouds more on covering famous Directories out there. We serve many customers and everyone has their own preference of a LDAP Directory. So, we can’t ignore the other famous LDAP Directories.
When we talk about LDAP Directory for a cloud, we are talking about an LDAP instance for the Cloud application for authentication purposes (in some cases, we can use it for authorization as well).
If you are working with Oracle Products, such as Oracle EBS etc, and you need to consider a integration with LDAP Directory, then I believe Oracle Internet Directory (OID) has more advantages than the others in the list (Also, Oracle certifies most of the Identity Management products for EBS aligning with OID). Main reason is that Oracle Products are certified with OID as a recommended LDAP Directory – they are easy to integrate with the support from the point of the Vendor. Other reasoning is because the data is stored in the database, so you can take advantage of the Database Security Features.
ODS (formerly Sun Java System Directory Server, before that Iplanet Directory Server) is a great product in itself. I am working with this directory for a long time now. The data is stored in the Operating System Files (it internally uses the database structure). ODS follows LDAP v3 protocol standard.
I don’t want to be Oracle-centric in my approach (both of the above two directory servers I mentioned are from Oracle Corp). Mark Wilcox is from Oracle, So he talked more about these two directories in general. Also,
So, how can we provide an LDAP Directory as a service in the cloud? And more importantly what are the important factors that we need to consider while providing this service?
Also, Let’s talk about other directories in coming posts.
Until then
Vijay Chinnasamy

Wednesday, April 6, 2011

Business Objects File Repository Servers

Functions of File Repository server (FRS)

The BusinessObjects File Repository Servers(FRS) are responsible for listing files on the server, adding files to the repository, and removing files from the repository. FRS also responsible for the creation of file system objects such as exported reports, and imported files in non-native formats.

Default FRS location in BOE Installation?

FRS can be found on your disk at \Program Files\Business Objects\BusinessObjects Enterprise 12\FileStore (for XI 3.x) in default installation. The two main directories under this location are Input and Output. The Input directory stores the report templates and thumbnail images, while the Output directory stores the results from running those templates. Thus, the Output directory is normally many times larger than the Input directory. Each of these directories is managed by its own BO XI File Repository server.
In every BusinessObjects Enterprise implementation there is an Input and an Output File Repository Server. Both manage their respective directories and handle all aspects of file management.

Input FRS

The Input File Repository Server manages all of the report objects and program objects that have been published to the repository. It can store .RPT, .CAR, .EXE, .BAT, .JS, .XLS, .DOC, .PPT, .RTF, .TXT, .PDF, .WID files. In the case of .RPT files, they are stored as report definition files only which do not contain any data.
The Report Properties page of the CMC shows you the location of the Input report files. The RPT report template can be found at frs://Input/a_084/004/000/1108/ca067d4f1710cbc.rpt
Exploring to this location shows two files: the RPT file with the name indicated on the report properties page of the CMC and a JPEG file, which serves as the thumbnail image.

Output FRS

The Output File Repository Server manages all of the report instances (saved data copy of the report) generated by the Report Job Server or the Web Intelligence Report Server, and the program instances generated by the Program Job Server. It also manages instances generated by the Web Intelligence Report Server and the LOV Job Server. It can store the following files: .RPT, .CSV, .XLS, .DOC, .RTF, .TXT, .PDF, .WID. For .RPT and .WID files are stored as reports/documents with saved data.
Since Output FRS stores the report instances, deleting instances would remove instances not the actual reports. However the report structure will be stored in the Input FRS.
Using Query Builder we can find the location of the Output File repository files. The following query may be handy if you already know the report name.
SELECT SI_NAME, SI_KIND, SI_FILES, SI_INSTANCE from CI_INFOOBJECTS
Where SI_NAME =’xxxx’
If the SI_INSTANCE value is false then the InfoObject is the actual report and SI_PATH will be in Input FRS. If SI_INSTANCE is true then the InfoObject would be an Instance and the SI_PATH will be in Output FRS.
Exploring to this location shows the actual instance file pertaining report data with the appropriate export format based on the scheduling parameters.

Diagnosing File Repository Servers

Repository Diagnostic Tool (RDT) is a command-line tool that scans, diagnoses, and repairs inconsistencies between your Central Management Server (CMS) system database and the File Repository Servers (FRS) filestore, or inconsistencies that can occur in the metadata of InfoObjects stored in the CMS database. This inconsistencies may occur during unexpected events such as disaster recovery, back-up restoration, or network outages. During these events, the CMS system database may be interrupted while performing a task. This can cause inconsistencies with objects in the CMS system database.
List of inconsistencies that could potentially occur in repository which RDT can identify are
InconsistencyDescriptionRepair Actions
InfoObject exists, but no fileIt is possible that an InfoObject exists in the CMS, but there is no file FRSDelete the InfoObject, unless otherwise told
File exists but no InfoObjectIt is possible the file exists but there is no
corresponding InfoObject
User is notified to republish the object
Invalid Parent IDAn InfoObject can potentially have an
invalid parent reference
The object and its children will be moved
Into a folder call ‘Repair’.
Last Successful InstanceThe reference to the last successful
scheduled instance could be invalid
Remove the ID and let the CMS
automatically recalculate it
Invalid Target IDA shortcut could be pointing to an invalid
object
The shortcut object will be deleted,
unless told otherwise.
File size is wrongThere can be information discrepancies
between the InfoObject and actual file
Update the InfoObject
Empty folders in the systemThere may be empty folders due to old
objects
Remove the empty directories, unless
otherwise told.

Limitations for File Repository Servers

  • The Input and Output File Repository Servers cannot share the same directories. This is because one of the File Repository Servers could then delete files and directories belonging to the other.
  • In larger deployments, there may be multiple Input and Output File Repository Servers, for redundancy. In this case, all Input File Repository Servers must share the same directory. Likewise, all Output File Repository Servers must share a directory.          

Monday, March 28, 2011

Automation Feasibility Checklist


Abstract:
Software testing is an activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results. The difficulty in software testing stems from the complexity of software. Testing is more than just debugging. The purpose of testing can be quality assurance, verification and validation or reliability estimation. Testing can be used as a generic metric as well.
In this article, we came up with an Automation Feasibility Checklist (AFC) which would be helpful for effective and efficient automation testing.
Introduction:
Manual Test case is the entry point for any automation, but there are some criteria which hinders the automation process which includes:
  • Lack of clarity in test steps
  • Lack of test data
  • Traceability coverage
  • Identification of Dependencies/Pre-requisites of test cases in a business scenario
  • Presence of logical closure
It is better to identify these problems earlier so that it can reduce the effort in manual execution thereby pave way for effective automation.
Automation Feasibility Checklist (AFC):
Automation Feasibility Checklist is used to identify whether the manual test case is feasible for automation or not. The following are the criteria to determine the automation feasibility of the test cases:
Essential Criteria
  • Dependencies/Pre-requisites
  • Detailed Test steps
  • Test Data availability
  • Expected results
  • Traceability
Optional Criteria
  • Meagre Application Knowledge
  • Subject Matter Expert’s (SME) support
  • Duplication of test steps
  • Availability of multiple sets of data
Snapshot of AFC
Benefits of Automation Feasibility Checklist:
  • Reduces the Manual execution effort.
  • Improves Automation efficiency.
  • Helps to derive effective Manual test cases.
  • Control and avoid risks in Automation.

Thursday, March 17, 2011

Welcome back … Good Times!


As the winter recedes and spring is ready to bloom in the northern hemisphere – the fears of doom and gloom recede too. If one looks at the IT Industry worldwide with lens of India-based software service providers, the sense of déjà vu is back. Fond memories of the good times come rushing back.

Now you may ask; what makes me say this?  After a dismal period ranging from late 2008 to early 2010; the tide has turned. After few years, this could well be the first year where Fortune 500 companies may have a year-on-year increase in their planned IT Spend. Further, the stress that had engulfed everyone from the Wall Street to the Main Street and everyone in the middle has dwindled and the early signs of a return to growth have clearly emerged. The visible trends, sound bites cuts across most industry verticals which further reinforce the confidence that IT Industry could register healthy growth in 2011.

You could also ask me; have we gone to the good old days again? I would say – Well, that is where we want to go but we are not there yet. While the mood is buoyant, all the pieces of the jig saw puzzle have not fallen into place yet. There are pockets of concern particularly in continental Europe which are still battling sovereign debt, geo-political uncertainties in Middle East, North Africa and natural calamities in Japan. Hence, it may take a little while longer for all the regions to buzz in unison. Having sounded the cautionary tone, the mood has certainly swung in favor of committing investments; driving growth and leveraging the winds of change.

If you agree with this, you may ask – what does the return to growth mean to me? It certainly signals good times! It means the activity levels will remain high. New clients will be added. New deals will be signed. The clients will reap the benefits of IT Outsourcing and the Service Providers will deliver value. The economics will work in favor of both economies and the employees at both sides will be happy to see more greenbacks (or whatever the color of your currency).
So, join me in ushering in the Good Times again!
===============================================================
The author of the piece is: Sreenivas V. He is the Chief Strategy Officer at Hexaware Technologies Limited. The contents on the blog above are his personal views.

Tuesday, March 15, 2011

Configuring Informatica File Transfer Protocol


Informatica File Transfer Protocol can be used to transfer/move files from different environment into our pre-defined Landing Zone. It can also be used to transfer file to the destination folder/directories.   The Integration Service can use FTP to access any machine it can connect to, including mainframes.

Configuring FTP in Informatica Workflow
To use FTP file sources and targets in a session,
  • Create an FTP connection object in the Workflow Manager and configure the connection attributes
  • Configure the session to use the FTP connection object in the session properties.
  • Specify the Remote filename in the connection value of the Session properties.
Guidelines
  • Specify the source or target output directory in the session properties. If not specified, the Integration Service stage the file in the directory where the Integration Service runs on UNIX or in the Windows System directory.
  • Session cannot run concurrently if the same FTP source file or target file located on a mainframe.
  • If a workflow containing a session that stages an FTP source or target from a mainframe is aborted, then the same workflow cannot be run until it’s timed out.
  • Configure an FTP connection to use SSH File Transfer Protocol (SFTP) while connecting to an SFTP server. SFTP enables file transfer over a secure data stream. The Integration Service creates an SSH2 transport layer that enables a secure connection and access to the files on an SFTP server.
  • To run a session using an FTP connection for an SFTP server that requires public key authentication, the public key and private key files must be accessible on nodes where the session will run.
Configuring Remote Filename
Attribute Description
Remote Filename The remote file name for the source or target.  Indirect source file name to be entered, in case of indirect source file is sent. Use 7-bit ASCII characters for the file name. The session fails if it encounters a remote file name with Unicode characters.
If the path name is provided with the source file name, the Integration Service ignores the path entered in the Default Remote Directory field. The session will fail if the File name with path is provided with single or double quotation marks.
Is Staged Stages the source or target file on the Integration Service. Default is “Not staged”.
Is Transfer Mode ASCII Changes the transfer mode. When enabled, the Integration Service uses ASCII transfer mode.
-           Use ASCII mode when transferring files on Windows machines to ensure that the end of line character is translated properly in text files. When disabled, the Integration Service uses Binary Transfer mode.
-          Use Binary Transfer mode when transferring files on UNIX machines. Default is disabled.

Tuesday, March 1, 2011

Informatica – User Defined Functions


Informatica User Defined Functions are similar to Built-in Functions, where these functions need to be created once and execute multiple times. Transformation logics that are common across the ports are the ideal candidate for User Defined Functions.
Transformation Logic implemented without User Defined Functions

Validation “IIF( ISNULL(LTRIM(RTRIM(INPUT))),’TRUE’,’FALSE’)” is being performed in multiple ports.
The disadvantage with this approach is any changes to this validation need to be done in all the ports.
This can be addressed by creating a User Defined function and have the logic incorporated there.
Steps to Create User Defined Functions
Step 1 : Right-click on the User-Defined Functions folder in a repository folder in the Designer.
Click on “New”
Step 2: In Editor add the transformation logic / validation that needs to be performed.
Click ok and validate the UDF.
User Defined Function – Type:
Public if the function is callable from any expression. Private if the function is only callable from another user-defined function.
To Call User Defined functions from Port:

Monday, February 28, 2011

Xcelsius Dashboards – using QAAWS and Live Office

Hi All,
Hope you did not encounter any issues in integrating Xcelsius with SQL Server Reporting Services and SharePoint data.  In this blog, I would like to explain to you on integrating Xcelsius dashboard with Query As A Web Service (abbreviated QAAWS) and Live Office.
Introduction
  • QAAWS is an Xcelsius provided web service that gets data from a Business Objects Universe using queries and exposes the URL that can be used to fetch data at run-time from the database using the universe metadata.
  • Live Office integrates with Microsoft Office, embedding up-to-the-minute corporate data in Microsoft PowerPoint, Excel, and Word documents.
  • The server component of QAAWS is installed automatically when BusinessObjects Enterprise XI Release 2 Service Pack 2 with Web Intelligence.
  • The server component of Live Office is installed automatically with BusinessObjects Premium while keys need to be purchased for Professional edition.
  • Client tool for QAAWS needs to be purchased as a separate license.
  • Client components of both Live Office and QAAWS are available in the collaterals CD in the Adds-on folder.
Xcelsius Connector to be used
  • Using Query as a Web Service client tool installed in the user’s machine, login and connect to the universe from where data needs to be fetched for the dashboard
  • Generate a WSDL (Web Service Definition Language) similar to creating a query using a desktop intelligence report query.  Result objects and Filter objects will be defined in the WSDL.
  • Prompts can be specified in case parameters need to be passed between the queries.
  • In the Xcelsius dashboard, the Query as a Web Service component should be used to fetch data using the URL created through the client tool as described above.
  • Live Office client once installed on a machine appears as another Tool Bar option in Office tools.
  • Using the menu, data from Web Intelligence reports and Crystal reports can be fetched into Excel that can be a source of information for the dashboard.
  • Similar to QAAWS, the Web Intelligence and Crystal Report queries can have prompts to pass parameters between queries at run-time.
  • In the Xcelsius dashboard, the Live Office component can be used to fetch data from Web Intelligence reports and Crystal reports.
Dashboard Features
  • For a dashboard shown as sample that depicts the Service Requests (SRs) handled for a client, there are three queries to fetch the data.
    • SRs raised, opened and closed
    • High and Critical SRs open more than 3 days
    • High and Critical SRs opened today
  • For the first two queries Live Office queries is used to fetch data and the third query QAAWS is used to fetch data.
  • Live Office queries are used when data needs to be fetched in the form of cross-tabs which is not possible through QAAWS.
  • Using both QAAWS and Live Office, it is possible to fetch data from more than one data source.
  • On clicking a specific month, details of the SRs would be displayed in a new window.  The details are typically a drill down in business intelligence terminology.
  • Drill downs
    • Drill down can be provided from the main dashboard to another Xcelsius dashboard with more details or a Web intelligence / Crystal report
    • Even PDF documents that have been generated from other tools can be viewed in the Xcelsius dashboards
    • Flash variables can be used to pass data from the main dashboard to the drill down dashboard
    • opendocument URL can be used to call drill down reports and pass parameters from the dashboard to the drill down reports
  • Security
    • Xcelsius dashboards can handle the security similar to web intelligence documents.  The dimension level security specified in the universe, applies to the dashboards too.
    • In the specific sample shown, if the SRs are from different applications, it is possible for managers, to view only the applications to which they are responsible for.
We have provided ways of integrating Xcelsius dashboards with live data using QAAWS, Live Office, Reporting Services and SharePoint Consumer, Provider and Param components.
Let me know if you would like to know more on other dashboard topics.  Get back to me in case on any specific queries.  I would be happy to assist you.  Happy reading!
Read More about  QAAWS