<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-4400463453730620172</atom:id><lastBuildDate>Thu, 11 Sep 2025 07:15:01 +0000</lastBuildDate><category>SOA11g</category><category>Finds</category><category>OBR11g</category><category>Utilities</category><category>Info</category><category>SOA10g</category><category>AIA30</category><category>Miscellaneous</category><category>XSLT</category><category>Book Review</category><category>Code Snippets</category><category>AIA201</category><category>BPEL</category><category>FMW</category><category>Oracle</category><category>Quickies</category><title>Oracle SOA &amp;amp; AIA</title><description>Blog on Oracle Middleware Technologies - Oracle AIA, Oracle BAM, Oracle FMW, BPEL, XSLT, XML and more.</description><link>http://oracleaia.blogspot.com/</link><managingEditor>noreply@blogger.com (Arun Ramesh)</managingEditor><generator>Blogger</generator><openSearch:totalResults>47</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4400463453730620172.post-2189303222105871918</guid><pubDate>Thu, 12 Apr 2012 18:06:00 +0000</pubDate><atom:updated>2012-04-12T14:08:51.955-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">AIA30</category><category domain="http://www.blogger.com/atom/ns#">Book Review</category><title>Oracle Application Integration Architecture (AIA) Foundation Pack 11gR1: Essentials Book Released</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;The book &quot;Oracle Application Integration Architecture (AIA) Foundation Pack 11gR1: Essentials&quot; has been released. Having been one of the reviewers for this book, I can easily say that this is the book for those who want a head start on Oracle AIA!&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;It is worth the effort to read this book and this book has all aspects of Oracle AIA covered in terms of detailed explanation of concepts, illustrations, diagrams, pictures, tips, examples and lot more.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;You can purchase this book at &lt;a href=&quot;http://www.packtpub.com/&quot; style=&quot;color: magenta;&quot;&gt;http://www.packtpub.com&lt;/a&gt;. Please click on the book below to get to the book at PacktPub!&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
Cheers,&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;- AR&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://link.packtpub.com/LGlVIo&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPVkBhVINAN_igQ6jBJHIil1ExgHrMH-eJZ50qmPXHNDumykEihcgJ-g5UunLT5i3ITOEe_FxIivZvoLoPg9xemX5z2SNFeS_K0kV8oZIjo7rxjysOC0n4ci-bSduULJG5SJdyCkrp_B8/s1600/4804EN&quot; title=&quot;Oracle Application Integration Architecture (AIA) Foundation Pack 11gR1: Essentials&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;</description><link>http://oracleaia.blogspot.com/2012/04/oracle-application-integration.html</link><author>noreply@blogger.com (Arun Ramesh)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPVkBhVINAN_igQ6jBJHIil1ExgHrMH-eJZ50qmPXHNDumykEihcgJ-g5UunLT5i3ITOEe_FxIivZvoLoPg9xemX5z2SNFeS_K0kV8oZIjo7rxjysOC0n4ci-bSduULJG5SJdyCkrp_B8/s72-c/4804EN" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4400463453730620172.post-8563709178126109340</guid><pubDate>Tue, 11 Oct 2011 19:06:00 +0000</pubDate><atom:updated>2011-10-11T15:06:32.858-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Finds</category><category domain="http://www.blogger.com/atom/ns#">SOA10g</category><category domain="http://www.blogger.com/atom/ns#">SOA11g</category><title>View stale Instances in SOA 10g/11g - Update</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;I just had a comment from one of my readers. The comment had a question if the instances could be recovered by deploying the same version of the composite. I had another &lt;a href=&quot;http://oracleaia.blogspot.com/2010/06/view-stale-bpel-instances-in-soa-10g11g.html&quot;&gt;&lt;span style=&quot;color: magenta;&quot;&gt;blog post&lt;/span&gt;&lt;/a&gt; on the state of bpel instances.&lt;br /&gt;
&lt;br /&gt;
I tried changing the state from 9 to 5 in the CUBE_INSTANCE and could see the instance become active. I tried this in 11g and it worked. This can be used in 10g to recover the stale instances.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
-AR&lt;/div&gt;</description><link>http://oracleaia.blogspot.com/2011/10/view-stale-instances-in-soa-10g11g.html</link><author>noreply@blogger.com (Arun Ramesh)</author><thr:total>1</thr:total><georss:featurename>220 Littleton Rd, Parsippany-Troy Hills, NJ 07054, USA</georss:featurename><georss:point>40.866733 -74.422117000000014</georss:point><georss:box>8.3048785000000009 -134.18774200000001 73.4285875 -14.656492000000014</georss:box></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4400463453730620172.post-7719596403951292354</guid><pubDate>Thu, 02 Jun 2011 09:23:00 +0000</pubDate><atom:updated>2011-06-02T05:23:50.130-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Book Review</category><title>Getting Started with Oracle BPM Suite 11gR1 – A Hands-On Tutorial</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:WordDocument&gt;   &lt;w:View&gt;Normal&lt;/w:View&gt;   &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:TrackMoves/&gt;   &lt;w:TrackFormatting/&gt;   &lt;w:PunctuationKerning/&gt;   &lt;w:ValidateAgainstSchemas/&gt;   &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:DoNotPromoteQF/&gt;   &lt;w:LidThemeOther&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:Compatibility&gt;    &lt;w:BreakWrappedTables/&gt;    &lt;w:SnapToGridInCell/&gt;    &lt;w:WrapTextWithPunct/&gt;    &lt;w:UseAsianBreakRules/&gt;    &lt;w:DontGrowAutofit/&gt;    &lt;w:SplitPgBreakAndParaMark/&gt;    &lt;w:DontVertAlignCellWithSp/&gt;    &lt;w:DontBreakConstrainedForcedTables/&gt;    &lt;w:DontVertAlignInTxbx/&gt;    &lt;w:Word11KerningPairs/&gt;    &lt;w:CachedColBalance/&gt;   &lt;/w:Compatibility&gt;   &lt;m:mathPr&gt;    &lt;m:mathFont m:val=&quot;Cambria Math&quot;/&gt;    &lt;m:brkBin m:val=&quot;before&quot;/&gt;    &lt;m:brkBinSub m:val=&quot;&amp;#45;-&quot;/&gt;    &lt;m:smallFrac m:val=&quot;off&quot;/&gt;    &lt;m:dispDef/&gt;    &lt;m:lMargin m:val=&quot;0&quot;/&gt;    &lt;m:rMargin m:val=&quot;0&quot;/&gt;    &lt;m:defJc m:val=&quot;centerGroup&quot;/&gt;    &lt;m:wrapIndent m:val=&quot;1440&quot;/&gt;    &lt;m:intLim m:val=&quot;subSup&quot;/&gt;    &lt;m:naryLim m:val=&quot;undOvr&quot;/&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:LatentStyles DefLockedState=&quot;false&quot; DefUnhideWhenUsed=&quot;true&quot;
  DefSemiHidden=&quot;true&quot; DefQFormat=&quot;false&quot; DefPriority=&quot;99&quot;
  LatentStyleCount=&quot;267&quot;&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;0&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Normal&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;heading 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 7&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 8&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 9&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 7&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 8&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 9&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;35&quot; QFormat=&quot;true&quot; Name=&quot;caption&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;10&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Title&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;1&quot; Name=&quot;Default Paragraph Font&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;11&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Subtitle&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;22&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Strong&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;20&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Emphasis&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;59&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Table Grid&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; UnhideWhenUsed=&quot;false&quot; Name=&quot;Placeholder Text&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;1&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;No Spacing&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; UnhideWhenUsed=&quot;false&quot; Name=&quot;Revision&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;34&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;List Paragraph&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;29&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Quote&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;30&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Intense Quote&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 1&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 2&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 3&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 4&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 5&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 6&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;19&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Subtle Emphasis&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;21&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Intense Emphasis&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;31&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Subtle Reference&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;32&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Intense Reference&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;33&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Book Title&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;37&quot; Name=&quot;Bibliography&quot;/&gt;   &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; QFormat=&quot;true&quot; Name=&quot;TOC Heading&quot;/&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;
 /* Style Definitions */
 table.MsoNormalTable
 {mso-style-name:&quot;Table Normal&quot;;
 mso-tstyle-rowband-size:0;
 mso-tstyle-colband-size:0;
 mso-style-noshow:yes;
 mso-style-priority:99;
 mso-style-qformat:yes;
 mso-style-parent:&quot;&quot;;
 mso-padding-alt:0in 5.4pt 0in 5.4pt;
 mso-para-margin:0in;
 mso-para-margin-bottom:.0001pt;
 mso-pagination:widow-orphan;
 font-size:10.0pt;
 font-family:&quot;Times New Roman&quot;,&quot;serif&quot;;
 mso-fareast-font-family:&quot;Times New Roman&quot;;}
