Tuesday 27 January 2009

ESB XSLT versus XQuery performance

The search results returned by search service of Adapt CRM are enclosed in CDATA section inside SOAP response. The search results xml is tightly coupled to the underlying database as tag names are derived from database columns and table names.




Part 1


STAX api based transformation used to transform bond format xml to more eligible xml








Part 2

XQuery based transformation inside the bus used to transform bond format xml to more eligible xml









Results
Both test produced very close results, STAX based transformation was faster by few milliseconds on average when processing 100 entity records per request. 10 threads used to load test for 60 seconds


---------

Interesting ESB benchmarking by oracle:

http://www.oracle.com/technology/products/integration/esb/files/oracleesb10-1-3performanceguide.pdf



Oracle Aqualogic ESB XQuery to Database

One of the neat features you could do is retrieve information from database in side the Bus, one could use this to enrich message. In the example below i am using execute-sql function. The JNDI was defined in weblogic server on which ESB running. in the oracle documentation it say not to use XA driver but i did use XA driver and it worked just fine, as i was doing simple select


{

fn-bea:execute-sql(

'testJNDI',

xs:QName('name'),

'SELECT name FROM tbName'



)
}



Thursday 22 January 2009

XML Beans


 

Just installed XML beans and it gave strange error. I recalled having installation issues on previous occasions as well, thought would post it here keep it hand for next time :)


 

C:\>scomp version.xsd

Time to build schema type system: 0.391 seconds
Time to generate code: 0.047 seconds
java.io.IOException: CreateProcess: C:\javac @C:\DOCUME~1\TARANM~1\LOCALS~1\Temp\javac63121 error=2


 

Solution:

Make sure PATH variable on the system contains JDK path in the beginning

%JAVA_HOME%/bin;