Wednesday, May 20, 2009
BLOG MOVED...
Pls visit the above BLOG site for latest updates and more information
Monday, April 6, 2009
Endpoint Configurator tool in AIA FP
This tool should be used to replace Dev/QA server details from the source code with the token values and at install time, it should be used to replace the token values to target server urls.
Endpoint Configurator can be used on any xml based file, provided the URL can be obtained using an xpath. It will replace the server details where the urls are of the form http://hostname:port/....
Examples of xpaths can be: //@schemaLocation , //@location
Where to find:
AIA_HOME/util/EndpointConfigurator
How to use:
1. Create the EndpointConfig.properties file
We need to create one EndPointConfig.properties file. The contents of the file would look as below:
home.dir1.http.hostname = soa.hostname
home.dir1.http.port = soa.port
home.dir1 = aia.home/AIAComponents
home.dir1.filetypes = bpel,esbsvc,wsdl,xsl,xsd
home.dir1.xpath1 = //@schemaLocation
home.dir1.xpath2 = processing-instruction("oracle-xsl-mapper")
home.dir1.xpath3 = /BPELSuitcase/BPELProcess/partnerLinkBindings/property
home.dir1.xpath4 = //wsdlURL
home.dir1.xpath5 = //concreteWSDLURL
home.dir1.xpath6 = //soapEndpointURI
· At build time, home.dir1.http.hostname, home.dir1.http.port properties should be populated with token values and, at install time these values should be populated with target server details
· home.dir1 takes the directory location which Endpoint Configurator should traverse.
· home.dir1.filetypes takes the list of file extensions which Endpoint Configurator should consider for parsing. File extensions should be separated by a comma and no space is allowed after the comma.
Valid: home.dir1.filetypes = bpel,esbsvc,wsdl,xsl,xsd
Invalid: home.dir1.filetypes = bpel, esbsvc, wsdl, xsl, xsd
Invalid: home.dir1.filetypes = .bpel, .esbsvc, .wsdl, .xsl, .xsd
· List of xpaths should be specified using home.dir1.xpath property. There is no limit on the no of xpaths, but all the xpath numbers should be sequential.
We can execute Endpoint Configurator on multiple directories by specifying multiple home.dir values.
Look at AIA_HOME/util/EndpointConfigurator/FPEndpointConfigurator.properties.tmpl for a sample properties file.
The directory locations specified by home.dir should always be relative to AIA Home and AIA home should always be represented with token “aia.home”
2. Invoking Endpoint Configurator from command prompt
To invoke Endpoint Configurator from command line custom properties file should be passed as an argument. Navigate to Endpoint Configurator folder AIAHome/util/EndpointConfigurator and invoke Endpoint Configurator as follows:
ant runEndpointConfigurator –DEndPointConfigFilePath=”EndpointConfig_ file_path”
Ex:
ant runEndpointConfigurator –DEndPointConfigFilePath=${aia.home}/util/EndpointConfigurator/EndpointConfigurator.properties.
Post Execution steps:
Check the server url mentioned in the xpaths from the EndpointConfigurator.properties, check whether the URL have been changed from the dev url to QA url.
Monday, March 30, 2009
Know more about Agile PLM to SAP Design to Release PIP….
The PIP was built by reusing most of the services developed for Agile PLM to Oracle EBiz PIP. The Oracle EBiz related Application Business Connector Services were replaced by the SAP Application Business Connector Services. The Enterprise Business Services implementation was modified to suit the business process relevant to SAP.
Though some of the business processes like the Engineering Change Order implementation widely differ between SAP & Oracle EBiz but still the desired functionality requirements were met without any changes on the Agile related artifacts in the PIP. This could be achieved due to the flexible Integration framework that Oracle’s Application Integration Architecture (AIA)provides.
Another important feature about this PIP is the use of standard SAP APIs - BAPI (Business Application Programming Interface) & IDOC ( Intermediate Document). In total 12 APIs were utilized -11 BAPIs & an IDOC in the Agile PLM to SAP PIP.
How SAP PIP business process differs from Oracle EBiz PIP:-
a) Reserving of Item during the New Part Request Process (NPR) Process:- This synchronous process can be triggered on demand by the user in Agile. In case of SAP PIP ,this reserves a part number in SAP and the part number is returned to Agile
b) Use of Item templates: - In the Item Synchronization process, this PIP uses Item templates or Reference Material in SAP. The purpose of a reference material is to default all the mandatory values which are needed for creation of material in SAP, which might not be captured in the Agile system during item creation. This reference material need to be configured based on the Material type. In case if the item need to be created in more than one plant then a reference material needs to be maintained in each of the plants.
c) Posting of Change Order Data to SAP :- The sequence mentioned below is followed for the creation of Change Order Object in SAP:
- The Change Order header is created first with the status ‘Inactive’ or equivalent status as configured by the user.
- Item existence check: If the Item does not exists it is created, else the item is updated with the input received from PLM.
- Item revision level creation & attachment of revision level to Item.
- AML sync ( Not part of 2.4 Release)
- BOM existence check: If the BOM does not exist, it is created else the BOM is updated accordingly. BOM is created or updated along with its corresponding Reference Designators.
- Upon successful creation of the above objects, the Change Order status is changed to ‘Active’ else it remains as ‘Inactive’.
Avinash C
Saturday, March 21, 2009
The AIA PIPeline
First signed customer is Ciena, known to us for many years, one of our pioneer SCMnet customers. Project started.
New prospects are:
Prospect 1: Agile – Oracle. Medical devices industry. May already need customizations to the standard PIP because of their version of Oracle.
Prospect 2: Agile - SAP, for whom we’ve scheduled an SAP PIP demo for the week. of 3/30.
Prospect 3: Process manufacturer. SAP PIP.
Prospect 4: Medical devices. SAP PIP
Prospect 5: Traditional manufacturing. Oracle PIP.
Prospect 6: Traditional manufacturing. SAP PIP.
Updates to follow.
Friday, March 20, 2009
BP - Normal, Heart Beat - Normal. Rx - Run (Diagnostic report) frequently
Adding Custom Diagnostic tests
Beauty of the framework is that it allows you to add your own custom diagnostic tests with ease. For instance, if we want to add DBCheck test to the AIA FP Diagnostic framework, all we need to do is
1) Create our own Java code by implementing IAIADiagnostics interface. Sample code should look like this
package oracle.apps.aia.core.diagnostics.tests;
import java.util.Date;
import java.util.HashMap;
import oracle.apps.aia.core.diagnostics.IAIADiagnostics;
import oracle.apps.aia.core.diagnostics.util.DiagnosticsUtil;
import oracle.apps.aia.core.diagnostics.util.GetPatchesApplied;
import java.sql.*;
public class DBCheck implements IAIADiagnostics{
public DBCheck() { }
public String[] run(HashMap params) {
String testResult[] = executeTest(params);
return testResult; }
public String[] runBatch(HashMap params) {
String testResult[] = executeTest(params);
return testResult; }
private String[] executeTest(HashMap params) {
[[Insert Code Here]]
String testResult[] = {result.toString(), error.toString(), resultflag};
return testResult;
}
}
2) Compile the class and place it under ORACLE_HOME\bpel\system\classes and the appropriate package folder (in this case oracle\apps\aia\core\diagnostics\tests)
3) Add the below entry to AIADiagnosticsConfig.XML under
AIA_HOME\diagnostics\config
4) Create the batch script by making a copy of the existing batch files under
AIA_HOME\diagnostics\bin and making the following change
set TEST_NAME=DBCheck
5) Execute the batch script
Ramesh Chandra Revuru
Thursday, March 19, 2009
Developer Tools in AIA FP - Part 3
1) What is the tool?
Artifacts Generator is a utility script that would help generate much of the common code needed to create the ABC service implementation in BPEL. It would generate the artifacts as a BPEL project that can be easily opened, viewed and enhanced from the Jdeveloper studio. It generates artifacts like WSDL, transformation, project file & deployment descriptor.
2) Where to find?
The tool can be found under
AIA_HOME\Developer Tools\ AIAArtifactsGenerators
3) How to Execute?
- Open a command window and navigate to the above location
- Validate that the JDK is set to jdk 1.5 or above. If not, set the path
- Validate the ant version is 1.6 or above by executing ant -version
- Modify the build.properties file as below. Give the file for the input.xml where all the description of the bpel process is defined. In this case we have uncommented the below line
Requestor_SyncReqResp.xml is available under AIA_HOME\Developer Tools\ AIAArtifactsGenerators\ AIAServiceGenerator\input Run the ant by the following script from the folder AIA_HOME\Developer Tools\ AIAArtifactsGenerators\Ant buildBPEL
Open the JDeveloper Studio and create a new project and add the above output folder to the project source code.
4) Post Execute Steps
- Rearrange service invocations, if necessary
- Complete the business payload transformation
- Configure the correlation properties for asynchronous application service invocation
- Create invocations for other operations when a service is called multiple times
- Alter deployment descriptor properties in the bpel.xml file
- Alter policies in the fault policy
- Alter properties in the configuration properties file snippet and add it to your properties
Sierra Atlantic
Agile SAP PIP – Tips and Tricks
Can we change the Agile system properties after the PIP is installed and configured? If so, what is the procedure to reconfigure the PIP to point to the new Agile system?
Solution:
Navigate to %AIA_HOME%\PIPS\Core\Setup\AgileSAP\Config folder. Typically, %AGILE_HOME% is set to D:\product\10.1.3.1\AIAHOME
Modify the following properties in Agile Info section in the AgileSAP.properties
· agile.host=ATGAGILE.IN.CORP.SA
· agile.port=80
· agile.path=Agile
· agile.user=admin
· agile.password=agile
Navigate to %AIA_HOME%\PIPS\Core\Setup\AgileSAP\Install and execute the following commands
· env.bat
· ant -f ReplaceServerTokens.xml
· ant -f CopyAgileAIAComponents.xml
· ant -f DeploySyncPIAgileABCS.xml
ant -f ReplaceServerTokens.xml replaces the tokens with the values (specified in the AgileSAP.properties file) in the Agile wsdl files and bpel.xml of the Agile Requestor and Provider ABCS process flows.
ant -f CopyAgileAIAComponents.xml deploys the Agile wsdls to Application Server.
ant -f DeploySyncPIAgileABCS.xml redeploys the Agile process flows to the application server.
Wednesday, March 18, 2009
XREF Utilities
A set of xref tools are available to access and perform admin functions with the xref tables. The tools are – xreftool, xrefimport and xrefexport
Xreftool: The xreftool is a command line admin tool to help configure the cross-references virtual table.
Xrefimport & Xrefexport: The xrefimport and xrefexport tools can be used to help in initial data loads.
Where to find?
The tools can be located at
What are the pre-requisites?
Set OC4J_USERNAME and OC4J_PASSWORD as environment variables before using the xreftool.
Set DB_URL, DB_USER, DB_PASSWORD, OC4J_USERNAME and OC4J_PASSWORD as environment variables before using xrefimport and xrefexport.
How to execute xreftool?
Navigate to
Set OC4J_USERNAME and OC4J_PASSWORD to the login credentials of oc4j administrator.
Execute the following command: xreftool
Valid commands and arguments are:
· listColumns {tableName}
· deleteTable {tableName}
· deleteColumn {tableName columnName}
· addColumns {tableName columnName1,columnName2...}
· listTables {}
· version {}
· createTable {tableName}
· help {}
Ex: To list all the tables in the xref database:-
set OC4J_USER=oc4jadmin
set OC4J_PASSWORD=oc4jadmin
xreftool listTables
The output looks like this:
Total number of xref tables: "2"
No. TableName
--- ---------
1. ITEM95ITEMID
2. CHANGE95CHANGEID
How to execute xrefexport?
Navigate to
Set DB_URL, DB_USER and DB_PASSWORD to the xref datasource URL and xref database login credentials respectively.
Set OC4J_USERNAME and OC4J_PASSWORD to the login credentials of oc4j administrator.
Execute the following command:
xrefexport -file
Ex: To export rows in the Item xref table:-
set DB_URL=jdbc:oracle:thin:@atg-aiaagile:1521:ORCL
set DB_USER=aia
set DB_PASSWORD=aia
set OC4J_USER=oc4jadmin
set OC4J_PASSWORD=oc4jadmin
xrefexport –file d:\temp\Item.xml –table ITEM_ITEMID
The exported XML looks as shown below:
Navigate to
Set DB_URL, DB_USER and DB_PASSWORD to the xref datasource URL and xref database login credentials respectively.
Set OC4J_USERNAME and OC4J_PASSWORD to the login credentials of oc4j administrator.
xrefimport -file
mode argument specifies the preferred way of handling the existing data in case of conflicts. "ignore" would keep the existing data and "overwrite" would overwrite the existing data with the new data. Please note that the mode will kick in only in the case of conflicts. Default is "ignore".
generate argument specifies the column name which has to be created automatically.
Ex: To import rows into the Item xref table, create an input XML in the same format as exported above and then execute the following commands:-
set DB_URL=jdbc:oracle:thin:@atg-aiaagile:1521:ORCL
set DB_USER=aia
set DB_PASSWORD=aia
set OC4J_USER=oc4jadmin
set OC4J_PASSWORD=oc4jadmin
xrefexport –file d:\temp\Item.xml
Monday, March 16, 2009
Developer Tools in AIA FP - Part 2
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 xmlunit-1.2-bin.zip from http://sourceforge.net/projects/xmlunit/ 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 10.1.3.3 or SOA Suite 10.1.3.3 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:
- Unzip DeveloperTools to a directory e.g. D:\. The name of install directory must not have any spaces.
- Copy samplessetenv.bat in the folder DeveloperTools\etc\ to DeveloperTools\bin\ and rename the files as setenv.bat.
- Copy dependent downloaded jar files to DeveloperTools\lib
- 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.
- 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.
- Create output folder (say D:\PIPAuditResults)
- Navigate to \DeveloperTools\PIPAuditor\bin folder.
- Execute the following command:
pipaudit –inputDir D:\product\10.1.3.1\AIAHOME\PIPS\Core\SAP –outputDir D:\ PIPAuditResults - 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.
Friday, March 13, 2009
Developer Tools in AIA FP 2.3 - Part 1
XLST Document Generator
1) What is the tool?
The tool helps in generating documentation relating to the mapping information in the XSL file in HTML format. The tool comes handy in creation/updating contents of design document or creating/updation of test cases. The tool provides source column, target column, DVM and Cross reference details in tabular format
2) Where to find?
The tool can be found under AIA_HOME\Developer Tools\XSLDocGen
3) How to Execute?
a) Set the environment variables by running aiaenv.sh (if not done already). aiaenv.bat can be found under "AIA_HOME\bin" folder
b) Create input folder (say D:\inDir) and place the XSL file in the folder for which you want to generate the documentation
c) Create output folder (say D:\outDir)
b) Go to "AIA_HOME\Developer Tools\XSLDocGen\bin" folder
c) Execute generateMappingDoc batch file as shown below
generateMappingDoc inputDir=D:\inDir\(name of XSL file)
d) The tool will generate 2 files with the extensions XML and HTML in the output directory
4) Common pitfalls
1) Batch file (generateMappingDoc) might return an error saying "AIA Home not set correctly" in which case try changing the first line of the BATCH file from
set AIA_HOME=@AIA_HOME@
to the following
set AIA_HOME=%AIA_HOME%
2) XSL file and the related files should be placed in the input directory. For instance, BillOfMaterialsListEBMToCreateBOM.xsl and BillOfMaterialsListEBMToCreateBOM_Custom.xsl should both be placed in the input directory or else you will get an error
3) Not running aiaenv batch file also will return errors
Ramesh Chandra Revuru & Srinivas Mengerthi
Thursday, March 12, 2009
Foundation underneath the AIA Foundation Pack
- Enterprise Business Objects
- Enterprise Business Services
- SOA Governance Tools
- Reference Process Models and Architecture
- Composite Application Framework
EBO is an XSD based SOA Data model that represents the business object such as Item, Customer, Sales Order etc
EBS is the basement block in AIA that represents the application independent webservice definition. It is standards based business level service interface and these services operate on Application agnostic Enterprise Business Messages (EBM) which in turn, are based on EBO
Enterprise Business Flow (EBF) – Application agnostic flow that orchestrates several enterprise business services to achieve a larger business functionality
Application Business Connector Service – Application specific business connector service that bridges the application to the application agnostic layer
SOA Governance : FP includes Business Service Repository (BSR), Composite Application Validation System(CAVS) and Composite Application Error Management and resolution
BSR provides a catalog of objects, messages and services that comes with the Foundation pack and provides an insight into re-use and impact analysis from development to run-time
CAVS offers testing framework that provides initiators to simulate calls to a web service and simulators to simulate response from web service
FP also provides a framework to efficiently manage errors by routing it to the correct application and to the correct application user.
Reference Architecture consists of concepts and technologies guide, Business Process Guide, Enterprise Object Library Guide, Integration Developer's guide and a list of best practices/design patterns
Composite Application Framework delivers application independent solution using composite processes or user interfaces that are sustainable, repeatable and low-cost. Composite applications are loosely-coupled and insulated from changes in provider systems.
In short, a solid foundation has been set up to rock the Integration market.
-Mahesh Kumaran
Solution Architect
Wednesday, March 11, 2009
Thought Leadership from Sierra Atlantic on AIA
"Uncover design patterns in Composite Applications using Oracle AIA"
2) SCENE magazine's (UK OUG Publication) March 09 edition will carry Sierra Atlantic's article titled
"Enrich Composite Applications using AIA"
For copies of the documents, pls write to ramesh.revuru@sierraatlantic.com
Ramesh Chandra Revuru
Global Head - Integration, DW/BI & Agile
Tuesday, March 10, 2009
PIP - Phoenix in Paradise :-)
1) Oracle AIA comes in 3 different flavors
- Direct integrations
- Packaged PIPs
- Foundation Pack
Which means customers are not necessarily forced to buy the business process flow as-is but can built their own business process flows using the Foundation Pack much quicker and faster
2) Oracle AIA is built using open and non-proprietary standards unlike the predecessors & competitors. Uses best practices and industry standards as applicable, provides a pre-built business object and service library, completely decoupled and application independent
3) Oracle AIA leverages the SOA suite there by providing breadth and depth to business process development/management, messaging, connectors and service governance through policy enforcement.
4) Oracle AIA provides easily extensible framework that allows customizations of the artifacts provided by Oracle like EBO, EBS and routing rules.
Considering the above AIA/PIP is definitely is not "old wine in new bottle".
Its probably PIP (Phoenix In Paradise - Cocktail of Vodka, Cranberry)!
Ramesh Chandra Revuru
Global Head - Integration, DW/BI & Agile
Welcome to Sierra Atlantic's Official AIA Blog site
I would like to welcome you to the official blog site of Sierra Atlantic for Oracle AIA/PIP development/support.
Why Sierra Atlantic?
- Sierra Atlantic is the co-development partner of Oracle in developing Agile to SAP PIP
- Sierra Atlantic has been doing integration work for close to a decade now
- Sierra Atlantic has its own integration products branded under the name Application Networks. Application Networks provide business process flows that integrate enterprise applications
- AIA (Application Integration Architecture) is the latest offering from Oracle to allow enterprises to either use standards PIPs (Process Integration Packs) or build custom PIPs using AIA FP (Foundation Pack)
- Sierra Atlantic with its experience co-developing AIA/PIP can contribute and share their learnings and best practices
Ramesh Chandra Revuru
Global Head, Integrations, DW/BI and Agile