&lt;/style&gt; &lt;![endif]--&gt;  &lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://link.packtpub.com/W7WzEU&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio5RDF6k834KU1sGeFiuDaPNrWpHngiL8d1UWQD2leDB67bJdL22IOVq9T0XV0CZ5D47MLmoWLX75xxpuCHV-KqFJJ5CX4W8DokhlZ4meyoJ_umPNuTF18Tu_3cmVz7S7MwyFzeg6x4B8/s1600/1681EN_Getting+started+with+oraclecov_LowRes.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;I am avid reader and I have made it a practice to learn from reading. Most of what I have learnt today has been from my discontinued reading. Working on Oracle Fusion Middleware and SOA related technologies, I felt the need to educate myself on Oracle BPM and its concepts, for starters. I was reading the Oracle’s documentation of BPM, when I was contacted by Packt Publishing asking my opinion on the book titled &lt;a href=&quot;http://link.packtpub.com/W7WzEU&quot; style=&quot;color: blue;&quot;&gt;&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;Getting Started with Oracle BPMSuite 11gR1 – A Hands-On Tutorial&lt;/b&gt;&lt;/a&gt;.&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;  &lt;/span&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;  &lt;/span&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: inherit;&quot;&gt;Reading the book has indeed been a fulfilling experience for me. The book is simple, neat and well organized and it is worth mentioning that, this is a perfect book to start with, for learning Oracle BPM. The book throws light on the basics of BPM and hence caters to readers&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span style=&quot;color: #0070c0;&quot;&gt; &lt;/span&gt;&lt;/b&gt;who are completely new to BPM making the reading experience worth one’s effort.&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;  &lt;/span&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;  &lt;/span&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: inherit;&quot;&gt;The book has been organized to cover BPM in a nutshell, yet very effectively. It explains in detail the entire product lifecycle encompassing product installation, product overview, product components in detail, samples and even the product administration. This will serve as a handbook which one can use to refer to any part during their busy schedule, as this book, in each chapter provides precise and right amount of information needed to make use of the product/component.&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;  &lt;/span&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;  &lt;/span&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: inherit;&quot;&gt;Having read the book for more than a couple of months, I particularly like the way the author has structured the flow of the book. It starts with introducing the BPM, its evolution and where BPM fits in a SOA. It adds more by explaining a process based application with mention on roles in the BPM projects.&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;  &lt;/span&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: inherit;&quot;&gt;The book then concentrates on Product Management, describing briefly the architecture, process analytics and features of the BPM product. The Functional overview covers key features of &lt;span style=&quot;color: black; mso-bidi-font-family: &amp;quot;Book Antiqua&amp;quot;;&quot;&gt;Oracle BPM Suite 11&lt;span style=&quot;mso-bidi-font-style: italic;&quot;&gt;g.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;  &lt;/span&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;  &lt;/span&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: inherit;&quot;&gt;Having introduced the fundamentals of BPM with relevant example, the author has by now ensured that the reader is made well aware of the basic concepts of BPM. The book then takes us through the complete installation process of &lt;span style=&quot;color: black; mso-bidi-font-family: &amp;quot;Book Antiqua&amp;quot;;&quot;&gt;Oracle BPM Suite 11&lt;span style=&quot;mso-bidi-font-style: italic;&quot;&gt;g. It elaborates all installation steps right from creating schemas, configuring WLS, installing BPM with SOA already in place with attention to detail in every section. This makes installation, a learning experience and not a daunting task (as in most installations!). From my personal experience in working with product installations, I feel the author has paid acute attention even to the minute details in compiling this particular section on step-by-step process for installation of Oracle BPM Suite 11g. The installation steps, being the core to start learning BPM, has been dealt with brilliantly and definitely stands as one of the best reasons to own to the book.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;  &lt;/span&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;  &lt;/span&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: &amp;quot;Book Antiqua&amp;quot;; mso-bidi-font-style: italic;&quot;&gt;The next couple of sections start to get practical, post installation of the product. These sections provide practical tutorials on application creation, role and participants’ definition and application set up. It also describes the procedure to run the application, once it has been set up. &lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;  &lt;/span&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;  &lt;/span&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: &amp;quot;Book Antiqua&amp;quot;; mso-bidi-font-style: italic;&quot;&gt;The tutorials have been designed to facilitate readers to gain familiarity with the components of the BPM application. The sample application developed in the chapters so far however does not have any logic and that is when the next few sections kick in. &lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&lt;/span&gt;These sections help one to add more logic by means of functionality to the application already being developed (by the reader). The use of Process Composer and BAM dashboards as added functionality, are also covered.&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;  &lt;/span&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;  &lt;/span&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: &amp;quot;Book Antiqua&amp;quot;; mso-bidi-font-style: italic;&quot;&gt;The book also covers individual components which when used in BPM applications, provide more functionality. The Oracle Business Rules and Human Tasks are well illustrated.&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;  &lt;/span&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: &amp;quot;Book Antiqua&amp;quot;; mso-bidi-font-style: italic;&quot;&gt;From the many books that I have read in the past on SOA, I have rarely seen books illustrating the non-functional aspects of a product. I was happy to find almost more than a couple of chapters covering the non functional aspect of the BPM.. These chapters have to be read slowly and in depth, to enable better understanding of the concepts covered. The events and exception handling play a role in almost all applications and these have to be mastered in order to create a robust and an efficient application. &lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;  &lt;/span&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;  &lt;/span&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;color: black; mso-bidi-font-family: &amp;quot;Book Antiqua&amp;quot;; mso-bidi-font-style: italic;&quot;&gt;The book also covers the administration of the BPM environment, although not in detail. The administration by itself is an area, where most books don’t venture much into and it is reasonable not to have added more to this section. Interested readers can find more information about BPM administration from the Oracle BPM Administrators’ Guide.&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;  &lt;/span&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;  &lt;/span&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;font-family: inherit;&quot;&gt;The book covers almost everything one needs to know about BPM and the authors have made sure; the reader is not bogged down by too much text and concepts incomprehensible. I have been selectively reading chapters repeatedly and I would any day have this book stashed in my dashboard for quick reference!&lt;/div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;  &lt;/span&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;Cheers,&lt;/div&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;-AR &lt;/div&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;</description><link>http://oracleaia.blogspot.com/2011/06/getting-started-with-oracle-bpm-suite.html</link><author>noreply@blogger.com (Arun Ramesh)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEio5RDF6k834KU1sGeFiuDaPNrWpHngiL8d1UWQD2leDB67bJdL22IOVq9T0XV0CZ5D47MLmoWLX75xxpuCHV-KqFJJ5CX4W8DokhlZ4meyoJ_umPNuTF18Tu_3cmVz7S7MwyFzeg6x4B8/s72-c/1681EN_Getting+started+with+oraclecov_LowRes.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4400463453730620172.post-7077153596139719820</guid><pubDate>Sun, 13 Feb 2011 14:02:00 +0000</pubDate><atom:updated>2011-05-25T10:05:17.582-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">XSLT</category><title>Comparing Dates in XSLT</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Dates manipulation is a very daunting task in XSLT, considering the very limited date-time functions that XSLT 1.0 offers. XSLT 2.0 is enhanced as far this case is concerned. I had to compare dates in XSLT 1.0 and I was contemplating of using a java embedding node, not until I found how to compare the dates in XSLT as below:&lt;br /&gt;
&lt;br /&gt;
1. Convert the date into the format YYYY-MM-DD, either using a function or using existing string functions&lt;br /&gt;
2. Do a translate on the date available, &lt;b style=&quot;color: #741b47;&quot;&gt;translate($Date, &#39;-&#39;, &#39;&#39;)&lt;/b&gt;&lt;br /&gt;
3. By doing a translate, the date is converted to ISO date format &lt;br /&gt;
4. Do this to both the dates&lt;br /&gt;
5. The dates in the ISO format can be directly used for comparison like ISODate1 &amp;gt; ISODate2 etc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
-AR&lt;/div&gt;</description><link>http://oracleaia.blogspot.com/2011/02/comparing-dates-in-xslt.html</link><author>noreply@blogger.com (Arun Ramesh)</author><thr:total>5</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4400463453730620172.post-7258582341594972059</guid><pubDate>Tue, 25 Jan 2011 13:58:00 +0000</pubDate><atom:updated>2011-05-25T09:01:43.526-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">BPEL</category><category domain="http://www.blogger.com/atom/ns#">Info</category><category domain="http://www.blogger.com/atom/ns#">Quickies</category><title>BPEL States in CUBE_INSTANCE</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Very recently, I had a requirement as part of Performance Testing to look up all instances of all BPEL Process which are in a particular state. I was reading the Admin Guide and found the below information. Thought it is worthwhile documenting this information for quick reference:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;0 --&amp;gt; initiated&lt;br /&gt;
1 --&amp;gt; open and running&lt;br /&gt;
2 --&amp;gt; open and suspended&lt;br /&gt;
3 --&amp;gt; open and faulted&lt;br /&gt;
4 --&amp;gt; closed and pending&lt;br /&gt;
5 --&amp;gt; closed and completed&lt;br /&gt;
6 --&amp;gt; closed and faulted&lt;br /&gt;
7 --&amp;gt; closed and canceled&lt;br /&gt;
8 --&amp;gt; closed and aborted&lt;br /&gt;
9 --&amp;gt; closed and stale&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;Cheers,&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;-AR &lt;/span&gt;&lt;/div&gt;</description><link>http://oracleaia.blogspot.com/2011/01/bpel-states-in-cubeinstance.html</link><author>noreply@blogger.com (Arun Ramesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4400463453730620172.post-442065496449711697</guid><pubDate>Thu, 13 Jan 2011 12:20:00 +0000</pubDate><atom:updated>2011-05-25T07:41:59.453-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">XSLT</category><title>XSLT for indentifying line feed character</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;A line feed character is nothing but a new line character. I had a requirement to break a text in one of fields in input xml received by a bpel process. I tried using substring-before function with checking if the value contains  &#39;&amp;amp;xa&#39;. However, the soa server does not seem to recognize this.&lt;br /&gt;
&lt;br /&gt;
I understood Substring wouldn&#39;t work for line feed characters. The xslt chunk in this post will remove the line feed character and extract the text. Consider the input xml:&lt;br /&gt;
&lt;div style=&quot;color: #741b47;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;i&gt;&amp;lt;Emp_No&amp;gt;100&amp;lt;/Emp_No&amp;gt;&lt;br /&gt;
&amp;lt;Emp_Name&amp;gt;SS&amp;lt;/Emp_Name&amp;gt;&lt;br /&gt;
&amp;lt;Details&amp;gt;First Employee&lt;br /&gt;
Second Employee&lt;br /&gt;
Third Employee&amp;lt;/Details&amp;gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
This xml has to be transformed to:&lt;br /&gt;
&lt;div style=&quot;color: #741b47;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;i&gt;&amp;lt;Details1&amp;gt;First Employee&amp;lt;/Details1&amp;gt;&lt;br /&gt;
&amp;lt;Details2&amp;gt;Second Employee&amp;lt;/Details2&amp;gt;&lt;br /&gt;
&amp;lt;Details3&amp;gt;Third Employee&amp;lt;/Details3&amp;gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
Use the XSLT below to do the transformation:&lt;br /&gt;
&lt;div style=&quot;color: #741b47;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;i&gt;&amp;lt;xsl:variable name=&quot;Temp&quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&quot;translate(/InputXml/Details, &#39;&amp;amp;#xA;&#39;, &#39;|&#39;)&quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
&amp;lt;Details1&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&quot;substring-before($Temp,&#39;|&#39;)&quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Details1&amp;gt;&lt;br /&gt;
&amp;lt;Details2&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&quot;substring-before(substring-after($Temp,&#39;|&#39;),&#39;|&#39;)&quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Details2&amp;gt;&lt;br /&gt;
&amp;lt;Details3&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&quot;substring-after(substring-after($Temp,&#39;|&#39;),&#39;|&#39;)&quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Details3&amp;gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
-AR&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</description><link>http://oracleaia.blogspot.com/2011/01/xslt-for-indentifying-line-feed.html</link><author>noreply@blogger.com (Arun Ramesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4400463453730620172.post-2079223914249577174</guid><pubDate>Sat, 08 Jan 2011 11:53:00 +0000</pubDate><atom:updated>2011-05-25T07:10:47.633-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">XSLT</category><title>XSLT transformation and Line Breaks</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;This post details how to add and remove Line Breaks in a XSLT.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;Removing Line Breaks in XSLT:&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
Consider the XML below. Need to remove the line breaks in the input payload:&lt;br /&gt;
&lt;span style=&quot;color: #741b47; font-size: x-small;&quot;&gt;&lt;i&gt;&amp;lt;test&amp;gt;Line1&lt;br /&gt;
Line2&amp;lt;/test&amp;gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Use the XSLT chunk below to remove the line break from the XML:&lt;br /&gt;
&lt;span style=&quot;color: #741b47; font-size: x-small;&quot;&gt;&lt;i&gt;&amp;lt;xsl:variable name=&quot;Temp&quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&quot;translate(/InputXml/test, &#39;&amp;amp;#xA;&#39;, &#39;|&#39;)&quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:variable&amp;gt;&lt;br /&gt;
&amp;lt;Line1&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&quot;substring-before($Temp,&#39;|&#39;)&quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Line1&amp;gt;&lt;br /&gt;
&amp;lt;Line2&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&quot;substring-after($Temp,&#39;|&#39;)&quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Line2&amp;gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
And then do a  concat($Line1,&#39;,&#39;,$Line2) or as required!&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;Adding Line Breaks in XSLT:&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
Adding a line break should not be an issue once the removal of it has been figured out. Lets consider the same XML without line break. We will add line breaks to generate the xml:&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;i style=&quot;color: #741b47;&quot;&gt;&amp;lt;test&amp;gt;Line1&lt;br /&gt;
Line2&amp;lt;/test&amp;gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Use the XSLT chunk below to add the line break from the XML:&lt;br /&gt;
&lt;div style=&quot;color: #741b47;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;i&gt;&amp;lt;xsl:stylesheet version=&quot;1.0&quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&quot;/&quot;&amp;gt;&lt;br /&gt;
&amp;lt;OutputXml&amp;gt;&lt;br /&gt;
&amp;lt;Details&amp;gt;&lt;br /&gt;
&amp;lt;xsl:value-of select=&quot;concat(/InputXml/Line1,&#39;&amp;amp;#xA;&#39;,/InputXml/Line2)&quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/Details&amp;gt;&lt;br /&gt;
&amp;lt;/OutputXml&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;/i&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;
Cheers,&lt;br /&gt;
-AR &lt;br /&gt;
&amp;nbsp;&lt;/div&gt;</description><link>http://oracleaia.blogspot.com/2011/01/xslt-transformation-and-line-breaks.html</link><author>noreply@blogger.com (Arun Ramesh)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4400463453730620172.post-4314452341675575526</guid><pubDate>Sat, 01 Jan 2011 15:45:00 +0000</pubDate><atom:updated>2011-01-10T06:48:04.165-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Miscellaneous</category><title>Happy New Year 2011 !</title><description>Dear Visitors,&lt;br /&gt;
&lt;br /&gt;
Wish you all a very happy and prosperous new year ahead.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #741b47; text-align: center;&quot;&gt;&lt;u&gt;&lt;b&gt;Happy New Year 2011 !&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Thank you all for reading my blog and supporting me. Please continue to do so in the year ahead too!&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
-AR</description><link>http://oracleaia.blogspot.com/2011/01/happy-new-year-2011.html</link><author>noreply@blogger.com (Arun Ramesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4400463453730620172.post-837690796395987241</guid><pubDate>Wed, 29 Dec 2010 11:35:00 +0000</pubDate><atom:updated>2011-01-10T06:45:21.661-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Finds</category><category domain="http://www.blogger.com/atom/ns#">Info</category><category domain="http://www.blogger.com/atom/ns#">Miscellaneous</category><title>FOTY0001: Type Error</title><description>I have encountered the below error during runtime many a time:&lt;br /&gt;
&lt;div style=&quot;color: #741b47;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;i&gt;&lt;br /&gt;
&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: #741b47;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;i&gt;&lt;error&gt; &lt;default2.collaxa.cube.xml&gt; ORABPEL-09500&lt;br /&gt;
XPath expression failed to execute.&lt;br /&gt;
Error while processing xpath expression, the expression is &quot;ora:processXSLT(&#39;Transformation_5.xsl&#39;,bpws:getVariableData(&#39;inputVariable&#39;,&#39;payload&#39;))&quot;, the reason is FOTY0001: type error. Please verify the xpath query.&lt;/default2.collaxa.cube.xml&gt;&lt;/error&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
This error, though mentions the reason for failure was due to a xpath expression, when one executes the xslt using xalan or test option of Jdeveloper, the xslt works fine. I later found that the part name was missing in the transformation node where the xsl was used. This could be because, the bpel file was edited prematurely even before the details of the node were loaded or could be an actual issue with the schema (in case of first timers)!&lt;br /&gt;
&lt;br /&gt;
Always check if the part name in the transformation node are present and are correct before debugging further on this error. I found the &lt;a href=&quot;http://forums.oracle.com/forums/thread.jspa?threadID=884063&quot; style=&quot;color: magenta;&quot;&gt;this link&lt;/a&gt; useful when I was debugging.&lt;br /&gt;
&lt;br /&gt;
Please note this is only one such FOTY0001 error (most common) and one such solution which worked for me. There could be many other reasons for the error in different scenarios and hence different resolutions.&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
-AR</description><link>http://oracleaia.blogspot.com/2010/12/foty0001-type-error.html</link><author>noreply@blogger.com (Arun Ramesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4400463453730620172.post-5414584954661175083</guid><pubDate>Sat, 18 Dec 2010 10:29:00 +0000</pubDate><atom:updated>2011-01-10T06:34:44.713-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Info</category><category domain="http://www.blogger.com/atom/ns#">OBR11g</category><category domain="http://www.blogger.com/atom/ns#">SOA11g</category><title>Oracle Business Rules as a Composite Service</title><description>The general practice of using Oracle Business Rules is to create a set of rules in a dictionary and this dictionary in turn will be invoke by a bpel, which would have been exposed as a web service or composite service. But there are cases where a bpel is not needed and one needs the service of just rules.&lt;br /&gt;
&lt;br /&gt;
In those particular cases, the dictionary themselves can be exposed as a composite service. So a web service would be created which would directly interface with the dictionary. A couple of points has to be noted when doing this and apart from that, its just a normal rules configuration, soa composite deploy and test:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;Create an empty composite, just add a dictionary and make sure to mark the dictionary for the below:&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfIzaVmnWA-a12fHl1mLlbXlpAVNr0BDERLqrNLY_zTQwyjiIcp5jeRh7ugObeU5A7GIkzJjOyFjgYz18qaNzP8nMPVu41synh5f74UA7v4VwE9AtoZrBuAm4t8o_ADjKcLtkWQK8A9b8/s1600/RulesWithoutBPEL1.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;256&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfIzaVmnWA-a12fHl1mLlbXlpAVNr0BDERLqrNLY_zTQwyjiIcp5jeRh7ugObeU5A7GIkzJjOyFjgYz18qaNzP8nMPVu41synh5f74UA7v4VwE9AtoZrBuAm4t8o_ADjKcLtkWQK8A9b8/s320/RulesWithoutBPEL1.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;span id=&quot;goog_2001891048&quot;&gt;&lt;/span&gt;&lt;span id=&quot;goog_2001891049&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_DNQQal-qk9Twl47b1l0QCaSXu-kn9J2_kZUHHQMnPnrrDr1PM_7cWl6OW0O0UkfnrsEMKaqVvm1WsUoTMO-LzYn-ShkOGe8mNJAYFf_g9v6JLKxWz8IxXvB28qDkc8e8K9v5_nAuE94/s1600/RulesWithoutBPEL2.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;207&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_DNQQal-qk9Twl47b1l0QCaSXu-kn9J2_kZUHHQMnPnrrDr1PM_7cWl6OW0O0UkfnrsEMKaqVvm1WsUoTMO-LzYn-ShkOGe8mNJAYFf_g9v6JLKxWz8IxXvB28qDkc8e8K9v5_nAuE94/s320/RulesWithoutBPEL2.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg48OxYCweO0P8Rkjis21fZHais3szfd000rPbzYfQNxjBvAKOshbLmwtefsw0nxiCJ04pZSEF-l3o281AJ5WksXZLJwkdZ-o__hd02TKefzmv4SNRE_iTLZMJ7naLKUjpZ1wuWIgyRvrU/s1600/RulesWithoutBPEL3.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;149&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg48OxYCweO0P8Rkjis21fZHais3szfd000rPbzYfQNxjBvAKOshbLmwtefsw0nxiCJ04pZSEF-l3o281AJ5WksXZLJwkdZ-o__hd02TKefzmv4SNRE_iTLZMJ7naLKUjpZ1wuWIgyRvrU/s320/RulesWithoutBPEL3.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;When testing the service, it would require the name of the decision function to be passed. Earlier this was taken care by the bpel when we used to drag drop the business rules component and choose the dictionary and decision function:&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5ZChkWo1tXPGsD__Bz_tHfFQzdjNseYUk4_37HK6MT7eiYrJ4a4mQXsPMIr0-FJxTPSevSYYsUKl1CCbd5-IR8_fzerLhnVjBfZ_p1jWX9RDm5LKjlWyjwBbZbcJw1b_ZpQEqYCl2Jng/s1600/RulesWithoutBPEL4.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;141&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5ZChkWo1tXPGsD__Bz_tHfFQzdjNseYUk4_37HK6MT7eiYrJ4a4mQXsPMIr0-FJxTPSevSYYsUKl1CCbd5-IR8_fzerLhnVjBfZ_p1jWX9RDm5LKjlWyjwBbZbcJw1b_ZpQEqYCl2Jng/s320/RulesWithoutBPEL4.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
-AR</description><link>http://oracleaia.blogspot.com/2010/12/oracle-business-rules-as-composite.html</link><author>noreply@blogger.com (Arun Ramesh)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfIzaVmnWA-a12fHl1mLlbXlpAVNr0BDERLqrNLY_zTQwyjiIcp5jeRh7ugObeU5A7GIkzJjOyFjgYz18qaNzP8nMPVu41synh5f74UA7v4VwE9AtoZrBuAm4t8o_ADjKcLtkWQK8A9b8/s72-c/RulesWithoutBPEL1.JPG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4400463453730620172.post-7387843285392033709</guid><pubDate>Sun, 28 Nov 2010 16:59:00 +0000</pubDate><atom:updated>2011-06-02T05:03:06.616-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Book Review</category><title>Upcoming Review of the book - Getting Started with Oracle BPM Suite 11gR1</title><description>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;I have been reading technical articles and books on SOA and related technologies. I have read several books to learn about Fusion Middleware 11g and one of the most effective ones among the lot was &quot;Getting Started With Oracle SOA Suite 11g R1&quot;. The book was very practical and the gets you started very fast with hands-on on Oracle SOA Suite 11g.&lt;br /&gt;
&lt;br /&gt;
Now, when I want to teach myself Oracle BPM 11g, I am naturally attracted to a book, similar in nature, for BPM, &quot;Getting Started with Oracle BPM Suite 11gR1&quot;. I will be using the book for learning BPM, on a hands-on level. On completion of this book, I would put forth my review of the book. In the meantime, for those interested to help me out on this exercise, the book can be found and bought via the link below (Click on the picture to find and purchase the book).&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://link.packtpub.com/W7WzEU&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-ENPx9B38u1Z_zw19NlkKFp1TYGlqNOFD5Lf4h7bUSutxRophtoxPyZ1uVTjnZ4KXHTYPJ_bFc_psjfn1q1HAWkkI97C2ZNK-LnOJ2yk_XcO46z6OEB7K2z4exq_UPwLDjoGXkvzRzcY/s1600/1681EN_Getting+started+with+oraclecov_LowRes.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
- AR&lt;/div&gt;</description><link>http://oracleaia.blogspot.com/2010/11/upcoming-review-of-book-getting-started.html</link><author>noreply@blogger.com (Arun Ramesh)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-ENPx9B38u1Z_zw19NlkKFp1TYGlqNOFD5Lf4h7bUSutxRophtoxPyZ1uVTjnZ4KXHTYPJ_bFc_psjfn1q1HAWkkI97C2ZNK-LnOJ2yk_XcO46z6OEB7K2z4exq_UPwLDjoGXkvzRzcY/s72-c/1681EN_Getting+started+with+oraclecov_LowRes.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4400463453730620172.post-1649526701493313762</guid><pubDate>Mon, 11 Oct 2010 00:40:00 +0000</pubDate><atom:updated>2010-11-29T09:00:10.221-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Info</category><category domain="http://www.blogger.com/atom/ns#">SOA11g</category><category domain="http://www.blogger.com/atom/ns#">Utilities</category><title>ora:parseEscapedXml function fails during conversion</title><description>The ora:parseEscapedXml functions fails to convert string which have &amp;amp; &#39;Ampersand&#39; in them. It errors during conversion and the error in the BPEL Console is nowhere close to the issue. There has already a bug filed for this issue, bug# 5598150 and it appears to have been fixed in 11.1.1.0.0. I am running on 11.1.1.2.0 and I still face this issue !&lt;br /&gt;
&lt;br /&gt;
On metalink, there is a workarouund provided for this issue. One needs to replace &lt;b&gt;&amp;amp;&lt;/b&gt; with &lt;b&gt;&amp;amp; amp; amp;&lt;/b&gt; (mentioned with spaces so that its not converted to &amp;amp; by html). This can be done using a XSLT replace all template or a java embedding node.&lt;br /&gt;
&lt;br /&gt;
Refer to &lt;b&gt;How to solve the Ora:Parseescapedxml error when you are using ampersand character [ID 418488.1] &lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt; line-height: 115%;&quot;&gt;in metalink for the workaround using java.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt; line-height: 115%;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt; line-height: 115%;&quot;&gt;Bug 5598150 - AMPERSAND ENTITY IS NOT HANDLED CORRECT&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt; line-height: 115%;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt; line-height: 115%;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt; line-height: 115%;&quot;&gt;Peace!&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt; line-height: 115%;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt; line-height: 115%;&quot;&gt;Cheers,&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt; line-height: 115%;&quot;&gt;-AR&lt;/span&gt;</description><link>http://oracleaia.blogspot.com/2010/10/oraparseescapedxml-function-fails.html</link><author>noreply@blogger.com (Arun Ramesh)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4400463453730620172.post-8090166192457741018</guid><pubDate>Thu, 30 Sep 2010 12:10:00 +0000</pubDate><atom:updated>2010-11-29T08:32:01.588-05:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Finds</category><category domain="http://www.blogger.com/atom/ns#">Info</category><category domain="http://www.blogger.com/atom/ns#">OBR11g</category><category domain="http://www.blogger.com/atom/ns#">SOA11g</category><category domain="http://www.blogger.com/atom/ns#">Utilities</category><title>Re-generation of facts fail when Java facts originating from same Schema exits</title><description>Re-generation of facts in a dictionary in Oracle Business Rules 11g is a simple step. One needs to just update the schema and reload the facts from the options available in the &lt;i&gt;Fact&lt;/i&gt; tab of the dictionary. Unfortunately, I had been struggling for more than two weeks on this simple step and any change in schema, be it addition/deletion of an element or change in an element&#39;s type, the facts in the dictionary were so glued to the dictionary that, they refused to update !&lt;br /&gt;
&lt;br /&gt;
I pondered over a lot of options and tried a lot of workarounds/suggestions:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Re-created the schema and imported the schema again into Jdeveloper&lt;/li&gt;
&lt;li&gt;Cleaned the temporary files in windows which Jdeveloper creates, stores and uses, available under an user&#39;s profile&lt;/li&gt;
&lt;li&gt;Reloaded the facts in the dictionary in a different package (not the default). This updated the facts but all the existing reference in the dictionary had errors in them&lt;/li&gt;
&lt;li&gt;I even re-designed the schema based on one of my earlier &lt;a href=&quot;http://oracleaia.blogspot.com/2010/09/schema-design-when-schema-is-to-be-used.html&quot;&gt;&lt;b&gt;posts&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;All my efforts were futile and we had in the meanwhile a SR open with Oracle and we were getting some directions from them. Finally, Oracle found that we had been using a java fact created from the same schema&amp;nbsp; and imported via a jar, which was the issue!&lt;br /&gt;
&lt;br /&gt;
Since the jaxb objects were the same, they was issue in refreshing the xml facts when a java fact belonging to same schema existed in the same dictionary. Below are the steps to be followed when a xml fact has to be refreshed (as in the case mentioned above):&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Exit Jdeveloper&lt;/li&gt;
&lt;li&gt;Remove the jar referenced to import the java fact (from hard disk)&lt;/li&gt;
&lt;li&gt;Start Jdeveloper, remove the jar from project reference&lt;/li&gt;
&lt;li&gt;Update the schema (preferably, open the schema and update contents instead of a replace of .xsd file)&lt;/li&gt;
&lt;li&gt;Save all artifacts and run a clean up (not necessary, just a feel good factor) from Build&amp;gt;CleanAll&lt;/li&gt;
&lt;li&gt;Reload facts from updated Schema and check for the same (in case not refreshed, close Jdeveloper and try cleaning workspace)&lt;/li&gt;
&lt;li&gt;Update the jar with the update schema and reference it in the project properties&lt;/li&gt;
&lt;/ol&gt;Good to move on now !! &lt;br /&gt;
&lt;br /&gt;
Peace!&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
-AR</description><link>http://oracleaia.blogspot.com/2010/09/re-generation-of-facts-fail-when-java.html</link><author>noreply@blogger.com (Arun Ramesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4400463453730620172.post-6937560624073805330</guid><pubDate>Wed, 22 Sep 2010 10:36:00 +0000</pubDate><atom:updated>2010-10-22T07:27:53.659-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Code Snippets</category><category domain="http://www.blogger.com/atom/ns#">SOA11g</category><category domain="http://www.blogger.com/atom/ns#">Utilities</category><title>Using Dynamic Endpoint for a non-AIA based Composite in SOA 11g</title><description>The use of dynamic endpoint approach for a non-AIA based Composite is more or less the same, as it would have to been done for an AIA Composite. The stress on AIA in the implementation of dynamic endpoint is because AIA has AIAConfigurations.properties file, where usually this type information is stored. This information can be changed, loaded and reference at runtime, and so making the endpoint dynamic. The non-existence of AIA does not limit one from implementing this.&lt;br /&gt;
&lt;br /&gt;
One just needs to make sure, AIA is replaced by a suitable component. By this statement, I mean one needs to make sure a mechanism is available to change, load and reference the endpoint at runtime. Oracle Fusion Middleware offers a lot of option for one to replace AIA. You can do any one of the below and yet use the dynamic endpoint feature without AIA:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Store information in a file and use file adapter to read the file whenever required&lt;/li&gt;
&lt;li&gt;Store information in a database table and use a DB adapter to fetch the information&lt;/li&gt;
&lt;li&gt;Use BPEL Preference Properties to store the information (Preference Properties can be modified at runtime from EM Console)&lt;/li&gt;
&lt;li&gt;Store the information in Domain Value Map (DVM) and use functions to read the information from DVM&lt;/li&gt;
&lt;/ul&gt;In all the cases, the information can be modified on the fly and each have their own set of limitations. I&amp;nbsp; saw DVM as the simplest, straightforward, hassle-free and readymade approach towards dynamic endpoint.&lt;br /&gt;
&lt;br /&gt;
I created a DVM to store the information: Name of the Composite and Endpoint URI for the Composite. Teh DVM can be created within the Composite or deployed to MDS directly and referred from MDS. As to, how to deploy the DVM to MDS and referring from MDS, read this post.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Implementing the Dynamic Endpoint:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Creating Variables in BPEL:&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Create two variables in the BPEL flow namely, TargetEndpointLocation (String) and EndpointReference (of Type EndpointReference from WS-Addressing)&lt;/li&gt;
&lt;li&gt;When creating&amp;nbsp; the variable EndpointReference, import the XSD ws_addressing.xsd and choose the element type EndpointReference to create the variable&lt;/li&gt;
&lt;li&gt;ws_addressing.xsd can be &lt;a href=&quot;https://docs.google.com/leaf?id=0B17zwLdkHXq-ODQ2ZDAzYzUtYTU0Yy00MTRhLWFlZGMtYTkxNjc0YWExZmE0&amp;amp;hl=en&amp;amp;authkey=COGuWQ&quot;&gt;downloaded from here&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;This way, one need not copy-paste any code, or insert any namespace in the BPEL Process and its corresponding WSDL&amp;nbsp;&lt;/li&gt;
&lt;li&gt;After creating the variables, open the .bpel in source&amp;nbsp; mode and look for the namespace http://schemas.xmlsoap.org/ws/2003/03/addressing. Change the namespace prefix to wsa so that the namespace looks like below:&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;i style=&quot;color: #741b47;&quot;&gt;xmlns:wsa=&quot;http://schemas.xmlsoap.org/ws/2003/03/addressing&quot;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;u&gt;Implementing the dynamic endpoint:&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Use the dvm:lookupValue function to look up the endpoint URI from the DVM. In the code snippet below, I have the DVM in MDS and I am looking up a DVM by name Endpoints to get the endpoint URI&lt;/li&gt;
&lt;li&gt;Assign the URI to /wsa:EndpointReference/wsa:Address&lt;/li&gt;
&lt;li&gt;Assign the /wsa:EndpointReference/wsa:Address to Partner link in the invoke that follows this logic&lt;/li&gt;
&lt;li&gt;Insert the below code snippet just before the invoke node from the source view of the .bpel&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
&lt;u&gt;Code Snippet:&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #741b47; font-size: x-small;&quot;&gt;&amp;lt;scope name=&quot;Scope_GetDynamicEndpoint&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;sequence&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;assign name=&quot;Assign_targetEndpointLocation&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;copy&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;from expression=&quot;dvm:lookupValue(&#39;oramds:/apps/Samples/Endpoints.dvm&#39;,&#39;ServiceName&#39;,&#39;SampleFlow&#39;,&#39;EndPoint&#39;,&#39;&#39;)&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;to variable=&quot;TargetEndpointLocation&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/copy&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/assign&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;assign name=&quot;AssignPartnerlinkEndpointReference&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;copy&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;from&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;wsa:EndpointReference xmlns:wsa=&quot;http://schemas.xmlsoap.org/ws/2003/03/addressing&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;wsa:Address/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/wsa:EndpointReference&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/from&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;to variable=&quot;EndpointReference&quot; query=&quot;/wsa:EndpointReference&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/copy&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;copy&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;from variable=&quot;TargetEndpointLocation&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;to variable=&quot;EndpointReference&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query=&quot;/wsa:EndpointReference/wsa:Address&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/copy&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;copy&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;from variable=&quot;EndpointReference&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;to partnerLink=&quot;SampleFlowTarget&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/copy&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/assign&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;/sequence&amp;gt;&lt;br /&gt;
&amp;lt;/scope&amp;gt;&lt;br /&gt;
&lt;invoke name=&quot;SampleFlowTarget&quot;&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;inputVariable=&quot;Invoke_SampleFlowTarget_InputVariable&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;......&lt;/invoke&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Peace!&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
- AR</description><link>http://oracleaia.blogspot.com/2010/09/using-dynamic-endpoint-for-non-aia.html</link><author>noreply@blogger.com (Arun Ramesh)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4400463453730620172.post-7563298322275991155</guid><pubDate>Mon, 13 Sep 2010 12:50:00 +0000</pubDate><atom:updated>2010-10-08T09:05:41.164-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Code Snippets</category><category domain="http://www.blogger.com/atom/ns#">OBR11g</category><category domain="http://www.blogger.com/atom/ns#">Utilities</category><title>Function to find age in years in Oracle Business Rules</title><description>I was part of a discussion recently - can age be found within business rules or can bpel do the math and get it for business rules. Business rules is not less incompetent and it does offer capability to mathematical calculations or so called numerical manipulations.&lt;br /&gt;
&lt;br /&gt;
I had a date captured in a tag of type String and sent to business rules. I had to find the age from the date received in input. I have written a function in business rules that can get this done. Essentially the date is converted from string to date and then a difference in dates, will get you the result as an integer.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Duration.years between(OracleDate.from string(arg_1.IP1),RL.date.get current())&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgi8n3X2eVTPmsUrbPaEcPY9AwTQNW-lyIN0WU0zhZqwSEfFRgOhgzjR7A8iv5263SvNG8d7KjV-g_Jl3bejQAGUn1VOOa9ko5PolViPSFOQqQ6ROau89c3zAoOU-3yd4sCSl4lR7hD2LU/s1600/AgeFunction_OBR.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;145&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgi8n3X2eVTPmsUrbPaEcPY9AwTQNW-lyIN0WU0zhZqwSEfFRgOhgzjR7A8iv5263SvNG8d7KjV-g_Jl3bejQAGUn1VOOa9ko5PolViPSFOQqQ6ROau89c3zAoOU-3yd4sCSl4lR7hD2LU/s400/AgeFunction_OBR.JPG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Peace!&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
-AR</description><link>http://oracleaia.blogspot.com/2010/09/function-to-find-age-in-years-in-oracle.html</link><author>noreply@blogger.com (Arun Ramesh)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgi8n3X2eVTPmsUrbPaEcPY9AwTQNW-lyIN0WU0zhZqwSEfFRgOhgzjR7A8iv5263SvNG8d7KjV-g_Jl3bejQAGUn1VOOa9ko5PolViPSFOQqQ6ROau89c3zAoOU-3yd4sCSl4lR7hD2LU/s72-c/AgeFunction_OBR.JPG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4400463453730620172.post-724462016684340610</guid><pubDate>Sun, 05 Sep 2010 09:51:00 +0000</pubDate><atom:updated>2010-10-05T06:13:06.675-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Finds</category><category domain="http://www.blogger.com/atom/ns#">OBR11g</category><category domain="http://www.blogger.com/atom/ns#">Utilities</category><title>Schema design - when Schema is to be used for dictionary</title><description>Quite recently, I was struggling with an issue that Tree Mode in Oracle Business Rules was not working. This was not definitely the first time I was working with Tree Mode and I had used it before successfully. In the project where I noticed the issue, the tree mode expression assigned by JDeveloper was weird. Usually its the dots and slashes that you notice in a tree mode, but here, it was dollars.&lt;br /&gt;
&lt;br /&gt;
For instance, consider an order having many order lines. When you refer to orderlinenumber within the order line, the tree mode in my project with issues looked like &lt;i style=&quot;color: #741b47;&quot;&gt;$Order$OrderLine$OrderLineNumber&lt;/i&gt;. In an usual case, it would have been &lt;i style=&quot;color: #741b47;&quot;&gt;Order/OrderLine.OrderLineNumber&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
I then compared the project which worked fine with my current project. The issue was with the facts generated and hence the XSDs created in both the projects. The first project had a complex type defined for every element and that element had in its type the complex type definition. However, in the current project, there was no complex type defined and elements were defined individually and referenced within each other. This is still valid as per W3C standards. The XSD in both cases were as below:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhww-EdifhKj7fd5U4WfCzI3GZObkWZWANyPfMU5vmWHxho4_DK2-QnscNfVPDoZXr13eqcjYtPcJSvN_AMRbyHi4efIXIYP2sURG8IgSgYhyphenhyphenEd0JFozWTTT_Rnm-IP6D9EyCwWNc2upIk/s1600/SchemaIssue_OBR.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;172&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhww-EdifhKj7fd5U4WfCzI3GZObkWZWANyPfMU5vmWHxho4_DK2-QnscNfVPDoZXr13eqcjYtPcJSvN_AMRbyHi4efIXIYP2sURG8IgSgYhyphenhyphenEd0JFozWTTT_Rnm-IP6D9EyCwWNc2upIk/s400/SchemaIssue_OBR.JPG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The change in XSD also changed the way the facts were created. The facts in the first case were created based on the elements where as in the second case, it was the Complex types that was used by the Jaxb to create the facts !&lt;br /&gt;
&lt;br /&gt;
Peace !&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
-AR</description><link>http://oracleaia.blogspot.com/2010/09/schema-design-when-schema-is-to-be-used.html</link><author>noreply@blogger.com (Arun Ramesh)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhww-EdifhKj7fd5U4WfCzI3GZObkWZWANyPfMU5vmWHxho4_DK2-QnscNfVPDoZXr13eqcjYtPcJSvN_AMRbyHi4efIXIYP2sURG8IgSgYhyphenhyphenEd0JFozWTTT_Rnm-IP6D9EyCwWNc2upIk/s72-c/SchemaIssue_OBR.JPG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4400463453730620172.post-1985864203492119743</guid><pubDate>Tue, 24 Aug 2010 11:35:00 +0000</pubDate><atom:updated>2010-10-04T07:35:48.632-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">OBR11g</category><category domain="http://www.blogger.com/atom/ns#">Utilities</category><title>Compare between facts in condition</title><description>In Oracle Business Rules, it is usually the practice to validate a fact against a constant. But there might be cases where you would want to map the input from an user to one of fact, compare another fact with input from the user and make decisions. In other words, when the value of the constant to be issued in the condition is itself ambiguous, it is better to use the facts vs facts instead of facts vs constant method. For instance, I have a case where I have three inputs IP1, IP2 and IP3 coming in and I do not want to fix values (use constants for comparison in condition of rules) and instead make a condition directly involving IP1, IP2 and IP3. My schema in such a case will look like:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipsKJfNIzAhPvH4ZBmVEdew4dAcw79pNm2bSVpL5DAvP_KSAdZf3FeBKgggkgPlzpAqpAz1k66PQLmHY4sc4ygvlwBLRBN5mov_Zo9a87nuRxj0enbimNFU807vPgDqKCW89LRNF1Gmt0/s1600/FactsInConditionXSD.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;221&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipsKJfNIzAhPvH4ZBmVEdew4dAcw79pNm2bSVpL5DAvP_KSAdZf3FeBKgggkgPlzpAqpAz1k66PQLmHY4sc4ygvlwBLRBN5mov_Zo9a87nuRxj0enbimNFU807vPgDqKCW89LRNF1Gmt0/s400/FactsInConditionXSD.JPG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;The decision table involving the facts will look like below:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-5-Nwa-a-7tXkZhPBPGGd7QKrmfmz1WSSP9AgGqiUF4y0kcGCdkE5mWCzbhE5VC0fSQOJz2y4LPtS2SMGEHu5IiMYZPsWg0MBU1K_Ae-9g21IFSzTf0g8pvQETrSLN5T1LjLEIs-iREE/s1600/FactsInConditionDT.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;175&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-5-Nwa-a-7tXkZhPBPGGd7QKrmfmz1WSSP9AgGqiUF4y0kcGCdkE5mWCzbhE5VC0fSQOJz2y4LPtS2SMGEHu5IiMYZPsWg0MBU1K_Ae-9g21IFSzTf0g8pvQETrSLN5T1LjLEIs-iREE/s400/FactsInConditionDT.JPG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The facts have been directly compared against each other without the need for a constant.&lt;br /&gt;
&lt;br /&gt;
Peace!&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
- AR</description><link>http://oracleaia.blogspot.com/2010/10/compare-between-facts-in-condition.html</link><author>noreply@blogger.com (Arun Ramesh)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipsKJfNIzAhPvH4ZBmVEdew4dAcw79pNm2bSVpL5DAvP_KSAdZf3FeBKgggkgPlzpAqpAz1k66PQLmHY4sc4ygvlwBLRBN5mov_Zo9a87nuRxj0enbimNFU807vPgDqKCW89LRNF1Gmt0/s72-c/FactsInConditionXSD.JPG" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4400463453730620172.post-2865133357902278935</guid><pubDate>Tue, 10 Aug 2010 10:32:00 +0000</pubDate><atom:updated>2010-08-10T06:32:49.348-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Finds</category><category domain="http://www.blogger.com/atom/ns#">OBR11g</category><category domain="http://www.blogger.com/atom/ns#">SOA11g</category><title>The rete network does not update the modified data</title><description>This is a case where there is a dictionary D1 which is being invoked from BPEL. A set of facts F1, is passed to D1 and the same is returned from D1. There also exists D2, which uses the same set of facts as D1. D2 is invoked from the decision function of D1 (after D2 has been linked to D1, obviously !). I get F1 into D1 and I make a call to D2. D2 modifies F1 to F1.1 and returns call to D1. However, D1 does not understand F1 has changed to F1.1 and since it has been initialized with F1, continues to process the rules with F1 and F1.1 is not all considered.&lt;br /&gt;
&lt;br /&gt;
This has been confirmed to be an inconsistent behavior from the rete network and rules engine and it has been identified as a bug. It would be fixed in the future releases (not sure of the release). Till if you face the same issue, you can survive with two workarounds:&lt;br /&gt;
&lt;br /&gt;
A: Make call outs to rules from BPEL&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Call D1 from BPEL, execute rules in D1&lt;/li&gt;
&lt;li&gt;Instead of calling D2 from D1, call D2 from BPEL&lt;/li&gt;
&lt;li&gt;Then call D1 again. The rete network in this case initializes D1 with facts available in Step2&lt;/li&gt;
&lt;/ol&gt;B: Assert the facts in D2 before returning control to D1&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Call D1, then D2 from decision function of D1&lt;/li&gt;
&lt;li&gt;Modify F1 to F1.1 in D2&lt;/li&gt;
&lt;li&gt;Using advanced functions do a assert and return of F1.1 (this makes the rete refresh the facts)&lt;/li&gt;
&lt;li&gt;Return control to D1 and proceed&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
Keep tracking this thread for the update on the bug and fix for the same ! &lt;br /&gt;
&lt;br /&gt;
Peace!&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
- AR</description><link>http://oracleaia.blogspot.com/2010/08/rete-network-does-not-update-modified.html</link><author>noreply@blogger.com (Arun Ramesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4400463453730620172.post-608108280047719945</guid><pubDate>Mon, 09 Aug 2010 07:33:00 +0000</pubDate><atom:updated>2010-08-09T03:33:48.372-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Finds</category><category domain="http://www.blogger.com/atom/ns#">OBR11g</category><category domain="http://www.blogger.com/atom/ns#">SOA11g</category><title>Reducing the size of dictionaries</title><description>I was working on a case study where I had to create close to 10 dictionaries, each of them having the same facts being passed to them. The XSD I was using was of a considerable size, say 27KB and the XML generated from it was 15KB. When the facts were created the dictionary size came to 1.3 MB. So since each of these dictionaries had facts imported in them, each was about 1.3 MB and so the entire .jar file post compiling was about 15 MB.&lt;br /&gt;
&lt;br /&gt;
This was a simple 10 dictionaries in a project case. Consider 50-60 dictionaries and each of size 1 MB. The project would take about 20 minutes to deploy, considering my case study took 6 minutes to deploy. Maintenance becomes an issue here and SOA server after deployment becomes slow and unstable.&lt;br /&gt;
&lt;br /&gt;
Alternative is, have the facts in one dictionary. Link this dictionary to all other dictionaries using the same facts and use the imported facts in rules. This reduces the size of the dictionaries considerably. Statistically, for my case study, the size of one of the dictionary (where facts were present) remained the same. The size of the others came down to 500KB (depends on decision table number, no.of rules etc) approx. The size of the entire deployable was halved.&lt;br /&gt;
&lt;br /&gt;
Peace !&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
- AR</description><link>http://oracleaia.blogspot.com/2010/08/reducing-size-of-dictionaries.html</link><author>noreply@blogger.com (Arun Ramesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4400463453730620172.post-1563425736804463802</guid><pubDate>Thu, 22 Jul 2010 15:55:00 +0000</pubDate><atom:updated>2010-10-08T08:50:00.884-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Code Snippets</category><category domain="http://www.blogger.com/atom/ns#">Utilities</category><category domain="http://www.blogger.com/atom/ns#">XSLT</category><title>Remove duplicates from an input XML using XSLT</title><description>It is often the case that an input XML may contain duplicate data. It might be necessary to filter the duplicate data using a unique identifier, also from the input and send only the non-repeating, unique data to the output. In these cases, this transformation can be used to filter the data in the input.&lt;br /&gt;
This can be better understood by mapping this case to a real time scenario. Let us assume an organization having employees who can work in more than one department. If the input is going to contain the list of employees based on the department, there will be some employees whose data can repeat, as they are part of more than one department. If we need to filter the result based on the employee id to get a set of non-repeating unique employees, this logic can be used.&lt;br /&gt;
&lt;br /&gt;
The implementation of this logic has been done using the function “following::”. The transformation logic is as below:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #741b47; font-size: x-small;&quot;&gt;&lt;i&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;?oracle-xsl-mapper&lt;br /&gt;
&amp;nbsp; &amp;lt;!-- SPECIFICATION OF MAP SOURCES AND TARGETS, DO NOT MODIFY. --&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;mapSources&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;source type=&quot;XSD&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;schema location=&quot;http://localhost:7778/Schemas/Sample.xsd&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;rootElement name=&quot;SampleXML&quot; namespace=&quot;http://xmlns.oracle.com/&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #741b47; font-size: x-small;&quot;&gt;&lt;i&gt;SampleXML&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #741b47; font-size: x-small;&quot;&gt;&lt;i&gt;&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;/mapSources&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;mapTargets&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;target type=&quot;XSD&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;schema location=&quot;&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #741b47; font-size: x-small;&quot;&gt;&lt;i&gt;http://localhost:7778/Schemas/Sample.xsd&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #741b47; font-size: x-small;&quot;&gt;&lt;i&gt;&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;rootElement name=&quot;&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #741b47; font-size: x-small;&quot;&gt;&lt;i&gt;SampleXML&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #741b47; font-size: x-small;&quot;&gt;&lt;i&gt;&quot; namespace=&quot;http://xmlns.oracle.com/&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #741b47; font-size: x-small;&quot;&gt;&lt;i&gt;SampleXML&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #741b47; font-size: x-small;&quot;&gt;&lt;i&gt;&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/target&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;/mapTargets&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;!-- GENERATED BY ORACLE XSL MAPPER 10.1.3.4.0(build 080718.0645) AT [THU SEP 24 15:16:11 EEST 2009]. --&amp;gt;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&quot;1.0&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:bpws=&quot;http://schemas.xmlsoap.org/ws/2003/03/business-process/&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:hwf=&quot;http://xmlns.oracle.com/bpel/workflow/xpath&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exclude-result-prefixes=&quot;xsl xsd bpws hwf&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:template match=&quot;/&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;EmployeeListSorted&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:for-each select=&quot;/EmployeeList/Employee[not(EmpId=following::EmpId)]&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:sort select=&quot;./EmpId&quot; order=&quot;ascending&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Employee&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:copy-of select=&quot;./Name&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:copy-of select=&quot;./EmpId&quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Employee&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/EmployeeListSorted&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsl:template&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The preceding-sibling grouping technique did not work as because your nodes are not siblings of each other and because it only works where the grouping key is the string-value of the node, not where it is some other function of the node (here, its name).&lt;br /&gt;
&lt;br /&gt;
Peace !&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
- AR</description><link>http://oracleaia.blogspot.com/2010/07/remove-duplicates-from-input-xml-using.html</link><author>noreply@blogger.com (Arun Ramesh)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4400463453730620172.post-5383524127321003419</guid><pubDate>Mon, 12 Jul 2010 10:50:00 +0000</pubDate><atom:updated>2010-08-12T06:53:29.754-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">AIA201</category><category domain="http://www.blogger.com/atom/ns#">SOA10g</category><category domain="http://www.blogger.com/atom/ns#">Utilities</category><title>Deploying Oracle BRM JCA Adapter for Oracle AIA</title><description>This particular post would be useful for those working on Oracle SOA Suite 10g and having the stack Siebel, AIA and BRM. In the stack where there is Siebel, AIA and BRM, AIA invokes BRM through the JCA Adapter. This JCA Adapter is provided by the BRM Team. The JCA Adapter is responsible for converting the xml given by AIA to the input flist of BRM. The JCA Adapter also does a basic field level validation of the input xml with the opcode being called. This JCA Adapter is deployed in the middleware layer, using the Oracle SOA Suite’s EM Console.&lt;br /&gt;
&lt;br /&gt;
Please do the following to deploy the JCA Adapter:&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;&lt;b&gt;Modify the application.xml&lt;/b&gt;: Go to $ORACLE_HOME/j2ee/$OC4J_CONTAINER/config and Modify the imported-shared-libraries to contain the oracle.bpel.common library also. Modify the imported-shared-libraries to contain the below entry:&lt;br /&gt;
&lt;br /&gt;
&lt;i style=&quot;color: #741b47;&quot;&gt;&amp;lt;import-shared-library name=&quot;oracle.bpel.common&quot; /&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
The imported-shared-libraries after the change will look as below:&lt;br /&gt;
&lt;i&gt;&lt;span style=&quot;color: #4c1130;&quot;&gt;&lt;imported-shared-libraries&gt;&lt;/imported-shared-libraries&gt;&lt;/span&gt;&lt;br style=&quot;color: #4c1130;&quot; /&gt;&lt;span style=&quot;color: #4c1130;&quot;&gt;&lt;import-shared-library name=&quot;adf.oracle.domain&quot;&gt;&lt;/import-shared-library&gt;&lt;/span&gt;&lt;span style=&quot;color: #741b47;&quot;&gt;&amp;lt;imported-shared-libraries&amp;gt;&lt;/span&gt;&lt;br style=&quot;color: #741b47;&quot; /&gt;&lt;span style=&quot;color: #741b47;&quot;&gt;&amp;lt;import-shared-library name=&quot;adf.oracle.domain&quot; /&amp;gt;&lt;/span&gt;&lt;br style=&quot;color: #741b47;&quot; /&gt;&lt;span style=&quot;color: #741b47;&quot;&gt;&amp;lt;import-shared-library name=&quot;oracle.bpel.common&quot; /&amp;gt;&lt;/span&gt;&lt;br style=&quot;color: #741b47;&quot; /&gt;&lt;span style=&quot;color: #741b47;&quot;&gt;&amp;lt;/imported-shared-libraries&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br style=&quot;color: #4c1130;&quot; /&gt;&lt;span style=&quot;color: #4c1130;&quot;&gt;&lt;import-shared-library name=&quot;oracle.bpel.common&quot;&gt;&lt;/import-shared-library&gt;&lt;/span&gt;&lt;br style=&quot;color: #4c1130;&quot; /&gt;&lt;span style=&quot;color: #4c1130;&quot;&gt;&lt;/span&gt; &lt;/i&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Deploy the JCA Adapter&lt;/b&gt;: Get the latest JCA Adapter from BRM, go to EM Console and navigate to oc4j_soa. Go to Applications tab, select Standalone Resource Adapters from the View drop down option and Choose Deploy, to deploy the BRM JCA Adapter. While deploying if the JCA Adapter is placed on the server directly, choose the option of location as Location on Server or if the JCA Adapter is present in the workstation, choose the option of browsing the file from the workstation. Choose Automatically create a new deployment plan option (Step 1/3), choose next, give a name for the Resource Adapter (Step 2/3) and make no changes in the Deployment Settings tab (Step 3/3). Click Return on successful deployment of the adapter.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Create Connection Factory&lt;/b&gt;: Click on the JCA Adapter that was just deployed from Standalone Resource Adapters. Click on Connection Factories tab (need to create a Shared Connection Pool before we define the Connection Factory). So, click on Create option under Shared Connection Pools to create one. Create a connection factory using the shared connection pool that has been created. In JNDI Location, issue eis/BRM, choose Use Shared Connection Pool under Connection Pooling and change the Connection String to ip $BRMIPAddress $BRMPort, Username and Password of the BRM user that SOA Suite will use.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Restart JCA Adapter&lt;/b&gt;: Stop the JCA Adapter by navigating to Standalone Resource Adapters and choosing the adapter.&amp;nbsp; Once stopped, start the JCA adapter from the same location.&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
Peace !&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
- AR</description><link>http://oracleaia.blogspot.com/2010/07/deploying-oracle-brm-jca-adapter-for.html</link><author>noreply@blogger.com (Arun Ramesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4400463453730620172.post-7699208346069937719</guid><pubDate>Mon, 28 Jun 2010 11:12:00 +0000</pubDate><atom:updated>2010-06-28T07:12:49.417-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Info</category><category domain="http://www.blogger.com/atom/ns#">SOA10g</category><category domain="http://www.blogger.com/atom/ns#">SOA11g</category><title>SOA Transactions - A very good reference and read</title><description>I was reading some random blog posts on OWSM 11g when, in one of the posts, I found this link to &lt;a href=&quot;http://blogs.oracle.com/&quot; style=&quot;color: magenta;&quot;&gt;Oracle blogs&lt;/a&gt;. The blog has two parts and has covered the SOA transactions very nicely. The blog has been explicated in a simple, easy to understand manner. The transactions has been explained keeping in mind SOA11g. I guess there would not be a huge difference when this is applied to 10g. The links are below:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://blogs.oracle.com/soabpm/2009/08/soa_suite_11g_-_transactions_b.html&quot; style=&quot;color: magenta;&quot;&gt;Part One&lt;/a&gt; and &lt;a href=&quot;http://blogs.oracle.com/soabpm/2009/08/soa_suite_11g_-_transactions_b_1.html&quot; style=&quot;color: magenta;&quot;&gt;Part Two&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Peace !&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
-AR</description><link>http://oracleaia.blogspot.com/2010/06/soa-transactions-very-good-reference.html</link><author>noreply@blogger.com (Arun Ramesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4400463453730620172.post-7693923833033579026</guid><pubDate>Wed, 23 Jun 2010 17:45:00 +0000</pubDate><atom:updated>2010-06-25T06:09:27.596-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Finds</category><category domain="http://www.blogger.com/atom/ns#">OBR11g</category><title>Fields with type int and decimal when sent in the input to Rules do not out come as in input</title><description>I created a BPEL Process which receives a XML payload which has fields of type int as well as decimal, as defined in the XSD that the payload is derived from. These fields, part of the payload, are sent in the input to Rules Dictionary using decision service activity from BPEL. In the input to rules, the XML has a couple of fields of type &quot;int&quot; and couple of fields of type &quot;decimal&quot; and the three of them are sent as empty/null. In the output from the rules however, the fields of type &quot;int&quot; have value of zero and fields of type &quot;decimal&quot; do not come out at all, even though they were empty/null and present in the input.&lt;br /&gt;
&lt;br /&gt;
In the below sample, &amp;lt;client:DuplicateMobile/&amp;gt; , &amp;lt;client:DuplicateLan/&amp;gt; and&amp;nbsp; &amp;lt;client:DuplicateBill/&amp;gt; are sent as null. DuplicateMobile and DuplicateLan are of type &quot;int&quot; and DuplicateBill is of type &quot;decimal&quot;. No actions are performed on these fields/facts within the rules. The input and output looks like below:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #741b47; font-size: x-small;&quot;&gt;&lt;i&gt;################################### Input ########################&lt;br /&gt;
Facts_To_BPEL_Var&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dsIn&amp;gt;&lt;br /&gt;
&amp;lt;part name=&quot;payload&quot;&amp;gt;&lt;br /&gt;
&amp;lt;callFunctionStateless name=&quot;Sample1_DecisionService_1&quot;&amp;gt;&lt;br /&gt;
&amp;lt;parameterList&amp;gt;&lt;br /&gt;
&amp;lt;Person&amp;gt;&lt;br /&gt;
&amp;lt;client:Name&amp;gt;&lt;br /&gt;
&amp;lt;client:firstName&amp;gt;A&amp;lt;/client:firstName&amp;gt;&lt;br /&gt;
&amp;lt;client:lastName&amp;gt;A&amp;lt;/client:lastName&amp;gt;&lt;br /&gt;
&amp;lt;/client:Name&amp;gt;&lt;br /&gt;
&amp;lt;client:address&amp;gt;&lt;br /&gt;
&amp;lt;client:lineOne&amp;gt;1&amp;lt;/client:lineOne&amp;gt;&lt;br /&gt;
&amp;lt;client:lineTwo&amp;gt;2&amp;lt;/client:lineTwo&amp;gt;&lt;br /&gt;
&amp;lt;client:city&amp;gt;3&amp;lt;/client:city&amp;gt;&lt;br /&gt;
&amp;lt;/client:address&amp;gt;&lt;br /&gt;
&amp;lt;client:Phone&amp;gt;&lt;br /&gt;
&amp;lt;client:Mobile&amp;gt;4455&amp;lt;/client:Mobile&amp;gt;&lt;br /&gt;
&amp;lt;client:Lan&amp;gt;4466&amp;lt;/client:Lan&amp;gt;&lt;br /&gt;
&amp;lt;client:DuplicateMobile/&amp;gt;&lt;br /&gt;
&amp;lt;client:DuplicateLan/&amp;gt;&lt;br /&gt;
&amp;lt;client:DuplicateBill/&amp;gt;&lt;br /&gt;
&amp;lt;client:Bill&amp;gt;500&amp;lt;/client:Bill&amp;gt;&lt;br /&gt;
&amp;lt;/client:Phone&amp;gt;&lt;br /&gt;
&amp;lt;client:Status&amp;gt;Open&amp;lt;/client:Status&amp;gt;&lt;br /&gt;
&amp;lt;/Person&amp;gt;&lt;br /&gt;
&amp;lt;/parameterList&amp;gt;&lt;br /&gt;
&amp;lt;/callFunctionStateless&amp;gt;&lt;br /&gt;
&amp;lt;/part&amp;gt;&lt;br /&gt;
&amp;lt;/dsIn&amp;gt;&lt;br /&gt;
################################### End Input ########################&lt;br /&gt;
&lt;br /&gt;
################################### Output ########################&lt;br /&gt;
replyOutput&lt;br /&gt;
&lt;br /&gt;
&amp;lt;RulesInput&amp;gt;&lt;br /&gt;
&amp;lt;Person&amp;gt;&lt;br /&gt;
&amp;lt;Name&amp;gt;&lt;br /&gt;
&amp;lt;firstName&amp;gt;A&amp;lt;/firstName&amp;gt;&lt;br /&gt;
&amp;lt;lastName&amp;gt;A&amp;lt;/lastName&amp;gt;&lt;br /&gt;
&amp;lt;/Name&amp;gt;&lt;br /&gt;
&amp;lt;address&amp;gt;&lt;br /&gt;
&amp;lt;lineOne&amp;gt;1&amp;lt;/lineOne&amp;gt;&lt;br /&gt;
&amp;lt;lineTwo&amp;gt;2&amp;lt;/lineTwo&amp;gt;&lt;br /&gt;
&amp;lt;city&amp;gt;3&amp;lt;/city&amp;gt;&lt;br /&gt;
&amp;lt;/address&amp;gt;&lt;br /&gt;
&amp;lt;Phone&amp;gt;&lt;br /&gt;
&amp;lt;Mobile&amp;gt;4455&amp;lt;/Mobile&amp;gt;&lt;br /&gt;
&amp;lt;Lan&amp;gt;4466&amp;lt;/Lan&amp;gt;&lt;br /&gt;
&amp;lt;Bill&amp;gt;500&amp;lt;/Bill&amp;gt;&lt;br /&gt;
&amp;lt;DuplicateMobile&amp;gt;0&amp;lt;/DuplicateMobile&amp;gt;&lt;br /&gt;
&amp;lt;DuplicateLan&amp;gt;0&amp;lt;/DuplicateLan&amp;gt;&lt;br /&gt;
&amp;lt;/Phone&amp;gt;&lt;br /&gt;
&amp;lt;Status&amp;gt;Approved&amp;lt;/Status&amp;gt;&lt;br /&gt;
&amp;lt;/Person&amp;gt;&lt;br /&gt;
&amp;lt;/RulesInput&amp;gt;&lt;br /&gt;
################################### End Output ########################&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
I have raised a Service Request with Oracle and they have confirmed it to be a be a bug (Bug 9794889: BLANK DECIMAL FIELD INPUT TO RULES ENGINE GETS REMOVED). I do not have the resolution yet and I will update as and when I have one. If somebody is facing the same issue, workaround the issue by modifying the output from rules using a XSLT, before it is processes further !&lt;br /&gt;
&lt;br /&gt;
Peace !&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
-AR</description><link>http://oracleaia.blogspot.com/2010/06/fields-with-type-int-and-decimal-when.html</link><author>noreply@blogger.com (Arun Ramesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4400463453730620172.post-7053834029397986971</guid><pubDate>Tue, 22 Jun 2010 14:33:00 +0000</pubDate><atom:updated>2010-06-25T05:40:05.318-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">FMW</category><category domain="http://www.blogger.com/atom/ns#">Info</category><category domain="http://www.blogger.com/atom/ns#">Oracle</category><title>Fusion Middleware on Oracletube</title><description>I knew that Oracle blogs and Oracle wiki existed. I happened to looking into one of the posts in Oracle blogs and I was surprised to know about the existence of Oracletube. Oracletube, I presume, serves the purpose of a youtube for Oracle products/updates/support. It hosts a number of screencasts which are actually useful and good.&lt;br /&gt;
&lt;br /&gt;
Here is the link to &lt;a href=&quot;http://www.oracletube.com/&quot;&gt;&lt;span style=&quot;color: magenta;&quot;&gt;Oracletube&lt;/span&gt; &lt;/a&gt;and &lt;a href=&quot;http://www.oracletube.com/index.php?option=com_content&amp;amp;view=category&amp;amp;id=36&amp;amp;Itemid=56&quot; style=&quot;color: magenta;&quot;&gt;Fusion Middleware section&lt;/a&gt; in Oracletube&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Peace !&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
-AR</description><link>http://oracleaia.blogspot.com/2010/06/fusion-middleware-on-oracletube.html</link><author>noreply@blogger.com (Arun Ramesh)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-4400463453730620172.post-3193748083436138382</guid><pubDate>Mon, 21 Jun 2010 08:54:00 +0000</pubDate><atom:updated>2010-06-25T05:19:28.033-04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Finds</category><category domain="http://www.blogger.com/atom/ns#">OBR11g</category><title>Expose Dictionaries as Composite Service</title><description>I had the discussed cases where decision services were exposed as web services, that could be consumed by BPEL or a Java Client. The dictionary itself, can be exposed as a Composite Service by checking the option as shown below, meaning, you do not need a BPEL to invoke the rules and the consumer can directly pass the payload to the decision service/dictionary and get the output.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbR2H07ZHIYt68D3g1hsTM48OaM7dfJqgWNIjgmPQs7OZWAQ0PBiQ-SJnzOIuicA-tDhyphenhyphenWKQ88W5JHqyHRurrUaqku0Kf6QvKKqodZX6w-mKv20k0EfZAKmzdzkrciap8QVS6r6bse9sw/s1600/RulesCompositeService.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;225&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbR2H07ZHIYt68D3g1hsTM48OaM7dfJqgWNIjgmPQs7OZWAQ0PBiQ-SJnzOIuicA-tDhyphenhyphenWKQ88W5JHqyHRurrUaqku0Kf6QvKKqodZX6w-mKv20k0EfZAKmzdzkrciap8QVS6r6bse9sw/s400/RulesCompositeService.JPG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I worked on such a case, and I had some issues in hitting the Composite Service. Once the project has been developed and deployed, you can use any web service testing tool to test it. I used SoapUI in this case. I imported the WSDL, created a request and hit the web service using the option of &quot;callFunctionStateless&quot; (the SoapUI created two methods - callFunctionStateless and callFunctionStateful). I got an error as below:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #4c1130; text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;i&gt;&amp;lt;env:Envelope xmlns:env=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;env:Header/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;env:Body&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;env:Fault xmlns:fpre=&quot;http://xmlns.oracle.com/bpel/rules&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;faultcode&amp;gt;fpre:operationErroredFault&amp;lt;/faultcode&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;faultstring/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;faultactor/&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;detail&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;errorInfo xmlns=&quot;http://xmlns.oracle.com/bpel/rules&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;errorMessage&amp;gt;RulesWithoutBPEL&amp;lt;/errorMessage&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/errorInfo&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/detail&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/env:Fault&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;/env:Body&amp;gt;&lt;br /&gt;
&amp;lt;/env:Envelope&amp;gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
I then realized that under the soap:Body, there is a method by name &amp;lt;orac:callFunctionStateless name=&quot;&quot;&amp;gt;. In the attribute, the name of the decision service which has been exposed as web service should be given. It worked after that !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Peace!&lt;br /&gt;
&lt;br /&gt;
Cheers,&lt;br /&gt;
-AR</description><link>http://oracleaia.blogspot.com/2010/06/expose-dictionaries-as-composite.html</link><author>noreply@blogger.com (Arun Ramesh)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbR2H07ZHIYt68D3g1hsTM48OaM7dfJqgWNIjgmPQs7OZWAQ0PBiQ-SJnzOIuicA-tDhyphenhyphenWKQ88W5JHqyHRurrUaqku0Kf6QvKKqodZX6w-mKv20k0EfZAKmzdzkrciap8QVS6r6bse9sw/s72-c/RulesCompositeService.JPG" height="72" width="72"/><thr:total>0</thr:total></item></channel></rss>