<?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-5662483947391519592</atom:id><lastBuildDate>Tue, 07 Oct 2025 07:30:57 +0000</lastBuildDate><category>Java</category><category>SOA</category><category>BPEL</category><category>Oracle</category><category>webservice</category><category>Hibernate</category><category>Linux</category><category>Maven</category><category>Metro</category><category>OSB</category><category>Transaction</category><category>Finance</category><category>JMS</category><category>OAuth</category><category>Security</category><category>Tomcat</category><category>web project</category><category>Async</category><category>Authentication</category><category>Axis</category><category>Datasource</category><category>Domain name</category><category>Eclipse</category><category>FastInfoset</category><category>Glassfish</category><category>JPA</category><category>Lifestyle</category><category>Mainframe</category><category>Music</category><category>Oz</category><category>Personality</category><category>Quartz</category><category>Scheduler</category><category>Spring</category><category>Twitter4J</category><category>Unix</category><category>Version Control</category><category>cURL</category><category>dbAdapter</category><category>plugin</category><title>Thought! Mate..</title><description></description><link>http://thoughtmate.blogspot.com/</link><managingEditor>noreply@blogger.com (Noufal Kader)</managingEditor><generator>Blogger</generator><openSearch:totalResults>65</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5662483947391519592.post-2615356839319571532</guid><pubDate>Thu, 10 Jan 2013 01:45:00 +0000</pubDate><atom:updated>2013-01-10T12:45:58.895+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">dbAdapter</category><title>Debug mode for JCA framework</title><description>&lt;br /&gt;
&lt;span style=&quot;font-family: tahoma, verdana, sans-serif; font-size: 11px;&quot;&gt;Enable the debug mode for the JCA framework&lt;/span&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style=&quot;font-family: tahoma, verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 11px;&quot;&gt;Edit the alsbdebug.xml file in the domain directory (&amp;nbsp;root directory of your Oracle Service Bus domain )&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: tahoma, verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 11px;&quot;&gt;Set the category &lt;alsb-jca-framework-adapter-debug&gt; flag to true&lt;/alsb-jca-framework-adapter-debug&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: tahoma, verdana, sans-serif; font-size: 11px;&quot;&gt;Restart the servers&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: tahoma, verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 11px;&quot;&gt;debug information is logged to the server log at: DOMAIN_DIRECTORY/servers/servername/logs/&lt;server_name&gt;.log&lt;/server_name&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: tahoma, verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 11px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: tahoma, verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 11px;&quot;&gt;Refer: http://download.oracle.com/docs/html/E15867_01/app_debugging.htm&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright ThoughtMate! 2010, at thoughtmate.blogspot.com&lt;/div&gt;</description><link>http://thoughtmate.blogspot.com/2013/01/debug-mode-for-jca-framework.html</link><author>noreply@blogger.com (Noufal Kader)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5662483947391519592.post-3358124370900596606</guid><pubDate>Tue, 30 Oct 2012 01:06:00 +0000</pubDate><atom:updated>2012-10-30T12:06:51.768+11:00</atom:updated><title>Upgrading/Migrating Fusion Middleware from Oracle DB 11.2.0.2 to 11.2.0.3.1</title><description>&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Upgrade:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Certification Matrix excel:&lt;/li&gt;
&lt;/ul&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1) &lt;a href=&quot;http://www.oracle.com/technetwork/middleware/ias/downloads/oracle-soa-certification-r3-10-131499.xls&quot; target=&quot;_blank&quot;&gt;10g R3&lt;/a&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2) &lt;a href=&quot;http://www.oracle.com/technetwork/middleware/downloads/fmw-11gr1certmatrix.xls&quot; target=&quot;_blank&quot;&gt;11g R1&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://docs.oracle.com/cd/E21764_01/doc.1111/e17836/overview.htm&quot; target=&quot;_blank&quot;&gt;Understanding Interoperability &amp;amp; Compatibility&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;b&gt;&amp;nbsp;SOA activities:&lt;/b&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Shutdown the server (to shut all apps connecting to the target db)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://baioradba.wordpress.com/2012/02/10/upgrading-11-2-0-2-to-11-2-0-3-1/&quot; target=&quot;_blank&quot;&gt;Oracle DB upgrade from&amp;nbsp;11.2.0.2 to 11.2.0.3.1&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Start servers&lt;/li&gt;
&lt;li&gt;PVT:&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Initiate a transaction involving BPEL and confirm it thru EM.&lt;div&gt;
&lt;br /&gt;&lt;div&gt;
&lt;div&gt;
&lt;b&gt;&lt;u&gt;Migrate&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;MDS&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Doc ID 1335908.1: Exporting and Importing SOA Composites and Configuration Files from a SOA&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
MetaData Store (MDS)&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Doc ID 1403569.1: Move the SOA metadata from one to another database&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span id=&quot;goog_290362197&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span id=&quot;goog_290362198&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright ThoughtMate! 2010, at thoughtmate.blogspot.com&lt;/div&gt;</description><link>http://thoughtmate.blogspot.com/2012/10/upgradingmigrating-fusion-middleware.html</link><author>noreply@blogger.com (Noufal Kader)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5662483947391519592.post-8571508453280812480</guid><pubDate>Wed, 26 Sep 2012 00:29:00 +0000</pubDate><atom:updated>2012-09-26T10:30:17.192+10:00</atom:updated><title>TNSPING</title><description>&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Georgia, Times New Roman, serif;&quot;&gt;&lt;u&gt;Sample tnsnames.ora&amp;nbsp;entry&lt;/u&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;jive-pre&quot; style=&quot;background-color: #eeeeee; background-image: url(https://forums.oracle.com/forums/images/quote-background-1.gif); border-color: rgb(238, 238, 238) rgb(238, 238, 238) rgb(238, 238, 238) rgb(204, 204, 204); border-style: solid; border-width: 1px 1px 1px 2px; font-family: &#39;courier new&#39;, monospaced; font-size: 10pt; margin: 1em 2em 0.5em; overflow: auto; padding: 10px 10px 10px 1em;&quot;&gt;&lt;code class=&quot;jive-code jive-java&quot;&gt;tns_entry =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = myhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = service_name)
    )
  )&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Georgia, Times New Roman, serif;&quot;&gt;&lt;u&gt;Connecting thru &lt;i&gt;&lt;b&gt;sqlplus&lt;/b&gt;&lt;/i&gt;&lt;/u&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;jive-pre&quot; style=&quot;background-color: #eeeeee; background-image: url(https://forums.oracle.com/forums/images/quote-background-1.gif); border-color: rgb(238, 238, 238) rgb(238, 238, 238) rgb(238, 238, 238) rgb(204, 204, 204); border-style: solid; border-width: 1px 1px 1px 2px; font-family: &#39;courier new&#39;, monospaced; font-size: 10pt; margin: 1em 2em 0.5em; overflow: auto; padding: 10px 10px 10px 1em;&quot;&gt;&lt;code class=&quot;jive-code jive-java&quot;&gt;$&amp;gt; sqlplus scott/tiger@&lt;/code&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;tns_entry&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Georgia, Times New Roman, serif;&quot;&gt;&amp;nbsp; tns will look in your tnsnames.ora for an entry called &#39;tns_entry&#39;. Next, tns sends a request to (PORT = 1521) on (HOST = myhost) using (PROTOCOL = TCP), asking for a connection to (SERVICE_NAME = service_name)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Georgia, Times New Roman, serif;&quot;&gt;&lt;u&gt;&lt;b&gt;tnsping &lt;/b&gt;format:&lt;/u&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Georgia, Times New Roman, serif;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;requires ORACLE_HOME set in local machine&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre class=&quot;jive-pre&quot; style=&quot;background-color: #eeeeee; background-image: url(https://forums.oracle.com/forums/images/quote-background-1.gif); border-color: rgb(238, 238, 238) rgb(238, 238, 238) rgb(238, 238, 238) rgb(204, 204, 204); border-style: solid; border-width: 1px 1px 1px 2px; font-size: 10pt; margin: 1em 2em 0.5em; overflow: auto; padding: 10px 10px 10px 1em;&quot;&gt;C:\&amp;gt;tnsping (address=(protocol=tcp)(address=myhost)(port=1521))

TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 26-SEP-2012 09:56:36

Copyright (c) 1997, 2005, Oracle.  All rights reserved.

Attempting to contact (address=(protocol=tcp)(address=myhost)(port=1521))
OK (720 msec)&lt;/pre&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;font-family: Georgia, Times New Roman, serif;&quot;&gt; &lt;i&gt;tnsping &lt;/i&gt;uses tcp protocol. When the request gets passed from tns to the next layer in the network stack, the name &#39;myhost&#39; will get resolved to an IP address, either via a local &#39;hosts&#39; file, via DNS, or possibly other less used mechanisms. You can also hard-code the ip address (instead of &#39;myhost&#39;) in tnsnames.ora&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Georgia, Times New Roman, serif;&quot;&gt;Thereafter,&amp;nbsp;the request arrives at port 1521 on myhost. Hopefully, there is a listener on myhost configured to listen on port 1521, and that listener knows about SERVICE_NAME = curley. If so, you&#39;ll be connected.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Georgia, Times New Roman, serif;&quot;&gt;tnsping goes no further than to verify there is a listener at the specified host/port. It DOES NOT prove anything regarding the status of the listener&#39;s knowledge of any particular database instance.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;jive-pre&quot; style=&quot;background-color: #eeeeee; background-image: url(https://forums.oracle.com/forums/images/quote-background-1.gif); border-color: rgb(238, 238, 238) rgb(238, 238, 238) rgb(238, 238, 238) rgb(204, 204, 204); border-style: solid; border-width: 1px 1px 1px 2px; margin: 1em 2em 0.5em; overflow: auto; padding: 10px 10px 10px 1em;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;
&lt;/span&gt;C:\&amp;gt;set oracle_sid=service_name

C:\&amp;gt;tnsping service_name

TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 27-APR-2010 19:57:13

Copyright (c) 1997, 2010, Oracle. All rights reserved.

