Monday, March 16, 2009

Developer Tools in AIA FP - Part 2

AIA Developer tools enhance the productivity of the Process Integration Pack (PIP) developers and also help in validating the quality of the PIP being developed. This article is the second part in the 3 part series covering new tools/features added to FP 2.3. In this part we will discuss about PIP Auditor - the newest tool in the pack, its uses and understand how to execute it.

PIP Auditor

1) What is the tool?
The tool helps in validating the PIP architecture, design and development against AIA guidelines. This tool consists of a series of XML based tests to check naming conventions, WSDL design practice, process property configurations, adherence to design patterns etc. It generates a detailed HTML based report that contains a dashboard of the code violations grouped based on priority, category, test suites etc. The report also contains code fix suggestions for each of the identified violations.

This tool is TOGAF (The Open Group Architecture Framework) standards compliant and generates the compliance statistics against the following principles:
  • Compliant
  • Conformant
  • Fully Conformant

2) Where to find?
The tool can be found under AIA_HOME\Developer Tools\PIP Auditor in FP 2.4 Build 1007 & above.

3) What are the pre-requisites?

  • Java JRE 1.5 or higher (tested with JRE version 1.5.0_06)
  • XMLUnit 1.2 (tested with version 1.2: xmlunit-1.2.jar)
    Download from From this zip file extract xmlunit-1.2.jar.
  • Xalan Parser (tested with version xalan-j_2_7_0: XercesImpl.jar) – available in JDEV_HOME\adfp\lib\xalan-j_2_7_0
  • Oracle XML Parser (xmlparserv2.jar, tested with version shipped along with JDeveloper or SOA Suite or above) – available in JDEV_HOME\lib

4) How to Execute?

This tool can be executed in a stand alone mode and also in FP install mode in which FP installation is mandatory.

Given below are the steps to execute the tool in standalone mode:

  1. Unzip DeveloperTools to a directory e.g. D:\. The name of install directory must not have any spaces.
  2. Copy samplessetenv.bat in the folder DeveloperTools\etc\ to DeveloperTools\bin\ and rename the files as setenv.bat.
  3. Copy dependent downloaded jar files to DeveloperTools\lib
  4. Edit DeveloperTools\bin\setenv.bat, SET JAVA_HOME={java_home} E.g.: SET JAVA_HOME=D:\Java. HINT: This is the top-level directory of JRE – it is the folder that contains the “bin” directory, and not the bin directory itself.
  5. Identify the PIP to be audited or the folder containing the processes that need to be audited. For Ex: If you want to audit the processes related to SAP in Agile –SAP PIP then, \AIAHOME\PIPS\Core\SAP will be your input folder.
  6. Create output folder (say D:\PIPAuditResults)
  7. Navigate to \DeveloperTools\PIPAuditor\bin folder.
  8. Execute the following command:
    pipaudit –inputDir D:\product\\AIAHOME\PIPS\Core\SAP –outputDir D:\ PIPAuditResults
  9. The tool will generate XML and HTML reports in the output directory. Open the PIPAudit.html in the output directory to view the audit results.

Also need to know….

  • PIP Auditor works on directory level and not at PIP level. If the input directory (e.g. aia\PIPS\Core) contains multiple PIPs like O2C2, MDM, etc, the audit report would show violations for all the processes.
  • PIP Auditor reads targetNamespace of a BPEL / ESB Process and uses it as a metadata to derive AIA related information like application name, service name, service operation, industry, version. So if process targetNamespace has not been coded as per the standards, the corresponding checks will not work correctly.
  • XSLT Mapping Analyzer (XMAN) (discussed in Part 1) is included as one of the rules in the PIP Auditor. If PIP Auditor is run with option “-testSuite ManualTest”, XMAN will be executed and PIP Auditor will generate “XSLT Analyzer Checks” in audit report. User can do a manual audit for these XSLT documents.


  1. Good info.. You could add this too...

    PIPAuditor might not available with FP2.4 GA. The latest build of developertools(pipauditor,xman) could be downloaded from metalink.

    user can use pipauditor via ant task (auditor) ..

    Thanks.. Bogi raja.

  2. Hi,
    I ve followed the steps mention above, but I am getting error

    -outputDir :outputFolder :E:\Sanjay\output
    InputDir is a mandatory argument
    Exception in thread "main" java.lang.IllegalArgumentException: Please specify in
    put source directory.

    Can you please sugggest a solution