Used parameter files:
C:\app\han\product\11.2.0\dbhome_2\network\admin\sqlnet.ora
Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = service_name))) OK (80 msec)&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Georgia, Times New Roman, serif;&quot;&gt;The listener is a server side only process. It&#39;s entire purpose in life is the receive requests for connections to databases and set up those connections. Once the connection is established, the listener is out of the picture. It creates the connection. It doesn&#39;t sustain the connection. One listener, running from one oracle home, listening on a single port, will serve multiple database instances of multiple versions running from multiple homes. It is an unnecessary complexity to try to have multiple listeners. That would be like the telephone company building a separate switchboard for each customer.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Georgia, Times New Roman, serif;&quot;&gt;The tnsnames.ora file is a client side issue. It&#39;s purpose is for addressess resolution - the tns equivelent of the &#39;hosts&#39; file further down the network stack. The only reason it exists on a host machine is because that machine can also run client processes.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;&lt;b&gt;Possible errors:&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Georgia, Times New Roman, serif;&quot;&gt;No be an entry for &#39;tns_entry&#39; in your tnsnames =&amp;gt; &quot;ORA-12154: TNS:could not resolve the connect identifier specified&quot;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Georgia, Times New Roman, serif;&quot;&gt;There is entry for &#39;tns_entry&#39; was found, but myhost couldn&#39;t be resolved to an IP address (say there was no entry for myhost in the local hosts file) =&amp;gt; &quot;ORA-12545: Connect failed because target host or object does not exist&quot;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Georgia, Times New Roman, serif;&quot;&gt;There iss an entry for myserver in the local hosts file, but it specified a bad IP address. =&amp;gt; &quot;ORA-12545: Connect failed because target host or object does not exist&quot;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Georgia, Times New Roman, serif;&quot;&gt;If IP was good, but there is no listener running =&amp;gt; &quot;ORA-12541: TNS:no listener&quot;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Georgia, Times New Roman, serif;&quot;&gt;If IP was good, there is a listener at myhost, but it is listening on a different port =&amp;gt; &amp;nbsp;&quot;ORA-12560: TNS:protocol adapter error&quot;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Georgia, Times New Roman, serif;&quot;&gt;If IP was good, there is a listener at myhost, it is listening on the specified port, but doesn&#39;t know about SERVICE_NAME = service_name =&amp;gt; &quot;ORA-12514: TNS:listener does not currently know of service requested in connect descriptor&quot;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright ThoughtMate! 2010, at thoughtmate.blogspot.com&lt;/div&gt;</description><link>http://thoughtmate.blogspot.com/2012/09/tnsping.html</link><author>noreply@blogger.com (Noufal Kader)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5662483947391519592.post-4562798761361666773</guid><pubDate>Wed, 09 May 2012 05:43:00 +0000</pubDate><atom:updated>2012-05-09T15:43:48.055+10:00</atom:updated><title>XML-binary Optimized Packaging (XOP)</title><description>&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;An XML document has an information set if it is well-formed and satisfies the namespace constraints.&lt;/li&gt;
&lt;li&gt;XML-binary Optimized Packaging (XOP) convention, a means of more efficiently serializing XML Infosets.&lt;/li&gt;
&lt;li&gt;A XOP package is created by placing a serialization of the XML Infoset inside of an extensible packaging format (such a MIME Multipart)&lt;/li&gt;
&lt;li&gt;Then, selected portions of its content that are base64-encoded binary data are extracted and re-encoded (i.e., the data is decoded from base64) and placed into the package.&lt;/li&gt;
&lt;li&gt;necessary to have a one to one correspondence between XML Infosets and XOP Packages, hence binary data is base64-encoded&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;b&gt;How it works?&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: white; font-family: sans-serif;&quot;&gt;
&lt;img alt=&quot;Architecture of the XOP framework&quot; src=&quot;http://www.w3.org/TR/xop10/XOP-architecture.png&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white;&quot;&gt;
&lt;/div&gt;
&lt;span style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif;&quot;&gt;&lt;b&gt;Terminology&lt;/b&gt;:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif;&quot;&gt;Original XML Infoset - An XML Infoset to be optimized.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif;&quot;&gt;Optimized Content - Content which has been removed from the XML Infoset.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif;&quot;&gt;XOP Infoset - The Original Infoset with any Optimized Content removed and replaced by xop:Include element information items.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif;&quot;&gt;XOP Document - A serialization of the XOP Infoset using any W3C recommendation-level version of XML.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif;&quot;&gt;XOP Package - A package containing the XOP Document and any Optimized Content. As a whole, the XOP Package is an alternate serialization of the Original Infoset.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif;&quot;&gt;Reconstituted XML Infoset - An XML Infoset that has been constructed from the parts of a XOP Package.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif;&quot;&gt;Reference:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif;&quot;&gt;&lt;a href=&quot;http://www.w3.org/TR/xop10/#&quot; target=&quot;_blank&quot;&gt;W3C&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright ThoughtMate! 2010, at thoughtmate.blogspot.com&lt;/div&gt;</description><link>http://thoughtmate.blogspot.com/2012/05/xml-binary-optimized-packaging-xop.html</link><author>noreply@blogger.com (Noufal Kader)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5662483947391519592.post-122478284167546823</guid><pubDate>Tue, 03 Apr 2012 00:37:00 +0000</pubDate><atom:updated>2012-04-03T10:37:46.808+10:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Oz</category><title>ASIC Connect - Window to search Australian companies</title><description>&lt;a href=&quot;https://connectonline.asic.gov.au/&quot; target=&quot;_blank&quot;&gt;ASIC Connect&lt;/a&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;ConnectOnline is a new offering from Australia’s corporate, markets and financial services regulator - &lt;a href=&quot;http://asic.gov.au/&quot; target=&quot;_blank&quot;&gt;ASIC&lt;/a&gt;. This serves as a window to peep into the publicly&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Australia stands on top (Rank2) in Starting a business. ASIC is manages starting/registering a company in Australia.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;The Searching functionality overcomes the inability for customers to conduct paid searches direct from the ASIC website. This service also enables customer to purchase products that are otherwise not available an Information Broker (eg: certificates, certified documents, and Australian Financial Services (Licensees and Representatives) extracts etc) and hence saving time visiting a service centre or mail a request for these products. Moreover, products seems to be Cheaper for Better ;)&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Features include searching &amp;amp; buying products by:&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;1. Organisation Search&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;2. Checkname availability&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;3. Document Search&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;4. Banned and Disqualified Persons&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;5. Professional Registers&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Purchaseable products include different types of extracts and documents for company and prof registers.&lt;br /&gt;
&amp;nbsp;The reports can also be purchased from &lt;a href=&quot;https://connectonline.asic.gov.au/RegistrySearch/faces/landing/InformationBrokers.jspx?_adf.ctrl-state=aqkmj7y3g_4&quot; target=&quot;_blank&quot;&gt;Information brokers&lt;/a&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Looks like the Asic connect has more to offer for the future.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;https://connectonline.asic.gov.au/OPH/HelpLandingPages/HelpPanel/index.htm#&quot; target=&quot;_blank&quot;&gt;Help page&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;References:&lt;/b&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.business.gov.au/Howtoguides/Thinkingofstartingabusiness/pages/default.aspx&quot; target=&quot;_blank&quot;&gt;Thinking of starting a business&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.doingbusiness.org/rankings&quot; target=&quot;_blank&quot;&gt;Starting business rankings&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.asic.gov.au/asic/ASIC.NSF/byHeadline/New%20online%20ASIC%20Connect%20search%20service%20now%20available?opendocument&quot; target=&quot;_blank&quot;&gt;ConnectOnline gone public!&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.business.govt.nz/&quot; target=&quot;_blank&quot;&gt;Counterpart for New Zealand&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright ThoughtMate! 2010, at thoughtmate.blogspot.com&lt;/div&gt;</description><link>http://thoughtmate.blogspot.com/2012/04/asic-connect-window-to-search.html</link><author>noreply@blogger.com (Noufal Kader)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5662483947391519592.post-7782611774052889247</guid><pubDate>Thu, 23 Feb 2012 00:49:00 +0000</pubDate><atom:updated>2012-02-23T11:49:24.819+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">OSB</category><title>Work Manager vs Throttling in OSB</title><description>&lt;div style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 19px; margin-bottom: 0.75em; margin-top: 0.25em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;strong&gt;Work Manager with&amp;nbsp;Proxy Service:&lt;/strong&gt;&lt;/div&gt;&lt;div style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 19px; margin-bottom: 0.75em; margin-top: 0.25em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Work Manager configured on Proxy Service is used to limit the number of threads running a Proxy Services.&lt;/div&gt;&lt;div style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 19px; margin-bottom: 0.75em; margin-top: 0.25em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;img alt=&quot;Oracle Service Bus: Work Manager with Proxy Service&quot; class=&quot;aligncenter&quot; height=&quot;83&quot; src=&quot;http://www.tomecode.com/img/osb/osbWorkManagerProxyService.png&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; display: block; margin-left: auto; margin-right: auto; text-align: center;&quot; width=&quot;640&quot; /&gt;&lt;/div&gt;&lt;div style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 19px; margin-bottom: 0.75em; margin-top: 0.25em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;_____________________________________________________________________________________________________________________________&lt;/div&gt;&lt;div style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 19px; margin-bottom: 0.75em; margin-top: 0.25em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;strong&gt;Work Manager with&amp;nbsp;Business Service:&lt;/strong&gt;&lt;/div&gt;&lt;div style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 19px; margin-bottom: 0.75em; margin-top: 0.25em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Work Manager configured on Proxy Service is used to limit the number of threads that process responses from the back-end system.&lt;/div&gt;&lt;div style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 19px; margin-bottom: 0.75em; margin-top: 0.25em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;img alt=&quot;Oracle Service Bus: Work Manager with Business Service&quot; class=&quot;aligncenter&quot; height=&quot;86&quot; src=&quot;http://www.tomecode.com/img/osb/osbWorkManagerBusinessService.png&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; display: block; margin-left: auto; margin-right: auto; text-align: center;&quot; width=&quot;640&quot; /&gt;&lt;/div&gt;&lt;div style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 19px; margin-bottom: 0.75em; margin-top: 0.25em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;_____________________________________________________________________________________________________________________________&lt;/div&gt;&lt;div style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 19px; margin-bottom: 0.75em; margin-top: 0.25em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;strong&gt;Throttling with Business Service:&lt;/strong&gt;&lt;/div&gt;&lt;div style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 19px; margin-bottom: 0.75em; margin-top: 0.25em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Throttling configured on Business Service only limited loads (requests) to back-end services and to avoid overloading the back-end.&lt;/div&gt;&lt;div style=&quot;background-color: white; color: #333333; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 19px; margin-bottom: 0.75em; margin-top: 0.25em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;img alt=&quot;Oracle Service Bus: Throttling with Business Service&quot; class=&quot;aligncenter&quot; height=&quot;84&quot; src=&quot;http://www.tomecode.com/img/osb/osbThrottlingBusinessService.png&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; display: block; margin-left: auto; margin-right: auto; text-align: center;&quot; width=&quot;640&quot; /&gt;&lt;/div&gt;&lt;div style=&quot;background-color: white; margin-bottom: 0.75em; margin-top: 0.25em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0.75em; margin-top: 0.25em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;line-height: 19px;&quot;&gt;Throttling is used to restrict the message flow to a business service however work managers are used to prioritize service work.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0.75em; margin-top: 0.25em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;line-height: 19px;&quot;&gt;Eg: The WorkManager with MaxThreadsConstraint only limits the number of threads which can be used for example to limit the number of listening threads on a queue.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0.75em; margin-top: 0.25em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;line-height: 19px;&quot;&gt;If business service cannot cope with too many concurrent messages, you can edit your business service and go to the Operational Settings tab. There you can set the Throttling State to enabled and enter the number of simultaneous messages in the field Maximum Concurrency.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0.75em; margin-top: 0.25em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;line-height: 19px;&quot;&gt;In case of throttling there is possibility of message loss however with work manager setup there is no such possibility.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0.75em; margin-top: 0.25em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: x-small; line-height: 19px;&quot;&gt;&lt;b&gt;Ref:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0.75em; margin-top: 0.25em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;line-height: 19px;&quot;&gt;http://blog.xebia.com/2009/12/02/restricting-the-number-of-jms-mq-connections-made-by-the-osb/&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright ThoughtMate! 2010, at thoughtmate.blogspot.com&lt;/div&gt;</description><link>http://thoughtmate.blogspot.com/2012/02/work-manager-vs-throttling-in-osb.html</link><author>noreply@blogger.com (Noufal Kader)</author><thr:total>4</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5662483947391519592.post-1557962757770977413</guid><pubDate>Thu, 31 Mar 2011 12:42:00 +0000</pubDate><atom:updated>2011-03-31T23:42:17.598+11:00</atom:updated><title>AusPost and DPID</title><description>Australia Post is a government owned postal authority in Australia. They operate in three core areas:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Letters and associated services;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Retail merchandise and agency services; and&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Parcels and logistics.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&amp;nbsp;It offers delivery services, retail products, financial services (such as bill payment and banking through its retail network), logistics and fulfilment services, and direct marketing and database management services.&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/AVvXsEgDs2ZZXI8WPqMxiSi9d1Nn9TtkeEpBbUTIIXh_pXpYU4Wxasr50AfYBzuMCqIvVgOjwzFqFFh0OvWhR1KUydG2wVXGzkWzti58kCM3r8pbeb277zZP1zIAGBeAkO06JUdW0Y9WHck-e8gX/s1600/Australia_Post_boxes.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;213&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDs2ZZXI8WPqMxiSi9d1Nn9TtkeEpBbUTIIXh_pXpYU4Wxasr50AfYBzuMCqIvVgOjwzFqFFh0OvWhR1KUydG2wVXGzkWzti58kCM3r8pbeb277zZP1zIAGBeAkO06JUdW0Y9WHck-e8gX/s320/Australia_Post_boxes.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Australia Post&#39;s &lt;i&gt;&lt;a href=&quot;http://auspost.com.au/business/presort-letters.html&quot;&gt;PreSort Letters Service&lt;/a&gt;&lt;/i&gt;&amp;nbsp;offers discounted postage rates for customers lodging more than 300 machine-addressed articles that are barcoded and sorted. This service is the most cost effective way to send fully addressed mail.&amp;nbsp;Barcoding and sorting the articles helps AusPost to more efficiently process the mail resulting in reduced costs which passed onto customer in the form of a reduced postage rate. This is commonly used by business for sending regular mails like statements, bills etc.&lt;br /&gt;
&lt;br /&gt;
Benefits of PreSort Letters&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;save money with our discounted postage rates.&lt;/li&gt;
&lt;li&gt;receive further discounts when choosing off peak services.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;Delivery Point Identifier&lt;/i&gt;&lt;/b&gt; (&lt;b&gt;DPID&lt;/b&gt;)&lt;br /&gt;
The DPID is an eight-digit number that is appended to all 8.8 million delivery addresses in Australia which uniquely identifies each delivery point to which Australia Post delivers mail. It is often used as a proxy for identifying unique households and can enable discounted mailing rates when appended to a mailing list. This is barcoded which represent letters, numerals, and other human readable characters which can be deciphered by mail sorting equipment.&lt;br /&gt;
&lt;br /&gt;
Appending DPID will assist your business with:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Reducing dead mail costs&lt;/li&gt;
&lt;li&gt;Achieving bulk mail discounts&lt;/li&gt;
&lt;li&gt;DPID can help identify invalid or duplicate addresses.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
A database, called &lt;i&gt;Postal Address File&lt;/i&gt; (PAF), is built and maintained by Australia Post. It is privacy compliant because it does not hold the names of residents but rather, just the delivery address information.&lt;br /&gt;
Address Matching Approval System (AMAS) is a software approval program developed by Australia Post that provides a standard by which to test and measure the quality of address matching software and its ability to append a unique Delivery Point Identifier (DPID) to each address record held within a database.&lt;br /&gt;
&lt;br /&gt;
The barcode format adopted by Australia Post is called the 4-State barcode. The name is derived from the fact that the bars can only be placed in one of four positions - Tracker on its own, Tracker with Ascender, Tracker with Descender, and Tracker with Ascender and Descender.&lt;br /&gt;
When an address is validated, a BSP (Barcode Sort Plan) number, ranging from 1 to 54, is assigned to each postcode. To benefit from Barcoded PreSort mail discounts, mail must be sorted by the BSP number.&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright ThoughtMate! 2010, at thoughtmate.blogspot.com&lt;/div&gt;</description><link>http://thoughtmate.blogspot.com/2011/03/auspost-and-dpid.html</link><author>noreply@blogger.com (Noufal Kader)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDs2ZZXI8WPqMxiSi9d1Nn9TtkeEpBbUTIIXh_pXpYU4Wxasr50AfYBzuMCqIvVgOjwzFqFFh0OvWhR1KUydG2wVXGzkWzti58kCM3r8pbeb277zZP1zIAGBeAkO06JUdW0Y9WHck-e8gX/s72-c/Australia_Post_boxes.jpg" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5662483947391519592.post-8556964565497354922</guid><pubDate>Sat, 11 Dec 2010 13:00:00 +0000</pubDate><atom:updated>2010-12-12T00:12:23.608+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Finance</category><category domain="http://www.blogger.com/atom/ns#">Security</category><title>Contactless Credit Cards and Electronic Pickpocketing</title><description>Recent development in the Credit Card market is the &lt;b&gt;contact-less card&lt;/b&gt;s - just wave at the terminal to pay.&lt;br /&gt;
Providers include&lt;br /&gt;
Visa: Visa Contactless, PayWave&lt;br /&gt;
MasterCard: PayPass&lt;br /&gt;
American Express: Express Pay&lt;br /&gt;
&lt;br /&gt;
In Australia, major banks like Commonwealth Bank, ANZ, Macquarie Bank &amp;amp; NAB are offering.&lt;br /&gt;
&lt;b&gt;Limit&lt;/b&gt;: Visa PayWave - AU$100 and Mastercard PayPass - AU$35&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;Benefits&lt;/b&gt;:&lt;/i&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Greater convenience - no need to carry cash in hand&lt;/li&gt;
&lt;li&gt;Greater speed to pay&lt;/li&gt;
&lt;li&gt;Innovative experience&lt;/li&gt;
&lt;li&gt;Greater security – while purchasing goods, your card will never leave your hands. This reduces the risk that your card details may be copied or compromised in any way.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;How Does a Contactless Credit Card Work?&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
The cards contain RFID chips and the communication between credit card and terminal are completed through radio waves and the data transmission encrypted. It will work as long as the card is 4 centimetres or less from the terminal. No more swiping or insertion into card reader; simply tap and go.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;Risks &amp;amp; explanations&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;object height=&quot;385&quot; width=&quot;480&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/rFoHjeJ0FB0?fs=1&amp;amp;hl=en_US&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/rFoHjeJ0FB0?fs=1&amp;amp;hl=en_US&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;480&quot; height=&quot;385&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
These chips encode basic information (e.g., account numbers, expiration dates) that can be picked up by point-of-sale RFID readers, eliminating the need for cards to be physically handled or swiped. One possible drawback to this technology is that unauthorized persons might use RFID readers of their own to surreptitiously glean that same information using a card reader and a netbook computer to engage in card &quot;skimming&quot;.&lt;br /&gt;
Luckily, The data streams emitted by contactless cards don&#39;t include such information as PINs and CVV security codes or in newer cards, &amp;nbsp;customer name. Without those pieces of information a card skimmer should not be able to utilize the stolen card numbers to print up counterfeit cards or engage in Card Not Present transactions.&lt;br /&gt;
Payment companies claim that the process of making purchases with the cards involves verification procedures based on powerful encryption that make each transaction unique. Most cards transmit a dummy number that does not match the number embossed on the card and that number can be used only in connection with the verification token, that is encrypted before being sent.&lt;br /&gt;
Alternately a stainless steel wallet saves the card ;)&lt;br /&gt;
&lt;br /&gt;
They are already popular in transport world:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Octopus card in Hong Kong (1st ever)&lt;/li&gt;
&lt;li&gt;Oyster card in London&lt;/li&gt;
&lt;li&gt;Navigo pass in Paris&lt;/li&gt;
&lt;li&gt;Suica in Tokyo&lt;/li&gt;
&lt;li&gt;SL Access card in Stockholm&lt;/li&gt;
&lt;li&gt;Clipper card in San Francisco&lt;/li&gt;
&lt;li&gt;Delhi Metro rail&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;a href=&quot;http://www.businesswire.com/portal/site/home/permalink/?ndmViewId=news_view&amp;amp;newsId=20100302005851&amp;amp;newsLang=en&quot;&gt;In2Pay Contactless Payment&lt;/a&gt; - even iPhone App&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
Visa and DeviceFidelity collaborated to combine Visa’s contactless payment technology Visa payWave with the In2Pay technology. The microSD memory slot of the iPhone enables a mobile contactless payment device. This applies to any mobile phone.&lt;br /&gt;
&amp;nbsp;The In2Pay solution transforms any mobile phone with a microSD memory slot into a mobile contactless transaction device, offering a full-featured user interface that supports multiple mobile operating systems. The In2Pay microSD v2 is Trusted Service Manager (TSM) ready, allowing TSM client software on mobile devices to interact with the In2Pay Secure Element through a new Java based Application Programming Interface (In2Pay API). The patented TSM ready architecture of the In2Pay v2 allows TSM providers to support the In2Pay solution without modifying the TSM server designed for embedded or SIM based NFC solutions. With In2Pay v2, DeviceFidelity builds on the plug-and-play features of previous versions to meet the growing market demand for a mobile contactless solution that can interact with wallet solutions of established TSM vendors and can be issued through multiple delivery channels.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;Misc&lt;/b&gt;:&lt;/i&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.dmoz.org/Computers/Hardware/Systems/Smartcards/&quot;&gt;Open Project Directory&lt;/a&gt;&lt;br /&gt;
RFID - &lt;a href=&quot;http://en.wikipedia.org/wiki/Radio-frequency_identification&quot;&gt;Radio Frequency Identification&amp;nbsp;&lt;/a&gt;&lt;br /&gt;
CVV - Card Verification Value (normally 3 digit security code behind the card)&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright ThoughtMate! 2010, at thoughtmate.blogspot.com&lt;/div&gt;</description><link>http://thoughtmate.blogspot.com/2010/12/contactless-credit-cards-and-electronic.html</link><author>noreply@blogger.com (Noufal Kader)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5662483947391519592.post-6802472206978426518</guid><pubDate>Tue, 23 Nov 2010 07:26:00 +0000</pubDate><atom:updated>2010-12-13T21:21:19.397+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">BPEL</category><category domain="http://www.blogger.com/atom/ns#">Oracle</category><category domain="http://www.blogger.com/atom/ns#">OSB</category><category domain="http://www.blogger.com/atom/ns#">SOA</category><title>When to use OSB &amp; BPEL?</title><description>&lt;b&gt;Use OSB for:&lt;/b&gt; &lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Endpoint routing (providing location transparency) so that we do not care about the physical location of the endpoint. &lt;/li&gt;
&lt;li&gt;Endpoint abstraction (interface transparency) so that we do not care about the exact data formats required by the endpoint because the OSB will take care of transformations. &lt;/li&gt;
&lt;li&gt;Load balancing so that we do not care about which of multiple service implementations will actually service a request.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Throttling so that we do not care about how use of services is restricted.&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Enrichment so that we do not care about how additional data is provided to the request to match the expected request and response formats. &lt;/li&gt;
&lt;li&gt;Simple synchronous composition so that we do not care if our abstract service call is actually made up of two or more physical service calls. &lt;/li&gt;
&lt;li&gt;Protocol conversion so that we do not care what physical transports are being used. &lt;/li&gt;
&lt;li&gt;Sync/async abstraction so that we can treat services as fire and forget or query response according to the needs of the client.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;b&gt;Use BPEL for:&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Complex composition of parallel flows that involve more than a couple of services. &lt;/li&gt;
&lt;li&gt;Long running compositions that may run for minutes, hours or days. &lt;/li&gt;
&lt;li&gt;Asynchronous compositions that require correlation of requests and responses. &lt;/li&gt;
&lt;li&gt;Process abstraction that enables us to track processes and their interactions with multiple services. &lt;/li&gt;
&lt;li&gt;Human workflow&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;b&gt;Related blog topics:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;div style=&quot;font-weight: normal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;i&gt;&lt;a href=&quot;http://thoughtmate.blogspot.com/2010/11/exposing-ora-bpel-processes-as-web.html&quot;&gt;Exposing BPEL thru OSB&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal;&quot;&gt;&lt;i&gt;&lt;a href=&quot;http://thoughtmate.blogspot.com/2010/11/oracle-bpel-pm-dehydration-store.html&quot;&gt;BPEL Dehydration Store - Detailed&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal;&quot;&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;a href=&quot;http://thoughtmate.blogspot.com/2010/11/ora-bpel-thru-osb-associating-message.html&quot;&gt;Exposing Ora BPEL processes as Web services in OSB layer&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;display: inline !important; font-weight: normal;&quot;&gt;&lt;div style=&quot;display: inline !important; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;b&gt;&lt;a href=&quot;http://thoughtmate.blogspot.com/2010/11/oracle-bpel-pm-components.html&quot;&gt;Oracle BPEL PM - Components&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal;&quot;&gt;&lt;/div&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright ThoughtMate! 2010, at thoughtmate.blogspot.com&lt;/div&gt;</description><link>http://thoughtmate.blogspot.com/2010/11/when-to-use-osb-bpel.html</link><author>noreply@blogger.com (Noufal Kader)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5662483947391519592.post-8240825057140152972</guid><pubDate>Tue, 23 Nov 2010 02:38:00 +0000</pubDate><atom:updated>2010-11-23T13:38:34.369+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">SOA</category><title>what is EAI?</title><description>EAI&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 1. A centralized broker that handles security, access, and communication. This can be accomplished through integration servers (like the School Interoperability Framework (SIF) Zone Integration Servers) or through similar software like the &lt;b&gt;Enterprise service bus (ESB)&lt;/b&gt; model that acts as a SOAP-oriented services manager.&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 2. An independent data model based on a standard data structure, also known as a &lt;b&gt;Canonical data model&lt;/b&gt;. It appears that XML and the use of XML style sheets has become the de facto and in some cases de jure standard for this uniform business language.&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 3. A connector, or agent model where each vendor, application, or interface can build a single component that can speak natively to that application and communicate with the centralized broker. &lt;br /&gt;
&amp;nbsp;&amp;nbsp; 4. A system model that defines the APIs, data flow and rules of engagement to the system such that components can be built to interface with it in a standardized way. This aids &lt;b&gt;Orchestration&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Advantages&lt;/i&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Real time information access among systems&lt;/li&gt;
&lt;li&gt;Streamlines business processes and helps raise organizational efficiency&lt;/li&gt;
&lt;li&gt;Maintains information integrity across multiple systems&lt;/li&gt;
&lt;li&gt;Ease of development and maintenance&lt;/li&gt;
&lt;/ul&gt;&lt;i&gt;Disadvantages&lt;/i&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;High initial development costs, especially for small and mid-sized businesses (SMBs)&lt;/li&gt;
&lt;li&gt;Require a fair amount of up front business design, which many managers are not able to envision or not willing to invest in.&lt;/li&gt;
&lt;/ul&gt;Most EAI projects usually start off as point-to-point efforts,  quickly becoming unmanageable as the number of applications increase.&lt;br /&gt;
&lt;br /&gt;
SOA is a loosely coupled solution to replace EAI (didn&#39;t kill EAI though).&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright ThoughtMate! 2010, at thoughtmate.blogspot.com&lt;/div&gt;</description><link>http://thoughtmate.blogspot.com/2010/11/what-is-eai.html</link><author>noreply@blogger.com (Noufal Kader)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5662483947391519592.post-4668852172973437386</guid><pubDate>Tue, 23 Nov 2010 02:32:00 +0000</pubDate><atom:updated>2010-11-23T13:32:46.759+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">SOA</category><title>Canonical Data Model &amp; the pattern</title><description>&lt;b&gt;Canonical Data Model&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Canonical implies =&amp;gt; simplest form possible based on a standard, common view within a given context. &lt;b&gt;Canonical Model&lt;/b&gt; is a design pattern used to communicate between different data formats in Enterprise Application Integration (EAI) - it is intended to reduce costs and standardize on agreed data definitions associated with integrating business systems. Canonical Data Model - an enterprise design pattern which provides common data naming, definition and values within a generalized data framework.&lt;br /&gt;
&lt;br /&gt;
A typical migration from point-to-point (P2P) interfacing to message based integration (MOM) begins with a decision on the middleware to be used to transport messages between endpoints. Often this decision results in the adoption of an Enterprise Service Bus (ESB) or Enterprise Application Integration (EAI) solution. Most organizations also adopt a set of standards for message structure and content (message payload). The desire for consistent message payload results in the construction of an enterprise/business domain Canonical Model or adoption of an XML message standard used as the basis for message objects.&lt;br /&gt;
&lt;br /&gt;
The goal of the Canonical Model is to provide a dictionary of reusable common objects and definitions at an enterprise or business domain level to enhance system interoperability. &quot;A Canonical Data Model allows developers and business users to discuss the integration solution in terms of the company&#39;s business domain, not a specific package implementation. For example, packaged applications may represent the common concept of a customer in many different internal formats, such as &#39;account&#39;, &#39;payer&#39;, and &#39;contact&#39;. Defining a Canonical Data Model is often the first step to resolving cases of semantic dissonance between applications.&quot; Enterprise integration models provide a foundation for a decoupled, consistent, reusable integration methodology which can be implemented using messaging supported by middleware products. Message payloads (business data content) in the form of XML schema are built from the common model objects thus providing the desired consistency and re-usability while ensuring data integrity.&lt;br /&gt;
Done as &lt;b&gt;&quot;Data format and transformation&quot;&lt;/b&gt; in two steps: the adapter converts information from the application&#39;s format to the bus&#39;s common format. Then, semantic transformations are applied on this (Eg: converting zip codes to city names, splitting/merging objects from one application into objects in the other applications, and so on). Eg: When integrating 2 disperate systems (say: Mainframe MF &amp;amp; a Siebel), the canonical model could be common language, each one translates to for speaking to eachother.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Canonical Schema Pattern&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
In order for a service consumer to send data (related to a particular business entity e.g. a purchase order), it needs to know the structure of the data i.e. the data model. The interaction between services often requires exchanging business documents often complying to certain stds eg: XML schema document (xsd). Once the service consumer knows the required data model, it can structure the data accordingly. However, under some conditions it may be possible that the service consumer already possesses the required data, which relates to a particular business document, but the data does not conform to the data model as specified by the service provider. This disparity among the data models results in the requirement of data model transformation (so that the message is transformed into the required structure as dictated by the service provider). This runtime data model transformation adds processing overhead and complicates the design of service compositions. &lt;br /&gt;
&lt;div class=&quot;thumb tright&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt; &lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;i&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class=&quot;thumbinner&quot; style=&quot;width: 222px;&quot;&gt; &lt;div class=&quot;thumbcaption&quot; style=&quot;text-align: center;&quot;&gt; &lt;div class=&quot;magnify&quot;&gt;&lt;a class=&quot;internal&quot; href=&quot;http://en.wikipedia.org/wiki/File:SOA_DP_Canonical_Schema_A.JPG&quot; title=&quot;Enlarge&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
In order to avoid the need for data model transformation, the Canonical Schema pattern dictates the use of standardized data models for those business documents that are commonly processed by the services in a service inventory. Here, a Standardized Service Contract design principle advocates that the service contracts be based on standardized data models. This is achieved by performing an analysis of the service inventory blueprint, in order to find out the commonly occurring business documents that are exchanged between services. These business documents are then modeled in a standardized manner. For example, in case of web services, the business documents are modeled as XML schemas. Once a standardized data representation layer exists in a service inventory, different service contracts can make use of the same data models if they need to exchange the same business documents. This eliminates the need for any data model transformation and reduces the processing overhead associated with the data model transformation. Another way is to reuse the commonly used elements composed as complex types but involves repeated usage eg: Between Checkout Service &amp;amp; Payment Service, LineItems are repeatable and can be reused.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;img alt=&quot;Diagram A&quot; class=&quot;thumbimage&quot; height=&quot;112&quot; src=&quot;http://upload.wikimedia.org/wikipedia/commons/thumb/d/d8/SOA_DP_Canonical_Schema_A.JPG/220px-SOA_DP_Canonical_Schema_A.JPG&quot; width=&quot;320&quot; /&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;i&gt;Service  A is using a different data model as compared to Service B for the same  business document. When messages are exchanged, runtime data model  transformation needs to be performed.&lt;/i&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a class=&quot;image&quot; href=&quot;http://en.wikipedia.org/wiki/File:SOA_DP_Canonical_Schema_B.JPG&quot;&gt;&lt;img alt=&quot;Diagram A&quot; class=&quot;thumbimage&quot; height=&quot;112&quot; src=&quot;http://upload.wikimedia.org/wikipedia/commons/thumb/6/6c/SOA_DP_Canonical_Schema_B.JPG/220px-SOA_DP_Canonical_Schema_B.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;  &lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;i&gt;Both services are using the same data model for representing a  particular business document. AS a result, no data model transformation  is required when messages are exchanged.&lt;/i&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright ThoughtMate! 2010, at thoughtmate.blogspot.com&lt;/div&gt;</description><link>http://thoughtmate.blogspot.com/2010/11/canonical-data-model-pattern.html</link><author>noreply@blogger.com (Noufal Kader)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5662483947391519592.post-4635674935054051808</guid><pubDate>Sun, 21 Nov 2010 10:09:00 +0000</pubDate><atom:updated>2010-12-13T21:20:31.059+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">BPEL</category><category domain="http://www.blogger.com/atom/ns#">Oracle</category><category domain="http://www.blogger.com/atom/ns#">SOA</category><title>Exposing Ora BPEL processes as Web services in OSB layer</title><description>With Oracle Service Bus&#39;s native transport for Oracle BPEL Process  Manager (BPEL transport), you can expose BPEL processes as Web services  in the service bus layer, letting other services invoke BPEL processes; thus  letting you include BPEL processes in your service oriented architecture (SOA).&lt;br /&gt;
&amp;nbsp;Communication between Oracle BPEL Process Manager and Oracle Service Bus is done &lt;u&gt;over SOAP only&lt;/u&gt;. OSB and Oracle BPM do not provide full support for SOAP RPC encoding.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt; SOAP 1.1. SOAP 1.2 is supported only from Oracle Service Bus to Oracle BPEL Process Manager using synchronous communication.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt; SOAP headers&lt;br /&gt;
&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;BPEL transport has the following restrictions: &lt;br /&gt;
&lt;ul&gt;&lt;li&gt; No attachments&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt; No WS-Security or WS-RM&lt;/li&gt;
&lt;/ul&gt;Oracle BPEL Process Manager supports &lt;i&gt;&lt;u&gt;transaction propagation&lt;/u&gt;&lt;/i&gt; through its  API, and the BPEL transport is transactional to support transaction  propagation when Oracle BPEL Process Manager is deployed on Oracle  WebLogic Server. For example, if a process begins in a service outside  of Oracle BPEL Process Manager, Oracle Service Bus can propagate the  transaction to Oracle BPEL Process Manager through the BPEL transport to  complete the transaction. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Communicating to and fro Oracle BPEL Process Manager through Oracle Service Bus&lt;/b&gt;&lt;br /&gt;
&lt;i&gt;1. Synchronous: Invoking Processes in Oracle BPEL Process Manager&lt;/i&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;img alt=&quot;Description of Figure 34-1 follows&quot; height=&quot;80&quot; longdesc=&quot;img_text/client2bpel1.htm&quot; src=&quot;http://download.oracle.com/docs/html/E15866_01/img/client2bpel1.gif&quot; title=&quot;Description of Figure 34-1 follows&quot; width=&quot;400&quot; /&gt;&lt;br /&gt;
&amp;nbsp; a. Create a Business Service in Oracle Service Bus that represents the BPEL process you want to invoke.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Create a WSDL-based business service. Generate the WSDL from Oracle BPEL Process Manager.&lt;/li&gt;
&lt;li&gt;Select the bpel-10g transport in the business service configuration.&lt;/li&gt;
&lt;li&gt;Set the Endpoint URI&lt;/li&gt;
&lt;li&gt;Configure the remainder of the business service&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&amp;nbsp; b. Create a Proxy Service in Oracle Service Bus that invokes the business service&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&amp;nbsp;2.&amp;nbsp; Synchronous: Calling External Services from Oracle BPEL Process Manager&lt;/i&gt;&lt;br /&gt;
&lt;img alt=&quot;Description of Figure 34-2 follows&quot; height=&quot;80&quot; longdesc=&quot;img_text/bpel2service1.htm&quot; src=&quot;http://download.oracle.com/docs/html/E15866_01/img/bpel2service1.gif&quot; title=&quot;Description of Figure 34-2 follows&quot; width=&quot;400&quot; /&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt; Create a Business Service in Oracle Service Bus that represents the external service you want to invoke&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt; Create a Proxy Service in Oracle Service Bus that invokes the business service.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt; You must create the proxy with a SOAP WSDL to invoke the business  service.When defining your proxy service, for the Service Type select  WSDL Web Service, and select the desired port or binding.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt; Select the sb transport in the proxy service configuration.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt; To invoke the proxy service from Oracle BPEL Process Manager, export  the proxy service&#39;s effective WSDL and import it into your Oracle BPEL  Process Manager development environment. Invoke the proxy service from  Oracle BPEL Process Manager as you normally would.&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;i&gt;&amp;nbsp;3. Asynchronous: Invoking Processes in Oracle BPEL Process Manager&lt;/i&gt;&lt;br /&gt;
&lt;img alt=&quot;Description of Figure 34-3 follows&quot; height=&quot;159&quot; longdesc=&quot;img_text/client2bpel2.htm&quot; src=&quot;http://download.oracle.com/docs/html/E15866_01/img/client2bpel2.gif&quot; title=&quot;Description of Figure 34-3 follows&quot; width=&quot;400&quot; /&gt;&lt;b&gt; &lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt; Create two proxy services in Oracle Service Bus: one that invokes the business service and another that handles the callback.&lt;br /&gt;
&lt;i&gt;&lt;span class=&quot;bold&quot;&gt;Request Proxy Service&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt; Since the callback will be sent on a different connection in  asynchronous communication, you must establish the callback address in  the request proxy. This callback address will be passed to the callback  proxy and callback business services so that the message is sent back to  the correct client.&lt;br /&gt;
As part of the business service configuration, you select a Callback  Proxy. At run time, the BPEL transport uses this proxy as the callback  proxy.&lt;br /&gt;
For approaches to setting a callback address if you do not select a callback proxy in the business service&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;i&gt;&lt;span class=&quot;bold&quot;&gt;Callback Proxy Service&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt; Configure the proxy to use a Service Type of WSDL SOAP or Any SOAP  Service and the SB or HTTP transport. Use the SB transport if you want  transaction propagation from Oracle BPEL Process Manager to Oracle  Service Bus.&lt;br /&gt;
If you select this proxy service as the business service&#39;s callback  proxy, the BPEL transport provides the correct callback URI at run time.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt; Create two business services in Oracle Service Bus: one that makes  the request to the Oracle BPEL Process Manager process you want to  interact with and another that handles the callback.&lt;br /&gt;
&lt;span class=&quot;bold&quot;&gt;Request Business Service&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt; Create a WSDL-based business service. Generate the WSDL from Oracle  BPEL Process Manager. Select a Service Type of WSDL Web Service, and  select the appropriate binding or port in the WSDL.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt; Select the bpel-10g transport in the business service configuration.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt; Set the role to Asynchronous Client.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt; Set the Endpoint URI.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt; Use the Callback Proxy field on the bpel-10g transport configuration page to select the callback proxy you created.&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;span class=&quot;bold&quot;&gt;Callback Business Service&lt;/span&gt;&lt;br /&gt;
Configure the business process you need to handle the callback.&lt;/li&gt;
&lt;/ul&gt;&lt;i&gt;&amp;nbsp;4. Asynchronous: Calling Service Providers from Oracle BPEL Process Manager&lt;/i&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;img alt=&quot;Description of Figure 34-4 follows&quot; height=&quot;163&quot; longdesc=&quot;img_text/bpel2service2.htm&quot; src=&quot;http://download.oracle.com/docs/html/E15866_01/img/bpel2service2.gif&quot; title=&quot;Description of Figure 34-4 follows&quot; width=&quot;400&quot; /&gt;&lt;b&gt; &lt;/b&gt;&lt;br /&gt;
&lt;h4 class=&quot;sect3&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;i&gt;Creating and Configuring the Services&lt;/i&gt;&lt;/h4&gt;&lt;ul&gt;&lt;li&gt; Create two proxy services in Oracle Service Bus: one for the request  that invokes the business service and another that handles the callback.&lt;br /&gt;
&lt;span class=&quot;bold&quot;&gt;Request Proxy Service&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt; Configure the proxy service to use the sb transport.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt; Since the callback will be sent on a different connection in  asynchronous communication, you must establish a callback address so  that the message is sent back to the correct client.&lt;/li&gt;
&lt;/ul&gt;&lt;span class=&quot;bold&quot;&gt;Callback Proxy Service&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt; Configure the proxy service to pass the callback address to the  business service. The callback URI is provided in the request. Use URI  rewriting to extract the callback URI and forward it to the business  service.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt; Create two business services in Oracle Service Bus: a request  business service that invokes the external service and a callback  business service.&lt;br /&gt;
&lt;span class=&quot;bold&quot;&gt;Request Business Service&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt; Configure the business service to invoke the external service.&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;span class=&quot;bold&quot;&gt;Callback Business Service&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt; The callback business service receives the callback address from the  callback proxy. The URI rewriting performed by the callback proxy  service determines which BPEL process to send the response to.&lt;br /&gt;
Create a WSDL-based business service. Generate the WSDL from Oracle BPEL Process Manager. Select a Service Type of &lt;span class=&quot;gui-object-action&quot;&gt;WSDL Web Service&lt;/span&gt;, and select the appropriate binding or port in the WSDL&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt; Select the bpel-10g transport in the business service configuration.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt; Set the Endpoint URI to bpel://callback. The callback URI is provided by the callback proxy service.&lt;/li&gt;
&lt;li&gt; Set the role to Service Callback on the bpel-10g in transport configuration tab&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h4 class=&quot;sect3&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;i&gt;&lt;/i&gt;&lt;/h4&gt;&lt;div class=&quot;notep1&quot;&gt;Note:&lt;/div&gt;If the callback address is always known, for example when the client and  BPEL service are linked together because of a trading partner  agreement, you can provide the exact callback address in the callback  business service instead of using bpel://callback.&lt;br /&gt;
&lt;a href=&quot;http://thoughtmate.blogspot.com/2010/11/ora-bpel-thru-osb-associating-message.html&quot;&gt;&lt;i&gt;BPEL thru OSB: Associating messages with correct conversation&lt;/i&gt;&lt;/a&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Refer:&lt;/b&gt;&lt;br /&gt;
&lt;a href=&quot;http://download.oracle.com/docs/html/E15866_01/bpelpm.htm&quot;&gt;Ora BPM thru OSB&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://blogs.oracle.com/reynolds/2008/10/calling_bpel_from_oracle_servi.html&quot;&gt;Calling BPEL from OSB&lt;/a&gt; - good one&amp;nbsp;&lt;b&gt; &lt;/b&gt;&lt;br /&gt;
&lt;a href=&quot;http://download.oracle.com/docs/html/E15866_01/bpelpm.htm#i1117627&quot;&gt;Asynchronous BPEL to BPEL Through Oracle Service Bus Example&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://download.oracle.com/docs/html/E15866_01/bpelpm.htm#i1114387&quot;&gt;WS-Addressing Reference&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://download.oracle.com/docs/html/E15866_01/tasks.htm#i1119626&quot;&gt;Working with Proxy Services&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://download.oracle.com/docs/html/E15866_01/bpelpm.htm#i1117627&quot;&gt;Asynchronous BPEL to BPEL Through Oracle Service Bus Example&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://download.oracle.com/docs/html/E15866_01/bpelpm.htm#i1119105&quot;&gt;Setting a callback address&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://download.oracle.com/docs/html/E15866_01/tasks.htm#i1119626&quot;&gt;Working with Proxy Services&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Other related topics:&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;a href=&quot;http://thoughtmate.blogspot.com/2010/11/oracle-bpel-pm-dehydration-store.html&quot;&gt;BPEL Dehydration Store - Detailed&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;a href=&quot;http://thoughtmate.blogspot.com/2010/11/when-to-use-osb-bpel.html&quot;&gt;When to use OSB &amp;amp; BPEL?&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;a href=&quot;http://thoughtmate.blogspot.com/2010/11/oracle-bpel-pm-components.html&quot;&gt;Oracle BPEL PM - Components&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright ThoughtMate! 2010, at thoughtmate.blogspot.com&lt;/div&gt;</description><link>http://thoughtmate.blogspot.com/2010/11/exposing-ora-bpel-processes-as-web.html</link><author>noreply@blogger.com (Noufal Kader)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5662483947391519592.post-1036223675472338477</guid><pubDate>Sun, 21 Nov 2010 10:07:00 +0000</pubDate><atom:updated>2010-12-13T21:22:57.118+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">BPEL</category><category domain="http://www.blogger.com/atom/ns#">Oracle</category><category domain="http://www.blogger.com/atom/ns#">SOA</category><title>Ora BPEL thru OSB - associating message with correct conversation</title><description>&lt;b&gt;Associating Messages with the Correct Conversation&lt;/b&gt;&lt;br /&gt;
When using stateful services, the messages sent synchronously between  Oracle Service Bus and Oracle BPEL Process Manager are known as a  conversation. Oracle BPEL Process Manager supports the following  mechanisms for ensuring that messages are correctly associated with each  other as part of a conversation. These mechanisms are independent of  each other, and you may choose to use both to ensure correct  association.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt; &lt;i&gt;&lt;span class=&quot;bold&quot;&gt;BPEL Correlation&lt;/span&gt;&lt;/i&gt; – BPEL correlation is part  of the BPEL specification. When a WSDL-based business service in Oracle  Service Bus sends a message to a BPEL process, the BPEL engine examines  the message to find the target BPEL process instance.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt; &lt;i&gt;&lt;span class=&quot;bold&quot;&gt;Opaque Correlation using WS-Addressing&lt;/span&gt;&lt;/i&gt; –  When a conversation is initiated by a client through Oracle Service Bus  to a BPEL process, the BPEL engine looks in the WS-Addressing SOAP  header for the &quot;messageID&quot; value to use as the ID for the new  conversation. The conversation ID is carried through the conversation as  the &quot;RelatesTo&quot; value.&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&quot;&lt;i&gt;MessageID&lt;/i&gt;&quot; and &quot;&lt;i&gt;RelatesTo&lt;/i&gt;&quot; are used to store the conversation ID in  conversations between Oracle Service Bus and Oracle BPEL Process  Manager, making sure related messages remain in the same conversation.&lt;br /&gt;
The BPEL transport does not let you specify whether a given operation  is a start or continue operation. Instead, the BPEL transport looks for  the &quot;MessageID&quot; and &quot;RelatesTo&quot; properties and sets them accordingly.&lt;br /&gt;
The following describes how the BPEL transport uses &quot;MessageID&quot; and &quot;RelatesTo&quot; in synchronous and asynchronous conversations:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt; &lt;span class=&quot;bold&quot;&gt;Synchronous conversation&lt;/span&gt;: In the initial  request, the &quot;MessageID&quot; determines the conversation ID. In the  remaining communication, the BPEL transport provides the conversation ID  as the RelatesTo value.&lt;br /&gt;
If there is no value assigned to &quot;MessageID&quot; or &quot;RelatesTo,&quot; the  transport assumes either no conversation is occurring or that Oracle  BPEL Process Manager is handling the correlation.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt; &lt;span class=&quot;bold&quot;&gt;Asynchronous callbacks&lt;/span&gt; - In the initial  request, the &quot;MessageID&quot; determines the conversation ID. In the  remaining communication, the BPEL transport provides the conversation ID  as the &quot;RelatesTo&quot; value in the callback.&lt;br /&gt;
If there is no value assigned to &quot;MessageID&quot; or &quot;RelatesTo,&quot; the  transport assumes either no conversation is occurring or that Oracle  BPEL Process Manager is handling the correlation.&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;b&gt;Refer:&lt;/b&gt;&lt;br /&gt;
&lt;i&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;a href=&quot;http://swapnil-soa.blogspot.com/2008/01/correlation-this-post-would-effort-to.html&quot;&gt;Correlation illustrated&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;b&gt;Related blogs&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;i&gt;&lt;a href=&quot;http://thoughtmate.blogspot.com/2010/11/exposing-ora-bpel-processes-as-web.html&quot;&gt;Exposing BPEL thru OSB&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;a href=&quot;http://thoughtmate.blogspot.com/2010/11/oracle-bpel-pm-dehydration-store.html&quot;&gt;BPEL Dehydration Store - Detailed&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;a href=&quot;http://thoughtmate.blogspot.com/2010/11/when-to-use-osb-bpel.html&quot;&gt;When to use OSB &amp;amp; BPEL?&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;a href=&quot;http://thoughtmate.blogspot.com/2010/11/oracle-bpel-pm-components.html&quot;&gt;Oracle BPEL PM - Components&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright ThoughtMate! 2010, at thoughtmate.blogspot.com&lt;/div&gt;</description><link>http://thoughtmate.blogspot.com/2010/11/ora-bpel-thru-osb-associating-message.html</link><author>noreply@blogger.com (Noufal Kader)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5662483947391519592.post-2980425221691087926</guid><pubDate>Sun, 21 Nov 2010 09:52:00 +0000</pubDate><atom:updated>2010-12-13T21:24:15.182+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Oracle</category><category domain="http://www.blogger.com/atom/ns#">OSB</category><category domain="http://www.blogger.com/atom/ns#">SOA</category><title>OSB proxy - SB Transport</title><description>The SB transport allows Oracle products (bpm) to synchronously invoke an  Oracle Service Bus proxy service using RMI. The inbound transport allows  clients to access SB proxy services using RMI. The outbound transport  allows the invocation of SB proxy services using RMI. By default,  accessing all services using T3 protocol, IIOP, HTTP, T3s, IIOPS, or  HTTPS depends on the configuration of the target server.&lt;br /&gt;
&lt;br /&gt;
SB transport supports: &lt;br /&gt;
&lt;ul&gt;&lt;li&gt; &lt;i&gt;Propagation of the transaction context. &lt;/i&gt;The transaction originated in  the client Oracle Service Bus servers can optionally be propagated to  the SB proxy service.&lt;br /&gt;
Propagation of the security context. By default, the security context  associated with the SB client thread is used to invoke the SB proxy  services. This may require enabling domain trust between domains.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt; &lt;i&gt;Invocation of SB proxy services&lt;/i&gt;, with custom identities, by the outbound endpoint using a service account.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt; &lt;i&gt;Specification of time out value for non-transactional invocations&lt;/i&gt;.  The client request returns when Oracle Service Bus does not respond to  the request within the specified interval.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt; Association of a dispatch-policy for both request and response connections&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt; Optimization of RMI call and call-by-reference when routing to a SB business service without a JNDI provider.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt; The following service types:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt; WSDL service&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt; Any SOAP service&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt; Any XML service&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt; The following messaging patterns:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt; Request (one-way) and request-response for the inbound transport.&lt;br /&gt;
For an Oracle Service Bus client the by default the messaging pattern  is inherited from the pipeline of the SB outbound transport.&lt;br /&gt;
For a non-Oracle Service Bus client by default messaging pattern is request-response.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt; Request and request-response for the outbound transport Environment  Values.&lt;a href=&quot;http://download.oracle.com/docs/html/E15866_01/sb.htm#i1100750&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt; The following default values for the Quality of Service (QoS):&lt;br /&gt;
&lt;ul&gt;&lt;li&gt; Exactly-Once for non-Oracle Service Bus clients&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt; Best-Effort for Oracle Service Bus clients&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;b&gt;Refer:&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt; &lt;a href=&quot;http://download.oracle.com/docs/html/E15866_01/sb.htm#i1103399&quot;&gt;Configuring Proxy Services to Use the SB Transport&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt; &lt;a href=&quot;http://download.oracle.com/docs/html/E15866_01/sb.htm#i1103401&quot;&gt;Configuring Business Services to Use the SB Transport&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright ThoughtMate! 2010, at thoughtmate.blogspot.com&lt;/div&gt;</description><link>http://thoughtmate.blogspot.com/2010/11/osb-proxy-sb-transport.html</link><author>noreply@blogger.com (Noufal Kader)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5662483947391519592.post-202660184804782759</guid><pubDate>Sun, 21 Nov 2010 09:29:00 +0000</pubDate><atom:updated>2011-04-17T13:29:53.033+10:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">BPEL</category><category domain="http://www.blogger.com/atom/ns#">Oracle</category><category domain="http://www.blogger.com/atom/ns#">SOA</category><title>Oracle BPEL PM - Dehydration Store?</title><description>&lt;a href=&quot;http://en.wikipedia.org/wiki/BPEL&quot;&gt;BPEL &lt;/a&gt;is the standard for assembling a set of discrete services into an end-to-end process flow, radically reducing the cost and complexity of process integration initiatives. BPEL is an OASIS standard executable language for specifying actions within business processes with web services. Processes in Business Process Execution Language export and import information by using web service interfaces exclusively. Leaders in this arena include Oracle BPEL PM, Websphere PM etc.&lt;br /&gt;
&lt;br /&gt;
Oracle BPEL PM utilizes a database to store metadata and instance data during runtime. The process of updating process state in the database is called &lt;i&gt;Dehydration&lt;/i&gt;. This data is stored in what is known as the &lt;i&gt;Dehydration store&lt;/i&gt;, which is simply a database schema (also called dehydration store, BPEL schema, BPEL tables). The Dehydration Store database is used to store process status data, especially for asynchronous BPEL processes, like BPEL’s metadata and instance data. This exists in &lt;i&gt;x_SOAINFRA&lt;/i&gt; schema created by running RCU.&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/AVvXsEiK_tay1U1LVvkfpruhChOxvmNMMi6dsIVJVFsO9mfAMQNbA_QO0yts1qjZTx5sAoTZYLiuHfKw6rQw49HK0zvS7g4HZl2Jm5KlMMxHeYjuKnE0hmUvNXPQwVv9mVg2a7lnBsUvfXOkgqO5/s1600/Ora+BPEL+PM+Components.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;220&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK_tay1U1LVvkfpruhChOxvmNMMi6dsIVJVFsO9mfAMQNbA_QO0yts1qjZTx5sAoTZYLiuHfKw6rQw49HK0zvS7g4HZl2Jm5KlMMxHeYjuKnE0hmUvNXPQwVv9mVg2a7lnBsUvfXOkgqO5/s320/Ora+BPEL+PM+Components.gif&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
This is separate and independent from any database objects used by your BPEL processes for storing application or business data. For performance reasons, the BPEL schema does not utilize foreign keys and thus master-detail relationships are not obviously inferred from looking at the schema definition.These dependency relationships are maintained by the BPEL engine.&lt;br /&gt;
&lt;br /&gt;
Oracle BPEL Process Manager uses the dehydration store database to  maintain &lt;i&gt;long-running asynchronous processes&lt;/i&gt; and their current state  information in a database while they wait for asynchronous callbacks.  Storing the process in a database preserves the process and prevents any  loss of state or reliability if a system shuts down or a network  problem occurs.&lt;br /&gt;
&lt;br /&gt;
The database schema ddl can be found at: &lt;mw_home&gt;\Oracle_SOA1\rcu\integration\soainfra\sql\bpel. With proper knowledge of this schema, administrators can bypass the BPEL Console and write SQL queries against the store directly OR use BPEL Process Manager API.&lt;/mw_home&gt;&lt;br /&gt;
&lt;mw_home&gt;&lt;br /&gt;
Oracle BPEL Process Manager Console provides a user-friendly, Web-based interface for management, administration, and debugging of processes deployed to the BPEL server. BPEL Process Manager API provides an exhaustive set of classes to find, archive, delete instances in various states, delete callback/invoke messages across different domains, or query on the status of specific domain, process, or instance. In production environments, administrators need strong control over management tasks. Via a PL/SQL query or BPEL API against the BPEL Dehydration Store database, it is possible to automate most of these administrative tasks.&lt;/mw_home&gt;&lt;br /&gt;
&lt;br /&gt;
Key classes for performing administrative tasks are:&lt;br /&gt;
&lt;br /&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;7&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td valign=&quot;top&quot; width=&quot;188&quot;&gt;Class/Interface&lt;/td&gt;                                    &lt;td valign=&quot;top&quot; width=&quot;391&quot;&gt;Methods&lt;/td&gt;                                 &lt;/tr&gt;
&lt;tr&gt;                                    &lt;td valign=&quot;top&quot; width=&quot;188&quot;&gt;Class &lt;i&gt;WhereConditionHelper&lt;/i&gt;&lt;/td&gt;                                    &lt;td valign=&quot;top&quot; width=&quot;391&quot;&gt;Provides methods such as                                         &lt;tt&gt;whereInstancesClosed()&lt;/tt&gt;,                                         &lt;tt&gt;whereInstancesStale()&lt;/tt&gt;, and                                         &lt;tt&gt;whereInstancesOpen()&lt;/tt&gt;, which construct a                                         &lt;tt&gt;where&lt;/tt&gt; clause that search for respective instances.                                     &lt;/td&gt;                                 &lt;/tr&gt;
&lt;tr&gt;                                    &lt;td valign=&quot;top&quot; width=&quot;188&quot;&gt;&lt;i&gt;Interface &lt;/i&gt;IBPELDomainHandle&lt;/td&gt;                                    &lt;td valign=&quot;top&quot; width=&quot;391&quot;&gt;Allows the developer to perform operations on a running BPEL process domain. Provides methods such as                                         &lt;tt&gt;archiveAllInstances()&lt;/tt&gt;,                                         &lt;tt&gt;deleteAllInstances()&lt;/tt&gt;,                                         &lt;tt&gt;d eleteInstancesByProcessId()&lt;/tt&gt;,                                         &lt;tt&gt;deployProcess()&lt;/tt&gt;, and                                         &lt;tt&gt;undeployPorcess()&lt;/tt&gt;,                                         &lt;tt&gt;deleteAllHandledCallback()&lt;/tt&gt;, and                                         &lt;tt&gt;deleteAllHandledInvoke()&lt;/tt&gt;.                                     &lt;/td&gt;                                 &lt;/tr&gt;
&lt;tr&gt;                                    &lt;td valign=&quot;top&quot; width=&quot;188&quot;&gt;Interface &lt;i&gt;IinstanceHandle&lt;/i&gt;&lt;/td&gt;                                    &lt;td valign=&quot;top&quot; width=&quot;391&quot;&gt;Allows the user to perform  operations on an active instance. Provides methods such as isStale() ,  getState() , getModifyDate() , and delete() .&lt;/td&gt;                                 &lt;/tr&gt;
&lt;tr&gt;                                    &lt;td valign=&quot;top&quot; width=&quot;188&quot;&gt;Class &lt;i&gt;Locator&lt;/i&gt;&lt;/td&gt;                                    &lt;td valign=&quot;top&quot; width=&quot;391&quot;&gt;Allows the user to search for  processes, instances, and activities that have been deployed and  instantiated within an Orabpel process domain. Provides methods such as                                          &lt;tt&gt;listInstances()&lt;/tt&gt; and                                         &lt;tt&gt;listActivities()&lt;/tt&gt; and can take where clauses as parameters.                                     &lt;/td&gt;                                 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;Tables and their relationships are:&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-Wkrw28SffRyR2RJHeWCikB3XGvZbKN4lioXB4CPME3DskkzrmxKfD-Ur5qHOkx2zLEcEvUk3I3Yur5zF7PEGU5eRz4cyWZOGfBGNpGzd7GxCGdtKJT81ttde3_V2s1-5Iz2FYU5QtJm3/s1600/bpel+dehydration+store+-+tab+relationship+dgm.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;300&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-Wkrw28SffRyR2RJHeWCikB3XGvZbKN4lioXB4CPME3DskkzrmxKfD-Ur5qHOkx2zLEcEvUk3I3Yur5zF7PEGU5eRz4cyWZOGfBGNpGzd7GxCGdtKJT81ttde3_V2s1-5Iz2FYU5QtJm3/s400/bpel+dehydration+store+-+tab+relationship+dgm.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;TASK table stores tasks created for an instance. The TaskManager process keeps its current state in this table. Upon calling invoking the TaskManager process, a task object is created, with a title, assignee, status, expiration date, etc. When updates are made to the TaskManager instance via the console the underlying task object in the db is changed.&lt;/div&gt;&lt;table border=&quot;1&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;th&gt;Table name&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;CUBE_INSTANCE&lt;/td&gt;&lt;td&gt;Contains one entry for each BPEL instance  created. It stores instance meta data information like creation  date,last modified date, current state, process id etc.&lt;br /&gt;
An important column is cikey. Each BPEL instance is assigned a unique ID -&amp;nbsp; is the instance ID that you see in your BPEL console.Gets incremented in a sequence with creation of BPEL instances. This key cuts across a lot of tables in the dehydration tables. &lt;br /&gt;
Following are processes state codes and their meaning&lt;br /&gt;
&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;th&gt;State&lt;/th&gt;&lt;th&gt;Code&lt;/th&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Closed and Aborted&lt;/td&gt;&lt;td&gt;8&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Closed and Cancelled&lt;/td&gt;&lt;td&gt;7&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Closed and Completed &lt;/td&gt;&lt;td&gt;5&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Closed and Faulted &lt;/td&gt;&lt;td&gt;6&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Closed and (Pending or Cancel)&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Closed and Stale&lt;/td&gt;&lt;td&gt;9&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Initiated &lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Open and Running&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Open and Suspended&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;Open and Faulted&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;CUBE_SCOPE&lt;/td&gt;&lt;td&gt;Stores the scope data for an instance. It stores BPEL scope variable values &amp;amp;&amp;nbsp;some internal objects to help route logic throughout the flow.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;INVOKE_MESSAGE&lt;/td&gt;&lt;td&gt;Stores incoming (invocation) messages  (messages that result in the creation of an instance). This table only  stores the meta data for a message (for example, current state, process  identifier, and receive date). Following are message states and their  meanings &lt;br /&gt;
&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;th&gt;State&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;th&gt;Code&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;CANCELLED&lt;/td&gt;&lt;td&gt;Message Processing Cancelled&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;HANDLED&lt;/td&gt;&lt;td&gt;Message is processed&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;RESOLVED&lt;/td&gt;&lt;td&gt;Message is given to BPEL PM but not yet processed&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;UNRESOLVED&lt;/td&gt;&lt;td&gt;Message is not yet given to BPEL PM&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;DLV_MESSAGE&lt;/td&gt;&lt;td&gt;Call back messages are stored here. All non-invocation messages are saved here upon receipt. The delivery layer will then attempt to correlate the message with the receiving instance. This table only stores the metadata for a message. (eg. current state, process identifier, receive date).&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;WORK_ITEM&lt;/td&gt;&lt;td&gt;Stores activities created by an instance. All  activities in a BPEL flow have a work_item table. This table includes  the meta data for the activity (current state, label, and expiration  date (used by wait activities)). When the engine needs to be restarted and instances recovered, pending flows are resumed by inspecting their unfinished work items.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;SCOPE_ACTIVATION&lt;/td&gt;&lt;td&gt;Scopes that need to be  routed/closed/compensated are inserted into this table. In case of  system failure, we can pick up and re-perform any scopes that should  have been done before the failure&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;DLV_SUBSCRIPTION&lt;/td&gt;&lt;td&gt;Stores delivery subscriptions for an  instance. Whenever an instance expects a message from a partner (for  example, the receive or onMessage activity) a subscription is written  out for that specific receive activity. Once a delivery message is  received the delivery layer attempts to correlate the message with the  intended subscription&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;AUDIT_TRAIL&lt;/td&gt;&lt;td&gt;Stores record of actions taken on an  instance. As an instance is processed, each activity writes events to  the audit trail as XML.&amp;nbsp;As the instance is worked on, each activity writes out events to the audit trail as XML which is compress ed and stored in a raw column.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;AUDIT_DETAILS&lt;/td&gt;&lt;td&gt;Stores details for audit trail events that  are large in size. Audit details are separated from the audit_trail  table due to their large size. The auditDetailThreshold property in  Oracle BPEL Control under Manage BPEL Domain &amp;gt; Configuration is used  by this table. If the size of a detail is larger than the value  specified for this property, it is placed in this table. Otherwise, it  is placed in the audit_trail table&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;XML_DOCUMENT&lt;/td&gt;&lt;td&gt;Stores process input and output xml  documents. Separating the document storage from the meta data enables  the meta data to change frequently without being impacted by the size of  the documents&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;WI_EXCEPTION&lt;/td&gt;&lt;td&gt;Stores exception messages generated by  failed attempts to perform, manage or complete a work item. Each failed  attempt is logged as an exception message&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;PROCESS_DESCRIPTOR&lt;/td&gt;&lt;td&gt;Stores BPEL processes deployment descriptor(bpel.xml)&lt;br /&gt;
Record of events (informational, debug, error) encountered while interacting with a process.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;INVOKE_MESSAGE_BIN&lt;/td&gt;&lt;td&gt;Stores invoke payload of a process. This table has foreign key relationship with INVOKE_MESSAGE table &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;DLV_MESSAGE_BIN&lt;/td&gt;&lt;td&gt;Stores received payload of a call-back process.&amp;nbsp;The metadata of a callback message is kept in the dlv_message table, this table only stores the payload as a blob. This separation allows the metadata to change frequently without being impacted by the size of the payload (which is stored here and never modified).&lt;br /&gt;
This table has foreign key relationship with DLV_MESSAGE&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;WFTASK&lt;/td&gt;&lt;td&gt;Stores human workflow tasks run time meta data like taskid,title,state,user or group assigned, created and updated dates.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;WFTASKMETADATA&lt;/td&gt;&lt;td&gt;Stores task meta data. Content in this table comes from &#39;.task&#39; file of BPEL project&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;WFASSIGNEE&lt;/td&gt;&lt;td&gt;Stores task assignee information&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;WFMESSAGEATTRIBUTE&lt;/td&gt;&lt;td&gt;Stores task input payload parameters &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;WFATTACHMENT&lt;/td&gt;&lt;td&gt;Stores task attachments&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;WFCOMMENTS&lt;/td&gt;&lt;td&gt;Stores task comments&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
In a production environment, it will be necessary to archive the  information before you delete the information—and to do so for hundreds  of instances. Fortunately, you can achieve this goal using PL/SQL or  EJB.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Datastore for Dehydration Store:&lt;/b&gt;&lt;br /&gt;
Oracle BPEL Server obtains database connections using an application  server JTA data source. Oracle BPEL Server by default is configured to  use the Oracle Database Lite dehydration store. For stress testing and  production, Oracle recommends that you use Oracle Database 10&lt;span class=&quot;italic&quot;&gt;g/11g. The same recommended when BPEL involves large attachments.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;span class=&quot;italic&quot;&gt;Domain and Process Configuration Property Settings&lt;/span&gt;&lt;/u&gt; &lt;br /&gt;
&lt;br /&gt;
Two types of processes in Ora BPM. These processes impact the dehydration store database in different ways:&lt;br /&gt;
&lt;ul&gt;&lt;li type=&quot;disc&quot;&gt; &lt;i&gt;Transient&lt;a href=&quot;http://www.blogger.com/post-edit.g?blogID=5662483947391519592&amp;amp;postID=202660184804782759&quot; id=&quot;sthref182&quot; name=&quot;sthref182&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://www.blogger.com/post-edit.g?blogID=5662483947391519592&amp;amp;postID=202660184804782759&quot; id=&quot;sthref183&quot; name=&quot;sthref183&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://www.blogger.com/post-edit.g?blogID=5662483947391519592&amp;amp;postID=202660184804782759&quot; id=&quot;sthref184&quot; name=&quot;sthref184&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://www.blogger.com/post-edit.g?blogID=5662483947391519592&amp;amp;postID=202660184804782759&quot; id=&quot;sthref185&quot; name=&quot;sthref185&quot;&gt;&lt;/a&gt;  processes&lt;/i&gt;: does not incur any intermediate  dehydration points during process execution. If there are unhandled  faults or there is system downtime during process execution, the  instances of a transient process do not leave a trace in the system.  Instances of transient processes cannot be saved in-flight (whether they  complete normally or abnormally). Transient processes are typically  short-lived, request-response style processes. Eg: synchronous process.&lt;br /&gt;
&lt;/li&gt;
&lt;li type=&quot;disc&quot;&gt; &lt;i&gt;Durable processes&lt;/i&gt;: incurs one or more dehydration  points in the database during execution because of the following  activities:&lt;a href=&quot;http://www.blogger.com/post-edit.g?blogID=5662483947391519592&amp;amp;postID=202660184804782759&quot; id=&quot;sthref186&quot; name=&quot;sthref186&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://www.blogger.com/post-edit.g?blogID=5662483947391519592&amp;amp;postID=202660184804782759&quot; id=&quot;sthref187&quot; name=&quot;sthref187&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li type=&quot;circle&quot;&gt; Receive activity&lt;a href=&quot;http://www.blogger.com/post-edit.g?blogID=5662483947391519592&amp;amp;postID=202660184804782759&quot; id=&quot;sthref188&quot; name=&quot;sthref188&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li type=&quot;circle&quot;&gt; OnMessage branch in a pick activity&lt;a href=&quot;http://www.blogger.com/post-edit.g?blogID=5662483947391519592&amp;amp;postID=202660184804782759&quot; id=&quot;sthref189&quot; name=&quot;sthref189&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;li type=&quot;circle&quot;&gt; OnAlarm branch in a pick activity&lt;br /&gt;
&lt;/li&gt;
&lt;li type=&quot;circle&quot;&gt; Wait activity&lt;a href=&quot;http://www.blogger.com/post-edit.g?blogID=5662483947391519592&amp;amp;postID=202660184804782759&quot; id=&quot;sthref190&quot; name=&quot;sthref190&quot;&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;Instances of durable processes can be saved in-flight (whether they  complete normally or abnormally). These processes are typically  long-living and initiated through a one-way invocation. Because of  out-of-memory and system downtime issues, durable processes cannot be  memory-optimized. The asynchronous process you design in Oracle  JDeveloper is an example of both transient and durable processes.&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;b&gt;Idempotent BPEL Property&lt;/b&gt;&lt;br /&gt;
A BPEL invoke activity is by default an idempotent activity, meaning  that the BPEL process does not dehydrate instances immediately after  invoke activities.&amp;nbsp;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li type=&quot;disc&quot;&gt; &lt;code&gt;false&lt;/code&gt;: activity is dehydrated immediately after execution and recorded in the dehydration store. provides better failover protection, but at the cost of some  performance, since the BPEL process accesses the dehydration store much  more frequently&lt;br /&gt;
&lt;/li&gt;
&lt;li type=&quot;disc&quot;&gt; &lt;code&gt;true&lt;/code&gt; (default): If Oracle BPEL Server fails, it performs  the activity again after restarting. This is because the server does  not dehydrate immediately after the invoke and no record exists that the  activity executed.&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;This setting can be configured for each partner link in the &lt;code&gt;bpel.xml&lt;/code&gt; file. &lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;b&gt; &lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Refer&lt;/b&gt;:&lt;br /&gt;
&lt;a href=&quot;http://download.oracle.com/docs/cd/B31017_01/integrate.1013/b28985/toc.htm&quot;&gt;BPEL Process Manager API&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://sourceforge.net/projects/jaisy-obpel-itf/&quot;&gt;Managing a BPEL Production Environment&amp;nbsp;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.oracle.com/technetwork/middleware/bpel/learnmore/bpeldehydrationstorepurgestrategies-192217.pdf&quot;&gt;Purging strategies for dehydration store&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://sourceforge.net/projects/jaisy-obpel-itf/&quot;&gt;jaisy-OrabpelInterface&lt;/a&gt; - JMX monitoring for Oracle Bpel Process Manager&lt;br /&gt;
&lt;a href=&quot;http://sqltech.cl/doc/oas10gR31/core.1013/b28942/tuning_bpel.htm&quot;&gt;Ora BPEL PM Performance Tuning&lt;/a&gt; &lt;br /&gt;
&lt;a href=&quot;http://www.oracle.com/technetwork/middleware/ias/webinars-098389.html&quot;&gt;Ora BPEL Webinar&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.oracle.com/technetwork/articles/soa/index-095969.html&quot;&gt;SOA Best Practices: The BPEL Cookbook&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://is.tm.tue.nl/research/patterns/download/Oracle_BPEL_v.10.1.2.pdf&quot;&gt;Pattern-based Evaluation of Oracle-BPEL&lt;/a&gt; - also good to understand xml block to each bpel component&lt;br /&gt;
&lt;a href=&quot;http://soacrux.blogspot.com/2010/06/how-to-change-dehydration-store-db-for.html&quot;&gt;Migrating dehydration for oc4j server in Ora BPM&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://thoughtmate.blogspot.com/2010/11/oracle-bpel-pm-components.html&quot;&gt;Oracle BPEL PM - Components&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://thoughtmate.blogspot.com/2010/11/ora-bpel-thru-osb-associating-message.html&quot;&gt;Ora BPEL thru OSB&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://thoughtmate.blogspot.com/2010/11/ora-bpel-thru-osb-associating-message.html&quot;&gt;Exposing Ora BPEL processes as Web services in OSB layer&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://thoughtmate.blogspot.com/2010/11/when-to-use-osb-bpel.html&quot;&gt;When to use OSB &amp;amp; BPEL?&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.oracle.com/technetwork/middleware/bpel/learnmore/bpeldehydrationstorepurgestrategies-192217.pdf&quot;&gt;BPEL 10g Purging Strategy&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.oracle.com/technetwork/middleware/bpel/documentation/bpel10gpartitioning-133743.pdf&quot;&gt;BPEL 10g Partitioning&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright ThoughtMate! 2010, at thoughtmate.blogspot.com&lt;/div&gt;</description><link>http://thoughtmate.blogspot.com/2010/11/oracle-bpel-pm-dehydration-store.html</link><author>noreply@blogger.com (Noufal Kader)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiK_tay1U1LVvkfpruhChOxvmNMMi6dsIVJVFsO9mfAMQNbA_QO0yts1qjZTx5sAoTZYLiuHfKw6rQw49HK0zvS7g4HZl2Jm5KlMMxHeYjuKnE0hmUvNXPQwVv9mVg2a7lnBsUvfXOkgqO5/s72-c/Ora+BPEL+PM+Components.gif" height="72" width="72"/><thr:total>13</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5662483947391519592.post-7740350439807419496</guid><pubDate>Sun, 21 Nov 2010 01:45:00 +0000</pubDate><atom:updated>2010-11-21T19:38:11.800+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">webservice</category><title>WS-ReliableMessaging aka WS-RM</title><description>&lt;b&gt;WS-ReliableMessaging&lt;/b&gt; describes a protocol that allows &lt;a href=&quot;http://en.wikipedia.org/wiki/SOAP&quot; title=&quot;SOAP&quot;&gt;SOAP&lt;/a&gt; messages to be &lt;a href=&quot;http://en.wikipedia.org/wiki/Reliable_messaging&quot; title=&quot;Reliable messaging&quot;&gt;reliably delivered&lt;/a&gt; between distributed applications in the presence of software component, system, or network failures.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://upload.wikimedia.org/wikipedia/en/8/81/Ws-reliablemessaging.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://upload.wikimedia.org/wikipedia/en/8/81/Ws-reliablemessaging.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
An Application Source (AS) wishes to reliably send messages to an  Application Destination (AD) over an unreliable infrastructure. To  accomplish this they make use of a Reliable Messaging Source (RMS) and a  Reliable Messaging Destination (RMD). The AS sends a message to the  RMS. The RMS uses the WS-ReliableMessaging (WS-RM) protocol to transmit  the message to the RMD. The RMD delivers the message to the AD. If the  RMS cannot transmit the message to the RMD for some reason, it must  raise an exception or otherwise indicate to the AS that the message was  not transmitted.&lt;br /&gt;
&lt;br /&gt;
The AS and RMS may be implemented within the same  process space or they may be separate components. Similarly, the AD and  RMD may exist within the same process space or they may be separate  components.&lt;br /&gt;
The important thing to keep in mind is that the WS-RM specification  only deals with the contents and behavior of messages as they appear &quot;on  the wire&quot;. How messages are sent from the AS to the RMS, how they are  delivered from the RMD to the AD, whether messages are persisted on-disk  or held in memory, etc.; none of these considerations are part of the  WS-RM specification.&lt;br /&gt;
&lt;br /&gt;
The WS-RM protocol defines and supports a number of Delivery Assurances. These are:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;AtLeastOnce - Each message will be delivered to the AD at least  once. If a message cannot be delivered, an error must be raised by the  RMS and/or the RMD. Messages may be delivered to the AD more than once  (i.e. the AD may get duplicate messages).&lt;/li&gt;
&lt;li&gt;AtMostOnce - Each message will be delivered to the AD at most once.  Messages may not be delivered to the AD, but the AD will never get  duplicate messages.&lt;/li&gt;
&lt;li&gt;ExactlyOnce - Each message will be delivered to the AD exactly once.  If a message cannot be delivered, an error must be raised by the RMS  and/or the RMD. The AD will never get duplicate messages.&lt;/li&gt;
&lt;li&gt;InOrder - Messages will be delivered from the RMD to the AD in the  order that they are sent from the AS to the RMS. This assurance can be  combined with any of the above assurances.&lt;span id=&quot;goog_609112007&quot;&gt;&lt;/span&gt;&lt;span id=&quot;goog_609112008&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&amp;nbsp;This is implemented in prominent App servers like WL, WS, Glassfish, Netweaver etc.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.infoq.com/articles/fremantle-wsrm-introduction&quot;&gt;More detailed reference&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright ThoughtMate! 2010, at thoughtmate.blogspot.com&lt;/div&gt;</description><link>http://thoughtmate.blogspot.com/2010/11/ws-rm-ws-reliablemessaging.html</link><author>noreply@blogger.com (Noufal Kader)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5662483947391519592.post-1984692038095616508</guid><pubDate>Sun, 21 Nov 2010 01:33:00 +0000</pubDate><atom:updated>2010-12-13T21:22:07.592+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">BPEL</category><category domain="http://www.blogger.com/atom/ns#">Oracle</category><category domain="http://www.blogger.com/atom/ns#">SOA</category><title>Oracle BPEL PM - Components</title><description>&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/AVvXsEj_zTsVk9qHbH5OgZnCQxTBD0HFd6COfit48b1a_GEnEtlcHqyHKh3ITPC_qlVJPod2SXeXXspy0JHNA-sq1WymgWtj_CaPH60wm2Z_B55AcDy_WWjH3JhgxQvqTL0uaFWwmXjTgcOrHS44/s1600/Ora+BPEL+PM+Components.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;275&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_zTsVk9qHbH5OgZnCQxTBD0HFd6COfit48b1a_GEnEtlcHqyHKh3ITPC_qlVJPod2SXeXXspy0JHNA-sq1WymgWtj_CaPH60wm2Z_B55AcDy_WWjH3JhgxQvqTL0uaFWwmXjTgcOrHS44/s400/Ora+BPEL+PM+Components.gif&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;ul&gt;&lt;li type=&quot;disc&quot;&gt; BPEL Designer—a graphical and user-friendly way to model, edit,  design, and deploy BPEL processes. BPEL Designer also enables you to  view and modify the BPEL source code. This is SOA Composite Editor in  Oracle JDeveloper.&lt;a href=&quot;http://www.blogger.com/post-edit.g?blogID=5662483947391519592&amp;amp;postID=1984692038095616508&quot; id=&quot;sthref23&quot; name=&quot;sthref23&quot;&gt;&lt;/a&gt; &lt;br /&gt;
&lt;/li&gt;
&lt;li type=&quot;disc&quot;&gt; Oracle BPEL Server—the server to which you deploy the BPEL process  that you design and that contains human workflow, technology adapters,  and notification services components. Default=Weblogic AS. &lt;a href=&quot;http://download.oracle.com/docs/cd/B28095_05/pc.1012/b25760/websphere.htm#BABHIHJD&quot;&gt;Websphere can also be configured&lt;/a&gt;&lt;a href=&quot;http://www.blogger.com/post-edit.g?blogID=5662483947391519592&amp;amp;postID=1984692038095616508&quot; id=&quot;sthref24&quot; name=&quot;sthref24&quot;&gt;&lt;/a&gt; &lt;br /&gt;
&lt;/li&gt;
&lt;li type=&quot;disc&quot;&gt; Oracle BPEL Console—the console from which you run, manage, and test  your deployed BPEL process. Oracle BPEL Console provides a Web-based  interface for management, administration, and debugging of processes  deployed to Oracle BPEL Server.&lt;a href=&quot;http://www.blogger.com/post-edit.g?blogID=5662483947391519592&amp;amp;postID=1984692038095616508&quot; id=&quot;sthref25&quot; name=&quot;sthref25&quot;&gt;&lt;/a&gt; &lt;br /&gt;
&lt;/li&gt;
&lt;li type=&quot;disc&quot;&gt; Dehydration store - by default Oracle Database Lite; other enterprise db like Ora10g/11g &amp;amp; SqlServer can also be configured for this using JTA datasource.&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;i&gt;Also, read related topic:&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;a href=&quot;http://thoughtmate.blogspot.com/2010/11/oracle-bpel-pm-dehydration-store.html&quot;&gt;BPEL Dehydration Store - Detailed&lt;/a&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;a href=&quot;http://thoughtmate.blogspot.com/2010/11/ora-bpel-thru-osb-associating-message.html&quot;&gt;Ora BPEL thru OSB&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;a href=&quot;http://thoughtmate.blogspot.com/2010/11/ora-bpel-thru-osb-associating-message.html&quot;&gt;Exposing Ora BPEL processes as Web services in OSB layer&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;&quot;&gt;&lt;a href=&quot;http://thoughtmate.blogspot.com/2010/11/when-to-use-osb-bpel.html&quot;&gt;When to use OSB &amp;amp; BPEL?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright ThoughtMate! 2010, at thoughtmate.blogspot.com&lt;/div&gt;</description><link>http://thoughtmate.blogspot.com/2010/11/oracle-bpel-pm-components.html</link><author>noreply@blogger.com (Noufal Kader)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_zTsVk9qHbH5OgZnCQxTBD0HFd6COfit48b1a_GEnEtlcHqyHKh3ITPC_qlVJPod2SXeXXspy0JHNA-sq1WymgWtj_CaPH60wm2Z_B55AcDy_WWjH3JhgxQvqTL0uaFWwmXjTgcOrHS44/s72-c/Ora+BPEL+PM+Components.gif" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5662483947391519592.post-6110839076870512610</guid><pubDate>Sat, 20 Nov 2010 06:44:00 +0000</pubDate><atom:updated>2010-12-13T21:09:28.377+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">BPEL</category><category domain="http://www.blogger.com/atom/ns#">Transaction</category><title>Compensational Transaction - maintaining Integrity in SOA</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;Transaction processing techniques play a major role in preserving data consistency in critical areas of computing. The reliability provided through transactional guarantees are required in many types of applications, found in for instance workflow systems, mobile systems, and lately also in SOA like web services based systems.&lt;br /&gt;
&lt;br /&gt;
Web services provide interoperable application-to-application communication, allowing new applications to leverage existing software functions in a platform independent fashion. The transactional behaviour of a function accessed through a web service depends on the underlying implementation of the web service. Often a database system will provide the required local transactional behaviour. However, when an application combines multiple web services in order to complete a given task, coordination of the participating web services is required in order to preserve data consistency.&lt;br /&gt;
Traditionally two phased commit (2PC) based protocols have been used to achieve such coordination (e.g. X/Open DTP, CORBA OTS). Because of the loosely-coupled nature and autonomy requirements of web services, 2PC-based protocols may however not be appropriate in this environment. This could be because of the following reasons:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;The application uses multiple non-extended-architecture (XA) resources.&lt;/li&gt;
&lt;li&gt;The application uses more than one atomic transaction, for example, enterprise beans that have Requires new as the setting for the Transaction field in the container transaction deployment descriptor.&lt;/li&gt;
&lt;li&gt;The application does not run under a global transaction.&lt;/li&gt;
&lt;/ul&gt;A web service is either a stand-alone service or a composite service relying on other web services to perform its task. Individual web service invocations may commit early without further coordination, provided that the effect of the invocation can be semantically reversed at some later point by executing a compensating transaction. Typically, compensating transactions are not focused in the design of web service transaction models, and implementation of this functionality is left to the application developer, here web service developer.&lt;br /&gt;
&lt;br /&gt;
This is especially relevent in case of long-running transactions that avoid locks on non-local resources, use compensation to handle failures, potentially aggregate smaller atomic transactions. In contrast to rollback in ACID transactions, compensation restores the original state, or an equivalent, and is business-specific. The compensating action for making a hotel reservation is canceling that reservation, possibly with a penalty.&lt;br /&gt;
&lt;br /&gt;
Interaction between web services, are typically handled through &lt;i&gt;conversational &lt;/i&gt;transactions, that involve participation from several web services. The unit of business at each web service represents a subtransaction, also called &lt;i&gt;component transaction&lt;/i&gt;.&lt;br /&gt;
The transactional behaviour of a single subtransaction is typically provided locally by an underlying database system. Additionally, transactional behaviour of the conversational transaction must be guaranteed through coordination and management of the set of subtransactions. If one or more subtransactions abort, the conversational transaction may or may not need to be cancelled depending on the business logic of the service. It is totally up to the web service starting the conversation to decide if all-or-nothing semantics should be enforced.&lt;br /&gt;
Within classical transaction processing, dependent transactions would have to be aborted if the dependent-upon transaction aborted. Resorting to cascading rollback of dependent transactions is however not acceptable in web services, both since dependent transactions may themselves be committed, and also since rollback may be disallowed by autonomous web services. Autonomous web services typically consider the results of a committed subtransaction as final and durable.&lt;br /&gt;
&lt;br /&gt;
Here, the &lt;i&gt;Compensating Transaction&lt;/i&gt; enters the stage - to semantically undo the results of the early committed subtransactions. A compensating transaction preserves database integrity without aborting other transactions.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;Compensation Transaction&lt;/b&gt; &lt;/i&gt;-&amp;gt; semantically undoes the partial effects of a transaction T without performing cascading abort of dependent transactions, restoring the system to a consistent state.&lt;br /&gt;
The web services designer is responsible for determining the compensation rules, which are used to dynamically generate compensating transactions during runtime.&lt;br /&gt;
&lt;br /&gt;
This can be &lt;b&gt;automated by&lt;/b&gt;:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;In BPEL, using invocable Compensating Transaction&lt;/li&gt;
&lt;/ul&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;&lt;/div&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/AVvXsEh95QnNkg4u0Qmcj7UDeCPsxMlDP4uy9qIxZrL-hna8LwqYDl2ld-leKy0qSrH_U7Mo_JEqaM-CNmYiyzYIfX-UCBK41cYet4q5QQLvxmtxE7OfRbqJLGrkND51k9IZWeXOR1keJTshX7-r/s1600/BPELwithCompensation.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh95QnNkg4u0Qmcj7UDeCPsxMlDP4uy9qIxZrL-hna8LwqYDl2ld-leKy0qSrH_U7Mo_JEqaM-CNmYiyzYIfX-UCBK41cYet4q5QQLvxmtxE7OfRbqJLGrkND51k9IZWeXOR1keJTshX7-r/s320/BPELwithCompensation.jpg&quot; width=&quot;229&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;Coordinator protocols like OASIS Business Transaction Processing, and WS-CAF - mediate the successful completion or use of compensation in a long-running transaction.&lt;/li&gt;
&lt;li&gt;Including a Rules Engine (which does on an Event if a Condition satisfied does an Action)&lt;/li&gt;
&lt;li&gt;Custom solution using database as a rules repo(using triggers for events)&lt;/li&gt;
&lt;/ul&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/AVvXsEi20T4OmaWu_PpTZqF_CnvNNOoR9d2WfhMKN7Ha8ZVlDFuHEnjikOxJd784-G1OOdwiFmivH225DxZ0gqQg_rpAPT5AceUUQ_GzRakZwBw0fcHuUEMsY51bWAmL6Ni5GCfwTvpxz873_a4F/s1600/compensating+transaction+impln+using+db+triggers.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;121&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi20T4OmaWu_PpTZqF_CnvNNOoR9d2WfhMKN7Ha8ZVlDFuHEnjikOxJd784-G1OOdwiFmivH225DxZ0gqQg_rpAPT5AceUUQ_GzRakZwBw0fcHuUEMsY51bWAmL6Ni5GCfwTvpxz873_a4F/s320/compensating+transaction+impln+using+db+triggers.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;i&gt;Also, read related blogs:&lt;/i&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;http://thoughtmate.blogspot.com/2010/11/transactions-acid.html&quot;&gt;ACID properties&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;http://thoughtmate.blogspot.com/2010/11/snapshot-isolation-in-concurrent.html&quot;&gt;Snapshot Isolation&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright ThoughtMate! 2010, at thoughtmate.blogspot.com&lt;/div&gt;</description><link>http://thoughtmate.blogspot.com/2010/11/compensational-transaction-maintaining.html</link><author>noreply@blogger.com (Noufal Kader)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh95QnNkg4u0Qmcj7UDeCPsxMlDP4uy9qIxZrL-hna8LwqYDl2ld-leKy0qSrH_U7Mo_JEqaM-CNmYiyzYIfX-UCBK41cYet4q5QQLvxmtxE7OfRbqJLGrkND51k9IZWeXOR1keJTshX7-r/s72-c/BPELwithCompensation.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5662483947391519592.post-2302775818220989362</guid><pubDate>Sat, 20 Nov 2010 05:08:00 +0000</pubDate><atom:updated>2010-12-13T21:07:51.722+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Transaction</category><title>Transactions - ACID</title><description>&lt;i&gt;set of properties that guarantee database transactions are processed reliably ie. Transaction&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;A - atomicity,&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;C - consistency,&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;I - isolation,&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;D - durability&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&amp;nbsp;&lt;/i&gt;For example, a transfer of funds from one bank account to another, even  though that might involve multiple changes (such as debiting one account  and crediting another), is a single transaction.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Atomic &lt;/b&gt;- requires that database modifications must follow an &quot;all or nothing&quot; rule. Each transaction is said to be atomic.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Consistent &lt;/b&gt;- ensures that any transaction the database performs will take it from one consistent state to another. The consistency rule applies only to integrity rules that are within its scope. Mechanisms include:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;abort the transaction, rolling back to the consistent, prior state;&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;delete all records that reference the deleted record (this is known as &lt;i&gt;cascade delete&lt;/i&gt;); or,&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;nullify the relevant fields in all records that point to the deleted record.&lt;/li&gt;
&lt;/ul&gt;&lt;b&gt;Isolation &lt;/b&gt;- requirement that other operations cannot access data that has been  modified during a transaction that has not yet completed.&lt;br /&gt;
The question  of isolation occurs in case of concurrent transactions (multiple  transactions occurring at the same time). Each transaction must remain  unaware of other concurrently executing transactions, except that one  transaction may be forced to wait for the completion of another  transaction that has modified data that the waiting transaction  requires. If the isolation system does not exist, then the data could be  put into an inconsistent state =&amp;gt; leads to dirty reads.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Durability &lt;/b&gt;- ability of the DBMS to recover the committed transaction updates against any kind of system failure (hardware or software).&lt;br /&gt;
guarantee that once the user has been notified of a transaction&#39;s  success the transaction will not be lost, the transaction&#39;s data changes  will survive system failure, and that all integrity constraints have  been satisfied, so the DBMS won&#39;t need to reverse the transaction. Many DBMSs implement durability by writing transactions into a transaction log that can be reprocessed to recreate the system state right before any later failure. A transaction is deemed committed only after it is entered in the log.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Achieving ACID:&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Locking vs multiversioning&lt;/li&gt;
&lt;li&gt;Distributed transactions&lt;/li&gt;
&lt;/ul&gt;&lt;i&gt;&lt;b&gt;Locking vs multiversioning&lt;/b&gt;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
&lt;u&gt;Locking &lt;/u&gt;means that the transaction marks the data that it accesses so  that the DBMS knows not to allow other transactions to modify it until  the first transaction succeeds or fails. The lock must always be  acquired before processing data, including data that are read but not  modified. Non-trivial transactions typically require a large number of  locks, resulting in substantial overhead as well as blocking other  transactions. For example, if user A is running a transaction that has  to read a row of data that user B wants to modify, user B must wait  until user A&#39;s transaction completes. Two phase locking is often applied to guarantee full isolation.&lt;br /&gt;
In &lt;u&gt;Multiversioning&lt;/u&gt;, database provides each reading transaction the prior, unmodified version  of data that is being modified by another active transaction. This  allows readers to operate without acquiring locks. I.e., writing  transactions do not block reading transactions, and readers do not block  writers. Going back to the example, when user A&#39;s transaction requests  data that user B is modifying, the database provides A with the version  of that data that existed when user B started his transaction. User A  gets a consistent view of the database even if other users are changing  data. Snapshot isolation is similar to multiversioning where reference done on a snapshot of the data. &lt;br /&gt;
&lt;i&gt;&lt;b&gt;Distributed transactions&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
2-phase commit is commonly used solution. Here,&amp;nbsp; in the first phase, one node (the coordinator) interrogates the other  nodes (the participants) and only when all reply that they are prepared  does the coordinator, in the second phase, formalize the transaction. &lt;br /&gt;
&lt;b&gt;Transaction&lt;/b&gt;&lt;br /&gt;
unit of work performed within a &lt;a href=&quot;http://en.wikipedia.org/wiki/Database_management_system&quot; title=&quot;Database management system&quot;&gt;&lt;/a&gt;enterprise system a database and treated in a coherent and reliable way independent of other transactions.&lt;br /&gt;
Follows ACID properties.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Also, refer related blogs:&lt;/i&gt;&lt;br /&gt;
&lt;a href=&quot;http://thoughtmate.blogspot.com/2010/11/snapshot-isolation-in-concurrent.html&quot;&gt;Snapshot Isolation&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://thoughtmate.blogspot.com/2010/11/compensational-transaction-maintaining.html&quot;&gt;Compensation Transaction&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright ThoughtMate! 2010, at thoughtmate.blogspot.com&lt;/div&gt;</description><link>http://thoughtmate.blogspot.com/2010/11/transactions-acid.html</link><author>noreply@blogger.com (Noufal Kader)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5662483947391519592.post-9107143460264303444</guid><pubDate>Sat, 20 Nov 2010 05:04:00 +0000</pubDate><atom:updated>2010-12-13T21:02:52.587+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Transaction</category><title>Snapshot Isolation in concurrent Transactions</title><description>&lt;b&gt;Snapshot isolation&lt;/b&gt; is a guarantee that all reads made in a transaction  will see a consistent snapshot of the database (in practice it reads  the last committed values that existed at the time it started), and the  transaction itself will successfully commit only if no updates it has  made conflict with any concurrent updates made since that snapshot.&lt;br /&gt;
In practice snapshot isolation is implemented within multiversion concurrency control (MVCC), where generational values of each data item (versions) are maintained.&lt;br /&gt;
Snapshot isolation is called &quot;serializable&quot; mode in Oracle.&lt;br /&gt;
Eg:&lt;br /&gt;
If V1 and V2 are two balances held by a single person, Phil. The  bank will allow either V1 or V2 to run a deficit, provided the total  held in both is never negative (i.e. V1 + V2 ≥ 0). Both balances are  currently $100. Phil initiates two transactions concurrently, T1  withdrawing $200 from V1, and T2 withdrawing $200 from V2. &lt;br /&gt;
If the database guaranteed serializable transactions, the simplest  way of coding T1 is to deduct $200 from V1, and then verify that V1 + V2  ≥ 0 still holds, aborting if not. T2 similarly deducts $200 from V2 and  then verifies V1 + V2 ≥ 0. Since the transactions must serialize,  either T1 happens first, leaving V1 = -$100, V2 = $100, and preventing  T2 from succeeding (since V1 + (V2 - $200) is now -$200), or T2 happens  first and similarly prevents T1 from committing.&lt;br /&gt;
Under snapshot isolation, however, T1 and T2 operate on private  snapshots of the database: each deducts $200 from an account, and then  verifies that the new total is zero, using the other account value that  held when the snapshot was taken. Since neither &lt;i&gt;update&lt;/i&gt; conflicts, both commit successfully, leaving V1 = V2 = -$100, and V1 + V2 = -$200.&lt;br /&gt;
Snapshot isolation present this.&lt;br /&gt;
If built on MVCC,  snapshot isolation allows transactions to proceed without worrying  about concurrent operations, and more importantly without needing to  re-verify all read operations when the transaction finally commits. The  only information that must be stored during the transaction is a list of  updates made, which can be scanned for conflicts fairly easily before  being committed.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;Materialize the conflict&lt;/b&gt;: Add a special conflict table, which both transactions update in order to create a direct write-write conflict.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Promotion&lt;/b&gt;: Have one transaction &quot;update&quot; a read-only location  (replacing a value with the same value) in order to create a direct  write-write conflict (or use an equivalent promotion, e.g. Oracle&#39;s  SELECT FOR UPDATE).&lt;/li&gt;
&lt;/ul&gt;Materialize the conflict: by adding a new table which makes the hidden constraint explicit, mapping each person to their &lt;i&gt;total balance&lt;/i&gt;.  Phil would start off with a total balance of $200, and each transaction  would attempt to subtract $200 from this, creating a write-write  conflict that would prevent the two from succeeding concurrently. This  approach violates the normal form.&lt;br /&gt;
Alternatively, we can promote one of the transaction&#39;s reads to a write.  For instance, T2 could set V1 = V1, creating an artificial write-write  conflict with T1 and, again, preventing the two from succeeding  concurrently. This solution may not always be possible.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;What is MVCC?&lt;/b&gt;&lt;br /&gt;
- provides access to implement transactional memory (shared memory allowing a concurrent group of load and store instructions to execute in an atomic way). &lt;br /&gt;
&lt;i&gt;&lt;u&gt;&lt;/u&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;For detailed study:&lt;/i&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.it.usyd.edu.au/~fekete/teaching/serializableSI-Fekete.pdf&quot;&gt;Snapshot Isolation&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;related blog entries&lt;/i&gt;:&lt;br /&gt;
&lt;a href=&quot;http://thoughtmate.blogspot.com/2010/11/transactions-acid.html&quot;&gt;ACID Properties&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://thoughtmate.blogspot.com/2010/11/compensational-transaction-maintaining.html&quot;&gt;Compensation Transaction&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright ThoughtMate! 2010, at thoughtmate.blogspot.com&lt;/div&gt;</description><link>http://thoughtmate.blogspot.com/2010/11/snapshot-isolation-in-concurrent.html</link><author>noreply@blogger.com (Noufal Kader)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5662483947391519592.post-1625220574871431050</guid><pubDate>Wed, 10 Nov 2010 12:10:00 +0000</pubDate><atom:updated>2010-12-13T21:00:25.855+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Mainframe</category><category domain="http://www.blogger.com/atom/ns#">SOA</category><title>Adabas - grand-old database beast</title><description>&lt;b&gt;ADABAS&lt;/b&gt; (acronym for &lt;i&gt;Adaptable DAta BAse System&lt;/i&gt;) - primary database management system; vendor=Software AG. One of the fastest OLTP db.&lt;br /&gt;
Features: offers 24x7 functioning, Parallel Sysplex support, real-time replication capability, SQL and XML access and other leading edge capabilities.&lt;br /&gt;
Historically, ADABAS was used in conjunction with Software AG&#39;s programming language NATURAL, so that many legacy applications (eg: Mainframe) that use ADABAS as a database on the back-end are also developed with NATURAL as well.&lt;br /&gt;
&lt;u&gt;Best suited for very high volumes of data processing or in high transaction online analytical processing environments&lt;/u&gt;.&lt;br /&gt;
Proven to be very successful in providing efficient access to data and maintaining the integrity of the database. ADABAS is now widely used in applications that require very high volumes of data processing or in high transaction online analytical processing environments.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Technical Info:&lt;/b&gt;&lt;br /&gt;
Inverted list database - content based indexing of records =&amp;gt; quicker search but slower storage&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Files&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;- major organizational unit (similar to ~tables)&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Records - content unit within the organizational unit (~rows)&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Fields&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;- components of a content unit (~columns)&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;No embedded SQL engine; popular external query mechanism ADASql&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Search facilities may use indexed fields or non indexed fields or both&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;No implicit referential integritiy constraint =&amp;gt; parent-child relations must be maintained by application code&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Supports two methods of denormalization: repeating groups in a record (&quot;periodic groups&quot;); and multiple value fields in a record (&quot;multi-value fields&quot;)&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright ThoughtMate! 2010, at thoughtmate.blogspot.com&lt;/div&gt;</description><link>http://thoughtmate.blogspot.com/2010/11/adabas-grand-old-database-beast.html</link><author>noreply@blogger.com (Noufal Kader)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5662483947391519592.post-4532236436605136375</guid><pubDate>Wed, 10 Nov 2010 11:33:00 +0000</pubDate><atom:updated>2010-12-13T21:00:05.962+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">SOA</category><title>Netstring format</title><description>A &lt;b&gt;netstring &lt;/b&gt;is a formatting method for byte strings that uses a declarative notation to indicate the size of the string.&lt;br /&gt;
Netstrings &lt;u&gt;store the &lt;i&gt;byte length &lt;/i&gt;of the data that follows&lt;/u&gt;, making it easier to unambiguously pass text and byte data between programs that could be sensitive to values that could be interpreted as delimiters or terminators (such as a null character).&lt;br /&gt;
&lt;br /&gt;
Eg: the text &quot;hello world!&quot; encodes as:&lt;br /&gt;
12:hello world!,&lt;br /&gt;
And an empty string as:&lt;br /&gt;
0:,&lt;br /&gt;
&lt;br /&gt;
Since the format is &lt;u&gt;easy to generate and to parse&lt;/u&gt;, it is easy to support by programs written in different programming languages. In practice, netstrings are often used to simplify exchange of bytestrings, or lists of bytestrings. For example, see its use in the Simple CGI and the Quick Mail Queuing Protocol (QMQP).&lt;br /&gt;
Netstrings avoid complications that arise in trying to embed arbitrary data in delimited formats. For example, XML may not contain certain byte values and requires a nontrivial combination of escaping and delimiting, while generating multipart MIME messages involves choosing a delimiter that must not clash with the content of the data.&lt;br /&gt;
Note that since netstrings pose &lt;u&gt;no limitations on the contents of the data they store&lt;/u&gt;, netstrings can not be embedded verbatim in most delimited formats without the possibility of interfering with the delimiting of the containing format.&lt;br /&gt;
In the context of network programming it is potentially useful that the receiving program is informed of the size of the data that follows, as it can allocate exactly enough memory and avoid the need for reallocation to accommodate more data.&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright ThoughtMate! 2010, at thoughtmate.blogspot.com&lt;/div&gt;</description><link>http://thoughtmate.blogspot.com/2010/11/netstring-format.html</link><author>noreply@blogger.com (Noufal Kader)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5662483947391519592.post-1421978906629527763</guid><pubDate>Sat, 06 Nov 2010 22:04:00 +0000</pubDate><atom:updated>2010-12-13T20:59:23.922+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">BPEL</category><category domain="http://www.blogger.com/atom/ns#">Oracle</category><category domain="http://www.blogger.com/atom/ns#">SOA</category><title>SOA Composite Editor for JDeveloper - installation</title><description>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;Oracle SOA Composite Editor -&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;&quot;&gt;JDeveloper extension for SOA technologies: SOA Composite Assembly, BPEL PM, Mediator, Human Task, Business Rules, Adapters.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1. &lt;u&gt;Help-&amp;gt;Check for updates&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px;&quot;&gt;In the&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px;&quot;&gt;&lt;span style=&quot;list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Update Wizard&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px;&quot;&gt;, select&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px;&quot;&gt;&lt;span style=&quot;list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Search Update Centers&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px;&quot;&gt;and ensure&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px;&quot;&gt;&lt;span style=&quot;list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Oracle Fusion Middleware Products&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px;&quot;&gt;&amp;nbsp;is checked. S&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;&quot;&gt;elect&amp;nbsp;Oracle SOA Composite Editor&amp;nbsp;and click on&amp;nbsp;Next&amp;nbsp;to begin downloading.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;If this doesn&#39;t work add a new update site with link:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;http://www.oracle.com/ocom/groups/public/@otn/documents/webcontent/156082.xml&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; and it&#39;ll show the editor for updating JDev&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2. &lt;u&gt;From file - Direct download file at&lt;/u&gt;:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px;&quot;&gt;&amp;nbsp;In the&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px;&quot;&gt;&lt;span style=&quot;list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Update Wizard&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 5px; -webkit-border-vertical-spacing: 5px;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;http://www.oracle.com/ocom/groups/public/@otn/documents/webcontent/156082.xml&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;and choose install from file radio option. This file is about 230MB.&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;References&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.oracle.com/technetwork/middleware/soasuite/downloads/index.html&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Helvetica Neue&#39;, Arial, Helvetica, sans-serif;&quot;&gt;Installing JDev for BPM&lt;/span&gt;&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright ThoughtMate! 2010, at thoughtmate.blogspot.com&lt;/div&gt;</description><link>http://thoughtmate.blogspot.com/2010/11/soa-composite-editor-for-jdeveloper.html</link><author>noreply@blogger.com (Noufal Kader)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5662483947391519592.post-3294035880092828060</guid><pubDate>Sat, 06 Nov 2010 21:38:00 +0000</pubDate><atom:updated>2010-11-07T08:51:05.866+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">BPEL</category><title>BPELscript - javascript-like language for BPEL</title><description>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;BPELscript is a language to specify BPEL processes. It provides a compact syntax inspired by scripting languages such as JavaScript and Ruby and a full coverage of all features provided by BPEL. A programming language which omits the XML-overhead of BPEL but offers the same features as BPEL.&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif; line-height: 24px;&quot;&gt;BPELscript provides:&lt;/span&gt;&lt;br /&gt;
&lt;ol style=&quot;line-height: 1.5em; list-style-image: none; margin-bottom: 0.5em; margin-left: 3.2em; margin-right: 0px; margin-top: 0.3em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;li style=&quot;margin-bottom: 0.1em;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;a compact syntax inspired by scripting languages such as JavaScript and Ruby&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0.1em;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;the full coverage of all features provided by BPEL&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0.1em;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;a translation from &amp;amp; to WS-BPEL 2.0&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;margin-bottom: 0.1em;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333; line-height: normal;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;The translation to WS-BPEL 2.0 ensures that BPELscript can be executed on&amp;nbsp;&lt;strong style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;all&lt;/strong&gt;&amp;nbsp;workflow engines supporting WS-BPEL 2.0.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;Eg:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;namespace pns = &quot;http://example.com/loan-approval/&quot;; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;namespace lns = &quot;http://example.com/loan-approval/wsdl/&quot;;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;@type &quot;http://schemas.xmlsoap.org/wsdl/&quot; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;import lServicePT = lns::&quot;loanServicePT.wsdl&quot;;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;@suppressJoinFailure &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;process pns::loanApprovalProcess { &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;partnerLink customer = (lns::loanPartnerLT, loanService, null), &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;approver = (lns::loanApprovalLT, null, approver), &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;assessor = (lns::riskAssessmentLT, null, assessor); &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;try { &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;parallel {&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@portType &quot;lns::loanServicePT&quot; @createInstance &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;request = receive(customer, request); &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;signal(receive-to-assess, [$request.amount &amp;lt; 10000]); &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;signal(receive-to-approval, [$request.amount &amp;gt;= 10000]); &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} and { &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;join(receive-to-assess);&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@portType &quot;lns::riskAssessmentPT&quot; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;risk = invoke(assessor, check, request); &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;signal(assess-to-setMessage, [$risk.level = &#39;low&#39;]); &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;signal(assess-to-approval, [$risk.level != &#39;low&#39;]); &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} and { &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;join(assess-to-setMessage); &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;approval.accept = &quot;yes&quot;; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;signal(setMessage-to-reply); &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} and { &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;join(receive-to-approval, assess-to-approval);&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@portType &quot;lns::loanApprovalPT&quot; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;approval = invoke(approver, approve, request); &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;signal(approval-to-reply); &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} and { &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;join(approval-to-reply, setMessage-to-reply);&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@portType &quot;lns::loanServicePT&quot; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;reply(customer, request, approval); &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;@faultMessageType &quot;lns::errorMessage&quot; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;catch(lns::loanProcessFault) { |error|&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@portType &quot;lns::loanServicePT&quot; @fault &quot;unableToHandleRequest&quot; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;reply(customer, request, error); &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;} &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Georgia, &#39;Times New Roman&#39;, serif;&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;how it works:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; color: black; font-weight: normal;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;It uses a translator based on the ANTLR v3 (ANother Tool for Language Recognition) parser generator which is based on a predicated-LL(*) parsing strategy. This solution uses the implicit tree structure behind the input sentences to construct an abstract syntax tree (AST) which is a highly processed and condensed version of the input. The translator maps each input sentence of the source language to an output sentence by embedding actions (e.g. code) within the grammar or tree. This actions will be executed according to its position within the grammar or tree. To support an easy handling of implicit declarations the translation is broken down into multiple passes.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; color: black; font-weight: normal;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;b&gt;References:&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: 13px;&quot;&gt;&lt;a href=&quot;http://www.informatik.uni-stuttgart.de/cgi-bin/NCSTRL/NCSTRL_view.pl?id=INPROC-2009-49&amp;amp;mod=0&amp;amp;engl=0&amp;amp;inst=IAAS&quot; style=&quot;color: #666666; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;BPELscript: A Simplified Script Syntax for WS-BPEL 2.0&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: 13px;&quot;&gt;&lt;b style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;a href=&quot;ftp://ftp.informatik.uni-stuttgart.de/pub/library/medoc.ustuttgart_fi/STUD-2175/STUD-2175.pdf&quot; style=&quot;color: #666666; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Translating WS-BPEL 2.0 to BPELscript and Vice Versa&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: 13px;&quot;&gt;&lt;b style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;a href=&quot;http://www.bpelscript.org/BPELscript_1.0.g&quot;&gt;BPELScript&amp;nbsp;Grammer&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright ThoughtMate! 2010, at thoughtmate.blogspot.com&lt;/div&gt;</description><link>http://thoughtmate.blogspot.com/2010/11/bpelscript-is-language-to-specify-bpel.html</link><author>noreply@blogger.com (Noufal Kader)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-5662483947391519592.post-1777813864576386442</guid><pubDate>Wed, 20 Oct 2010 03:26:00 +0000</pubDate><atom:updated>2010-11-07T08:41:25.079+11:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">SOA</category><title>Certification matrix for Oracle Fusion Middleware 10g &amp; 11g</title><description>&lt;i&gt;Certification Matrix &lt;/i&gt;points to the tested &amp;amp; recommended configurations for Oracle software - here eg: Fusion Middleware Suite; this might not just mean supported environment though.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Notes:&lt;/u&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; * For information on Java SE (J2SE) End of Life, refer to My Oracle Support Doc ID 952075.1 on https://support.oracle.com/.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; * If an Oracle product has been certified against and is supported on a version of RedHat Enterprise Linux (RHEL), it is automatically certified and supported on the corresponding version of Oracle Enterprise Linux (OEL). (e.g., RHEL4-&amp;gt;OEL4, RHEL5-&amp;gt;OEL5).&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; * If a product is supported and certified on OEL or RHEL, it is also certified and supported in the virtualized installation of the same version of OEL or RHEL running on Oracle VM. (e.g. OEL4 -&amp;gt; OEL4 on Oracle VM, OEL5 -&amp;gt; OEL5 on Oracle VM, RHEL4 -&amp;gt; RHEL4 on Oracle VM, RHEL 5 -&amp;gt; RHEL5 on Oracle VM). Oracle recommends using latest updates levels and OVM versions available.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; * Every Oracle product that is certified on Windows or Solaris means it is also certified and supported when running on Windows or Solaris in a virtualized environment with Oracle VM as long as the Windows or Solaris OS is supported with Oracle VM. &lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.oracle.com/technology/software/products/ias/files/fusion_certification.html&quot;&gt;Certification matrix for Oracle Fusion Middleware 11g&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.oracle.com/technetwork/middleware/ias/downloads/oracle-soa-certification-r3-10-131499.xls&quot;&gt;Certification matrix for Oracle Fusion Middleware 10g &lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright ThoughtMate! 2010, at thoughtmate.blogspot.com&lt;/div&gt;</description><link>http://thoughtmate.blogspot.com/2010/10/certification-matrix-for-oracle-fusion.html</link><author>noreply@blogger.com (Noufal Kader)</author><thr:total>3</thr:total></item></channel></rss>