<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6697558</id><updated>2011-11-21T06:36:51.090+01:00</updated><category term='jax'/><category term='bpel'/><category term='soa suite'/><category term='eouc'/><category term='oracle'/><category term='soa'/><title type='text'>Clemens' SOA@oracle blog</title><subtitle type='html'>Some 'more, in-depth' information on Oracle BPEL PM, ESB and other SOA, day2day things</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default?start-index=101&amp;max-results=100'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>139</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6697558.post-2845272817646229994</id><published>2009-12-13T19:04:00.001+01:00</published><updated>2009-12-13T19:05:13.019+01:00</updated><title type='text'>This blog was migrated to http://blogs.oracle.com/soabpm</title><content type='html'>After a while of non blogging - I started again - this time, under the oracle flag - at blogs.oracle.com/soabpm.&lt;br /&gt;&lt;br /&gt;Hope to see you there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-2845272817646229994?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blogs.oracle.com/soabpm' title='This blog was migrated to http://blogs.oracle.com/soabpm'/><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/2845272817646229994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=2845272817646229994' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/2845272817646229994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/2845272817646229994'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2009/12/this-blog-was-migrated-to.html' title='This blog was migrated to http://blogs.oracle.com/soabpm'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-1849443018728015935</id><published>2007-07-06T21:09:00.000+02:00</published><updated>2007-07-06T21:46:45.313+02:00</updated><title type='text'>SOA Suite 10.1.3.3 patchset and "lost" instances</title><content type='html'>It has been a long time since I have blogged the last time - mainly due to the huge amount of miles flown over the last 2 months.&lt;br /&gt;&lt;br /&gt;After being in europe for conferences where I did evangelism on our next generation infrastructure, that is based on Service Component Architecture, it was time to revisit my roots and do some consulting in a POC as well as helping one of our customers with their performance problems.&lt;br /&gt;&lt;br /&gt;Meanwhile, while I was on the road, we have released the 10.1.3.3 patchset, which includes among many small fixes here and there - some real cool enhancements, e.g&lt;br /&gt;&lt;ol&gt;&lt;li&gt;A fault policy framework for BPEL, which allows you to specify policies for faults (e.g remoteFault) outside of the BPEL process and trigger retry activities, or submit the activity with a different payload from the console.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Performance fixes for Oracle ESB - which boost the performance way up&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Several SOAP related fixes, especially around inbound and outbound WS-Security - if you happen to have Siebel and use WS-Sec features, the patch will make you happy&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Adapters: several huge improvements on performance and scalability&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;BPEL 2 ESB: several fixes with transaction propagation as well more as sophisticated tracking&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;You can download it from metalink - patch number is 6148874&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;After working on 10.1.3.3 for the last 3 weeks, we added an enhancement to implement a federated ESB, where an ESB system binds to another via UDDI. The enhancement request's number is 6133448 and will be part of 10.1.3.4 (our next patch release) - and works exactly the way it works today in BPEL 10.1.3.1.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Back to my performance adventure.&lt;/span&gt;&lt;br /&gt;The customer reported that under high load of his 10.1.3.1 instance, a lot of async instances (that were submitted to the engine) "got lost", which means - they could not find any trace of a running instance, nor have the target systems that were called out of the process being updated. Strange, isn't it?&lt;br /&gt;&lt;br /&gt;A quick look into the recovery queue (basically a select against the invoke_message table) revealed that a lot of instances have been scheduled (status 0) - but somehow they stayed in the queue. Hugh, why that? Restarting the server helped, some instances were created but, - hugh still way to many weren't.&lt;br /&gt;&lt;br /&gt;Checking the settings that we preseed - we figured out - that there is an issue with them. Looking into the Developer's guide it states:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"the sum of dspMaxThreads of ALL domains should be &lt;= the number of listener threads on the workerbean".&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Hmm - checking orion-ejb-jar.xml, section &lt;span style="font-weight: bold;"&gt;workerbean&lt;/span&gt;, in the application-deployments/orabpel/ejb_ob_engine folder revealed&lt;br /&gt;&lt;ol&gt;&lt;li&gt;there are no listener-threads set and&lt;/li&gt;&lt;li&gt;there are 40 ReceiverThreads&lt;/li&gt;&lt;/ol&gt;means? Given that we seed each domain with dspMaxThreads being 100, if you have five domains, 500 workerbean threads would be needed - way to much. And what happened to listener-threads?&lt;br /&gt;&lt;br /&gt;&amp;lt;message-driven-deployment name="WorkerBean" instances="100" &lt;span style="font-style: italic;"&gt;resource-adapter&lt;/span&gt;="&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;BPELjms&lt;/span&gt;"&amp;gt;&lt;br /&gt;&lt;br /&gt;A quick check with the JMS engineering enlighted me on that. As we use JMS connectors now - you need to change the ReceiverThreads, to match the above formula.&lt;br /&gt;&lt;br /&gt;&amp;lt;config-property&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;config-property-name&amp;gt;ReceiverThreads&amp;lt;/config-property-name&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;config-property-value&amp;gt;40&amp;lt;/config-property-value&amp;gt;&lt;br /&gt;&amp;lt;/config-property&amp;gt;&lt;br /&gt;&lt;br /&gt;- and tune the dispatcherThreads on the domains to a reasonable level.&lt;br /&gt;&lt;br /&gt;Next question: what are dispatcherThreads, and what does the engine need them for?&lt;br /&gt;&lt;br /&gt;"&lt;span style="font-style: italic;"&gt;ReceiverThreads specifies the maximum number of MDBs that can process BPEL requests asynchronously across all domains. Each domain can allocate a subset of these threads using the dspMaxThreads property; however, the sum of dspMaxThreads across all domains must not exceed the ReceiverThreads value.&lt;/span&gt;  &lt;/message-driven-deployment&gt;&lt;p&gt;&lt;span style="font-style: italic;"&gt;When a domain decides that it another thread to execute an activity asychronously, it will send a JMS message to a queue; this message then gets picked up by a WorkerBean MDB, which will end up requesting the dispatcher for some work to execute. If the number of WorkerBean MDBs currently processing activities for the domain is sufficient, the dispatcher module may decide not to request for another MDB. The decision to request or an MDB is based on the current number of active MDBs, the current number pending (that is, where a JMS message has been sent but an MDB has not picked up the message), and the value of dspMaxThreads.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-style: italic;"&gt;Setting both ReceiverThreads and dspMaxThreads to an appropriate value is important for maximizing throughput and minimizing thread context switching. If there are more dspMaxThreads specified than ReceiverThreads, the dispatcher modules for all the domains will think there are more resources they can request for than actually exist. In this case, the number of JMS messages in the queue will continue to grow as long as request load is high, thereby consuming memory and cpu. If the value of dspMaxThrads is not sufficient for a domain's request load, throughput will be capped.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; Another important factor to consider is the value for ReceiverThreads - more threads does not always correlate with higher throughput. The higher the number of threads, the more context switching the JVM must perform. For each installation, the optimal value for ReceiverThreads needs to be found based on careful analysis of the rate of Eden garbage collections and cpu utilization. For most installation, a starting value of 40 should be used; the value can be adjusted up or down accordingly. Values greater than 100 are rarely suitable for small to medium sized boxes and will most likely lead to high cpu utilization just for JVM thread context switching alone.&lt;/span&gt;"&lt;/p&gt;With all the above in place, and a tuned dehydration store, we got them back on the track, even under high load all messages where picked up, and ended up as instances - recap:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Make sure your settings of ReceiverThreads do match the sum of dspMaxThreads of all domains, and are set appropriately.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;If you have external adapters in use, that connect e.g to AQ, make sure AQ is tuned and also the adapter - this is where you are most likely to get timeouts, that would also contribute to recvoverable messages.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-1849443018728015935?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/1849443018728015935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=1849443018728015935' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/1849443018728015935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/1849443018728015935'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2007/07/soa-suite-10133-patchset-and-lost.html' title='SOA Suite 10.1.3.3 patchset and &quot;lost&quot; instances'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-1771960227355042332</id><published>2007-05-15T19:57:00.000+02:00</published><updated>2007-05-15T20:03:03.999+02:00</updated><title type='text'>BMW Oracle racing scores against Luna Rossa (Prada)</title><content type='html'>It's amazing, it's love, and it's passion - sailing, the ocean, the winds, the gybes, the will to win.&lt;br /&gt;&lt;br /&gt;All this is&lt;span style="font-weight: bold;"&gt; America's Cup&lt;/span&gt;, the race for the old bowl.&lt;br /&gt;&lt;br /&gt;JFK said this a while back ..&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"We are tied to the ocean. And when we go back to the sea, whether it is to sail or to watch - we are going back from whence we came." --USA President John F. Kennedy, at a dinner for the crews in Newport, RI on the eve of the 1962 America's Cup Match.&lt;br /&gt;&lt;/span&gt;&lt;span&gt;[http://blog.bmworacleracing.com/]&lt;br /&gt;&lt;br /&gt;today BMW Oracle got back into the race, by amazing tactics, and a sheer wonder of teamwork - 1:1 - let's wait for tmrw&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-1771960227355042332?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/1771960227355042332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=1771960227355042332' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/1771960227355042332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/1771960227355042332'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2007/05/bmw-oracle-racing-scores-against-prade.html' title='BMW Oracle racing scores against Luna Rossa (Prada)'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-3639826905493238327</id><published>2007-05-09T18:28:00.000+02:00</published><updated>2007-05-09T18:36:28.762+02:00</updated><title type='text'>Dave Chappell choins Oracle as Chief SOA Technologist</title><content type='html'>Wow - what a blast, the so called "Pope of ESB" (according to one of our customers) joined Oracle last week - see &lt;a href="http://virtualization.sys-con.com/read/371300.htm"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Being back from 4 weeks in Europe to give training, help customers, as well as speak at several conferences - I met Dave yesterday first time as oracle employee at java one - rocks!&lt;br /&gt;&lt;br /&gt;Also, some weeks ago I have been interviewed by the theenterpriseedgeitarchitect.com on SOA, and what value it can bring into organization, when not viewed as "yet another IT pet project".&lt;br /&gt;&lt;br /&gt;You can read the whole interview &lt;a href="http://www.theenterpriseedgeitarchitect.com/showArticle.jhtml;jsessionid=GVGISMBVABLJEQSNDLPCKHSCJUNN2JVN?articleID=199202237"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-3639826905493238327?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/3639826905493238327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=3639826905493238327' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/3639826905493238327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/3639826905493238327'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2007/05/dave-chappell-choins-oracle-as-chief.html' title='Dave Chappell choins Oracle as Chief SOA Technologist'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-5751887596036379458</id><published>2007-04-11T06:33:00.000+02:00</published><updated>2007-04-11T06:37:25.214+02:00</updated><title type='text'>Oracle Develop hits the road</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.oracle.com/technology/events/develop2007/images/develop_125.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px;" src="http://www.oracle.com/technology/events/develop2007/images/develop_125.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;h1&gt;Oracle Develop: The Premier Conference for Developers&lt;/h1&gt;               &lt;p class="bodycopy"&gt;This spring, Oracle Develop—the premier conference for developers—is coming to a city near you. Don't miss it. You'll experience two days of expert-led, in-depth technical sessions, hands-on labs, advanced how-tos, and detailed tutorials. Work alongside the world's leading experts to expand your knowledge of popular technologies like Enterprise Java, SOA, .NET, Databases and PL/SQL, as well as Ajax, PHP, Spring, and more. This is your opportunity to network with local technologist while learning from the world's best.&lt;/p&gt; More information can be found &lt;a href="http://www.oracle.com/technology/events/develop2007/index.html"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-5751887596036379458?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/5751887596036379458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=5751887596036379458' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/5751887596036379458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/5751887596036379458'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2007/04/oracle-develop-hits-road.html' title='Oracle Develop hits the road'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-752754124073648667</id><published>2007-04-02T04:00:00.000+02:00</published><updated>2007-04-02T04:19:37.892+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='soa suite'/><category scheme='http://www.blogger.com/atom/ns#' term='jax'/><category scheme='http://www.blogger.com/atom/ns#' term='eouc'/><category scheme='http://www.blogger.com/atom/ns#' term='bpel'/><category scheme='http://www.blogger.com/atom/ns#' term='soa'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Sjoerd Michels contributes to SOA Best Practice Series, on automated deployment</title><content type='html'>I am very happy (and proud) that I managed to get Sjoerd Michels (AMIS),  one of our fellow SOA champions in europe, on board to contribute a new chapter to my &lt;a href="http://www.oracle.com/technology/tech/soa/soa-suite-best-practices/index.html"&gt;SOA Suite Best Practice Series&lt;/a&gt; on OTN.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"In this Technical Note, you will learn to set up an automated build and deployment environment for your Oracle SOA Suite project. (Release 10.1.3.1 of Oracle SOA Suite features improved automated build capabilities; instead of the Oracle-specific obant Ant tool, plain-vanilla Ant is now used for building and deploying BPEL suitcases.) The goal is to automatically build Oracle's SOA Suite Order Booking demo application and deploy it to an Oracle Application Server instance that runs Oracle SOA Suite. Oracle's demo application is ideal here because it uses all the components in Oracle SOA Suite: Oracle Enterprise Service Bus (ESB), Oracle BPEL Process Manager, and Oracle Business Rules. The demo application also includes a number of Web services that are programmed in Java."&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;The whole article can be found &lt;a href="http://www.oracle.com/technology/tech/soa/soa-suite-best-practices/auto-deploy.html"&gt;here&lt;/a&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt; and while this one just got published there is lot more to come, especially around BPA, end to end design, and governance.&lt;br /&gt;&lt;br /&gt; The next month will bring me back to europe to visit customers, help reviewing architectures,  as well as speaking at several conferences throughout. Here is a sneak preview&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;&lt;a href="www.upperside.fr/soa2007/soa2007program.htm"&gt;SOA Telecom conference&lt;/a&gt;, Paris&lt;/li&gt;   &lt;ul&gt;     &lt;li&gt;Where I'll deep dive into implementing SOA in large enterprises and the many caveats when doing so&lt;br /&gt;     &lt;br /&gt;    &lt;/li&gt;   &lt;/ul&gt;   &lt;li&gt;&lt;a href="http://jax.de/konferenzen/jax07/overview_sessions.php?track=30"&gt;JAX (EAKON) 2007&lt;/a&gt;, Wiesbaden&lt;br /&gt;  &lt;/li&gt;   &lt;ul&gt;     &lt;li&gt;After last year, I am happy to be back - this time on the SOA Management track, to evangelize together with a couple of good friends on the importance of the human factor&lt;br /&gt;     &lt;br /&gt;    &lt;/li&gt;   &lt;/ul&gt;   &lt;li&gt;&lt;a href="http://www.eouc.eu/default.asp?p=618"&gt;EOUC 2007&lt;/a&gt;, Amsterdam&lt;br /&gt;  &lt;/li&gt;   &lt;ul&gt;     &lt;li&gt;The first year, the emea oracle user conference takes place, and it will be  a blast - looking through the agenda, the lineup of sessions is unbelievable. I am happy to be part of it. This time it will be about technology, and the advanced concepts of the BPEL language.&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt; If you are around, just send a ping, or come by the SOA booth after the session to say hello ..&lt;br /&gt;&lt;span style="font-size:-1;"&gt;&lt;span class="a"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-752754124073648667?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/752754124073648667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=752754124073648667' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/752754124073648667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/752754124073648667'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2007/04/sjoerd-michels-contributes-to-soa-best.html' title='Sjoerd Michels contributes to SOA Best Practice Series, on automated deployment'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-116962850092259358</id><published>2007-01-24T09:47:00.000+01:00</published><updated>2007-02-18T16:14:15.106+01:00</updated><title type='text'>Oracle SOA Suite 10.1.3.1 review - Oracle sows the seeds for SOA</title><content type='html'>Infoworld published a review of our SOA Suite &lt;a href="http://www.infoworld.com/article/07/01/22/04TCoraclesoa_1.html"&gt;here&lt;/a&gt; today.&lt;br /&gt;&lt;br /&gt;Here is one quote&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;My experience with the Oracle SOA Suite revealed a top-notch toolset well-culled from a variety of sources without much sacrifice to aptitude or usability. When it comes to message routing and services orchestration, Oracle SOA Suite meets or exceeds most needs for governance, security, insight, and optimization at a price that’s hard to beat.&lt;/span&gt;&lt;br /&gt;James R. Borck is senior contributing editor of the InfoWorld Test Center.&lt;br /&gt;-- http://www.infoworld.com/article/07/01/22/04TCoraclesoa_2.html&lt;br /&gt;&lt;br /&gt;Emjoy reading,..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-116962850092259358?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/116962850092259358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=116962850092259358' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116962850092259358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116962850092259358'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2007/01/oracle-soa-suite-10131-review-oracle.html' title='Oracle SOA Suite 10.1.3.1 review - Oracle sows the seeds for SOA'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-116962498357713833</id><published>2007-01-24T08:37:00.000+01:00</published><updated>2007-02-22T08:11:52.206+01:00</updated><title type='text'>OOP 2007 Keynote - Pictures</title><content type='html'>As already announced earlier, I had a keynote an OOP this year (on "managing successfull SOA projects") here in munich. Aside from all the really good speakers and a very geeky crowd - snow finally caught even me :D&lt;br /&gt;&lt;br /&gt;What a blast, &lt;span style="font-weight:bold;"&gt;monday&lt;/span&gt; evening - and a full room of interested people - something you don't see too often at conferences, where the exhibition starts on tuesday. &lt;br /&gt;&lt;br /&gt;Everytime I speak at a conference on this topic I learn something new, from questions after a session as well as from how the crowd reacts. This time the biggest take-away from OOP - the waterfall is dead, at least there :D&lt;br /&gt;&lt;br /&gt;Here are 2 pictures from my keynote.&lt;br /&gt;&lt;br /&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/x/blogger/1919/375/320/63458/IMG_1736.jpg" border="0" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/x/blogger/1919/375/320/45523/IMG_1744.jpg" border="0" alt="" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-116962498357713833?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/116962498357713833/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=116962498357713833' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116962498357713833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116962498357713833'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2007/01/oop-2007-keynote-pictures.html' title='OOP 2007 Keynote - Pictures'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-116933212766118184</id><published>2007-01-20T23:15:00.000+01:00</published><updated>2007-02-24T01:44:30.963+01:00</updated><title type='text'>Presenting at ODTUG Kaleidoscope 2007 in Orlando</title><content type='html'>As fellow blogger &lt;a href="http://www.oratransplant.nl/2007/01/20/i-will-be-presenting-at-odtug-kaleidoscope-2007/"&gt;Wilfred van der Deijl&lt;/a&gt; wrote on his blog, I got an email too, invitation to speak there - last year I got the slots from my manager (thx Dave  :D), this year the are my own - awesome.&lt;br /&gt;&lt;br /&gt;I'll present on 3 topics, two for beginners, and one intermediate&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight:bold;"&gt;Managing successful SOA projects, a view beyond agile science&lt;/span&gt;&lt;br /&gt;The session will give an inside view into methodologies applied to govern successful SOA projects.We will discover some of the common challenges by examining the different phases of a project and by splitting the project into different categories - each representing its own set of issues, and how these can be successfully mastered - applying the right tools and the right skills. An insiders view - to make your SOA projects successful.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="font-weight:bold;"&gt;Oracle 11g — Oracle's Next Generation SOA Infrastructure&lt;/span&gt; &lt;br /&gt;which will give a sneak preview on 11g - the all integrated SCA based SOA plattform&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="font-weight:bold;"&gt;Advanced Concepts of the BPEL Language&lt;/span&gt;&lt;br /&gt;which is one of the sessions from last year that was very well attended and that I also presented at Oracle Open World last year&lt;/li&gt;&lt;/ul&gt;Last year the conference was really well attended and Washington DC was great - although insanely hot and humid, which made every walk outside a little bit of a sauna, bath trip.&lt;br /&gt;&lt;br /&gt;I hope to see you there - This conference is definetely worth the trip, and hey Daytona is not that bad :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-116933212766118184?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/116933212766118184/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=116933212766118184' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116933212766118184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116933212766118184'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2007/01/presenting-at-odtug-kaleidoscope-2007.html' title='Presenting at ODTUG Kaleidoscope 2007 in Orlando'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-116933078989083320</id><published>2007-01-20T22:47:00.000+01:00</published><updated>2007-01-20T23:09:26.946+01:00</updated><title type='text'>Heading for Europe - to support one of our key SOA Suite customers</title><content type='html'>After a bad abdominal virus this week, that seems to pollute the Bay Area, and got me a sleepless night in the ER at UCSF Med - I am somewhat well again, and on my way to Europe. &lt;br /&gt;&lt;br /&gt;I got the chance of a keynote at the &lt;a href="http://www.sigs-datacom.de/sd/kongresse/oop_2007/index.php"&gt;OOP 2007&lt;/a&gt; in Munich (Germany), speaking about &lt;a href="http://www.sigs-datacom.de/sd/kongresse/oop_2007/program.php?cat=session&amp;ID=52"&gt;Managing successfull SOA projects&lt;/a&gt; - and the importance of the human/organizational side in SOA projects.&lt;br /&gt;&lt;br /&gt;If you happen to be at the OOP or around Munich, I think the &lt;a href="http://www.sigs-datacom.de/sd/kongresse/oop_2007/index.php?cat=freepass"&gt;entry to the demo pods / show floor is free&lt;/a&gt; - so come by and visit me - I'll be there to answer questions around SOA in general, demo the SOA Suite and meet customers.&lt;br /&gt;&lt;br /&gt;Also during the week I'll be visiting one of our customers in Germany to make sure their large, and fledged SOA implementation hits the target. &lt;br /&gt;With this in mind, and all the feedback we receive from the fields in our &lt;a href="forums.oracle.com/forums/forum.jspa?forumID=320"&gt;OTN forums&lt;/a&gt; I am very happy to see the industry and the market adopting our SOA Suite, the latest edition of, an all over integrated plattform from Governance, Development and Security, to BPEL as well as ESB.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-116933078989083320?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/116933078989083320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=116933078989083320' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116933078989083320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116933078989083320'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2007/01/heading-for-europe-to-support-one-of.html' title='Heading for Europe - to support one of our key SOA Suite customers'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-116846343431332114</id><published>2007-01-10T22:06:00.000+01:00</published><updated>2007-02-20T15:20:00.400+01:00</updated><title type='text'>Business Integration Journal changes its name - and the last BIJ contains my new article</title><content type='html'>"&lt;em&gt;Business Integration Journal (BIJ) is changing to Business Transformation &amp; Innovation (BTIJ) to better reflect the current editorial content being published and new topics readers want covered. &lt;br /&gt;&lt;br /&gt;Targeted at the intersection of business and IT, BTIJ carries on the “how-to” and “what-works” tradition of Business Integration Journal helping IT and business managers quickly adapt to changing business needs, continuously innovate successful new products and services, and consistently gain and maintain a competitive advantage.&lt;/em&gt;"&lt;br /&gt;&lt;br /&gt;In the last edition of the BIJ - as we know it - my article on SOA projects got published - and I am very proud of it.&lt;br /&gt;&lt;br /&gt;"A World of Assumptions That Make an SOA Project the Perfect Storm—and What You Should Know About Them by Clemens Utschig-Utschig. This article shows that, while Service-Oriented Architecture (SOA) brings many advantages, it doesn’t alleviate the need for good planning, organization, and training."&lt;br /&gt;&lt;br /&gt;The whole article can be found here&lt;br /&gt;&lt;a href="http://www.bijonline.com/index.cfm?section=article&amp;aid=802"&gt;http://www.bijonline.com/index.cfm?section=article&amp;aid=802&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-116846343431332114?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/116846343431332114/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=116846343431332114' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116846343431332114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116846343431332114'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2007/01/business-integration-journal-changes.html' title='Business Integration Journal changes its name - and the last BIJ contains my new article'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-116794962937587088</id><published>2007-01-04T23:00:00.000+01:00</published><updated>2007-02-18T03:16:28.636+01:00</updated><title type='text'>A new SOA year has begun - what will the SOA Santa bring?</title><content type='html'>Wow, the new &lt;strong&gt;SOA year &lt;/strong&gt;is here - and many cool things are about to arrive. But before looking into the future, let's look back into 2006 - and what happened there.&lt;br /&gt;&lt;br /&gt;My first year, living in &lt;strong&gt;San Francisco &lt;/strong&gt;and working within a wonderfull group, envisioning future and creating our next generation products went by - and I must admit it was far better than I thought it'd be. &lt;br /&gt;&lt;br /&gt;First, and most important - we delivered &lt;a href="http://clemensblog.blogspot.com/2006/10/oracle-releases-soa-suite-10131.html"&gt;&lt;strong&gt;SOA Suite 10.1.3.1&lt;/strong&gt;&lt;/a&gt; - the first major, integrated SOA plattform. Not just integrated, but also with two new key components, the Oracle &lt;strong&gt;Enterprise Service Bus &lt;/strong&gt;(ESB) and Rules. Since OOW 2006 we we presented the first public available release, our customers are using it heavily to build their next generation SOA - and according to many of them - they enjoy doing so :D&lt;br /&gt;&lt;br /&gt;Also, we signed an OEM agreement with &lt;strong&gt;IDS Scheer&lt;/strong&gt;, to build the &lt;a href="http://clemensblog.blogspot.com/2006/10/first-glance-at-ids-scheers-aris.html"&gt;ORACLE BPA Suite&lt;/a&gt; on top of it. Using Business Process Architect - for the first time &lt;strong&gt;Business Processes&lt;/strong&gt; will make it all the road down to be executable, and all the way back to feed real world data into simulation and continous refinement.&lt;br /&gt;&lt;br /&gt;Another also, was the overwhelming amount of SOA related sessions at &lt;a href="http://clemensblog.blogspot.com/2006/11/oracle-open-world-2006-slides-and-two.html"&gt;&lt;strong&gt;Oracle Open World&lt;/strong&gt;&lt;/a&gt;, and the great feedback we received. It was a blast, more than 40000 people made the city for one week being red, being Oracle. Elton John played during the big Oracle party, and so on.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Open SOA &lt;/strong&gt;- &lt;a href="http://www.osoa.org"&gt;www.osoa.org&lt;/a&gt; went live - and with it the big players in the SOA market space, to drive next generation, easy to use standards.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;So after all what's in for 2007?&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;While we all work hard on delivering 11g - our next generation SOA infrastructure, based on &lt;strong&gt;Service Component Architecture &lt;/strong&gt;(SCA) and supporting Service Data Objects (SDO) - we expect a patchset for 10.1.3.1 (which will offer a ton of new features, and little fixes here and there).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.oasis-open.org/committees/download.php/10347/wsbpel-specification-draft-120204.htm"&gt;&lt;strong&gt;BPEL 2.0&lt;/strong&gt;&lt;/a&gt; will see the light of life - after more than 2 years, and the last public review finished, some more polishing needs to happen - and then we are ready to go. With it - BPEL will present a number of long awaited cool features, such as the new variable layout ($inputVariable) and scoped partnerlinks.&lt;br /&gt;&lt;br /&gt;&lt;a href="www.sigs-datacom.de/sd/kongresse/oop_2007/index.php"&gt;Evangelism on SOA&lt;/a&gt; will continue to drive the spirit of SOA and help customers adopting to it - I really look forward to even more presence around the globe, and many customers going live on SOA Suite.&lt;br /&gt;&lt;br /&gt;Personally for me - it's moving on with my &lt;a href="http://clemensblog.blogspot.com/2006/12/oracle-soa-suite-patterns-and-best.html"&gt;SOA Best practices series on OTN&lt;/a&gt;, supporting people around the globe and the OTN forums, doing evangelism on SOA &amp; help creating 11g. More than enough.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-116794962937587088?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/116794962937587088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=116794962937587088' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116794962937587088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116794962937587088'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2007/01/new-soa-year-has-begun-what-will-soa.html' title='A new SOA year has begun - what will the SOA Santa bring?'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-116603220629659179</id><published>2006-12-13T18:41:00.000+01:00</published><updated>2006-12-19T05:54:42.456+01:00</updated><title type='text'>From JavaPolis to Nordwijk aan Zee</title><content type='html'>After two intense and really cool days at &lt;a href="http://www.javapolis.com/confluence/display/JP06/Home"&gt;JavaPolis&lt;/a&gt; .. and a our slot on &lt;a href="http://www.javapolis.com/confluence/display/JP06/PragmaticSOA"&gt;standards based applications&lt;/a&gt;, that caught a lot of interest - it's now off to an internal architects camp meeting in the Netherlands to discuss on future product strategy.&lt;br /&gt;&lt;br /&gt;For the organizers of JavaPolis - it was a great time theree - and 2 thumbs up - for a VERY well organized conference. For me it was something new, speaking in a cinema, and definetely in front of the biggest screen ever (15 * 8 meters)&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.javapolis.com/confluence/download/attachments/27920/Clemens.jpg" width="400"&gt;&lt;br /&gt;&lt;br /&gt;More pictures can be found &lt;a href="http://www.javapolis.com/confluence/display/JP06/JavaPolis+-+University+Day+One"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So I'd recommend for next year to put JavaPolis 2007 into your calendar and join me and 1000 other java geeks :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-116603220629659179?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/116603220629659179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=116603220629659179' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116603220629659179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116603220629659179'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/12/from-javapolis-to-nordwijk-aan-zee.html' title='From JavaPolis to Nordwijk aan Zee'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-116561555263838589</id><published>2006-12-08T22:32:00.000+01:00</published><updated>2006-12-13T00:37:57.246+01:00</updated><title type='text'>Coming back from Gartner's SOA Summit and heading out to Europe</title><content type='html'>for the last days we have been at Gartner's SOA Summit, to show our new SOA Suite and discuss the latest trends on SOA and Integration.&lt;br /&gt;&lt;br /&gt;Two sessions, of the many I attended, left me thinking on SOA and where we go from here.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Darrell Plummer, Gartner Analyst&lt;/strong&gt;, held a &lt;em&gt;How to workshop&lt;/em&gt; on &lt;strong&gt;creating SOA applications&lt;/strong&gt;, which turned out great.. He fostered a broad discussion in the audience, on what methodologies to use, what a service really is - beyond WSDL, and so forth. A nice metric: out of 15 slides he wanted to show, he showed 5 :D (the rest of the time went into discussion) &lt;br /&gt;&lt;br /&gt;and the &lt;strong&gt;Chief Architect of Eskom&lt;/strong&gt;, talked about SOA and his experiences in South Africa - about a company, that adapted to agility, about key stakeholders, and the value of SOA. Overall - SOA is about humans - two thumbs up.&lt;br /&gt;&lt;br /&gt;After being home for two days - I'll head to Europe today night (yes on LH 459, Kranich) - for JavaPolis, and to visit customers. Getting the chance to speak at &lt;a href="http://www.javapolis.com/confluence/display/JP06/Home"&gt;JavaPolis 2006&lt;/a&gt; is a great opportunity to evangelise on &lt;em&gt;standards based&lt;/em&gt; SOA - and also that we got a slot for the university part. &lt;br /&gt;&lt;br /&gt;Hugo Brand (from our EMEA PM team), Demed Lher (OEMS/ESB PM) and me will talk about &lt;a href="http://www.javapolis.com/confluence/display/JP06/PragmaticSOA"&gt;Pragmatic SOA, and how you can build composite SOA applications&lt;/a&gt; today.&lt;br /&gt;&lt;br /&gt;So if you are around, come by to get a 3 hour, intense, and interactive how to session - or just to say hello :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-116561555263838589?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/116561555263838589/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=116561555263838589' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116561555263838589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116561555263838589'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/12/coming-back-from-gartners-soa-summit.html' title='Coming back from Gartner&apos;s SOA Summit and heading out to Europe'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-116553242615187841</id><published>2006-12-07T23:50:00.000+01:00</published><updated>2006-12-08T00:00:26.566+01:00</updated><title type='text'>Oracle SOA Suite Patterns and Best Practices, Part 1 and 2</title><content type='html'>While having this idea for a while now, it took considerable time to make it reality, first to allocate the necessary time, and maybe even more to get over the start of writing :D&lt;br /&gt;&lt;br /&gt;The first 2 chapters are live and can be found &lt;a href="http://www.oracle.com/technology/tech/soa/soa-suite-best-practices/index.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Chapter 1: Virtualizing your service endpoints in ESB and using them from BPEL&lt;br /&gt;Chapter 2: Using the Service Registry to enable a dynamic, reusable SOA&lt;br /&gt;&lt;br /&gt;- more to come soon&lt;br /&gt;&lt;br /&gt;Jeff, Mr. B2B is on the way finishing his contribution on BPEL and B2B and how those two components can make trading simple and solid.&lt;br /&gt;&lt;br /&gt;Also coming in the next time, migration, deployment concepts, and governance, all from the source.&lt;br /&gt;&lt;br /&gt;We are also keen for your feedback, or if you like to contribute, jsut drop me a line with what you think helps the community most&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-116553242615187841?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/116553242615187841/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=116553242615187841' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116553242615187841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116553242615187841'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/12/oracle-soa-suite-patterns-and-best.html' title='Oracle SOA Suite Patterns and Best Practices, Part 1 and 2'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-116502420387031194</id><published>2006-12-02T02:42:00.000+01:00</published><updated>2006-12-02T02:50:05.173+01:00</updated><title type='text'>Gartner Application Integration &amp; Web Services Summit</title><content type='html'>Over the next week a part of our team will head out to Gartner's AIWS Summit in Orlando - and we all look forward, as it is a great opportunity to meet other evangelists and customers to discuss the latest trends and stories around SOA, and Application Integration.&lt;br /&gt;&lt;br /&gt;Dave Shaffer - Director of SOA Product Mgmt - and head of our group, Devesh Sharma - Mr. BPA, Jeff Hutchins - the mastermind of Oracle's B2B and me will be there. So if you are around, come by the booth to chat, see SOA Suite @ work or just for fun - to meet some of the faces behind Oracle's SOA strategy and offering.&lt;br /&gt;&lt;br /&gt;For those who have not heart of it yet - visit &lt;a href="http://www.gartner.com/2_events/conferences/apn17.jsp"&gt;http://www.gartner.com/2_events/conferences/apn17.jsp&lt;/a&gt; and hurry to register&lt;br /&gt;&lt;br /&gt;c ya in orlando&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-116502420387031194?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/116502420387031194/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=116502420387031194' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116502420387031194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116502420387031194'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/12/gartner-application-integration-web.html' title='Gartner Application Integration &amp; Web Services Summit'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-116486522170756172</id><published>2006-11-30T06:32:00.000+01:00</published><updated>2007-02-09T12:09:29.376+01:00</updated><title type='text'>Develop with Oracle Fusion Middleware and win a trip to Oracle HQ</title><content type='html'>Today - while looking for information on the OTN I fell over the below invitation ..&lt;br /&gt;&lt;br /&gt;&lt;em&gt;The Oracle Fusion Middleware Developer Challenge is looking for submissions in three exciting technology areas:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;SOA-based applications or Web services &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Web 2.0/Ajax-based user interfaces or mashups &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Java-based applications demonstrating the combined use of Oracle and Open Source software &lt;/li&gt;&lt;/ul&gt;&lt;/em&gt; .. which can be found in full &lt;a href="http://www.oracle.com/technology/products/developer-tools/fusion-middleware-developer-challenge/index.html"&gt;here&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Naturally we, all Oracle employees are excluded - so it's your term. Develop the coolest application on Oracle's new Fusion Middleware and win a trip to our Headquarters in Redwood Shores, California.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-116486522170756172?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/116486522170756172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=116486522170756172' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116486522170756172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116486522170756172'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/11/develop-with-oracle-fusion-middleware.html' title='Develop with Oracle Fusion Middleware and win a trip to Oracle HQ'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-116484699194244977</id><published>2006-11-30T01:17:00.000+01:00</published><updated>2006-12-21T14:09:09.973+01:00</updated><title type='text'>Oracle Open World 2006 slides and two new articles</title><content type='html'>After being quiet for quite a while now, I thought to publish some information from my open world sessions and links to two of my (joint) articles that were recently published.&lt;br /&gt;&lt;br /&gt;My slides about Advanced BPEL topics, including Compensation, Transactions, and WSIF can be found &lt;a href="http://www28.cplan.com/cbo_export/PS_S282688_282688_139-1_FIN_v2.pdf"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Matt Shannon from the Content DB team and me teamed up to demo the integration between Content DB and Oracle BPEL PM, which currently evolves into a sample - slides are &lt;a href="http://www28.cplan.com/cbo_export/PS_S282231_282231_139-1_FIN_v2.pdf"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Also the introduction during Oracle XTreme that me and my whole team gave - on using all the components together to create a composite application is online - and to be found &lt;a href="http://www28.cplan.com/cbo_export/PS_S282707_282707_139-1_FIN_v1.ppt"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Attention: you need to login with &lt;strong&gt;cboracle/oraclec6 &lt;/strong&gt; &lt;br /&gt;&lt;br /&gt;Also two recent articles were published, ..&lt;br /&gt;&lt;br /&gt;One on Data Services in the Java Developers Journal, where Doug Clarke from Toplink PM team and me paired up, to write about "&lt;em&gt;&lt;strong&gt;Accessing data in the Service Oriented World&lt;/strong&gt;&lt;/em&gt;" is &lt;a href="http://java.sys-con.com/read/273963.htm"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The second one, where Jesus from TwoConnect, Heidi Buelow- one of my fellows on our team and I teamed up - to demonstrate "&lt;em&gt;&lt;strong&gt;WSI with BPEL and WCF in the real world&lt;/strong&gt;&lt;/em&gt;". It can be found &lt;a href="http://webservices.sys-con.com/read/291043.htm"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Also, to keep my fellow readers informed, I just started off with my best practice series on the SOA Suite, which explores patterns and best practices when using the components - more on this soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-116484699194244977?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/116484699194244977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=116484699194244977' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116484699194244977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116484699194244977'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/11/oracle-open-world-2006-slides-and-two.html' title='Oracle Open World 2006 slides and two new articles'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-116228746781909912</id><published>2006-10-31T10:36:00.000+01:00</published><updated>2007-02-20T17:17:09.690+01:00</updated><title type='text'>The biggest Openworld ever closed its doors - and what a great time it was</title><content type='html'>Last week was definetely insane! 40.000 customers, 10! locations around San Francisco, and more than 1600 sessions, all dedicated to the power of information sharing.&lt;br /&gt;&lt;br /&gt;As most of my team, I litterally spent the whole week at Oracle World, as we constantly went back and forth from the demo grounds, to Oracle Develop, located at the Hilton, and customer meetings. &lt;br /&gt;&lt;br /&gt;The first highlight? The SOA Suite distribution (for all number junkies, it's 10.1.3.1.0) made it also in time, to be released to OTN (&lt;a href="http://otn.oracle.com/soa"&gt;here&lt;/a&gt;) - yeah!&lt;br /&gt;&lt;br /&gt;In a nutshell, what did happen? &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Larry Ellison talked about the &lt;a href="http://www.oracle.com/technologies/linux/index.html?pageregion=ocom_hp_a_main_1_Linux_102506"&gt;Oracle supported Linux&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;In his Fusion Revolution keynote, Thomas, once more lined out the &lt;a href="http://www.oracle.com/corporate/press/2006_oct/openworldsf06-07.html?rssid=rss_ocom_pr"&gt;importance of standards&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt; .. and the who is who of IT came by to contribute a keynote (john chambers, michael dell, and many others), plently of analysts gathered to ask about this and that - and from customers we got overwhelming feedback.&lt;br /&gt;&lt;br /&gt;Also a bunch of whitepapers made it in time for Oracle World, perfectly in line with Thomas' Keynote on standards. They can be found &lt;a href="http://www.oracle.com/technology/tech/standards/soa-standards.html"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My sessions on "Integrating Content DB with Oracle BPEL Process Manager", "Advanced BPEL" and "SOA in the real world" - were very well attended, and especially overwhelming was the crowd interested in the advanced stuff on BPEL, covering themes like transactions, compensation, fault handling and BPEL 2.0. &lt;br /&gt;&lt;br /&gt;.. and while blogging here from some 34000 feet - somewhere over England en route to Germany, my laptop battery is going down, mostly because of the non working poweplugs on LH 455, whatever .. I'll blog more on OOW when I get the pics that friends took during the week.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-116228746781909912?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/116228746781909912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=116228746781909912' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116228746781909912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116228746781909912'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/10/biggest-openworld-ever-closed-its.html' title='The biggest Openworld ever closed its doors - and what a great time it was'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-116137718023271502</id><published>2006-10-20T22:41:00.000+02:00</published><updated>2006-10-20T22:48:06.650+02:00</updated><title type='text'>Oracle Open World 2006 - and the last preparations - this time JDev team</title><content type='html'>Susan, member of our JDeveloper PM team, created a cool viewlet (and I think she will demo this in real during her session).&lt;br /&gt;&lt;br /&gt;It's about BPEL and ESB development in Oracle's JDeveloper - you can be found &lt;a href="http://www.oracle.com/technology/products/jdev/viewlets/1013/ESB_Development_viewlet_swf.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Enjoy - and even more if you come to see us live at this year's Oracle Open World.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-116137718023271502?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/116137718023271502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=116137718023271502' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116137718023271502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116137718023271502'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/10/oracle-open-world-2006-and-last.html' title='Oracle Open World 2006 - and the last preparations - this time JDev team'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-116136541570832630</id><published>2006-10-20T19:28:00.000+02:00</published><updated>2006-10-20T22:48:52.606+02:00</updated><title type='text'>Oracle releases SOA Suite 10.1.3.1</title><content type='html'>Download it from here - and experience our next generation SOA plattform &lt;br /&gt;&lt;a href="http://www.oracle.com/technology/software/products/ias/htdocs/101310.html"&gt;Oracle SOA SUITE 10.1.3.1&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-116136541570832630?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/116136541570832630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=116136541570832630' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116136541570832630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116136541570832630'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/10/oracle-releases-soa-suite-10131.html' title='Oracle releases SOA Suite 10.1.3.1'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-116113307810212271</id><published>2006-10-18T02:24:00.000+02:00</published><updated>2006-10-20T02:24:24.356+02:00</updated><title type='text'>SOA 10.1.3.1 Hints - Episode 3</title><content type='html'>In today's note we will discover the steps needed to increase the inactivity timeout of the &lt;strong&gt;S&lt;/strong&gt;ingle&lt;strong&gt;S&lt;/strong&gt;ign&lt;strong&gt;O&lt;/strong&gt;n - enabled consoles shipped with SOA Suite 10.1.3.1.&lt;br /&gt;&lt;br /&gt;Some of you might have already noticed, not using the session for some minutes results in a rerouting to the login page.. and if it happens the &lt;em&gt;first time&lt;/em&gt; some &lt;strong&gt;ohh&lt;/strong&gt;, &lt;strong&gt;arghhh &lt;/strong&gt;or other words may follow :D&lt;br /&gt;&lt;br /&gt;The SOA related web consoles are ..&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;BPEL Console&lt;/strong&gt; (http://host:port/BPELConsole)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;ESB Console &lt;/strong&gt;(http://host:port/esb/esb/EsbConsole.html)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Rule Author &lt;/strong&gt;(http://host:port/ruleauthor)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;and the famous &lt;strong&gt;Human Worklist&lt;/strong&gt;(http://host:port/integration/worklistapp)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;As all are deployed in the same way, and are JSSO enabled - here are the steps you need to follow, to increase the timeouts of them.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;1) &lt;strong&gt;Stop your SOA Suite &lt;/strong&gt;(opmnctl stopall)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;2) Depending on your installation your OC4J container holding the apps is either located in $ORACLE_HOME/j2ee/home (basic install) or $ORACLE_HOME/j2ee/oc4j_soa (advanced install), which I refer to $OC4J_HOME from now&lt;/li&gt;&lt;br /&gt;&lt;li&gt;3) Go to $OC4J_HOME/config and backup &lt;strong&gt;jazn.xml&lt;/strong&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;4) Add a &lt;strong&gt;new&lt;/strong&gt; property called &lt;em&gt;custom.sso.session.timeout&lt;/em&gt; &lt;strong&gt;inside &lt;/strong&gt;the &amp;lt;jazn&amp;gt; section, the value is in seconds and should be a multiply of it&lt;/li&gt;&lt;br /&gt;&lt;li&gt;5) Step by step now - you are going to reconfigure the consoles&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;BPEL Console&lt;/strong&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Go to $OC4J_HOME/applications/orabpel/console/WEB-INF and backup &lt;em&gt;web.xml&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Add the following fragment &lt;pre&gt;  &amp;lt;session-config&amp;gt;&lt;br /&gt;     &amp;lt;session-timeout&amp;gt;-1&amp;lt;/session-timeout&amp;gt;&lt;br /&gt;  &amp;lt;/session-config&amp;gt;&lt;br /&gt;&lt;/pre&gt; &lt;br /&gt;&lt;br /&gt;inside the &amp;lt;web-app&amp;gt; tags&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Go to $OC4J_HOME/applications-deployments/orabpel/console and delete orion-web.xml&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;li&gt;&lt;strong&gt;ESB Console&lt;/strong&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Go to $OC4J_HOME/applications/esb-rt/provider-war/WEB-INF and backup &lt;em&gt;web.xml&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Add the following fragment &lt;pre&gt;  &amp;lt;session-config&amp;gt;&lt;br /&gt;     &amp;lt;session-timeout&amp;gt;-1&amp;lt;/session-timeout&amp;gt;&lt;br /&gt;  &amp;lt;/session-config&amp;gt;&lt;br /&gt;&lt;/pre&gt; &lt;br /&gt;&lt;br /&gt;inside the &amp;lt;web-app&amp;gt; tags&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Go to $OC4J_HOME/application-deployments/esb-rt/provider-war and delete orion-web.xml&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;li&gt;&lt;strong&gt;Rule Author&lt;/strong&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Go to $OC4J_HOME/applications/ruleauthor/ruleauthor/WEB-INF and backup &lt;em&gt;web.xml&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Add the following fragment &lt;pre&gt;  &amp;lt;session-config&amp;gt;&lt;br /&gt;     &amp;lt;session-timeout&amp;gt;-1&amp;lt;/session-timeout&amp;gt;&lt;br /&gt;  &amp;lt;/session-config&amp;gt;&lt;br /&gt;&lt;/pre&gt; &lt;br /&gt;&lt;br /&gt;inside the &amp;lt;web-app&amp;gt; tags&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Go to $OC4J_HOME/application-deployments/ruleauthor/ ruleauthor/ and delete orion-web.xml&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;li&gt;&lt;strong&gt;Human Worklist&lt;/strong&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Go to $OC4J_HOME/applications/hw_services/worklistapp/ WEB-INF and backup &lt;em&gt;web.xml&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Add the following fragment &lt;pre&gt;  &amp;lt;session-config&amp;gt;&lt;br /&gt;     &amp;lt;session-timeout&amp;gt;-1&amp;lt;/session-timeout&amp;gt;&lt;br /&gt;  &amp;lt;/session-config&amp;gt;&lt;br /&gt;&lt;/pre&gt; &lt;br /&gt;&lt;br /&gt;inside the &amp;lt;web-app&amp;gt; tags&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Go to $OC4J_HOME/application-deployments/hw_services/ worklistapp and delete orion-web.xml&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;li&gt;6) Start your SOA Suite, by &lt;em&gt;opmnctl startall&lt;/em&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Voila, the inactivity timeout in &lt;strong&gt;YOUR&lt;/strong&gt; control&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-116113307810212271?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/116113307810212271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=116113307810212271' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116113307810212271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116113307810212271'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/10/soa-10131-hints-episode-3.html' title='SOA 10.1.3.1 Hints - Episode 3'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-116059394157750623</id><published>2006-10-11T20:32:00.000+02:00</published><updated>2007-02-21T15:06:10.243+01:00</updated><title type='text'>A first glance at IDS Scheer's ARIS Business Architect - Oracle Business Process Architect</title><content type='html'>These days I am attending a training on ARIS' tools, with Oracle colleaques from all around US, tought by IDS and Oracle together. A while ago Oracle oem'ed ARIS tools for its upcoming &lt;a href="http://www.oracle.com/technologies/soa/bpa-suite.html"&gt;Business Process Analysis (BPA) Suite&lt;/a&gt;, as mentioned in this &lt;a href="http://biz.yahoo.com/prnews/060802/sfw053.html?.v=69"&gt;press release&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;This training should be a great opportunity to expand my knowledge on &lt;strong&gt;business driven&lt;/strong&gt; process design. Especially visualization of processes and ownerships seems very important, when evangelizing on the human factor, and impacts from SOA projects on organizations - one of my key interests.&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;img src="http://www.ids-scheer.com/sixcms/media.php/1042/design.png"&gt;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;The end of the whole story can be a business process, created by the business, that is transformed into BPEL, and refined by a member of the IT department to get executed.&lt;br /&gt;&lt;br /&gt;Aside BPA is one key piece when talking about round trip methodologies, namely Business Process Management (BPM), covering the whole cycle from analysis, through design, simulation, to production and refining, a never ending loop of seeking for &lt;em&gt;business performance excellence&lt;/em&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-116059394157750623?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/116059394157750623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=116059394157750623' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116059394157750623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116059394157750623'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/10/first-glance-at-ids-scheers-aris.html' title='A first glance at IDS Scheer&apos;s ARIS Business Architect - Oracle Business Process Architect'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-116043090664889699</id><published>2006-10-09T23:43:00.000+02:00</published><updated>2006-10-09T23:55:06.696+02:00</updated><title type='text'>SOA 10.1.3.1 Hints - Episode 2</title><content type='html'>Following up on my Series &lt;em&gt;SOA 10.1.3.1 Hints&lt;/em&gt; today I'll shed some light on the new and improved HTTP binding.&lt;br /&gt;&lt;br /&gt;As you know, we always offered a way to start a process instance not just via SOAP or the Java API - but also through some kind of REST like binding.&lt;br /&gt;&lt;br /&gt;With the 10.1.3.1 release we switched XML parsing to Oracle's XDK and also added some new features to make this again properly working.&lt;br /&gt;&lt;br /&gt;1) HTTP post can also have a form posted and not just plain xml (REST) - for this to work you need to specify the following in the header of the http request&lt;br /&gt;content="&lt;strong&gt;application/x-www-form-urlencoded&lt;/strong&gt;; charset=iso-8859-1" &lt;br /&gt;&lt;br /&gt;2) A namespace and message part can be specified in the request by using &lt;br /&gt;  &amp;lt;input type="hidden" name="&lt;strong&gt;msg_part&lt;/strong&gt;" value="payload"&amp;gt;  &lt;br /&gt;  &amp;lt;input type="hidden" name="&lt;strong&gt;namespace&lt;/strong&gt;" value="http://services.otn.com"&amp;gt;&lt;br /&gt;where &lt;strong&gt;msg_part&lt;/strong&gt; maps to the part of the input message type (usually &lt;em&gt;payload&lt;/em&gt;) and &lt;strong&gt;namespace &lt;/strong&gt;to the target namespace of the element (as defined in the wsdl). &lt;br /&gt;&lt;br /&gt;On a side note, the whole http get works only for not nested elements, in case of complex (=nested) types you have to use POST with fully qualified xml.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-116043090664889699?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/116043090664889699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=116043090664889699' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116043090664889699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116043090664889699'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/10/soa-10131-hints-episode-2.html' title='SOA 10.1.3.1 Hints - Episode 2'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-116016046318559951</id><published>2006-10-06T20:42:00.000+02:00</published><updated>2006-10-06T20:47:43.200+02:00</updated><title type='text'>SOA 10.1.3.1 Hints - Episode 1</title><content type='html'>Over the next weeks I plan to publish tips and tricks around the usage of the upcoming SOA suite, based on questions I see on the forums on OTN.&lt;br /&gt;&lt;br /&gt;The first one is about &lt;strong&gt;adding properties to bpel.xml&lt;/strong&gt; (our deployment descriptor) - either on a partnerlink(binding) &lt;partnerlinkBinding&gt;, as a preference &lt;preferences&gt;, or configuration &lt;configurations&gt;.&lt;br /&gt;We strongly recommend to &lt;strong&gt;NOT &lt;/strong&gt;do this in the source view of the file itself, as it could cause sync problems, reflected in loosing them. &lt;br /&gt;&lt;br /&gt;Instead use the visual BPEL designer offered. For properties on a partnerlink, simply double-click on it, and choose the properties tab. For process wide preference, click the descriptor icon on the top of the modeler, and add them there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-116016046318559951?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/116016046318559951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=116016046318559951' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116016046318559951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/116016046318559951'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/10/soa-10131-hints-episode-1.html' title='SOA 10.1.3.1 Hints - Episode 1'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-115981221266094974</id><published>2006-10-02T18:32:00.000+02:00</published><updated>2007-02-23T16:33:06.090+01:00</updated><title type='text'>New JDJ article published</title><content type='html'>After some customer visits in europe and polishing on our upcoming 10.1.3.1, I just got notified that one of the articles I wrote got published in this month's JDJ. &lt;br /&gt;&lt;br /&gt;It's named &lt;strong&gt;Where Has My Data Gone? Accessing Data in a Service Oriented Architecture,&lt;/strong&gt; written together with &lt;a href="http://java.sys-con.com/author/dclarke.htm"&gt;Douglas Clarke&lt;/a&gt;, from Toplink Product Mgmt team and can be found &lt;a href="http://java.sys-con.com/read/273963.htm"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;During the next months I expect some more to come, and will start to maintain a list of them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-115981221266094974?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/115981221266094974/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=115981221266094974' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115981221266094974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115981221266094974'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/10/new-jdj-article-published.html' title='New JDJ article published'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-115748912986039629</id><published>2006-09-05T22:14:00.000+02:00</published><updated>2006-09-14T21:42:34.433+02:00</updated><title type='text'>What did you do on labour day? I went rafting ..</title><content type='html'>As said - yesterday I went rafting with a bunch of friends, and where would you go? To beautiful North California - being precise to American River.&lt;br /&gt;&lt;br /&gt;Here is a picture that describes best how we felt - and faught against tides and rocks.. (find me on the left, 1st row)&lt;br /&gt;&lt;br /&gt;&lt;img src="http://i101.photobucket.com/albums/m48/erielhonan/American%20River/IMG_1587.jpg" width="100%"&gt;&lt;br /&gt;&lt;br /&gt;Aside from that - it's back to work, and today I saw a thread in the BPEL forums on BPEL and Service registry integration - &lt;a href="http://forums.oracle.com/forums/thread.jspa?threadID=419916&amp;tstart=0"&gt;here&lt;/a&gt;. Peter one of our fellow BPEL gurus from Europe asked about support for security while looking up information. &lt;br /&gt;This feature was not implemented in the first shot - but will be, either as part of the upcoming GA version or of the 10.1.3.2 patch set, that we've already scheduled.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-115748912986039629?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/115748912986039629/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=115748912986039629' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115748912986039629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115748912986039629'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/09/what-did-you-do-on-labour-day-i-went.html' title='What did you do on labour day? I went rafting ..'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i101.photobucket.com/albums/m48/erielhonan/American%20River/th_IMG_1587.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-115679444017812890</id><published>2006-08-28T21:36:00.000+02:00</published><updated>2006-08-28T21:47:20.303+02:00</updated><title type='text'>Open Source in BPEL PM - it's all about contribution</title><content type='html'>Roughly 2 weeks ago we had a bug escalation, talking about soap calls targeting the wrong service endpoint URL (of another partnerlink), all under high stress of the engine (BPEL PM 10.1.2.0.2) - as described in bug 5406376. &lt;br /&gt;&lt;br /&gt;After some nights of debugging into our WSIF(Apache Webservice Invocation Framework) layer - we nailed it down to be something in the AXIS layer that we use under the covers to manage SOAP communication. Although a highly optimized, for our engine fixed and partly enhanced version, it's still Apache's good old AXIS.&lt;br /&gt;Btw. as a short side note, we use WSIF to bind to all of our targets, not just SOAP, also EJB, J2CA and other features.&lt;br /&gt;&lt;br /&gt;Another weekend went by, and suddenly there it was, a multithreading -overwrite class variable- condition, all causing the wrong endpoint to be called.&lt;br /&gt;&lt;br /&gt;We fixed it locally, and voila, it worked.. also muruga opened an Axis issue on JIRA, here &lt;a href="https://issues.apache.org/jira/browse/AXIS-2540"&gt;AXIS-2540&lt;/a&gt; and submitted a patch. &lt;br /&gt;&lt;br /&gt;This is open source collaboration! Take it, use it, fix it - and feed it back!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-115679444017812890?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/115679444017812890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=115679444017812890' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115679444017812890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115679444017812890'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/08/open-source-in-bpel-pm-its-all-about.html' title='Open Source in BPEL PM - it&apos;s all about contribution'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-115611494136007379</id><published>2006-08-21T00:50:00.000+02:00</published><updated>2006-08-21T01:03:12.736+02:00</updated><title type='text'>The printed version of the BPEL Cookbook is available</title><content type='html'>What do our customers do when they want to share ideas? They write articles and help others facing the same challenges, with ideas and solutions. &lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;img src="http://www.packtpub.com/images/100x123/1904811337.png" height="246" width="200" border="0" alt=""/&gt;&lt;br /&gt;The online version can be found on Oracle's Technology Network, &lt;a href="http://www.oracle.com/technology/pub/articles/bpel_cookbook/index.html"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;Markus and Harish from our teams helped with editing and voila - here is the book, orderable at &lt;a href="http://www.amazon.com/gp/product/1904811337/sr=8-2/qid=1156109587/ref=sr_1_2/104-0258470-3637505?ie=UTF8"&gt;amazon.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ten practical real-world case studies combining business process management and web services orchestration&lt;br /&gt; &lt;br /&gt;&lt;span style="font-style:italic;"&gt;* Real-world BPEL recipes for SOA integration and Composite Application development&lt;br /&gt;* Combining business process management and web services orchestration&lt;br /&gt;* Techniques and best practices with downloadable code samples from ten real-world case studies&lt;/span&gt;&lt;br /&gt;Quoted from &lt;a href="http://www.packtpub.com/BPEL_SOA/book"&gt;PACKT publishing&lt;br /&gt;&lt;/a&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-115611494136007379?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/115611494136007379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=115611494136007379' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115611494136007379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115611494136007379'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/08/printed-version-of-bpel-cookbook-is.html' title='The printed version of the BPEL Cookbook is available'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-115593840627484709</id><published>2006-08-18T23:50:00.000+02:00</published><updated>2006-09-29T18:51:57.143+02:00</updated><title type='text'>Oracle SOA Suite 10.1.3 - Top 4 install tips</title><content type='html'>Last week we released the Developer Preview of the upcoming &lt;strong&gt;SOA Suite 10.1.3&lt;/strong&gt;. It can be downloaded from OTN - &lt;a href="http://www.oracle.com/technology/software/products/ias/soapreview.html"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;After reading through the OTN forums for &lt;a href="http://forums.oracle.com/forums/forum.jspa?forumID=212"&gt;BPEL&lt;/a&gt; and &lt;a href="http://forums.oracle.com/forums/forum.jspa?forumID=320"&gt;SOA Suite&lt;/a&gt; it seems worth to capture the top three items you should follow when installing.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;1)&lt;/strong&gt; Make sure your Oracle Home that you choose to install the SOA suite is as close to the root as possible. So instead of &lt;em&gt;c:\Oracle\products\soasuite1013&lt;/em&gt; you might want to consider installing into &lt;em&gt;c:\soasuite1013&lt;/em&gt;, this is because of the overall (class)path length restriction that some OS'es have &lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;2)&lt;/strong&gt; Make sure you have a temp directory defined, on windows it's usually c:\temp, on linux it's /tmp, and make sure there is some space in it (needed for ESB)&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;3)&lt;/strong&gt; No spaces in the path, JDeveloper and the Suite do not like them. So instead of &lt;strong&gt;"c:\soasuite 1013\"&lt;/strong&gt; choose &lt;strong&gt;c:\soasuite1013&lt;/strong&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;and &lt;strong&gt;4)&lt;/strong&gt; follow the preinstall steps (swap space, kernel params and so on)&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-115593840627484709?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/115593840627484709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=115593840627484709' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115593840627484709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115593840627484709'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/08/oracle-soa-suite-1013-top-4-install.html' title='Oracle SOA Suite 10.1.3 - Top 4 install tips'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-115568387865452156</id><published>2006-08-16T01:10:00.000+02:00</published><updated>2006-08-16T01:17:58.666+02:00</updated><title type='text'>Linux World Day 1 - Impressions</title><content type='html'>While Manoj and me are at the SOA Demo Pod (demoing the linux power), it's quite some fun to looking around to see what attracts people to the booths here. Some guys just advertise their sessions like hell ("Come here, don't miss, win this, win that") - others try it with giveaways. &lt;br /&gt;&lt;br /&gt;Besides that we are very proud of having the SOA Suite Preview now public accessible - especially since so many people asked - either on the BPEL OTN forum or through dozens of mails.&lt;br /&gt;&lt;br /&gt;Download it and discover the unleashed power of composite applications,.. Not just BPEL but also the Enterprise Service Bus is definitely worth trying - showing reliable messaging.. &lt;br /&gt;&lt;br /&gt;Whatever you happen to find on rough edges pls let us know about it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-115568387865452156?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/115568387865452156/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=115568387865452156' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115568387865452156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115568387865452156'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/08/linux-world-day-1-impressions.html' title='Linux World Day 1 - Impressions'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-115567619253138131</id><published>2006-08-15T23:06:00.000+02:00</published><updated>2007-02-23T03:12:46.753+01:00</updated><title type='text'>Linux World Day 1 - Oracle's SOA Suite Preview is live</title><content type='html'>While being at Linux World (if you happen to be here, come by booth 1110) - we got a call from colleaques - the SOA Suite Preview is finally live on OTN.. :D&lt;br /&gt;&lt;br /&gt;Download it from &lt;a href="http://www.oracle.com/technology/software/products/ias/soapreview.html"&gt;here&lt;/a&gt;. Besides the core software it contains a quickstart guide and the complete OrderBooking demo - combining BPEL, ESB, and Oracle Rules.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-115567619253138131?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/115567619253138131/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=115567619253138131' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115567619253138131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115567619253138131'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/08/linux-world-day-1-oracles-soa-suite.html' title='Linux World Day 1 - Oracle&apos;s SOA Suite Preview is live'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-115506173227985940</id><published>2006-08-08T20:27:00.000+02:00</published><updated>2006-08-08T20:28:52.306+02:00</updated><title type='text'>Oracle offers the more open (and SOA based) solution</title><content type='html'>&lt;a href="http://www.theserverside.com/news/thread.tss?thread_id=41678"&gt;http://www.theserverside.com/news/thread.tss?thread_id=41678&lt;/a&gt;&lt;br /&gt;read it and find out for yourself why Oracle is leading the SOA efforts for corporate applications&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-115506173227985940?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/115506173227985940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=115506173227985940' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115506173227985940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115506173227985940'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/08/oracle-offers-more-open-and-soa-based.html' title='Oracle offers the more open (and SOA based) solution'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-115496969910391522</id><published>2006-08-07T18:42:00.000+02:00</published><updated>2006-08-07T18:54:59.126+02:00</updated><title type='text'>... back to work</title><content type='html'>After 2 and some weeks of incredible holidays, discovering California, driving some 1000 miles from Napa to St. Barbara, visiting Stanford and Berkeley etc.etc.etc, it's time to focus back on SOA, and our upcoming plattform :D&lt;br /&gt;&lt;br /&gt;Here are some important news of the last weeks&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Open Service Oriented Architecture (&lt;a href="http://www.osoa.org"&gt;OSOA.org&lt;/a&gt;) is LIFE - and Sun is a Partner&lt;br /&gt;&lt;br /&gt;&lt;em&gt;The Open SOA Collaboration represents an informal alliance of industry leaders that share a common interest: defining a language-neutral programming model that meets the needs of enterprise developers who are developing software that exploits Service Oriented Architecture characteristics and benefits. The Collaboration is not a Standards Body; it is an alliance who wish to innovate rapidly in the development of this programming model and to deliver Specifications to the community for implementation. These specifications are made available to the community on a Royalty Free basis for the creation of compatible implementations. When mature, the intent is to hand these specifications over to a suitable Standards Body for future shepherding.&lt;/em&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://biz.yahoo.com/prnews/060802/sfw053.html?.v=69"&gt;Oracle signs agreement with IDS Scheer on Aris&lt;/a&gt;&lt;br /&gt;&lt;em&gt;&lt;br /&gt;Oracle's BPM product portfolio, which now includes IDS Scheer's ARIS Platform, will support a customer's entire business process lifecycle, ranging from modeling and simulation to deployment and optimization across heterogeneous IT systems.&lt;/em&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Oracle SOA Suite preview is coming soon, really soon&lt;/li&gt;&lt;br /&gt;The last weeks got us a big push and a great candidate for the public preview of the upcoming SOA Suite release (which is for the first time an integrated Suite containing BPEL, ESB, OWSM, and Rules [and B2B])&lt;br /&gt;It's time to bookmark &lt;a href="http://otn.oracle.com/bpel"&gt;otn.oracle.com/bpel&lt;/a&gt;, and watch out for news.. &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;More after reading some tons of emails ..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-115496969910391522?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/115496969910391522/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=115496969910391522' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115496969910391522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115496969910391522'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/08/back-to-work.html' title='... back to work'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-115327132398401345</id><published>2006-07-19T03:04:00.000+02:00</published><updated>2006-07-19T03:08:44.006+02:00</updated><title type='text'>Vacation is (finally) here</title><content type='html'>Now, that I live in the states for a considerable long time and still not have discovered the state I pay my taxes to, it's time to do so - I'll be out 'til august 7th, problably without blogging to travel around, and recharge my batteries for the final rush of 10.1.3.1 SOA release&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-115327132398401345?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/115327132398401345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=115327132398401345' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115327132398401345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115327132398401345'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/07/vacation-is-finally-here.html' title='Vacation is (finally) here'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-115315307856233569</id><published>2006-07-17T18:15:00.000+02:00</published><updated>2006-09-15T13:32:54.143+02:00</updated><title type='text'>Async Java Miracles - part 2, or why is my instance not found</title><content type='html'>Arun from Dubai (and I must admit I am very happy to have fellow readers in the Emirates) wrote in today asking about my note on implementing an Aysnc callback for the BPEL API.&lt;br /&gt;&lt;br /&gt;In a nutshell, when he runs his code for an async process he gets the famous &lt;em&gt;ORABPEL-02152&lt;br /&gt;Instance not found&lt;/em&gt; error. &lt;br /&gt;&lt;br /&gt;First - why does this happen?&lt;br /&gt;When an async instance is created through the API (com.oracle.bpel.client.IDeliveryService:post()) it will be enqueued into the "Delivery Queue", waiting to be picked up by a worker. This guarantees that each message reaching that point cannot get not lost, but implies a natural latency (time from message enqueuing, to time when a worker picks it up to create a physical new instance). &lt;br /&gt;&lt;br /&gt;So far the theory - lets get to the code (looks like I forgot to mention this in my previous part so I add the "missing" code piece here)&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[..]&lt;br /&gt;/**&lt;br /&gt; * CONSTANT: OraBPEL-02152 - Instance not found error&lt;br /&gt; */&lt;br /&gt;public static final int INSTANCE_NOT_FOUND = 2152;&lt;br /&gt;[..]&lt;br /&gt;try {&lt;br /&gt;    // try to find the process instance&lt;br /&gt;    IInstanceHandle handle = &lt;br /&gt;        _finder.lookupInstanceByConversationId&lt;br /&gt;            (_conversationId, _auth);&lt;br /&gt;} catch (ServerException eServerLookupAndFind) {&lt;br /&gt;    &lt;strong&gt;&lt;br /&gt;    int errorCode = &lt;br /&gt;        ((ServerException)eServerLookupAndFind.&lt;br /&gt;            getRootCause()).getErrorCode();&lt;br /&gt;    // could be that we we are to fast for getting an  &lt;br /&gt;    // handle on the first attempt, if not we break &lt;br /&gt;    if (errorCode != INSTANCE_NOT_FOUND) {&lt;br /&gt;        // this is a real one - rethrow&lt;br /&gt;    } else {&lt;br /&gt; // this is the case where the instance was not  &lt;br /&gt; // found - implement retry here&lt;br /&gt;    }&lt;br /&gt;    &lt;/strong&gt;&lt;br /&gt;} catch (RemoteException remoteException) {&lt;br /&gt;    // this is a real one - handle it! &lt;br /&gt;}&lt;br /&gt;[..]&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Note the &lt;strong&gt;catch&lt;/strong&gt; block, that deciffers the exception, in the case of a ServerException&lt;br /&gt;we can be sure that it contains a root cause - including the error code. It represents the real BPEL error (it's an prmitive int - no &lt;em&gt;OraBPEL&lt;/em&gt; though :D ).&lt;br /&gt;&lt;br /&gt;With this code in place, you have a handle to make your async callback running smoothly.&lt;br /&gt;&lt;br /&gt;Nevertheless it's worth to mention that, every time an instance is not found in the dehydration store you'll see a log entry in the server (domain logs) showing so.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-115315307856233569?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/115315307856233569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=115315307856233569' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115315307856233569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115315307856233569'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/07/async-java-miracles-part-2-or-why-is.html' title='Async Java Miracles - part 2, or why is my instance not found'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-115307480063421136</id><published>2006-07-16T20:06:00.000+02:00</published><updated>2006-09-06T01:39:06.096+02:00</updated><title type='text'>Oracle Open World 2006 opens its doors - Oracle Develop schedule is here ..</title><content type='html'>&lt;img width="100%" src="http://www.oracle.com/openworld/admin/images/l3_header.jpg"&gt;&lt;br /&gt;&lt;br /&gt;Aside from all the other great events scheduled for this years OOW, it contains a special day for developers - to hear about the latest and greatest technology Oracle has to offer and work with them, a whole day long. &lt;br /&gt;&lt;br /&gt;&lt;em&gt;"&lt;strong&gt;More technology. More learning. More value&lt;/strong&gt;.&lt;br /&gt;Don't miss Oracle Develop, the premier developer program, coming to Oracle OpenWorld this fall. At Oracle Develop, you'll hear from world-leading experts as they share their knowledge on how to simplify development using popular technologies like Java, .NET, and PL/SQL, as well as lightweight frameworks such as Ajax, PHP, Spring, and Groovy on Rails. As an Oracle Develop participant, you'll advance your development skills and expand your knowledge over the course of three days, while attending scores of expert-led, in-depth technical sessions, hands-on labs, advanced how-tos, and detailed tutorials."&lt;/em&gt;&lt;br /&gt;quoted from OracleDevelop subsite (&lt;a href="http://www.oracle.com/openworld/attendees/special-programs/develop.html"&gt;http://www.oracle.com/openworld/attendees/special-programs/develop.html&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Thanx to Justin Kestlyn, the Editor in Chief for the Oracle Technology Network, here is the &lt;a href="http://www28.cplan.com/cc139/catalog.jsp?ilc=139-1&amp;ilg=english&amp;isort_sessions=&amp;isort_demos=&amp;isort_exhibitors=&amp;is=yes&amp;ip=%3C%2Fipresentations%3E&amp;search_sessions=yes&amp;icriteria3=+&amp;icriteria1=19917&amp;icriteria9=+&amp;icriteria6=&amp;icriteria8=&amp;icriteria4=+&amp;icriteria5=&amp;icriteria7=+"&gt;&lt;strong&gt;link&lt;/strong&gt;&lt;/a&gt; to all sessions of saturday.&lt;br /&gt;&lt;br /&gt;Highlights include&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www28.cplan.com/cc139/session_details.jsp?isid=281710&amp;ilocation_id=139-1&amp;ilanguage=english"&gt;JDeveloper and its new coding features - Frank Nimphius&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www28.cplan.com/cc139/session_details.jsp?isid=282705&amp;ilocation_id=139-1&amp;ilanguage=english"&gt;SOA Suite - Heidi Buelow&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www28.cplan.com/cc139/session_details.jsp?isid=281861&amp;ilocation_id=139-1&amp;ilanguage=english"&gt;AJAX/JSF - Trinidad&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;All around ADF, Tips and Tricks&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www28.cplan.com/cc139/session_details.jsp?isid=282692&amp;ilocation_id=139-1&amp;ilanguage=english"&gt;BPEL Human Workflow and Rules - Manoj Das&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www28.cplan.com/cc139/session_details.jsp?isid=282685&amp;ilocation_id=139-1&amp;ilanguage=english"&gt;Oracle Enterprise Service Bus - Demed L'Her&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www28.cplan.com/cc139/session_details.jsp?isid=281717&amp;ilocation_id=139-1&amp;ilanguage=english"&gt;JPA and EJB 3.0 - Debu Panda&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;.. and a lot of real world customer stories&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;I'll talk on &lt;a href="http://www28.cplan.com/cc139/session_details.jsp?isid=282688&amp;ilocation_id=139-1&amp;ilanguage=english"&gt;Advanced BPEL Concepts&lt;/a&gt; and together with Matt Shannon from the OCS PM team, on &lt;a href="http://www28.cplan.com/cc139/session_details.jsp?isid=282231&amp;ilocation_id=139-1&amp;ilanguage=english"&gt;Integrating Content Services and BPEL&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-115307480063421136?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/115307480063421136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=115307480063421136' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115307480063421136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115307480063421136'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/07/oracle-open-world-2006-opens-its-doors.html' title='Oracle Open World 2006 opens its doors - Oracle Develop schedule is here ..'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-115289748749274536</id><published>2006-07-14T18:27:00.000+02:00</published><updated>2006-11-15T13:51:44.930+01:00</updated><title type='text'>Searching BPEL process instances not only by conversationId</title><content type='html'>Ever tried to find an instance through the BPEL client API, but not by its converstationID? Sometimes it might be needed to search for an instance, not by it's unique identifier, but by some keyword of the payload.&lt;br /&gt;&lt;br /&gt;The API that is used to invoke a process offers you to set custom key properties. They can be searched afterwards and also modified at runtime.&lt;br /&gt;&lt;br /&gt;To set these key properties while invoking the process use the com.oracle.bpel.client.NormalizedMessage:setProperty(key, value) API. which allows you to set specific instance properties. For using the searchable ones, we provide static constants within the NM, named INDEX1, INDEX2, and INDEX3. Use them as key when setting a property - and there you go.&lt;br /&gt;&lt;br /&gt;At runtime, you can use the bpelx:exec activity and inside the setIndex(int pIndex, String pValue) API.&lt;br /&gt;&lt;br /&gt;For searching those instances afterwards use the com.oracle.bpel.client.Locator:findInstances( com.oracle.bpel.client.util.WhereCondition ) API, which encapsulates a prepared SQL statement. What is does behind the scenes is to join the cube_instance with the ci_indexes table, and make the join searchable through the API. &lt;br /&gt;&lt;br /&gt;Check out the sample code below &lt;br /&gt;&lt;br /&gt;To fill the message with the searchable property use &lt;br /&gt;&lt;br /&gt;[..]&lt;br /&gt;NormalizedMessage msg = new NormalizedMessage();&lt;br /&gt;msg.setProperty(NormalizedMessage.INDEX1, "Clemens" );&lt;br /&gt;[..]&lt;br /&gt; &lt;br /&gt;WhereCondition searchForClemens = new WhereCondition(SQLDefs.CX_INDEX1 + " = ?");&lt;br /&gt;searchForClemens.setString(1, "Clemens");&lt;br /&gt;&lt;br /&gt;[..]&lt;br /&gt;Locator mLoc = ...&lt;br /&gt;IInstanceHandle[] foundInstances = mLoc.findInstances(searchForClemens);&lt;br /&gt;[..]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-115289748749274536?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/115289748749274536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=115289748749274536' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115289748749274536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115289748749274536'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/07/searching-bpel-process-instances-not.html' title='Searching BPEL process instances not only by conversationId'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-115213595643785035</id><published>2006-07-05T23:45:00.000+02:00</published><updated>2006-07-05T23:45:56.530+02:00</updated><title type='text'>BPEL samples - where do I find my cheese? and outbound HttpBinding explained ..</title><content type='html'>Sometimes an explaination of a sample seems to be more worth then the sample itself. Most of our fellow Oracle BPEL PM users are aware of the ton of samples we ship to show almost every feature we offer.&lt;br /&gt;&lt;br /&gt;All of them can be found in $BPEL_HOME/integration/orabpel/samples - or simply by opening the developer prompt.&lt;br /&gt;&lt;br /&gt;Their structure is as follows&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;demos &lt;/strong&gt;- these are comprehensive demos, such as the famous LoanFlow&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;hw&lt;/strong&gt; - everything around the Human Workflow piece of BPEL, including the complete worklist app with sourcecode &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;interop &lt;/strong&gt;- demonstrating interop with other vendors and SOAP stacks (axis, IBM, MSFT)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;references &lt;/strong&gt;- these part includes reference samples for the core BPEL activities (assign, invoke, reply, ..)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;tutorials &lt;/strong&gt;- here are our features by example&lt;/li&gt;&lt;br /&gt;&lt;li&gt;and &lt;strong&gt;utils &lt;/strong&gt;- including the famous CreditRatingService&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Coming back to the beginning of this note, our fellow friends from AMIS published a note today on how to successfully use http-binding to retrieve information from a website (a Servlet in their case) - it's a great article, and definetely worth reading ..&lt;br /&gt;&lt;br /&gt;The link is here &lt;a href="http://technology.amis.nl/blog/?p=1273"&gt;http://technology.amis.nl/blog/?p=1273&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-115213595643785035?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/115213595643785035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=115213595643785035' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115213595643785035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115213595643785035'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/07/bpel-samples-where-do-i-fi_115213595643785035.html' title='BPEL samples - where do I find my cheese? and outbound HttpBinding explained ..'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-115163987583384473</id><published>2006-06-30T05:55:00.000+02:00</published><updated>2006-07-04T20:02:50.550+02:00</updated><title type='text'>Oracle and .NET - Christian Shay joins the blog world</title><content type='html'>Funny thing, long ago (not that long, but some months) when I moved over to california, I met Christian (and still do) on caltrain. He travels usually more than I do, speaking at conferences - which speeks for itself .. and he is our PM for .NET strategy.&lt;br /&gt;&lt;br /&gt;His blog can be found &lt;a href="http://cshay.blogspot.com/"&gt;here&lt;/a&gt; and he promised to keep it up to date ..&lt;br /&gt;&lt;br /&gt;Welcome to blogsphere Chris!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-115163987583384473?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/115163987583384473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=115163987583384473' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115163987583384473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115163987583384473'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/06/oracle-and-net-christian-shay-joins.html' title='Oracle and .NET - Christian Shay joins the blog world'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-115110001355936988</id><published>2006-06-23T23:55:00.000+02:00</published><updated>2006-06-29T04:30:14.406+02:00</updated><title type='text'>BPEL 10.1.3: Inbound XML/HTTP binding feature added</title><content type='html'>For those of you, who are using our inbound XML/HTTP binding - here are good news. &lt;br /&gt;As per customer requirement (I got two emails the last 3 days, one from fellow Kavitha, and another one from Claudio) you will be able to &lt;strong&gt;post&lt;/strong&gt; (action="&lt;strong&gt;post&lt;/strong&gt;") directly from an html site (in 10.1.2.0.2 it was just &lt;strong&gt;get&lt;/strong&gt; from a browser), and not just from another service, that creates perfectly valid xml.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-115110001355936988?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/115110001355936988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=115110001355936988' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115110001355936988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115110001355936988'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/06/bpel-1013-inbound-xmlhttp-binding.html' title='BPEL 10.1.3: Inbound XML/HTTP binding feature added'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-115108216923489088</id><published>2006-06-23T18:40:00.000+02:00</published><updated>2006-06-23T19:02:49.266+02:00</updated><title type='text'>ODTUG and beyond ..</title><content type='html'>Back from this year's ODTUG - and reading through the various blogs, to figure out how well we performed and what people thought on our message.&lt;br /&gt;&lt;br /&gt;To me it looks like Marko Tilli's Keynote was received very well (I must admit I had the same impression after it). Our fellows from AMIS provided almost real time coverage what's going on in DC, and &lt;a href="http://technology.amis.nl/blog/?p=1233"&gt;here&lt;/a&gt; is their view.&lt;br /&gt;&lt;br /&gt;Now, after spinning around the globe for almost 3 weeks, it's time for some homework. As we are in the final stages for 10.1.3.1 - the heads down moved into its hot phase. Testing, samples - everything needs to be verified, to ensure a smooth development experience. But not just that - also that upgrades from 10.1.2.0.2 are working as we expect. &lt;br /&gt;&lt;br /&gt;For the next weeks I'll have my hands on the hot issues from the &lt;a href="http://forums.oracle.com/forums/forum.jspa?forumID=212"&gt;BPEL forums&lt;/a&gt; as well as supporting our beta program, to ensure we fix whatever get's discovered there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-115108216923489088?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/115108216923489088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=115108216923489088' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115108216923489088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115108216923489088'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/06/odtug-and-beyond.html' title='ODTUG and beyond ..'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-115075866687225727</id><published>2006-06-20T01:04:00.000+02:00</published><updated>2006-06-20T01:11:06.890+02:00</updated><title type='text'>Day 2 at ODTUG</title><content type='html'>Today's day was another awesome one.&lt;br /&gt;&lt;br /&gt;I had 2 sessions - actually one myself on &lt;strong&gt;Developing with the SOA Platform&lt;/strong&gt; and did the demo at Marko Tilli's keynote, which proved to be more fun that I ever would have imagined.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.orablogs.com/fnimphius/"&gt;Frank Nimphius&lt;/a&gt; spoke about the new coding features in our JDeveloper IDE (and I must say that 10.1.3 has greatly improved, and makes java coding a hack easier than it used to be) - and he also did a great introduction for my slot, when presenting &lt;strong&gt;Introduction to SOA&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;All for now - let's get out for networking ..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-115075866687225727?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/115075866687225727/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=115075866687225727' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115075866687225727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115075866687225727'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/06/day-2-at-odtug.html' title='Day 2 at ODTUG'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-115066843720326170</id><published>2006-06-19T00:07:00.000+02:00</published><updated>2007-02-12T22:40:33.413+01:00</updated><title type='text'>Washington DC is not far from Vienna (Austria) at least by metro</title><content type='html'>&lt;a href='http://photos1.blogger.com/hello/159/9959/640/Picture%20002.jpg'&gt;&lt;img border='0' style='border:1px solid #000000; margin:2px' src='http://photos1.blogger.com/hello/159/9959/320/Picture%20002.jpg'&gt;&lt;/a&gt;&lt;br /&gt;This is how close vienna (where I originate from) is to Washington DC&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-115066843720326170?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/115066843720326170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=115066843720326170' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115066843720326170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115066843720326170'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/06/washington-dc-is-not-far-from-vienna.html' title='Washington DC is not far from Vienna (Austria) at least by metro'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-115058322576107925</id><published>2006-06-18T00:11:00.000+02:00</published><updated>2006-06-18T00:27:05.773+02:00</updated><title type='text'>Day 1 at ODTUG: Web Architecture Symposium</title><content type='html'>Today the ODTUG Kaleidoscope opened its doors to the Web Architecture Symposium - and what a great day it was.&lt;br /&gt;&lt;br /&gt;I finally managed to meet Peter Koletzke in person (I guess he and fellow &lt;a href="http://www.groundside.com/blog/content/DuncanMills/"&gt;Duncan Mills&lt;/a&gt; - are in the final cycles on their book) .. Talked with &lt;a href="http://www.odtugkaleidoscope.com/pls/htmldb/f?p=124:3:7436442252661854355::NO:::"&gt;Ronald Berg&lt;/a&gt; on the human factor on projects (which get's more and more a top theme to speak on). &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.orablogs.com/fnimphius"&gt;Frank Nimphius&lt;/a&gt;, fellow PM working on Faces and Security, came up with a cool introduction to JSF - which was very well attended (and got me a chance to get some theory from the experts)&lt;br /&gt;&lt;br /&gt;I received a lot of feedback and questions on our new 10.1.3 SOA Suite, but most of them were related to our Human Workflow features (we really reworked the 10.1.2.0.2 version in a really sweet, and comprehensive new one), which I will explain in more depth on monday - in my deep dive session.&lt;br /&gt;&lt;br /&gt;Tomorrow is all hands-on day, and I will probably visit Washington and pay my tribute to Ab Lincoln - and visit the White House.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-115058322576107925?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/115058322576107925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=115058322576107925' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115058322576107925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115058322576107925'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/06/day-1-at-odtug-web-architecture.html' title='Day 1 at ODTUG: Web Architecture Symposium'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-115038236400681877</id><published>2006-06-15T16:30:00.000+02:00</published><updated>2007-02-24T01:21:22.053+01:00</updated><title type='text'>Flying more often then posting</title><content type='html'>Just a quick update - for those who wonder why I these days tend to answer more questions on the &lt;a href="http://forums.oracle.com/forums/forum.jspa?forumID=212"&gt;BPEL forums&lt;/a&gt;, instead of blogging. &lt;br /&gt;&lt;br /&gt;Just arrived back from Nice (europe), I headed the next day to Pittsburgh, to help a customer - doing his first steps with our 10.1.3.1 BETA and starting to prepare for &lt;a href="http://www.odtugkaleidoscope.com/pls/htmldb/f?p=124:1:13946568502950901841"&gt;ODTUG Kaleidoscope&lt;/a&gt; (starting this saturday).&lt;br /&gt;This resulted not jsut in jetlag - but also some stress, taking away my logging times. Nevertheless next week everything back to normal *lol*&lt;br /&gt;&lt;br /&gt;If you have a chance to be around Washington DC the next couple of days - I think it is definetely worth joining in for technology networking.&lt;br /&gt;&lt;br /&gt;I will speak about &lt;a href="http://www.odtugkaleidoscope.com/pls/htmldb/f?p=124:3:13946568502950901841::NO:::"&gt;Developing with the SOA plattform&lt;/a&gt; and &lt;a href="http://www.odtugkaleidoscope.com/pls/htmldb/f?p=124:3:13946568502950901841::NO:::"&gt;BPEL advanced features and news for 2.0&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hope to see you there, I will put my impressions around the event here :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-115038236400681877?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/115038236400681877/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=115038236400681877' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115038236400681877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/115038236400681877'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/06/flying-more-often-then-posting.html' title='Flying more often then posting'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114966762541910912</id><published>2006-06-07T09:57:00.000+02:00</published><updated>2006-06-07T10:07:05.433+02:00</updated><title type='text'>Nice Cote d' Azur, EMEA Solution Architects Workshop</title><content type='html'>Yesterday night, after some 12 hours of flight from Westcoast I arrived in Nice, France, at Oracle's Solution Architects Camp, which will take place 'til friday. &lt;br /&gt;&lt;br /&gt;This is one of the events you look for the whole year - not just because of the location, but also because meeting the european Oracle SOA family :-) and a lot of good friends from all over.&lt;br /&gt;&lt;br /&gt;I'll speak on our latest BPEL PM release (10.1.3.1) and where future will bring us - so should be a good chance to get field-feedback once more. &lt;br /&gt;&lt;br /&gt;I'll try to catch up with the OTN forums, given my WLAN works - to answer some of the burning questions, otherwise more when I am back on the weekend.&lt;br /&gt;&lt;br /&gt;sunny greets from nice,&lt;br /&gt; clemens&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114966762541910912?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114966762541910912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114966762541910912' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114966762541910912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114966762541910912'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/06/nice-cote-d-azur-emea-solution.html' title='Nice Cote d&apos; Azur, EMEA Solution Architects Workshop'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114944695245471396</id><published>2006-06-04T20:40:00.000+02:00</published><updated>2006-08-09T23:43:27.396+02:00</updated><title type='text'>BPEL and .NET interop - two great articles from a fellow</title><content type='html'>Today morning I got an email from &lt;a href="http://weblogs.asp.net/gsusx"&gt;Jesus Rodriguez&lt;/a&gt;; Chief Software Architect - &lt;a href="http://www.twoconnect.com/"&gt;Two Connect, Inc.&lt;/a&gt; with a link to his blog where he demonstrates interoperability between Biztalk (.NET) and Oracle BPEL PM.&lt;br /&gt;&lt;br /&gt;Both of them are definetely worth a read, especially if you happen to integrate .NET services into your BPEL Processes..&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://weblogs.asp.net/gsusx/archive/2006/03/22/WS_2D00_Security-interoperability-with-Oracle-BPEL-and-WSE-3.0.aspx"&gt;WS-Security interoperability between Oracle BPEL PM and Web Services Enhancements  3.0&lt;/a&gt;&lt;/li&gt; &lt;br /&gt;&lt;li&gt;&lt;a href="http://weblogs.asp.net/gsusx/archive/2006/06/01/WS_2D00_Addressing-interoperability-between-Oracle-BPEL-Process-Manager-and-Microsoft-Windows-Communication-Foundation.aspx"&gt;WS-Addressing interoperability between Oracle BPEL and Windows Communication Foundation(Indigo)&lt;/a&gt;&lt;/li&gt; &lt;br /&gt;&lt;/ul&gt;Thank you Jesus, for pointing me to those articles - and I am more than happy to see that we get attention from the MSFT dev community, and prove once more interop with other non java services&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114944695245471396?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114944695245471396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114944695245471396' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114944695245471396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114944695245471396'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/06/bpel-and-net-interop-two-great.html' title='BPEL and .NET interop - two great articles from a fellow'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114936911116824860</id><published>2006-06-03T22:52:00.000+02:00</published><updated>2006-06-03T23:11:51.180+02:00</updated><title type='text'>BPEL PM 10.1.3.1 - new features part 2</title><content type='html'>I thought to blog on three really cool new features - that we have put a lot of work into, to provide even greater development/deployment- and runtime-experience in our upcoming 10.1.3.1 BPEL PM version&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Human Workflow&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Evolving the wizard driven approach to a single page for all configuration&lt;/li&gt;&lt;br /&gt;&lt;li&gt;More adHoc capabilities, such as delegation, and reassignment, based on the role&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Frontend can be not just a JSP but also a word document&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Great enhanced User interface, including a (one or more) workqueue(s), and shared queues&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Out of office (vacational) rules&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Notifications have been improved, specially actionable emails&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Deployment and adminstration&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Clustered deployment becomes a lot easier, as the cluster will take care of the shared deployment, process artifacts are stored in the db&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Ant based compilation and deployment, with user hooks to replace variables e.g hostname, port ..&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Integration of a Service Registry&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Discovery of services in the UDDI straight out of JDeveloper&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Dynamic lookup of endpoints/concrete WSDLs at runtime, therfor real loosely coupling&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;A preview of most of the new features can be found on our BPEL PM webinar site &lt;a href="http://www.oracle.com/technology/products/ias/bpel/htdocs/webinars.html"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114936911116824860?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114936911116824860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114936911116824860' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114936911116824860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114936911116824860'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/06/bpel-pm-10131-new-features-part-2.html' title='BPEL PM 10.1.3.1 - new features part 2'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114903802714780907</id><published>2006-05-31T03:02:00.000+02:00</published><updated>2006-12-30T21:41:57.990+01:00</updated><title type='text'>BPEL 10.1.2.0.2: Dynamic Endpoints cause NPE</title><content type='html'>On the forums there was a long discussion on Dynamic Partner links, and after all &lt;a href="http://forums.oracle.com/forums/profile.jspa?userID=479725"&gt;Koen&lt;/a&gt; has found the solution, that represents another impact of a know bug.&lt;br /&gt;&lt;br /&gt;In some cases IDE adds whitespaces to entries (breaks before and after the value), and at some points this proves to be specially enoying. One is in the setText() XPath function within a stylesheet transformation (XSL) - especially here a develper usually want to make sure that the exact amount of digits is set. Another one that showed up is when using dynamic partnerlinks. &lt;br /&gt;&lt;br /&gt;Quoted is his answer, also to be found &lt;a href="http://forums.oracle.com/forums/thread.jspa?forumID=212&amp;threadID=380270"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;In the literal xml fragment in the copy-statement, JDeveloper generates whitespaces and newlines, every time you use the designer, even without actually editing the bpel.&lt;br /&gt;&lt;br /&gt;Example:&lt;pre&gt;&lt;br /&gt;&amp;lt;copy&gt;&lt;br /&gt;  &amp;lt;from&gt;&lt;br /&gt;    &amp;lt;EndpointReference &lt;br /&gt;xmlns="http://schemas.xmlsoap.org/ws/2003/03/addressing"&amp;gt;&lt;br /&gt;      &amp;lt;Address&amp;gt;&lt;br /&gt;http://localhost/broker/Repository/MailStorage.asmx&lt;br /&gt;      &amp;lt;/Address&amp;gt;&lt;br /&gt;      &amp;lt;ServiceName &lt;br /&gt;xmlns:ns7="http://coplintho.ibbt.be/broker/repository/"&gt;&lt;br /&gt; ns7:MailStorage&lt;br /&gt;      &amp;lt;/ServiceName&amp;gt;&lt;br /&gt;    &amp;lt;/EndpointReference&amp;gt;&lt;br /&gt;  &amp;lt;/from&amp;gt;&lt;br /&gt;  &amp;lt;to variable="partnerReference"/&amp;gt;&lt;br /&gt;&amp;lt;/copy&amp;gt;&lt;br /&gt;&lt;/pre&gt;One must delete these whitespaces and newlines manually every time before building the process.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;I guess this is a great example of collaboration on our BPEL forums, and something we are very proud of..&lt;br /&gt;&lt;br /&gt;An a public thanks you to all our fellows anserwing questions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114903802714780907?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114903802714780907/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114903802714780907' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114903802714780907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114903802714780907'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/05/bpel-101202-dynamic-endpoints-cause.html' title='BPEL 10.1.2.0.2: Dynamic Endpoints cause NPE'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114875319450659070</id><published>2006-05-27T19:48:00.000+02:00</published><updated>2006-06-14T15:34:40.516+02:00</updated><title type='text'>A week of SOA Suite Beta testing with partners</title><content type='html'>Last couple of days have been pretty stressful with having 30 partners around, testing the first BETA version of the SOA Suite. This week was not just used for testing but also gave all the people that attended a great chance to network, and tell us where in their opinion we could improve.&lt;br /&gt;&lt;br /&gt;We (Engineers, PMs and QA people from all different areas) got a lot of great feedback during the week and now it's time to get all these little issues, that have been identified, back into the product.&lt;br /&gt;Here starts the real work - creating testcases for each issue, filing Bugs or Enhancements - and of course making sure that at least all the critical ones make it 'til the release.&lt;br /&gt;&lt;br /&gt;Also during last weeks we had the internal bug hunt running, and next week we should have some final results from there too. &lt;br /&gt;&lt;br /&gt;Overall a great, but stressful week passed by .. giving us a heads-up where we can/need to improve.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114875319450659070?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114875319450659070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114875319450659070' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114875319450659070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114875319450659070'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/05/week-of-soa-suite-beta-testing-with.html' title='A week of SOA Suite Beta testing with partners'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114849834691203217</id><published>2006-05-24T18:48:00.000+02:00</published><updated>2007-02-11T12:43:17.106+01:00</updated><title type='text'>Invoking BPEL PM through the Java API, common pitfalls</title><content type='html'>Over the last weeks I worked with several people on the forums, &lt;br /&gt;who tried to access Oracle BPEL PM through the Java API. Each of them got different exceptions - due to different enviroments/confgurations.&lt;br /&gt;&lt;br /&gt;Previously I have written a couple of notes - describing most of these issues, all of them are linked from here - to have one place for looking up common pitfalls.&lt;br /&gt;&lt;br /&gt;In general the are 2 usecases, each with a different shade of problems&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Accessng BPEL within the same VM&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://clemensblog.blogspot.com/2006/02/infamous-javaxnamingnamenotfound.html"&gt;The famous NameNotFoundException (DomainManagerBean)&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://clemensblog.blogspot.com/2006/03/bpel-javalangnullpointerexception.html"&gt;NullPointerException: Domain is null&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Accessing BPEL from outside the vm (client)&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://clemensblog.blogspot.com/2006/04/bpel-invoking-process-from-java.html"&gt;ClassNotFoundException: RMIContextFactory , also talking about getting no error message from the server [but no process instance is created] (all about the correct version of rmi libraries &lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;IOException: Disconnected / Connection refused&lt;br /&gt;This usually happens when the rmi port, specified either in the context.properties, or in the hashtable is wrong.&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;BPEL PM &lt;strong&gt;Developer Install&lt;/strong&gt;&lt;br /&gt;  rmiport: 23791 &lt;br /&gt;  url: ormi://&amp;lt;host&amp;gt;:&amp;lt;rmiport&amp;gt;/orabpel&lt;br /&gt;&lt;br /&gt; in this case the rmi connection is done directly through rmi&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;ORACLE BPEL PM installed in a &lt;strong&gt;midtier&lt;/strong&gt;&lt;br /&gt;  opmnport: 6003&lt;br /&gt;  url: opmn:ormi://&amp;lt;host&amp;gt;:&amp;lt;opmnport&amp;gt;/OC4J_BPEL/orabpel&lt;br /&gt;&lt;br /&gt; in the Application server case, the connection should be done through OPMN (the notification service) - as ports to the several oc4j instances get assigned at startup of the server, and could vary&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;A good idea is to always look into the context.property file from the server, which can be found at $BPEL_HOME/integration/orabpel/samples/tutorials/ 102.InvokingProcesses/rmi (10.1.2.0.2) and in $BPEL_HOME/bpel/samples/tutorials/102.InvokingProcesses/rmi (10.1.3.1)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114849834691203217?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114849834691203217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114849834691203217' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114849834691203217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114849834691203217'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/05/invoking-bpel-pm-through-java-api.html' title='Invoking BPEL PM through the Java API, common pitfalls'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114836036800910014</id><published>2006-05-23T06:43:00.000+02:00</published><updated>2006-05-23T06:59:28.030+02:00</updated><title type='text'>BPEL 10.1.2.0.2: the 'right' usage of boolean</title><content type='html'>Today Flemming, &lt;br /&gt;a fellow from Denmark (I went there earlier this year to give a BPEL course) - posted some strange behaviour on the OTN BPEL forums.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;"The implementation of the boolean() function in BPEL (version 10.1.2.1.0) have an FATAL ERROR. &lt;br /&gt;&lt;br /&gt;boolean(0) gives 1 and&lt;br /&gt;boolean(false) gives 1"&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Sounds little strange indeed, so I build a little testcase to see what is going on, the results are strange - but can be used to conclude a workaround. &lt;br /&gt;&lt;br /&gt;Here are my findings (all within an &amp;lt;assign&amp;gt; activity).&lt;br /&gt;&lt;br /&gt;&amp;lt;resultTrueWith&amp;gt;&lt;strong&gt;true&lt;/strong&gt;&amp;lt;/resultTrueWith&amp;gt;&lt;br /&gt;comes from &lt;em&gt;boolean('true')&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;resultTrueWithOut&amp;gt;&lt;strong&gt;false&lt;/strong&gt;&amp;lt;/resultTrueWithOut&amp;gt;&lt;br /&gt;comes from &lt;em&gt;boolean(true)&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;resultFalseWith&amp;gt;&lt;strong&gt;false&lt;/strong&gt;&amp;lt;/resultFalseWith&amp;gt;&lt;br /&gt;comes from &lt;em&gt;boolean('false')&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;resultFalseWithOut/&amp;gt;&lt;br /&gt;comes from &lt;em&gt;boolean(false)&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;result0true&amp;gt;&lt;strong&gt;false&lt;/strong&gt;&amp;lt;/result0true&amp;gt;&lt;br /&gt;comes from &lt;em&gt;boolean(0)&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;result1false&amp;gt;&lt;strong&gt;true&lt;/strong&gt;&amp;lt;/result1false&amp;gt;&lt;br /&gt;comes from &lt;em&gt;boolean(1)&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;The conclusion is to use boolean(&lt;strong&gt;'true'&lt;/strong&gt;) to get &lt;em&gt;true &lt;/em&gt;and boolean(&lt;strong&gt;'false'&lt;/strong&gt;) to get &lt;em&gt;false&lt;/em&gt;, Or use numbers. &lt;br /&gt;&lt;br /&gt;I have filed bug 5241764 for this - and hope to get it into the upcoming 10.1.3.1 release.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114836036800910014?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114836036800910014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114836036800910014' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114836036800910014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114836036800910014'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/05/bpel-101202-right-usage-of-boolean.html' title='BPEL 10.1.2.0.2: the &apos;right&apos; usage of boolean'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114816452774852866</id><published>2006-05-20T23:58:00.000+02:00</published><updated>2006-05-24T10:05:27.763+02:00</updated><title type='text'>JavaOne 2006 - impressions</title><content type='html'>Coming home from this year's JavaOne - I thought to share my impressions.&lt;br /&gt;&lt;br /&gt;Oracle got a lot of attention on the new SOA Suite that was presented publicly for the first time. Quite a lot people came to our SOA Booth to see the latest and greatest toolset. Specially the interest on our latest baby, the Oracle's Enterprise Service Bus (ESB), was great to see. &lt;br /&gt;&lt;br /&gt;Thomas Kurian's keynote (remember at 8.30 am) attracted a huge crowd, keen to see what Oracle does in the SOA space - and the great feedback we received during the week was showing that we are on the right track.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Oracle ESB&lt;/li&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Oracle's ESB moves data (from n source endpoints to m target endpoints)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;It supports point to point communication and canonical models&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Communication can be sync or async&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Each and every message can be traced/tracked&lt;/li&gt;&lt;br /&gt;&lt;li&gt;.. and last but not least - what you see is what you get (design time and runtime)&lt;br /&gt;&lt;img src="http://photos1.blogger.com/hello/159/9959/320/esb1.jpg"&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Oracle BPEL PM 10.1.3&lt;/li&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;A great makeover happened, to make the usability even greater and several enhancements on all rough edges (watch the webinar &lt;a href="https://conference.oracle.com/imtapp/app/arc_pb_hub.uix?mID=37416642&amp;src=app/arc_hosted&amp;action=pb"&gt;here&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;li&gt;Open Source&lt;/li&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Java Persistence (JPA, Part of EJB 3.0) - Oracle leads the expert group, and provides the reference implementation, called Toplink Essentials (based on the core TL engine). The &lt;a href="http://www.eclipse.org/dali/"&gt;Eclipse Dali&lt;/a&gt; project is also worth to mention, as it provides drag and drop development for JPA&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Apache myFaces (open source implementation of JSF) - &lt;a href="www.it-eye.nl/weblog/2005/12/ 12/apache-myfaces-and-apache-faces-cherokee"&gt;Oracle contributed the ADF faces library&lt;/a&gt; a year ago to Apache - and we got great attention on the booth. As written previously, Jonas published his new book on JSF (together with fellow John) - and we saw a great talk of the committers in our theatre, that attracted a nice crowd&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Overall it was definetely a great week - and I am happy to see that we are recognized as a member of the SOA family. I got the chance to meet up with a lot of open source fellows (a good feeling to see so many Austrians contributing to Apache projects), and see what other companies in the SOA space go for.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114816452774852866?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114816452774852866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114816452774852866' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114816452774852866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114816452774852866'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/05/javaone-2006-impressions.html' title='JavaOne 2006 - impressions'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114789067212866011</id><published>2006-05-17T20:18:00.000+02:00</published><updated>2006-06-05T11:03:04.826+02:00</updated><title type='text'>Day one at J-One</title><content type='html'>Yesterday I spent the whole day on our booth at java one, showing the latest versions of Oracle BPEL Process Manager and Oracle ESB. Both are part of the upcoming SOA Suite, our integration plattform, including other cools things such as the Oracle Webservice Manager. A lot of questions were on future standards ,that might color products and the market, and that are supposed to make integration in heterogenious enviroments even easier.&lt;br /&gt;&lt;br /&gt;I got the impression that we received quite nice attention, and are meanwhile recognized as part SOA club of vendors. &lt;br /&gt;&lt;br /&gt;Besides that I met my old friends &lt;a href="http://www.groundside.com/blog/content/DuncanMills"&gt;Duncan Mills&lt;/a&gt; (Faces and Struts Guru, who is in the last cycles of his new book) - and a deja vu from last week &lt;a href="http://www.orablogs.com/jjacobi/"&gt;Jonas Jocobi&lt;/a&gt; (who just published his new book on faces).&lt;br /&gt;&lt;br /&gt;What better chance you can get, as having the two gurus giving you a quick workshop on faces and our strategy behind.&lt;br /&gt;&lt;br /&gt;Besides &lt;a href="http://otazi.blogspot.com"&gt;Omar Tazi&lt;/a&gt; was around, to evangelise on our Open Source Strategy (and all we have donated to several groups). He shows EJB 3.0, Project Dali and several other bits and pieces&lt;br /&gt;&lt;br /&gt;If you have a chance, visit the Oracle Booth - and join us for Mission Impossible 3, today night at the cinema.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114789067212866011?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114789067212866011/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114789067212866011' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114789067212866011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114789067212866011'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/05/day-one-at-j-one.html' title='Day one at J-One'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114766380678636373</id><published>2006-05-15T05:24:00.000+02:00</published><updated>2007-01-29T23:27:09.913+01:00</updated><title type='text'>Back from Europe - it's time for JavaOne</title><content type='html'>After 2 weeks in good old' Europe I arrived savely back with a ton of contacts and tasks from our customers there.&lt;br /&gt;&lt;br /&gt;This week JavaOne starts, and looks like we all will be there. If you want to pass by, Booth 826 is the place to be. Everything about SOA, Java Server Faces and OpenSource + a nice little theatre to get you cool updates on the latest and greatest Oracle Technologies.&lt;br /&gt;&lt;br /&gt;If you want to talk to me in person, I'll be at the BPEL Pod on Tuesday 5 to 8 pm.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114766380678636373?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114766380678636373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114766380678636373' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114766380678636373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114766380678636373'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/05/back-from-europe-its-time-for-javaone.html' title='Back from Europe - it&apos;s time for JavaOne'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114734844854070378</id><published>2006-05-11T13:44:00.000+02:00</published><updated>2007-01-31T02:43:13.606+01:00</updated><title type='text'>BPEL 10.1.2.0.2: Remote deployment through ANT task</title><content type='html'>After getting a ton of mails - to send out the &lt;strong&gt;remote deployment task&lt;/strong&gt; for BPEL 10.1.2.0.2, I just thought to publish it &lt;a href=" http://static7.userland.com/oracle/gems/olaf/bpel101202antdeployment.jar"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Credits go to&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Jim Clark &amp; Roman Dobrik - the creators&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Olaf Heimburger, for providing space :-D&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Note:&lt;/strong&gt; this is a preview (hence no formal support), of the upcoming BPEL 10.1.3 feature. It will support clustered deployment as well, and is part of the standard bpelc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114734844854070378?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114734844854070378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114734844854070378' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114734844854070378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114734844854070378'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/05/bpel-101202-remote-deployment-through.html' title='BPEL 10.1.2.0.2: Remote deployment through ANT task'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114734477096449059</id><published>2006-05-11T12:37:00.000+02:00</published><updated>2006-05-11T12:52:50.996+02:00</updated><title type='text'>JAX: Time for networking and EJB 3.0</title><content type='html'>Besides the fact that a developer conference, such as this years JAX offers a lot of valuable content during its technical sessions and workshops, it's an even more valuable place for meeting new people and network around the Booth. &lt;br /&gt;&lt;br /&gt;Where else do you have the chance to get hold of a product manager, get customer feedback on products straight away - and hear about interesting projects, and their challengens. Taking an add word, it's just "All Inclusive". And for us a place to show face - and get input's from 360 degrees.&lt;br /&gt;&lt;br /&gt;After all, this year's keynotes, on SOA, future aspects of development and Eclipse Calisto have been of tremendous help to vision the future, from fellows around the globe. Nevertheless - one thing was missing in there - EJB 3.0, and that's the next keynore, in just a few minutes.&lt;br /&gt;&lt;br /&gt;Doug Clark, fellow Toplink Product Manager, will talk later the day on some key aspects of the EJB 3.0 spec, that has silently passed final review some time last week. &lt;br /&gt;&lt;br /&gt;Just saw his slides and one nice thing I remember is a pretty cool equasion&lt;br /&gt;[Entity] = POJO + Annotation(s) + ORM&lt;br /&gt;... straight and simple, isn't it? ( no integrals, no whatsoever :-) )&lt;br /&gt;&lt;br /&gt;Tonight I'll head to Berlin, to meet with a customer tomorrow - talking on deployment strategies and creating a solid development process, all before heading back to next week's Java One (&lt;a href="http://www.oracle.com/technology/events/javaone06/index.html"&gt;Oracle's Java Developers Guide to Jave One&lt;/a&gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114734477096449059?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114734477096449059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114734477096449059' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114734477096449059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114734477096449059'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/05/jax-time-for-networking-and-ejb-30.html' title='JAX: Time for networking and EJB 3.0'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114724902250202559</id><published>2006-05-10T09:34:00.000+02:00</published><updated>2006-11-28T16:12:02.756+01:00</updated><title type='text'>BPEL Security 10.1.2.0.2 Patch and JAX 2006 slides on SOA Project Mgmt</title><content type='html'>After a great day 1 at &lt;a href="http://www.jax.de"&gt;JAX&lt;/a&gt;, quite a crowd in my session on SOA Project Management and not to forget a tough last night with serious fight against powerpoint (to change the master layout of my presentation), day 2 arises here on the Oracle@JAX Booth. A very well organized conference, and a lot of great speakers around. And of course a nice JAX party to welcome the international crowd. &lt;br /&gt; &lt;br /&gt;&lt;a href="http://www.orablogs.com/jjacobi/"&gt;Jonas Jacobi&lt;/a&gt;, our JSF/Ajax PM &amp; Evangelist, made it to JAX too (to speak about JSF) and came by the booth yesterday - a lot to chat, specially about his new book on "JSF and AJAX". &lt;br /&gt;We see a lot of interest, and some quite suprised faces, asking questions like "What the hell is Oracle doing at the JAX with a database?". &lt;br /&gt;Just as side comment, Oracle is &lt;strong&gt;far &lt;/strong&gt;more than a database company, and offers beside a j2ee compliant container a fledged &lt;a href="http://otn.oracle.com/soa"&gt;SOA suite&lt;/a&gt; too (from ESB to BPEL and webservice mgmt)&lt;br /&gt;&lt;br /&gt;Some folks around here asked for my slides on SOA Project Management, they can be downloaded &lt;a href=" http://static7.userland.com/oracle/gems/olaf/jax2006final.pdf"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Besides, due to the fact that I am in Europe right now, it's hard to check in code for a general BPEL SecurityExtension patch for BPEL PM 10.1.2.0.2, some customers have asked about too. (which will of course be included in the 10.1.2.0.3 patchset) -&lt;br /&gt;This is a backport of the features mentioned &lt;a href="http://clemensblog.blogspot.com/2006/04/bpel-1013-new-security-features.html"&gt;here&lt;/a&gt; and the following bugs&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;5162260&lt;/strong&gt; - Inbound HTTP post with security fails (premature end of file) &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;5187490&lt;/strong&gt; - Outbound basic HTTP authentication in a SOAPBinding,  expects wsseUsername/Password instead of basicUsername/Password &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Buddy &lt;a href="http://blogs.oracle.com/olaf"&gt;olaf heimburger&lt;/a&gt;, a good friend, agreed to share some space on his blog for my files. Thx to him, you can download the &lt;strong&gt;unofficial&lt;/strong&gt; patch (for bug 5200667) &lt;a href="http://static7.userland.com/oracle/gems/olaf/513981751622605187490.jar"&gt;here&lt;/a&gt;. After download extract the jar file into $BPEL_HOME/integration/orabpel/system/classes and restart your server.&lt;br /&gt;&lt;br /&gt;Having questions? send your feedback on &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: JAX slides &amp; BPEL sec patch"&gt;JAX 2006 slides and BPEL Cummulative security patch&lt;/a&gt; here&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114724902250202559?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114724902250202559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114724902250202559' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114724902250202559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114724902250202559'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/05/bpel-security-101202-patch-and-jax.html' title='BPEL Security 10.1.2.0.2 Patch and JAX 2006 slides on SOA Project Mgmt'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114693013132176757</id><published>2006-05-06T17:24:00.000+02:00</published><updated>2007-02-22T18:21:49.263+01:00</updated><title type='text'>A day in Europe - OTN Forums got me back</title><content type='html'>After being out for a week of sailing in croatia with my best friends to race the adriatics, it seems work got me back, on a saturday afternoon.&lt;br /&gt;I noticed a fair amount of new entries on the &lt;a href="http://forums.oracle.com/forums/forum.jspa?forumID=212"&gt;OTN BPEL Forums&lt;/a&gt;.&lt;br /&gt;which is a great sign that more and more people adopt SOA into their projects.&lt;br /&gt;&lt;br /&gt;By now we still see a lot on &lt;em&gt;how-to&lt;/em&gt; questions - making me think, that our documentation and samples might not be easy and simple enough, to have the basic ideas covered.&lt;br /&gt;&lt;br /&gt;I hope to get some input here on what you would like to see in the docs and samples, to make the development experience and learning curve smoother..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114693013132176757?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114693013132176757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114693013132176757' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114693013132176757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114693013132176757'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/05/day-in-europe-otn-forums-got-me-back.html' title='A day in Europe - OTN Forums got me back'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114601886851990920</id><published>2006-04-26T04:15:00.000+02:00</published><updated>2006-04-27T20:57:12.883+02:00</updated><title type='text'>Heading for europe</title><content type='html'>A long planned trip comes around and I'll rush over to europe for the next 2 weeks - to charge my batteries, later speak at &lt;a href="http://www.jax.de"&gt;JAX in Wiesbaden (Ger)&lt;/a&gt; (about &lt;a href="http://clemensblog.blogspot.com/2006/04/jax-2006-wiesbaden-see-you-there.html"&gt;managing soa projects&lt;/a&gt;) and visit some customers.&lt;br /&gt;&lt;br /&gt;If you are around Frankfurt the week of may 8th, JAX promises this year to be very interesting - with different tracks such as&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Management&lt;/strong&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;SOA (including BoFs) and customer stories, BPEL&lt;/strong&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Eclipse and Open Source&lt;/strong&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;and a keynote on EJB 3.0 (Doug Clark)&lt;/strong&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;so &lt;strong&gt;definitely&lt;/strong&gt; worth a visit - and I'll blog my experiences from there&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114601886851990920?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114601886851990920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114601886851990920' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114601886851990920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114601886851990920'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/04/heading-for-europe.html' title='Heading for europe'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114590089357764252</id><published>2006-04-24T19:31:00.000+02:00</published><updated>2006-10-27T22:55:14.576+02:00</updated><title type='text'>BPEL: Invoking a process from java results in ClassNotFoundException</title><content type='html'>What classes (and libraries) are needed to invoke a BPEL process through the JAVA api? &lt;br /&gt;&lt;br /&gt;Usually the problem is not about the orabpel ones - as they are hard referenced - in your class, but about the dynamic imported ones for JNDI-RMI.&lt;br /&gt;&lt;br /&gt;Ok, let's look into the code..&lt;br /&gt;What's happening at runtime of your class? &lt;br /&gt;Based on the properties you have put into the context, the underlying JNDI context layer will try to invoke the defined RMIContext. (&lt;strong&gt;bold&lt;/strong&gt; - shown below)&lt;br /&gt;&lt;br /&gt;Hashtable props = new Hashtable();&lt;br /&gt;props.put(Context.PROVIDER_URL, "rmi://localhost/orabpel");&lt;br /&gt;props.put(Context.INITIAL_CONTEXT_FACTORY, "&lt;strong&gt;com.evermind.server.rmi.RMIInitialContextFactory&lt;/strong&gt;");&lt;br /&gt;props.put(Context.SECURITY_PRINCIPAL, "admin");&lt;br /&gt;props.put(Context.SECURITY_CREDENTIALS, "welcome");&lt;br /&gt;props.put("dedicated.connection","true");&lt;br /&gt;&lt;br /&gt;Therefor the compiler will not complain at designtime, but at runtime the classloader must have access to these classes. &lt;br /&gt;&lt;br /&gt;Which ones do you need?&lt;br /&gt;from an OC4J distribution (if you connect against an &lt;strong&gt;Application Server instance &lt;/strong&gt;add ojdl.jar &amp; optic.jar)&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;activation.jar - j2ee activation&lt;/li&gt;&lt;br /&gt;&lt;li&gt;mail.jar       - j2ee mail&lt;/li&gt;&lt;br /&gt;&lt;li&gt;oc4j.jar       - oc4j core&lt;/li&gt;&lt;br /&gt;&lt;li&gt;ejb.jar        - ejb core&lt;/li&gt;&lt;br /&gt;&lt;li&gt;jcert.jar      - j2ee security&lt;/li&gt;&lt;br /&gt;&lt;li&gt;jnet.jar       - j2ee network impl&lt;/li&gt;&lt;br /&gt;&lt;li&gt;jsse.jar       - j2ee security extension&lt;/li&gt;&lt;br /&gt;&lt;li&gt;jndi.jar       - oc4j jndi impl&lt;/li&gt;&lt;br /&gt;&lt;li&gt;jta.jar        - transactions&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;From your BPEL distribution&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;orabpel.jar&lt;/li&gt;&lt;br /&gt;&lt;li&gt;orabpel-common.jar&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Note: &lt;/strong&gt;For the next release we plan to split the orabpell libraries into a client and a server, to bring down the footprint.&lt;br /&gt;&lt;br /&gt;Having questions? send your feedback on &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: RMI class not found"&gt;class com.evermind.server.rmi.RMIInitialContextFactory not found&lt;/a&gt; here&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114590089357764252?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114590089357764252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114590089357764252' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114590089357764252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114590089357764252'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/04/bpel-invoking-process-from-java.html' title='BPEL: Invoking a process from java results in ClassNotFoundException'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114557522978248411</id><published>2006-04-20T23:53:00.000+02:00</published><updated>2006-07-07T01:11:54.050+02:00</updated><title type='text'>BPEL: Implementing an async callback with the BPEL Java API</title><content type='html'>In yesterdays note about async miracles, I promised some more info on how to implement a callback with a listener on top of the BPEL java API. &lt;br /&gt;&lt;br /&gt;Why would you want to do that? Well, of course you can use the API, to find your instance and then get the result, but this would be blocking again, as long as you are not using a thread - and this is exactly what we will do today.&lt;br /&gt;&lt;br /&gt;First here are the steps how you'd do it normally:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Step 1&lt;/strong&gt;: your async process needs a unique ID that you can find it back - the easiest way to this, is to use com.collaxa.cube.util.GUIDGenerator:generateGUID() which returns you a really unique id&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Step 2&lt;/strong&gt;: This id must be stored in the NormalizedMessage as property with name conversationId, or you can use the constant (NormalizedMessage.CONVERSATION_ID) &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Step 3&lt;/strong&gt;: Initiate your process with the post() api (com.oracle.bpel.client.delivery.IDeliveryService:post())&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Step 4&lt;/strong&gt;: due to the async delivery mechanism in BPEL (and worker picks up the message from the delivery queue - it might take some seconds 'til you find the instance) -&gt; introduce some wait time&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Step 5&lt;/strong&gt;: Find the instance through it's conversationId, via lookupInstanceByConversationId on the Locator API, which get's you either an instance of IInstanceHandle, or an ORABPEL-02154 -&gt; instance not found&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Step 6&lt;/strong&gt;: Check if the instance is &lt;strong&gt;closed&lt;/strong&gt; (&lt;em&gt;completed &lt;/em&gt;or &lt;em&gt;faulted&lt;/em&gt;) by using IInstanceHandle:getState() and IInstanceHandle.STATE_CLOSED_COMPLETED, or IInstanceHandle.STATE_CLOSED_FAULTED&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Last step&lt;/strong&gt; is to retrieve the variable defined in you BPEL flow by using getField(String fieldName):java.util.Hashtable(). Why a hashtable? Because you can have multiple parts and each part is an entry here, with the key being the name of the part&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Ok - back to the real callback implementation:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;First we need to define some kind of callback interface, I decided to go with 2 methods, that a developer needs to implement&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;public void onResult (Map pResultMessageParts);&lt;/strong&gt; which is called when the process has finished, and&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;public String getVariableName ();&lt;/strong&gt; which is called by our thread to determine the field we need to return to the above content&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;An implementation of this callback would be passed later on to the thread, and would be used to signal the callback.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Now it's time to dive into the BPEL interfaces, and get an idea of what information you'd need to query for an instance, and where to get it from&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;To logon to the domain you need a &lt;strong&gt;DomainAuth &lt;/strong&gt;object (which represents a "BPEL" session) - this can be retrieved from the Locator:getDomainAuth()&lt;/li&gt;&lt;br /&gt;&lt;li&gt;A &lt;strong&gt;conversationId &lt;/strong&gt;to find your process instance back&lt;/li&gt;&lt;br /&gt;&lt;li&gt;and the &lt;strong&gt;field name &lt;/strong&gt; to examine the data, all from the interface described a step above&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Next step was to implement a Thread (say be extending &lt;em&gt;java.lang.Thread&lt;/em&gt;, that would query the BPEL Server for getting the instance, and later its state)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;All you need to do next is add a constructor, that takes these parameters, and add some logic to the &lt;strong&gt;run() &lt;/strong&gt;method - with a condition when the thread should stop. I chose to break after I triggered the callback's onResult method&lt;/li&gt;&lt;br /&gt;&lt;li&gt;The &lt;strong&gt;run()&lt;/strong&gt; method does the following&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;has an initial &lt;em&gt;sleep&lt;/em&gt;, to minimize the chance of an instance not found error&lt;/li&gt;&lt;br /&gt;&lt;li&gt;uses the Locator to &lt;strong&gt;find&lt;/strong&gt;the instance (lookupInstanceByConversationId)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;asks the instance for it's &lt;strong&gt;state &lt;/strong&gt; - if completed it (IInstanceHandle:getState())&lt;/li&gt;&lt;br /&gt;&lt;li&gt;retrieves the field (IInstanceHandle:getField(String))&lt;/li&gt;&lt;br /&gt;&lt;li&gt;and calls the &lt;strong&gt;onResult&lt;/strong&gt; method on the passed callback instance. When this happens it breaks the loop&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;All you need to do now is to initiate the thread from your client program, pass the parameters, and start it :-D &lt;br /&gt;&lt;br /&gt;Happy threading .. &lt;br /&gt;&lt;br /&gt;Having questions? send your feedback on &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: Implementing an async callback with the java api"&gt;Implementing an async callback with the BPEL java api&lt;/a&gt; here&lt;a href="http://clemensblog.blogspot.com/2006/04/bpel-some-magic-behind-async-miracles.html"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114557522978248411?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114557522978248411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114557522978248411' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114557522978248411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114557522978248411'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/04/bpel-implementing-async-callback-with.html' title='BPEL: Implementing an async callback with the BPEL Java API'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114550574191452080</id><published>2006-04-20T05:37:00.000+02:00</published><updated>2007-01-16T11:23:10.500+01:00</updated><title type='text'>BPEL: some magic behind async miracles</title><content type='html'>As a lot of people wrote in to ask on async processes, I thought to publish a note, on using them - and some code along with it.&lt;br /&gt;&lt;br /&gt;First of all what is &lt;strong&gt;async&lt;/strong&gt; messaging?&lt;br /&gt;In comparison to a synchronous call, that is blocking, and "waits" until a message comes back, an asynchronous call, is first of all a &lt;strong&gt;one-way&lt;/strong&gt; call. This means, a message is sent to the service provider, and one might come back to you. This implies that the client needs to be able to correlate request and response. With one thread this is rather easy (as it is a one2one mapping), but given more than one thread sends a messages concurrently - this can become challenging. The solution for this - a unique identifier for each message (in BPEL PM's case the &lt;strong&gt;conversationId&lt;/strong&gt;)&lt;br /&gt;&lt;br /&gt;In a technical nutshell (based on a wsdl):&lt;br /&gt;on the initiating operation just an input message is defined, as shown in the code here: &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  &amp;lt;operation name="initiate"&amp;gt;&lt;br /&gt;     &amp;lt;input message="tns:HelloWorldRequestMessage"/&amp;gt;&lt;br /&gt;  &amp;lt;/operation&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;on the other side a callback could be defined in the same manner&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  &amp;lt;operation name="onResult"&amp;gt;&lt;br /&gt;     &amp;lt;input message="tns:HelloWorldResponseMessage"/&amp;gt;&lt;br /&gt;  &amp;lt;/operation&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;and that's it.&lt;br /&gt;&lt;br /&gt;With knowing this, it soon becomes clear, that dependend on the technology being used to invoke this service - it could be quite hard to get a callback (e.g calling back into a browser session over http, or calling back into a java thread from a server :-D) - As you see, this is a technical boundary (as for the callback, the roles are switched, the client becomes the server..) &lt;br /&gt;&lt;br /&gt;So what are the bindings offered by BPEL to initiate a process?&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;SOAP - this is the perfect case, due to WS-Addressing usage for asynchronous messaging, and the BPEL PM engine is able to correlate a callback from a process into the right instance&lt;/li&gt;&lt;br /&gt;&lt;li&gt;HTTP invocation - unfortunately there is no way, if an async call is intiated, this is a &lt;em&gt;call and forget&lt;/em&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Java API, after invoking your process (DeliveryService:post), you can query the instance (Locator:lookupInstanceByConversationId) and on the IInstanceHandle you can examine status (getState()) and field values (getField(String))&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;While blogging this article, I am on the way creating a little sample for the java case, to demonstrate some real async behaviour (through threads and a listener) - watch out the next days..&lt;br /&gt;&lt;br /&gt;Having questions? send your feedback on &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog:"&gt;async miracles&lt;/a&gt; here&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114550574191452080?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114550574191452080/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114550574191452080' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114550574191452080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114550574191452080'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/04/bpel-some-magic-behind-async-miracles.html' title='BPEL: some magic behind async miracles'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114540985073583308</id><published>2006-04-19T02:34:00.000+02:00</published><updated>2006-10-20T00:24:00.140+02:00</updated><title type='text'>BPEL: Loggers to know</title><content type='html'>After getting a lot of questions in the shape of ".. I encounter this error, what logger do I need to turn on ..; How do I enable logging .." - I thought to blog some comments on this.&lt;br /&gt;&lt;br /&gt;Basically 2 types of loggers can be found within a BPEL instance&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;  &lt;li&gt;&lt;strong&gt;system-wide&lt;/strong&gt; loggers, for infrastructure, AXIS and WSIF&lt;br /&gt;    &lt;ul&gt;&lt;br /&gt;      &lt;li&gt;these can be configured through the BPEL Admin Console (http://hostname:port/BPELAdmin) &amp;gt; logging&lt;/li&gt;&lt;br /&gt;      &lt;li&gt;or by editing &lt;strong&gt;log4j-config.xml &lt;/strong&gt;in $BPEL_HOME\integration\orabpel\system\config&lt;/li&gt;&lt;br /&gt;      &lt;li&gt;org.collaxa.thirdparty.apache.wsif - logger for system-wide WSIF&lt;/li&gt;&lt;br /&gt;      &lt;li&gt;org.collaxa.thirdparty.apache.axis.transport - logger to see what axis is sending on the wire&lt;/li&gt; &lt;br /&gt;      &lt;li&gt;org.collaxa.thirdparty.apache.axis - general axis related logging&lt;/li&gt;&lt;br /&gt;      &lt;li&gt;collaxa.cube.services - all BPEL PM wide services&lt;/li&gt;&lt;br /&gt;      &lt;li&gt;collaxa.cube.infrastructure - infrastructure such as DB connectors&lt;/li&gt;&lt;br /&gt;    &lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;  &lt;li&gt;and &lt;strong&gt;domain-wide &lt;/strong&gt;loggers&lt;br /&gt;    &lt;ul&gt;&lt;br /&gt;      &lt;li&gt;these can be configured through the BPEL Console (http://hostname:port/BPELConsole) &amp;gt; manage BPEL domain &amp;gt; logging&lt;/li&gt;&lt;br /&gt;      &lt;li&gt;or by editing &lt;strong&gt;log4j-config.xml &lt;/strong&gt;in $BPEL_HOME\integration\orabpel\domains\&amp;lt;domain&amp;gt;\config&lt;/li&gt;&lt;br /&gt;      &lt;li&gt;&amp;lt;domain&amp;gt;.collaxa.cube.engine.deployment - deployment related logging&lt;/li&gt;&lt;br /&gt;      &lt;li&gt;&amp;lt;domain&amp;gt;.collaxa.cube.compiler - compilation related logging&lt;/li&gt;&lt;br /&gt;      &lt;li&gt;&amp;lt;domain&amp;gt;.collaxa.cube.messaging - messaging layer (as bpel used messaging services to scale)&lt;/li&gt;&lt;br /&gt;      &lt;li&gt;&amp;lt;domain&amp;gt;.collaxa.cube.security - server side security (fwrk)&lt;/li&gt;&lt;br /&gt;      &lt;li&gt;&amp;lt;domain&amp;gt;.oracle.bpel.security - inside validator logging&lt;/li&gt;&lt;br /&gt;      &lt;li&gt;&amp;lt;domain&amp;gt;.collaxa.cube.ws - everything that is related to communication (WSIF layer, SOAP, Adapters) - shows you at least a longer stack if something breaks there&lt;/li&gt;&lt;br /&gt;      &lt;li&gt;&amp;lt;domain&amp;gt;.collaxa.cube.xml - xml transformation, storage, hydration&lt;/li&gt;&lt;br /&gt;      &lt;li&gt;&amp;lt;domain&amp;gt;.collaxa.cube.services - logging for services like Notification or Human Workflow&lt;/li&gt;&lt;br /&gt;      &lt;li&gt;&amp;lt;domain&amp;gt;.collaxa.cube.engine.delivery - Delivery Service and Manager, responsible for callbacks, and first (initiating) delivery&lt;/li&gt;&lt;br /&gt;      &lt;li&gt;&amp;lt;domain&amp;gt;.collaxa.cube - cube related logging (system)&lt;/li&gt;&lt;br /&gt;    &lt;/ul&gt;&lt;br /&gt;  &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;That should give you an idea, based on the error you get - what loggers are worth to be turned to &lt;strong&gt;debug &lt;/strong&gt;level (standard is &lt;strong&gt;info&lt;/strong&gt;)&lt;br /&gt;&lt;br /&gt;Let's consider 3 examples:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Your process invokes an outside service (a webservice), and the data that is retrieved on the webservice side is wrong. Loggers to use are&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&amp;lt;domain&amp;gt;.collaxa.cube.ws - to see if something goes wrong before sending &lt;/li&gt;&lt;br /&gt;&lt;li&gt;org.collaxa.thirdparty.apache.axis &amp; org.collaxa.thirdparty.apache.axis.transport - to see what is on the wire&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;A java class is invoked through WSIF binding - and you get a binding fault&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&amp;lt;domain&amp;gt;.collaxa.cube.ws - to see the complete stack&lt;/li&gt;&lt;br /&gt;&lt;li&gt;org.collaxa.thirdparty.apache.wsif - to examine the wsif part, that does the real invocation&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Your process has invoked an async service and never receives a callback (times out, or waits there forever)&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&amp;lt;domain&amp;gt;.collaxa.cube.ws - again this is outbound related&lt;/li&gt;&lt;br /&gt;&lt;li&gt;org.collaxa.thirdparty.apache.axis &amp; org.collaxa.thirdparty.apache.axis.transport - to see what goes onto the wire, and to see the outgoung WSA Header, that is needed for correlation&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&amp;lt;domain&amp;gt;.collaxa.cube.engine.delivery - to see what the delivery handler does, and if a message is retrieved, that can be correlated&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Having questions? send your feedback on &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: BPEL Loggers"&gt;Loggers in Oracle BPEL PM&lt;/a&gt; here&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114540985073583308?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114540985073583308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114540985073583308' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114540985073583308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114540985073583308'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/04/bpel-loggers-to-know.html' title='BPEL: Loggers to know'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114506243757238148</id><published>2006-04-15T01:18:00.000+02:00</published><updated>2007-02-19T04:06:34.020+01:00</updated><title type='text'>BPEL: The infamous exception (2) - Transaction was rolled back: timed out;</title><content type='html'>From time to time I read comments and questions about the phenomenon of getting the following exception:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;2006-04-14 15:54:01,926&gt; &lt;ERROR&gt; &lt;default.collaxa.cube.engine.dispatch&gt; &lt;BaseScheduledWorker::process&gt; Failed to handle dispatch message&lt;br /&gt;... exception ORABPEL-05002&lt;br /&gt;&lt;br /&gt;Message handle error.&lt;br /&gt;&lt;br /&gt;An exception occurred while attempting to process the message "com.collaxa.cube.engine.dispatch.message.domain.RecoverMessage"; the exception&lt;br /&gt;is: Transaction was rolled back: &lt;strong&gt;timed out&lt;/strong&gt;; nested exception is: java.rmi.RemoteException: No Exception - originate from:java.lang.Exception:&lt;br /&gt;No Exception - originate from:; nested exception is:&lt;br /&gt;&lt;br /&gt;java.lang.Exception: No Exception - originate from:&lt;br /&gt;&lt;br /&gt;ORABPEL-05002&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;These days, to get you a usecase, I saw it on the &lt;a href="http://forums.oracle.com/forums/thread.jspa?messageID=1272411&amp;#1272411"&gt;Oracle BPEL Forums&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;What does this strange thing mean? &lt;br /&gt;Basically it tells the user that a JTA transaction within the server took longer, than its maximum configured time (and I agree scrolling through a ton of stack lines is not too cool).&lt;br /&gt;&lt;br /&gt;Hmm, again?&lt;br /&gt;your process may represent one or more transactions (each with a commit at the end), and each of these take a certain amount of time. When one takes longer (eg. there is just one commit point at the end) - and it takes longer than the time specified, the container throws this exception&lt;br /&gt;&lt;br /&gt;ok, lets take a look into server.xml, given the installation type, it can be found in&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;$BPEL_HOME/system/appserver/j2ee/home/config (developer installation) or&lt;/li&gt;&lt;br /&gt;&lt;li&gt;$AS_HOME/j2ee/OC4J_BPEL/config (midtier installation)&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;and should look like this &amp;lt;&lt;strong&gt;transaction-config&lt;/strong&gt; timeout="&lt;em&gt;60000&lt;/em&gt;" /&amp;gt;&lt;br /&gt;&lt;br /&gt;The value is specified in milliseconds (1000 make a second) and describes the longest time a single &lt;strong&gt;commit cycle &lt;/strong&gt;is allowed to be.&lt;br /&gt;&lt;br /&gt;But what is a commit cycle? In the case of Oracle BPEL PM it is the time between the last dehydration point and now. The dehydration activities can be found &lt;a href="http://clemensblog.blogspot.com/2006/03/loosely-coupled-and-transacted.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Having questions? send your feedback on &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: The infamous exception2, no exception"&gt;No exception, timed out&lt;/a&gt; here&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114506243757238148?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114506243757238148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114506243757238148' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114506243757238148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114506243757238148'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/04/bpel-infamous-exception-2-transaction.html' title='BPEL: The infamous exception (2) - Transaction was rolled back: timed out;'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114495718173074819</id><published>2006-04-13T20:11:00.000+02:00</published><updated>2007-02-23T21:46:26.263+01:00</updated><title type='text'>BPEL: Adding a custom logger (such as com.xxx.yyy)</title><content type='html'>Some customers, and recently folks on the &lt;a href="http://forums.oracle.com/forums/forum.jspa?forumID=212"&gt;OTN BPEL forum&lt;/a&gt; reported that a newly added custom logger (at domain level) gets removed when a log level of a standard BPEL logger is changed.&lt;br /&gt;&lt;br /&gt;This is a known issue, as we check during update just for loggers that contain the domain name like &lt;strong&gt;default&lt;/strong&gt;.collaxa.cube&lt;br /&gt;&lt;br /&gt;A workaround for now is to put the logger entry on the system level - add it to log4j-config.xml which can be found in $BPEL_HOME\integration\orabpel\system\config&lt;br /&gt;&lt;br /&gt;I have filed bug 5161925 on this.&lt;br /&gt;&lt;br /&gt;Having questions? send your feedback on &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: custom logger"&gt;adding a custom logger&lt;/a&gt; here&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114495718173074819?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114495718173074819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114495718173074819' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114495718173074819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114495718173074819'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/04/bpel-adding-custom-logger-such-as.html' title='BPEL: Adding a custom logger (such as com.xxx.yyy)'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114477692110921040</id><published>2006-04-11T19:03:00.000+02:00</published><updated>2006-12-13T00:36:55.260+01:00</updated><title type='text'>Recommended readings / skills to use BPEL efficiently</title><content type='html'>I thought to put together some ideas on what I usually recommend on readings and skills before starting to work with BPEL in a project. &lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt; &lt;li&gt;&lt;strong&gt;Solid XML&lt;/strong&gt; is key, as BPEL offers the user an xml representation of data. This includes &lt;strong&gt;&lt;a href="http://www.w3schools.com/schema/schema_simple.asp"&gt;XSD&lt;/a&gt; &lt;/strong&gt;(Schema), &lt;a href="http://www.w3.org/TR/xslt"&gt;&lt;strong&gt;XSL&lt;/strong&gt;&lt;/a&gt; (Stylesheets), and &lt;a href="http://www.w3.org/TR/1999/REC-xpath-19991116"&gt;&lt;strong&gt;XPATH&lt;/strong&gt;&lt;/a&gt; (Query). All of them are needed to unleash the full power of BPEL&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;strong&gt;&lt;a href="http://www.w3schools.com/webservices/default.asp "&gt;Webservices&lt;/a&gt;&lt;/strong&gt;, &lt;a href="http://www.w3schools.com/wsdl/default.asp"&gt;&lt;strong&gt;WSDL&lt;/strong&gt;&lt;/a&gt;,  &lt;strong&gt;&lt;a href="http://www.w3.org/TR/SOAP/"&gt;SOAP&lt;/a&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;a href="http://ws.apache.org/wsif/"&gt;WSIF&lt;/a&gt; (Apache's Webservice Invocation Framework)&lt;/strong&gt; all of them are used by BPEL to connect to to the outside world and to other services&lt;/li&gt;&lt;br /&gt; &lt;li&gt;&lt;strong&gt;&lt;a href="http://java.sun.com/j2ee/tutorial/1_3-fcs/"&gt;J2EE knowledge&lt;/a&gt;&lt;/strong&gt; as the BPEL engine leverages a lot of container functionality (and is itself a J2EE application). For debugging errors, modifying configuration settings and others - this is highly recommended, but if you are at the beginning of your BPEL career this is &lt;em&gt;not a must&lt;/em&gt;. For &lt;strong&gt;OC4J&lt;/strong&gt;, docu can be found &lt;a href="http://download-west.oracle.com/docs/cd/B25221_04/web.1013/b14433/toc.htm"&gt;here&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://education.oracle.com/pls/web_prod-plq-dad/show_desc.redirect?redir_type=31&amp;group_id=7"&gt;Oracle University &lt;/a&gt;offers several courses for most of the mentioned technologies, or you could simply google a little bit and study the stuff yourself from resources on the internet.&lt;br /&gt;&lt;br /&gt;After you feel comfortable with the stated technologies - I would recommend going through the samples, we ship with the product (in the &lt;em&gt;samples&lt;/em&gt; folder) to get an understanding of usecases. Another option is to start with the quickstart guide (&lt;a href="http://www.oracle.com/technology/products/ias/bpel/pdf/orabpel-BPEL101.pdf"&gt;here&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;For people that like to read a book before starting I recommend that &lt;a href="http://www.packtpub.com/BPEL/book"&gt;&lt;strong&gt;one&lt;/strong&gt;&lt;/a&gt; on Business Process Execution Language for Webservices. (and I am not compensated on it :-))&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;references&lt;/strong&gt; show the usage of standard BPEL activities&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;tutorials&lt;/strong&gt; show the usage of adapters/extended activities and advanced topics, such as bindings and security&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;demos&lt;/strong&gt; show end to end processes, such as a google search&lt;/li&gt;&lt;br /&gt;&lt;li&gt;the Oracle BPEL PM &lt;a href="http://www.oracle.com/technology/products/ias/bpel/htdocs/dev_support.html#tutorials"&gt;internet resources&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;and learn from other customers, that published their insights, &lt;a href="http://www.oracle.com/technology/bpel_cookbook/index.html"&gt;here&lt;/a&gt; in the BPEL cookbook&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;For general questions and knowledge sharing, just use the &lt;a href="http://forums.oracle.com/forums/forum.jspa?forumID=212"&gt;OTN BPEL forum&lt;/a&gt;, and all the folks there - help spreading BPEL knowledge, through your experiences.&lt;br /&gt;&lt;br /&gt;The complete WSBPEL 1.1 spec can be found &lt;a href="http://www.siebel.com/bpel"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Note:&lt;/strong&gt; I'll put this as a permalink on my blog, and extend it from time to time, with new insights and recommendations&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114477692110921040?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114477692110921040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114477692110921040' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114477692110921040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114477692110921040'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/04/recommended-readings-skills-to-use.html' title='Recommended readings / skills to use BPEL efficiently'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114471794217974808</id><published>2006-04-11T02:55:00.000+02:00</published><updated>2007-02-23T15:15:02.830+01:00</updated><title type='text'>BPEL: Scheduling reoccuring processes</title><content type='html'>After seing some questions around periodically starting new BPELProcess instances, I thought to publish some ideas here...&lt;br /&gt;&lt;br /&gt;Suppose you want to have a new process triggered every minute, what are the options?&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Implement a master process, that has a &amp;lt;while&amp;gt; and a &amp;lt;wait&amp;gt; that is configured for the time to make the process sleepling&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Advantage:&lt;/strong&gt; It's BPEL&lt;/li&gt; &lt;br /&gt;&lt;li&gt;&lt;strong&gt;Disadvantage:&lt;/strong&gt; As it contains a wait and some other activities that might lead to (de)hydration, you fill you database&lt;/li&gt; &lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Use the Oracle RDBMS Job Scheduler (dbms_job package) that will start your process periodically&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Advantage:&lt;/strong&gt; One time implemented, backed up with the DB, and pattform independend&lt;/li&gt; &lt;br /&gt;&lt;li&gt;&lt;strong&gt;Disadvantage:&lt;/strong&gt; It's bound to an Oracle DB, and you need to know at least some pl\sql, the rest is java&lt;/li&gt; &lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Use a Timer EJB (provided with a j2ee compliant java container)&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Advantage:&lt;/strong&gt; it's a statefull bean, so it will get saved, and revovered when the container goes down, use java to implement &lt;/li&gt; &lt;br /&gt;&lt;li&gt;&lt;strong&gt;Disadvantage:&lt;/strong&gt; Dependend on the container you are using&lt;/li&gt; &lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Use QUARTZ, the open source scheduler&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Advantage:&lt;/strong&gt; It's opensource and Oracle BPELPM uses it for scheduling&lt;/li&gt; &lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Having questions? send your feedback on &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: Sechuling reoccuring processes"&gt;Scheduling reoccuring processes&lt;/a&gt; here&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114471794217974808?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114471794217974808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114471794217974808' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114471794217974808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114471794217974808'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/04/bpel-scheduling-reoccuring-processes.html' title='BPEL: Scheduling reoccuring processes'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114443699960737869</id><published>2006-04-07T20:53:00.000+02:00</published><updated>2006-05-07T08:41:21.736+02:00</updated><title type='text'>BPEL 10.1.3: new security features</title><content type='html'>As I have seen quite a lot of security related questions on internal lists, as well as on the forums, I thought to mentions 2 new features of the embedded BPEL Security, that will show up in BPEL PM 10.1.3&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;In memory security&lt;/strong&gt; - in 10.1.2.0.2 you need to disable the optSoapShortcut to make security working between 2 chained processes, this limitation was fixed (bug 5139817)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Async callbacks need to supply credentials&lt;/strong&gt; - another limitation that is gone, in 10.1.3 we recognize a callback and don't apply security (bug 5139817)&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;This should make it far easier to use security, specially in a common usecase that a process A calls a process B (its child) - &lt;strong&gt;in memory&lt;/strong&gt; and &lt;strong&gt;with security&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;Having questions? send your feedback on &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: Security in 10.1.3"&gt;BPEL Security in 10.1.3 - new features&lt;/a&gt; here&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114443699960737869?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114443699960737869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114443699960737869' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114443699960737869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114443699960737869'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/04/bpel-1013-new-security-features.html' title='BPEL 10.1.3: new security features'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114437790599758079</id><published>2006-04-07T04:34:00.000+02:00</published><updated>2006-08-16T23:27:21.183+02:00</updated><title type='text'>Oracle BPEL &amp; XE: Part 2</title><content type='html'>Today when reading through the BPEL forum (&lt;a href="http://forums.oracle.com/forums/forum.jspa?forumID=212"&gt;here&lt;/a&gt;) I found an entry named "&lt;em&gt;oracle XE and BPEL - Clemens -&lt;/em&gt;". Funny, for the first time someone wrote &lt;strong&gt;to&lt;/strong&gt; me personally on the forums. Well anyway - back to work ..&lt;br /&gt;&lt;br /&gt;After reading the entry, it looks like my entry was not clear enough - so I thought to clarify a little bit.&lt;br /&gt;&lt;br /&gt;Some while ago I blog'ed about using &lt;a href="http://clemensblog.blogspot.com/2006/02/using-oracle-xe-for-bpel-dehydration.html"&gt;bpel and oracle xe as its dehydration store&lt;/a&gt;. And in of the comments, it's about changing the datasource(s) to use the newly built schema. For convenience - here it is .. (for &lt;em&gt;BPELServerDataSource&lt;/em&gt;, the same applies to the other 2 ones, named &lt;em&gt;BPELSamplesDataSource&lt;/em&gt;, and &lt;em&gt;AdminConsoleDateSource&lt;/em&gt;)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;data-source &lt;br /&gt;      class="&lt;strong&gt;com.evermind.sql.DriverManagerDataSource&lt;/strong&gt;"&lt;br /&gt;      name="BPELServerDataSource"&lt;br /&gt;      location="jdbc/BPELServerDataSourceWorkflow"&lt;br /&gt;      xa-location="BPELServerDataSource"&lt;br /&gt;      ejb-location="jdbc/BPELServerDataSource"&lt;br /&gt;      connection-driver="&lt;strong&gt;oracle.jdbc.OracleDriver&lt;/strong&gt;"&lt;br /&gt;      max-connections="50"&lt;br /&gt;      min-connections="10"&lt;br /&gt;      connection-retry-interval="30"&lt;br /&gt;      max-connect-attempts="10"&lt;br /&gt;      username="orabpel101202"&lt;br /&gt;      password="orabpel"&lt;br /&gt;      url="&lt;strong&gt;jdbc:oracle:thin:&lt;/strong&gt;@localhost:1521:XE"/&amp;gt;&lt;br /&gt; &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The &lt;strong&gt;bold&lt;/strong&gt; marked values, differ from your datasource for Oracle Lite!&lt;br /&gt;&lt;br /&gt;Having questions? send your feedback on &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: bpel &amp; xe - part2"&gt;Oracle BPEL PM and XE&lt;/a&gt; here&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114437790599758079?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114437790599758079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114437790599758079' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114437790599758079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114437790599758079'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/04/oracle-bpel-xe-part-2.html' title='Oracle BPEL &amp; XE: Part 2'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114417383466214565</id><published>2006-04-04T20:02:00.000+02:00</published><updated>2006-04-04T21:11:04.676+02:00</updated><title type='text'>JAX 2006 - Wiesbaden - see you there</title><content type='html'>Cool,&lt;br /&gt;lately my paper for this year's JAX (Conference on Java and XML), in Wiesbaden - Germany, was accepted, about &lt;a href="http://www.jax.de/konferenzen/psecom,id,480,track,16,nodeid,,_language,de.html#session-soa26"&gt;&lt;strong&gt;Managing SOA projects&lt;/strong&gt;&lt;/a&gt;. I look very much forward, speaking for the first time in germany - and specially it's a great chance to foster information with colleaques from IBM and other companies on SOA projects and the latest and greatest ideas ..&lt;br /&gt;&lt;br /&gt;Hope to see you there!&lt;br /&gt;&lt;br /&gt;greets clemens&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114417383466214565?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114417383466214565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114417383466214565' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114417383466214565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114417383466214565'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/04/jax-2006-wiesbaden-see-you-there.html' title='JAX 2006 - Wiesbaden - see you there'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114402351747678130</id><published>2006-04-03T02:10:00.000+02:00</published><updated>2006-12-13T00:38:02.053+01:00</updated><title type='text'>What do you like to see in BPEL PM?</title><content type='html'>As I am not able to put a sticky note on the Oracle BPEL Forums (&lt;a href="http://forums.oracle.com/forums/forum.jspa?forumID=212"&gt;here&lt;/a&gt;) - I thought to do it on my blog, which is google indexed, and will be preserved .. and helps me to keep track of these ideas/wishes.&lt;br /&gt;&lt;br /&gt;thank you, &lt;br /&gt; clemens&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114402351747678130?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114402351747678130/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114402351747678130' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114402351747678130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114402351747678130'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/04/what-do-you-like-to-see-in-bpel-pm.html' title='What do you like to see in BPEL PM?'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114379110480371402</id><published>2006-03-31T09:40:00.000+02:00</published><updated>2006-03-31T09:45:04.813+02:00</updated><title type='text'>BPEL-EJB Binding:Adding additional context properties</title><content type='html'>Yesterday Marc, one of my colleaques from Europe, wrote in, on how to set additional context properties for the RMI context, when using WSIF EJB binding.&lt;br /&gt;&lt;br /&gt;Quick check of the code .. and here is the solution:&lt;br /&gt;&lt;br /&gt;Open your BPEL suitcase (bpel.xml) and locate the &amp;lt;partnerlinkBinding&amp;gt; for the ejb binding partnerlink you want to use. Now simply add another property there containing the name and the value - e.g.&lt;br /&gt;&lt;br /&gt;&amp;lt;property name="&lt;strong&gt;dedicated.rmicontext&lt;/strong&gt;"&amp;gt;true&amp;lt;/property&amp;gt; &lt;br /&gt;&lt;br /&gt;Having questions? send your feedback on &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: ejb binding, addt'l properties"&gt;BPEL EJB-Binding, addt'l properties&lt;/a&gt; here&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114379110480371402?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114379110480371402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114379110480371402' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114379110480371402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114379110480371402'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/03/bpel-ejb-bindingadding-additional.html' title='BPEL-EJB Binding:Adding additional context properties'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114352230361621936</id><published>2006-03-28T06:22:00.000+02:00</published><updated>2006-03-28T07:08:20.776+02:00</updated><title type='text'>xsd:choice, pre-created elements, part 2 - writing a custom xpath function to remove empty elements</title><content type='html'>Thinking a little bit more on this issue, preferably on a sunday - and voila,&lt;br /&gt;another solution came to my brain. Writing a custom XPATH function that removes&lt;br /&gt;all the empty elements, from a given parent node.&lt;br /&gt;&lt;br /&gt;Basically writing an BPEL XPATH function consists of 2 parts:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;a class that implements com.oracle.bpel.xml.xpath.IXPathFunction&lt;/li&gt;&lt;br /&gt;&lt;li&gt;and is registered in xpath-functions.xml, located in $BPEL_HOME/domains/&amp;lt;domain name&amp;gt;/config&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Ok, one step after the other &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step 1&lt;/strong&gt; - implementing the interface - the only method that is available and will be called is&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public Object call(IXPathContext context,&lt;br /&gt;                   List args) &lt;br /&gt;  throws XPathFunctionException;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Inside the class it's rather easy to retrieve parts, like the context, or any xpath queried elements as shown below&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;// retrieve the context ..&lt;br /&gt;Map properties = &lt;br /&gt;  (Map) context.getVariableValue(null, null, &lt;br /&gt;        PathDefs.XPATH_FUNCTION_VARIABLE_DATA);&lt;br /&gt;&lt;br /&gt;ICubeContext cubeContext = &lt;br /&gt;  (ICubeContext) properties.get(XPathDefs.CUBE_CONTEXT);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;retrieving the xpath element from a query is not much deal too (in this case I expect one argument of type Element)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Element el = (CubeDOMElement) args.get(0) &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;So the only thing left is implementing an algorithm to search the element (el) for empty nodes .. and remove them ..&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Step 2&lt;/strong&gt; - registering the function with the BPEL Server&lt;br /&gt;Next, open the xpath-functions.xml, located in $BPEL_HOME/domains/&amp;lt;domainname&amp;gt;/config, and add your new function.&lt;br /&gt;I just copied one of the entries, changed the value of &amp;lt;function&amp;gt; to deleteEmptyElements, the &amp;lt;classname&amp;gt; to point to my new class, and gave the whole thing the right pprefix and namespace (as shown)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;property id="namespace-uri"&amp;gt;&lt;br /&gt;  &amp;lt;value&gt;http://schemas.oracle.com/xpath/extension&amp;lt;/value&amp;gt;&lt;br /&gt;  &amp;lt;comment&gt;Namespace URI for this function&amp;lt;/comment&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&amp;lt;property id="namespace-prefix"&amp;gt;&lt;br /&gt;  &amp;lt;value&amp;gt;ora&amp;lt;/value&amp;gt;&lt;br /&gt;  &amp;lt;comment&amp;gt;Namespace prefix for this function&amp;lt;/comment&amp;gt;&lt;br /&gt;&amp;lt;/property&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Using your new function in a process:&lt;/strong&gt;&lt;br /&gt;As written earlier, one argument of type element is expected, which can be easiliy retrieved throug using &lt;em&gt;bpws:getVariableData&lt;/em&gt; function.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;copy&amp;gt;&lt;br /&gt;  &amp;lt;from expression="&lt;strong&gt;ora:deleteEmptyElements&lt;/strong&gt;(&lt;br /&gt;                    &lt;strong&gt;bpws:getVariableData&lt;/strong&gt;&lt;br /&gt;                        ('outputVariable',&lt;br /&gt;                         'payload',&lt;br /&gt;                         '/client:UsingChoicesProcessResponse/&lt;br /&gt;                          client:choiceTest'))"&lt;br /&gt;  /&amp;gt;&lt;br /&gt;  &amp;lt;to variable="outputVariable" part="payload"&lt;br /&gt;      query="/client:UsingChoicesProcessResponse/&lt;br /&gt;              client:choiceTest"&lt;br /&gt;  /&amp;gt;&lt;br /&gt;&amp;lt;/copy&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;still have questions? send your feedback on &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: xsd:choice part2"&gt;writing a custom xpath function&lt;/a&gt; here&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114352230361621936?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114352230361621936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114352230361621936' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114352230361621936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114352230361621936'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/03/xsdchoice-pre-created-elements-part-2.html' title='xsd:choice, pre-created elements, part 2 - writing a custom xpath function to remove empty elements'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114341271699389826</id><published>2006-03-27T00:01:00.000+02:00</published><updated>2006-03-27T00:45:55.096+02:00</updated><title type='text'>BPEL: the miracle of xsd:choice with pre-populated elements</title><content type='html'>Last week's thursday I was working with Marty, a fellow from our global support organisation, on a problem a customer in Canada has reported. &lt;br /&gt;&lt;br /&gt;The problem was having an xsd:choice element within the payload, and BPEL PM 'pre-creating' all the &lt;em&gt;possible&lt;/em&gt; elements, instead of just the one, that was filled with data. At first I thought a surrounding xsd:sequence was missing, but even with that, all elements where created .. Strange, at least kind of...&lt;br /&gt;&lt;br /&gt;After playing with some ideas, here is the workaround that I have found.&lt;br /&gt;&lt;br /&gt;Here is the schema that defines the choice, in this case pretty simple, just to show the problem&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;schema attributeFormDefault="qualified"&lt;br /&gt;  elementFormDefault="qualified"&lt;br /&gt;  &lt;strong&gt;targetNamespace="http://xmlns.oracle.com/UsingChoices"&lt;/strong&gt;&lt;br /&gt;  xmlns="http://www.w3.org/2001/XMLSchema"&gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;element name="UsingChoicesProcessResponse"&amp;gt;&lt;br /&gt;    &amp;lt;complexType&amp;gt;&lt;br /&gt;       &amp;lt;sequence&amp;gt; &lt;br /&gt;  &amp;lt;element name="choiceTest" type="client:second"/&amp;gt;&lt;br /&gt;       &amp;lt;/sequence&amp;gt;&lt;br /&gt;    &amp;lt;/complexType&amp;gt;&lt;br /&gt;  &amp;lt;/element&amp;gt;&lt;br /&gt;  &amp;lt;complexType name="second"&amp;gt;&lt;br /&gt;    &lt;strong&gt;&amp;lt;choice&amp;gt;&lt;/strong&gt;&lt;br /&gt;      &amp;lt;element name="name" type="string"/&amp;gt;&lt;br /&gt;      &amp;lt;element name="address" type="string"/&amp;gt;&lt;br /&gt;      &amp;lt;element name="telephone" type="string"/&amp;gt;&lt;br /&gt;    &lt;strong&gt;&amp;lt;/choice&amp;gt;&lt;/strong&gt;&lt;br /&gt;  &amp;lt;/complexType&amp;gt;&lt;br /&gt;&amp;lt;/schema&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Usually someone tends to do a "normal" &amp;lt;assign&amp;gt; as shown below, to get the value &lt;em&gt;into&lt;/em&gt; the element ..&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;assign name="Assign_ToSeeWrongVariable"&amp;gt;&lt;br /&gt;  &amp;lt;copy&amp;gt;&lt;br /&gt;    &amp;lt;from expression="string('testname')"/&amp;gt;&lt;br /&gt;    &amp;lt;to variable="outputVariable" part="payload"&lt;br /&gt;        query="/client:UsingChoicesProcessResponse/&lt;br /&gt;               client:choiceTest/client:name"/&amp;gt;&lt;br /&gt;  &amp;lt;/copy&amp;gt;&lt;br /&gt;&amp;lt;/assign&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;a look into the flow diagram shows the mysterious element creation we do.. &lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;outputVariable&gt;&lt;br /&gt;  &amp;lt;part name="payload"&amp;gt;&lt;br /&gt;    &amp;lt;UsingChoicesProcessResponse&amp;gt;&lt;br /&gt;      &amp;lt;choiceTest&amp;gt;&lt;br /&gt;        &amp;lt;name&amp;gt;testname&amp;lt;/name&amp;gt;&lt;br /&gt;        &lt;strong&gt;&amp;lt;address/&amp;gt;&lt;/strong&gt;&lt;br /&gt;        &lt;strong&gt;&amp;lt;telephone/&amp;gt;&lt;/strong&gt;&lt;br /&gt;      &amp;lt;/choiceTest&amp;gt;&lt;br /&gt;    &amp;lt;/UsingChoicesProcessResponse&amp;gt;&lt;br /&gt;  &amp;lt;/part&amp;gt;&lt;br /&gt;&amp;lt;/outputVariable&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The big question is, why are we doing this? Pretty simple, because we want to make it as easy as possible for the developer to assign values, and no need of taking care about creation of xml elements. The drawback here is clear. Having an xsd:choice element, and we create all possible elements for you, and don't remove them after the developer assigned &lt;strong&gt;the target&lt;/strong&gt; value. (a &lt;strong&gt;choice&lt;/strong&gt; must only contain one element!)&lt;br /&gt;&lt;br /&gt;What's the fix? - Overwriting this behaviour by using another &amp;lt;assign&amp;gt; rule, just before you assign a value into the chosen element. The following code piece demonstrates, what needs to be done. It's creating the target element by hand, and assigning it directly.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;assign name="Assign_WithWorkaround"&amp;gt;&lt;br /&gt;  &amp;lt;copy&amp;gt;&lt;br /&gt;    &amp;lt;from expression="&lt;strong&gt;ora:parseEscapedXML('&lt;/strong&gt;&lt;br /&gt;       &lt;strong&gt;&amp;lt;choiceTest xmlns=&amp;quot;http://xmlns.oracle.com/UsingChoices&amp;quot;&amp;gt;&lt;/strong&gt;&lt;br /&gt;       &lt;strong&gt;&amp;lt;name xmlns=&amp;quot;http://xmlns.oracle.com/UsingChoices&amp;quot;/&amp;gt;&lt;/strong&gt;&lt;br /&gt;       &lt;strong&gt;&amp;lt;/choiceTest&amp;gt;')"&lt;/strong&gt;&lt;br /&gt;    /&amp;gt;&lt;br /&gt;    &amp;lt;to variable="outputVariable" part="payload" &lt;br /&gt;        &lt;strong&gt;query="/client:UsingChoicesProcessResponse/&lt;/strong&gt;&lt;br /&gt;                &lt;strong&gt;client:choiceTest"/&amp;gt;&lt;/strong&gt;&lt;br /&gt;  &amp;lt;/copy&amp;gt;&lt;br /&gt;  &amp;lt;copy&amp;gt;&lt;br /&gt;    &amp;lt;from expression="string('testname')"/&amp;gt;&lt;br /&gt;    &amp;lt;to variable="outputVariable" part="payload" &lt;br /&gt;        query="/client:UsingChoicesProcessResponse/&lt;br /&gt;                client:choiceTest/client:name"/&amp;gt;&lt;br /&gt;  &amp;lt;/copy&amp;gt;&lt;br /&gt;&amp;lt;/assign&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;After applying appying this workaround, you should see the expected element in the flow diagram of your process instance &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;outputVariable&gt;&lt;br /&gt;  &amp;lt;part name="payload"&amp;gt;&lt;br /&gt;    &amp;lt;UsingChoicesProcessResponse&amp;gt;&lt;br /&gt;      &amp;lt;choiceTest&amp;gt;&lt;br /&gt;        &lt;strong&gt;&amp;lt;name&amp;gt;testname&amp;lt;/name&amp;gt;&lt;/strong&gt;&lt;br /&gt;      &amp;lt;/choiceTest&amp;gt;&lt;br /&gt;    &amp;lt;/UsingChoicesProcessResponse&amp;gt;&lt;br /&gt;  &amp;lt;/part&amp;gt;&lt;br /&gt;&amp;lt;/outputVariable&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Having questions? send your feedback on &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: using xsd:choice"&gt;The miracle of precreated elements&lt;/a&gt; here&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114341271699389826?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114341271699389826/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114341271699389826' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114341271699389826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114341271699389826'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/03/bpel-miracle-of-xsdchoice-with-pre.html' title='BPEL: the miracle of xsd:choice with pre-populated elements'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114333465173832828</id><published>2006-03-26T01:44:00.000+01:00</published><updated>2006-03-26T03:00:36.953+02:00</updated><title type='text'>BPEL: looping over arrays (collections) by hand</title><content type='html'>Over the last days I have seen some questions on hand-looping over arrays.&lt;br /&gt;A (long) while ago, Marc, a colleaque from Europe sent me a nice example. So I thought to publish it here. I hope I comply with copyrights here :-0 &lt;br /&gt;&lt;br /&gt;Imagine you get a collection of emps back from a service, as defined by the following schema (from DB adapter in this case)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt; &lt;br /&gt;   &amp;lt;xs:element name="EmpCollection" &lt;br /&gt;                type="EmpCollection"/&amp;gt;&lt;br /&gt;   &amp;lt;xs:element name="Emp" type="Emp"/&amp;gt;&lt;br /&gt;   &amp;lt;xs:complexType name="EmpCollection"&amp;gt;&lt;br /&gt;      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;         &amp;lt;xs:element name="Emp" type="Emp" &lt;br /&gt;                     minOccurs="0" &lt;br /&gt;                     maxOccurs="unbounded"/&amp;gt;&lt;br /&gt;      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;   &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;   &amp;lt;xs:complexType name="Emp"&amp;gt;&lt;br /&gt;      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;         &amp;lt;xs:element name="comm" type="xs:decimal"/&amp;gt;&lt;br /&gt;         &amp;lt;xs:element name="deptno" type="xs:decimal"/&amp;gt;&lt;br /&gt;         &amp;lt;xs:element name="empno" type="xs:decimal"/&amp;gt;&lt;br /&gt;         &amp;lt;xs:element name="ename" type="xs:string"/&amp;gt;&lt;br /&gt;         &amp;lt;xs:element name="hiredate" type="xs:dateTime"/&amp;gt;&lt;br /&gt;         &amp;lt;xs:element name="job" type="xs:string"/&amp;gt;&lt;br /&gt;         &amp;lt;xs:element name="mgr" type="xs:decimal"/&amp;gt;&lt;br /&gt;         &amp;lt;xs:element name="sal" type="xs:decimal"/&amp;gt;&lt;br /&gt;      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;   &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;and accordingly a message type&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;    &amp;lt;message name="EmpCollection_msg"&amp;gt;&lt;br /&gt;        &amp;lt;part name="EmpCollection" &lt;br /&gt;              element="top:EmpCollection"/&amp;gt;&lt;br /&gt;    &amp;lt;/message&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The first step is to create a variable, based on the msg type that contains this collection, and 2 counters, one (i) for the running index, and one (n) for the length of the collection. All as shown below ..&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;    &amp;lt;variable name="EmpQuerySelect_p_deptno_OutputVariable" &lt;br /&gt;              messageType="ns1:EmpCollection_msg"/&amp;gt;&lt;br /&gt;    &amp;lt;variable name="i" type="ns3:integer"/&amp;gt;&lt;br /&gt;    &amp;lt;variable name="n" type="ns3:integer"/&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Step 2, consists of getting the count of nodes and assigning 1 to the counter&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;    &amp;lt;assign name="prepare_loop"&amp;gt;&lt;br /&gt;      &amp;lt;copy&amp;gt;&lt;br /&gt;        &amp;lt;from expression="number(1)"/&amp;gt;&lt;br /&gt;        &amp;lt;to variable="i"/&amp;gt;&lt;br /&gt;      &amp;lt;/copy&amp;gt;&lt;br /&gt;      &amp;lt;copy&amp;gt;&lt;br /&gt;        &amp;lt;from expression="ora:countNodes(&lt;br /&gt;              'EmpQuerySelect_p_deptno_OutputVariable',&lt;br /&gt;              'EmpCollection','/ns2:EmpCollection/Emp')"&lt;br /&gt;        /&gt;&lt;br /&gt;        &amp;lt;to variable="n"/&amp;gt;&lt;br /&gt;      &amp;lt;/copy&amp;gt;&lt;br /&gt;    &amp;lt;/assign&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Step 3, is the while loop and to get the information from a selected node, by applying the concepts further&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;    &amp;lt;while name="While_1" &lt;br /&gt;              condition="bpws:getVariableData('i') &amp;lt;= &lt;br /&gt;                         bpws:getVariableData('n')"&amp;gt;&lt;br /&gt;      &amp;lt;scope name="Scope_1"&amp;gt;&lt;br /&gt;        &amp;lt;variables&amp;gt;&lt;br /&gt;          &amp;lt;variable name="selector" type="ns3:string"/&amp;gt;&lt;br /&gt;          &amp;lt;variable name="element" element="ns2:Emp"/&amp;gt;&lt;br /&gt;        &amp;lt;/variables&amp;gt;&lt;br /&gt;        &amp;lt;sequence name="Sequence_1"&amp;gt;&lt;br /&gt;          &amp;lt;assign name="Get_Element"&amp;gt;&lt;br /&gt;            &amp;lt;copy&amp;gt;&lt;br /&gt;              &amp;lt;from expression="concat(&lt;br /&gt;                   &amp;quot;/ns2:EmpCollection/Emp[&amp;quot;,&lt;br /&gt;                   string(bpws:getVariableData('i')),&lt;br /&gt;                   &amp;quot;]&amp;quot;)"/&amp;gt;&lt;br /&gt;              &amp;lt;to variable="selector"/&amp;gt;&lt;br /&gt;            &amp;lt;/copy&amp;gt;&lt;br /&gt;            &amp;lt;copy&amp;gt;&lt;br /&gt;              &amp;lt;from expression="bpws:getVariableData &lt;br /&gt;                 ('EmpQuerySelect_p_deptno_OutputVariable',&lt;br /&gt;                  'EmpCollection',&lt;br /&gt;                  bpws:getVariableData('selector'))"&lt;br /&gt;              /&amp;gt;&lt;br /&gt;              &amp;lt;to variable="element" query="/ns2:Emp"/&amp;gt;&lt;br /&gt;            &amp;lt;/copy&amp;gt;&lt;br /&gt;          &amp;lt;/assign&amp;gt;&lt;br /&gt;          &amp;lt;empty name="Do_stuff_with_element_Var"/&amp;gt;&lt;br /&gt;          &amp;lt;assign name="Increment_index"&amp;gt;&lt;br /&gt;            &amp;lt;copy&amp;gt;&lt;br /&gt;              &amp;lt;from expression="bpws:getVariableData('i')+1"/&amp;gt;&lt;br /&gt;              &amp;lt;to variable="i"/&amp;gt;&lt;br /&gt;            &amp;lt;/copy&amp;gt;&lt;br /&gt;          &amp;lt;/assign&amp;gt;&lt;br /&gt;        &amp;lt;/sequence&amp;gt;&lt;br /&gt;      &amp;lt;/scope&amp;gt;&lt;br /&gt;    &amp;lt;/while&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;and voila - a loop over your collection is done :-)&lt;br /&gt;&lt;br /&gt;Having questions? send your feedback on &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: looping over collections"&gt;collections&lt;/a&gt; here&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114333465173832828?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114333465173832828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114333465173832828' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114333465173832828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114333465173832828'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/03/bpel-looping-over-arrays-collections.html' title='BPEL: looping over arrays (collections) by hand'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114309002072936239</id><published>2006-03-23T05:52:00.000+01:00</published><updated>2006-03-23T06:00:20.743+01:00</updated><title type='text'>BPEL: using stateful webservices from your BPEL Process</title><content type='html'>Today one of my articles made it to otn .. it's about using stateful webservices (these are the ones, that route all calls to the same class-instance, and allow you a more application (object)oriented approach, and still being loosely coupled). &lt;br /&gt;&lt;br /&gt;The article including the sources can be found &lt;a href="http://www.oracle.com/technology/products/ias/bpel/htdocs/callingstatefulwsfrombpel.html"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Having questions? send your feedback on &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: using stateful webservices"&gt;Article on using stateful webservices from BPEL&lt;/a&gt; here&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114309002072936239?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114309002072936239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114309002072936239' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114309002072936239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114309002072936239'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/03/bpel-using-stateful-webservices-from.html' title='BPEL: using stateful webservices from your BPEL Process'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114300012074316618</id><published>2006-03-22T04:45:00.000+01:00</published><updated>2006-11-09T22:58:22.933+01:00</updated><title type='text'>BPEL: java.lang.NullPointerException: domain was null</title><content type='html'>Today 2 colleaques from different departments reported the following..&lt;br /&gt;&lt;br /&gt;When we try to connect to a BPEL server from a j2ee application we get the following&lt;br /&gt;&lt;code&gt;&lt;br /&gt;java.lang.Exception: Failed to create "ejb/collaxa/system/DomainManagerBean" bean;&lt;br /&gt;exception reported is: "java.lang.NullPointerException: domain was null&lt;br /&gt; at com.evermind.server.rmi.RMIServer.addNode(RMIServer.java:779)&lt;br /&gt; at com.evermind.server.rmi.RMIServer.getConnection(RMIServer.java:848)&lt;br /&gt; at com.evermind.server.rmi.RMIInitialContextFactory.&lt;br /&gt;getInitialContext(RMIInitialContextFactory.java:206)&lt;br /&gt; at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;if we try the same from a local java app an connect to a standalone server, everything works fine ..&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The solution:&lt;/strong&gt;&lt;br /&gt;setting the following property before using the Locator API&lt;br /&gt;props.setProperty("&lt;strong&gt;dedicated.rmicontext&lt;/strong&gt;","&lt;strong&gt;true&lt;/strong&gt;");        &lt;br /&gt;&lt;br /&gt;Locator locator = new Locator("default","bpel", props);&lt;br /&gt;&lt;br /&gt;Having questions? send your feedback on &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: nullpointer, domain was null"&gt;BPEL: java.lang.NullPointerException: domain was null&lt;/a&gt; here&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114300012074316618?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114300012074316618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114300012074316618' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114300012074316618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114300012074316618'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/03/bpel-javalangnullpointerexception.html' title='BPEL: java.lang.NullPointerException: domain was null'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114280686296767499</id><published>2006-03-19T23:12:00.000+01:00</published><updated>2006-03-19T23:21:02.980+01:00</updated><title type='text'>Oracle iMeeting rocks - 6000 miles remote debugging</title><content type='html'>Well, some readers might have noticed, that I have not blogged the last days, and even worse, almost not responded on our BPEL forums &lt;a href="http://forums.oracle.com/forums/forum.jspa?forumID=212"&gt;here&lt;/a&gt;. The reason was a very short trip back to Vienna, where I originate from, to enjoy some nice days with my loved ones - and free up my brain for the final 10.1.3 QA cycles.&lt;br /&gt;&lt;br /&gt;One day of them (friday), I decided to go to my old office, located beautifully, just accross the central inner district of vienna, to visit colleaques, and drop some stuff that I still had with me (laptop cable, cell phone and other stuff). At 2am! PDT (Pacific day time) the, in my previous entry mentioned, colleaque, called me - and I helped him via an iMeeting session, he was at home in LA, while I was in the office in Vienna (6000 miles all in all) - and remote debugging a problem in his BPELProcess. Cool - really cool.&lt;br /&gt;&lt;br /&gt;Even greater, at a point he just granted me control, and suddenly I was real-time typing on his box, and modifying his process...&lt;br /&gt;&lt;br /&gt;Welcome to the power of new collaboration tools, such as Oracle iMeeting!&lt;br /&gt;&lt;br /&gt;Having questions? send your feedback on &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: iMeeting rocks"&gt;6000 miles and iMeeting realtime&lt;/a&gt; here&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114280686296767499?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114280686296767499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114280686296767499' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114280686296767499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114280686296767499'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/03/oracle-imeeting-rocks-6000-miles.html' title='Oracle iMeeting rocks - 6000 miles remote debugging'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114280541803866806</id><published>2006-03-19T22:50:00.000+01:00</published><updated>2006-03-19T23:00:56.336+01:00</updated><title type='text'>Using XMLHelper.convertToCollaxaElement(org.w3c.dom.Element pElement) within bpelx:exec</title><content type='html'>Ever tried setting a new fresh new Dom Element with setVariableData in BPEL 10.1.2.0.2?&lt;br /&gt;&lt;br /&gt;Last week I helped one of my colleaques in LA - and he reported that using&lt;br /&gt;setVariableData was not working as expected.&lt;br /&gt;&lt;br /&gt;I remembered that the bpelx:java activty in his process was using Oracle's XML Parser to create some new dom elements by hand. &lt;br /&gt;Although the XMLElement implements org.w3c.dom.Element - the variable he tried to fill was not getting filled properly. (some kind of null, instead of filled.)&lt;br /&gt;&lt;br /&gt;Luckily I remembered a basic lesson on how the engine works behind the scenes, from one of our engineers - and he told me I need to convert a newly created element before using setVariableData to fill it into a process variable. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;How to accomplish that?&lt;/strong&gt;&lt;br /&gt;From the XMLHelper api (com.collaxa.xml.XMLHelper()) use the convertToCollaxaElement &lt;br /&gt;[org.w3c.dom.Element convertToCollaxaElement(org.w3c.dom.Element pElement)] method, and voila, your variable will be filled :-)&lt;br /&gt;&lt;br /&gt;Having questions? send your feedback on &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: convertToCollaxaElement"&gt;convertToCollaxaElement within bpelx:java&lt;/a&gt; here&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114280541803866806?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114280541803866806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114280541803866806' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114280541803866806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114280541803866806'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/03/using-xmlhelperconverttocollaxaelement.html' title='Using XMLHelper.convertToCollaxaElement(org.w3c.dom.Element pElement) within bpelx:exec'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114237438234169405</id><published>2006-03-14T22:51:00.000+01:00</published><updated>2006-03-14T23:13:54.236+01:00</updated><title type='text'>BPEL Security - Could not apply security []</title><content type='html'>Today Angel, a fellow from OCS Spain reported a bug - with the following description:&lt;br /&gt;&lt;em&gt;When I have no security constraints specified in bpel.xml, I get the following exception - anyone seen this error too?&lt;br /&gt;&lt;br /&gt;&amp;lt;2006-03-14 17:21:38,312&amp;gt; &amp;lt;FATAL&amp;gt; &amp;lt;xxx.collaxa.cube.security&amp;gt; Applying security: null&lt;br /&gt;&amp;lt;2006-03-14 17:21:38,326&amp;gt; &amp;lt;ERROR&amp;gt; &amp;lt;xxx.collaxa.cube.engine&amp;gt; &amp;lt;MessageHandlerManager::processInbound&amp;gt; Could not apply security []&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;This came from the moving of the security properties into the configurations section, away from the global suitcase level. Since version 10.1.2.0.2 the security properties need to reside in the suitcase (bpel.xml) &lt;em&gt;within&lt;/em&gt; the &lt;strong&gt;&amp;lt;configurations&amp;gt;&lt;/strong&gt; element.&lt;br /&gt;&lt;br /&gt;I have filed bug (5094981) and fixed it for 10.1.3. If needed just drop me a line, and I'll send you the patched class.&lt;br /&gt;&lt;br /&gt;The workaround is to put an empty &lt;strong&gt;&amp;lt;/configurations&amp;gt;&lt;/strong&gt; tag into the suitcase, within the &lt;strong&gt;&amp;lt;BPELProcess&amp;gt;&lt;/strong&gt; element.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Having questions? send your feedback on &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: BPEL security null"&gt;Exception when applying security [null]&lt;/a&gt; here&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114237438234169405?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114237438234169405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114237438234169405' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114237438234169405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114237438234169405'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/03/bpel-security-could-not-apply-security.html' title='BPEL Security - Could not apply security []'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114230837857008464</id><published>2006-03-14T01:16:00.000+01:00</published><updated>2006-03-14T22:47:06.770+01:00</updated><title type='text'>Using the public API provided within embedded java code (bpelx:java)</title><content type='html'>After seeing some questions around on out-of-the-box methods within a BPELX:EXEC activity I thought putting together a little note on methods I use most..&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;checkpoint():void - force dehydration (and commit)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;getLocator():Locator - get the Locator to lookup other instances, processes&lt;/li&gt;&lt;br /&gt;&lt;li&gt;getInstanceId():String - retrieve the ID of the instance running != conversationID&lt;/li&gt;&lt;br /&gt;&lt;li&gt;getConversationId():String - get the conversation ID (GUID)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;getCompletionPersistMode():String - get the mode (faulted, on, off) &lt;/li&gt;&lt;br /&gt;&lt;li&gt;getParentId():String - get the ID of the parent (can be null)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;getPreference(String key):String - get a preference from the suitcase (bpel.xml)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;getInstanceProperties():Map - returns the properties of this specif instances&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;and of course the probably most famous ones&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;set/getVariableData :-)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;addAuditTrailEntry(String):void - add an entry to the Audit trail&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Having questions? send your feedback on &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: internal execlet api"&gt;Using the public API from execlets&lt;/a&gt; here&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114230837857008464?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114230837857008464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114230837857008464' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114230837857008464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114230837857008464'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/03/using-public-api-provided-within.html' title='Using the public API provided within embedded java code (bpelx:java)'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114211383934725089</id><published>2006-03-11T21:27:00.000+01:00</published><updated>2006-03-11T22:53:06.376+01:00</updated><title type='text'>BPEL transactions, part 2 - Understanding compensation</title><content type='html'>In yesterdays note, I talked a little bit about transactions, and how they are handled within the boundaries of a process instance. Today in part 2, we will dive a little bit more into the concepts of &amp;lt;compensation&amp;gt; activities. &lt;br /&gt;&lt;br /&gt;As BPEL itself is considered to be stateless, Alex, one of my colleques and the fellows from the WSBPEL spec team, came up with the concepts of compensation.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Compensations &lt;/strong&gt;consist of 2 parts,&lt;br /&gt;the &lt;strong&gt;compensation handler&lt;/strong&gt;, and the &lt;strong&gt;compensate activity&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Defintion:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Each &lt;em&gt;scope&lt;/em&gt; can have &lt;strong&gt;one&lt;/strong&gt; &lt;em&gt;compensation handler&lt;/em&gt; &lt;/li&gt;&lt;br /&gt;&lt;li&gt;A &lt;em&gt;compensation handler&lt;/em&gt; defines an undo sequence for the &lt;em&gt;scope&lt;/em&gt; it is bound to, for example "cancel flight"&lt;/li&gt;&lt;br /&gt;&lt;li&gt;A &lt;em&gt;compensation handler&lt;/em&gt; can be called directly (by specifying a scope) or indirectly by a &lt;em&gt;compensate activity&lt;/em&gt; &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;The usecase:&lt;br /&gt;Consider a flow, where a user can pass a date and a location, and the flow will search for / book a flight - and afterwards try to book a hotel room.&lt;br /&gt;Given the hotel is not available, the flight should be cancelled.&lt;br /&gt;&lt;br /&gt;The solution:&lt;br /&gt;As per above definitions the ReserveAirline scope will have a &lt;em&gt;compensation handler&lt;/em&gt; attached, that contains the logic for canceling the previously booked flight. &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  &amp;lt;scope name="ReserveAirline"&amp;gt;&lt;br /&gt;    &amp;lt;!-- define a compensation handler --&amp;gt;&lt;br /&gt;    &lt;strong&gt;&lt;em&gt;&amp;lt;compensationHandler&amp;gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;      &amp;lt;!-- call cancel ticked --&amp;gt;&lt;br /&gt;        &amp;lt;invoke name="Invoke_CancelTicket" &lt;br /&gt;                partnerLink="AirlineBookingService"&lt;br /&gt;                portType="airline:airlineBooking"&lt;br /&gt;                &lt;strong&gt;operation="cancelSeat"&lt;/strong&gt;/&amp;gt;&lt;br /&gt;    &lt;strong&gt;&lt;em&gt;&amp;lt;/compensationHandler&amp;gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;    &amp;lt;sequence name="Sequence_1"&amp;gt;&lt;br /&gt;        &amp;lt;invoke name="Invoke_BookTicket" &lt;br /&gt;                partnerLink="AirlineBookingService"&lt;br /&gt;                portType="airline:airlineBooking"&lt;br /&gt;                &lt;strong&gt;operation="reserveSeat&lt;/strong&gt;"/&amp;gt;&lt;br /&gt;    &amp;lt;/sequence&gt;&lt;br /&gt;  &amp;lt;/scope&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;The next step in this little sample happens within the scope, responsible for booking a hotel room ()&lt;br /&gt;&lt;br /&gt;The operation to reserve a hotel room (reserveHotel) throws a fault if no room is avaiable for the given dates &lt;em&gt;hotel:NoRoomAvailfault&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  &amp;lt;scope name="ReserveHotel"&amp;gt;&lt;br /&gt;    &amp;lt;faultHandlers&amp;gt;&lt;br /&gt;      &lt;em&gt;&amp;lt;catch faultName="hotel:NoRoomAvailfault"&lt;/em&gt;&lt;br /&gt;        &lt;strong&gt;&amp;lt;throw name="RollBack"&lt;/strong&gt; &lt;br /&gt;               &lt;strong&gt;faultName="client:rollBackFault"/&amp;gt;&lt;/strong&gt;&lt;br /&gt;      &lt;em&gt;&amp;lt;/catch&amp;gt;&lt;/em&gt;&lt;br /&gt;    &amp;lt;/faultHandlers&amp;gt;&lt;br /&gt;    &amp;lt;sequence name="Sequence_2"&lt;br /&gt;      &amp;lt;invoke name="Invoke_ReserveHotel" &lt;br /&gt;              partnerLink="hotel" &lt;br /&gt;              portType="ReservationSystem" &lt;br /&gt;              operation="bookRoom"/&amp;gt;&lt;br /&gt;    &amp;lt;/sequence&amp;gt;&lt;br /&gt;  &amp;lt;/scope&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;In the above code a &lt;em&gt;catch&lt;/em&gt; block is defined to catch the specific fault we&lt;br /&gt;expect and throws itself a &lt;em&gt;rollBackFault&lt;/em&gt; to the parent scope, that will trigger the &lt;strong&gt;compensation&lt;/strong&gt;, we have defined earlier.&lt;br /&gt;&lt;br /&gt;The last part is is to define a &lt;em&gt;catch block&lt;/em&gt; on the parent scope, that triggers in case of a &lt;em&gt;rollbackFault&lt;/em&gt; and fires the compensation defined on the &lt;em&gt;ReserveAirline&lt;/em&gt; scope. &lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  &amp;lt;faultHandlers&amp;gt;&lt;br /&gt;    &amp;lt;!-- catch the rollback fault and call --&amp;gt;&lt;br /&gt;    &amp;lt;catch &lt;em&gt;faultName="client:rollbackFault"&lt;/em&gt;&amp;gt;&lt;br /&gt;      &lt;strong&gt;&amp;lt;compensate name="CompensateBoookings"&lt;/strong&gt; &lt;br /&gt;                  &lt;strong&gt;scope="ReserveAirline"/&amp;gt;&lt;/strong&gt;&lt;br /&gt;    &amp;lt;/catch&amp;gt;&lt;br /&gt;  &amp;lt;/faultHandlers&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;Having questions? send your feedback on &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: compensations"&gt;Understanding compensation in BPEL PM&lt;/a&gt; here&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114211383934725089?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114211383934725089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114211383934725089' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114211383934725089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114211383934725089'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/03/bpel-transactions-part-2-understanding.html' title='BPEL transactions, part 2 - Understanding compensation'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114204343712425214</id><published>2006-03-11T02:11:00.000+01:00</published><updated>2007-01-18T13:03:09.576+01:00</updated><title type='text'>loosely coupled and transacted ?!</title><content type='html'>During the last days some fellows from all around asked me on the same thing - &lt;em&gt;what's on with transactions in a BPEL process&lt;/em&gt;, &lt;em&gt;can a partnerlink participate&lt;/em&gt;, &lt;em&gt;what are the limitations&lt;/em&gt; and so on. After consulting our engineers, I thought to put a little note together, that explains the basic concepts, supported combinations, and their impacts. &lt;br /&gt;&lt;br /&gt;In general, each partner called from within a process can participate in the global transaction, but this has to be specified on PLNK level (through setting the &lt;em&gt;participate&lt;/em&gt; property to &lt;strong&gt;yes&lt;/strong&gt;)&lt;br /&gt;&lt;br /&gt;Lets consider a simple usecase, a sync process that takes the input and saves it into the DB (by using the DB Adapter functionality). If you just deploy this process and run it, the record will be commited immediatly at the invoke time of the partnerlink. Why, because Toplink used its own connection pool, that is not aware of any global jta transaction. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Solution:&lt;/strong&gt; use an XA aware datasource (ejb-location) - specify the participate property, and we will do the rest for you.&lt;br /&gt;But where in the lifecycle of the process does the global commit happen? In this usecase, the engine will commit with the time it has replied. Time to discover the whys here..&lt;br /&gt;&lt;br /&gt;Understanding BPEL PMs transactional behaviour turns down to one question, when, at what points, does the engine commit.&lt;br /&gt;&lt;br /&gt;These commits happen ..&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;before a &lt;strong&gt;receive&lt;/strong&gt; activity (but not the initial one!)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;before a &lt;strong&gt;wait&lt;/strong&gt; activity (otherwise the engine could run into a tx timeout)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;before an &lt;strong&gt;onMessage&lt;/strong&gt;, or &lt;strong&gt;pick&lt;/strong&gt;(extended onMessage) activity&lt;/li&gt;&lt;br /&gt;&lt;li&gt;when using checkPoint() within a &lt;strong&gt;bpelx:exec&lt;/strong&gt; activity&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Another interesting usecase is an external call, say to a java class through WSIF (Apache Webservice Invocation Framework) - guess what, the same rules apply, given you specify the &lt;em&gt;participate&lt;/em&gt; property on the partnerlink. This means if you lookup a transactional Datasource from within your java class, that is bound through wsif, the commit on this DS will happen within the global JTA commit cycle, based upon the process activities that follow your java callout.&lt;br /&gt;&lt;br /&gt;Having questions? send your feedback on &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: transactions in bpel"&gt;loosely coupled OR transacted&lt;/a&gt; here&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114204343712425214?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114204343712425214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114204343712425214' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114204343712425214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114204343712425214'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/03/loosely-coupled-and-transacted.html' title='loosely coupled and transacted ?!'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114187250960553672</id><published>2006-03-09T03:40:00.000+01:00</published><updated>2006-12-08T18:39:55.473+01:00</updated><title type='text'>Initiating a bpel process from a MDB within the same oc4j instance</title><content type='html'>A colleque of mine reported yesterday the following scenario ..&lt;br /&gt;&lt;br /&gt;As per customer requirement, he needs to initiate a new process from an MDB ( a message driven bean, bound to jms queue or topic) .. So he created a standalone java client class and used the com.oracle.bpel.client.Locator class (as in tutorial 102.InvokingProcesses/rmi). As the application was running outside of the server he used the follwing API call&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public Locator(java.lang.String domainId,&lt;br /&gt;               java.lang.String password,&lt;br /&gt;               &lt;em&gt;Hashtable pInitialContextProperties)&lt;/em&gt;&lt;br /&gt;  throws ServerException&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Then he implemented his MDB - with the onMessage() method and the former application code within it .. interestingly it failed, throwing a strange exception .. Not just a NameNotFound (if you encounter this one, here is a link with &lt;a href="http://clemensblog.blogspot.com/2006/02/infamous-javaxnamingnamenotfound.html"&gt;details&lt;/a&gt;) - but also another famous one, the INVALID_WSDL as shown below&lt;br /&gt;&lt;em&gt;&lt;br /&gt;&lt;2006-03-07 12:01:27,003&gt; &lt;ERROR&gt; &lt;default.collaxa.cube&gt; &lt;BaseCubeSessionBean::logError&gt; Error while invoking bean "delivery": Failed to read wsdl. Failed to read wsdl at &lt;br /&gt;"http://host:9700/orabpel/default/BPELProcessForRH/&lt;br /&gt;1.0/_BPELProcessForRH.wsdl", because "WSDLException: faultCode=INVALID_WSDL:&lt;br /&gt;The document: http://host:9700/orabpel/default/BPELProcessForRH/&lt;br /&gt;1.0/_BPELProcessForRH.wsdl is not a wsdl file or does not have a root element of "definitions" in the "http://schemas.xmlsoap.org/wsdl/" namespace or the "http://www.w3.org/2004/08/wsdl" namespace.".&lt;br /&gt;&lt;br /&gt;Make sure wsdl is valid. You may need to start the OraBPEL server, or make sure the related bpel process is deployed correctly.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Here is the solution ..&lt;/strong&gt;&lt;br /&gt;As you are already in a container transaction (remember your mdb is an ejb) &amp; within a context, use the following constructor on the Locator class instead&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;public Locator(java.lang.String domainId,&lt;br /&gt;               java.lang.String password)&lt;br /&gt;  throws ServerException&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;and besides, ensure that the mdb application is a child application of orabpel.. (which can be configured in the server.xml with the parent attribute)&lt;br /&gt;&lt;br /&gt;Having questions? send your feedback on &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: "&gt;Initiating a process from within a mdb&lt;/a&gt; here&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114187250960553672?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114187250960553672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114187250960553672' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114187250960553672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114187250960553672'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/03/initiating-bpel-process-from-mdb.html' title='Initiating a bpel process from a MDB within the same oc4j instance'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114169492000782022</id><published>2006-03-07T02:12:00.000+01:00</published><updated>2007-02-23T07:48:44.026+01:00</updated><title type='text'>Support for mulitple WSDL operations within one BPEL process</title><content type='html'>Today, as I was writing on a technote, I found a nice sample again, built some time ago for a danish customer. I thought to share it with you.&lt;br /&gt;&lt;br /&gt;It's about having a BPEL process offering multiple operations such as createCustomer, deleteCustomer and so on ..&lt;br /&gt;&lt;br /&gt;Usually you get a wsdl from a service provider, that already contains bindings and services (of course - someone already implemented it :-D) &lt;br /&gt;&lt;br /&gt;When you try to import it now as client PLNK - the bpel designer (and compiler) will complain? Why? Because &lt;strong&gt;you&lt;/strong&gt; are going to be the &lt;strong&gt;service provider&lt;/strong&gt; and not the service &lt;em&gt;consumer&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;In a nutshell, delete the binding(s) and service(s) section in the wsdl, and try again, it will work.&lt;br /&gt;&lt;br /&gt;Ok, back to the beginning ..&lt;br /&gt;&lt;br /&gt;Start with a new BPEL project (type &lt;em&gt;empty process&lt;/em&gt;). Add a new partnerlink, and name it client - base it on your new wsdl (that is by now binding/service - less). Step one is done, the new face of your process contains all the nice operations defined in the wsdl.&lt;br /&gt;&lt;br /&gt;Afterwards create an &lt;em&gt;initial&lt;/em&gt; pick activity (and flag it to create a new instance). From the pick, delete the &lt;em&gt;onAlarm&lt;/em&gt; branch (as it is initiating!), and for each operation add a new branch, to do whatever the process might require. Choose in each branch an operation from the partnerlink and add the callbacks accordingly (invoke/reply - as defined)&lt;br /&gt;&lt;br /&gt;Voila, you multi operation BPEL process is ready to rock..&lt;br /&gt;&lt;br /&gt;Having questions? send your feedback on &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: multiple operations in BPEL"&gt;multiple operations in one bpel process&lt;/a&gt; here&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114169492000782022?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114169492000782022/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114169492000782022' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114169492000782022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114169492000782022'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/03/support-for-mulitple-wsdl-operations.html' title='Support for mulitple WSDL operations within one BPEL process'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114160738153588459</id><published>2006-03-06T01:52:00.000+01:00</published><updated>2006-03-06T02:22:39.266+01:00</updated><title type='text'>Another new feature: Oracle BPEL and Schematron validation</title><content type='html'>For all those not knowing what Schematron is, it's about content based validation for xml (see &lt;a href="http://xml.ascc.net/resource/schematron/schematron.html"&gt;here&lt;/a&gt; for more info)&lt;br /&gt;&lt;br /&gt;Here is a little example, let's consider the following instance XML: &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;add sum="6"&amp;gt;&lt;br /&gt;    &amp;lt;item&amp;gt;2&amp;lt;/item&amp;gt;&lt;br /&gt;    &amp;lt;item&amp;gt;4&amp;lt;/item&amp;gt;&lt;br /&gt;&amp;lt;/add&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The validation rule we want to apply is: &lt;br /&gt;&lt;em&gt;The value of the ‘sum’ attribute of  ‘add’ must equal the sum of all the &lt;br /&gt;‘item’ elements.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;And the schematron code looks like this: &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;sch:schema xmlns:sch="http://www.ascc.net/xml/schematron"&amp;gt;&lt;br /&gt;    &amp;lt;sch:pattern name="Check sum"&amp;gt;&lt;br /&gt;        &amp;lt;sch:rule context="add"&amp;gt;&lt;br /&gt;            &amp;lt;sch:assert test="@sum = sum(item)"&amp;gt;&lt;br /&gt;                    The value of the sum attribute should &lt;br /&gt;                    be the sum of all the values in the &lt;br /&gt;                    item child elements.&lt;br /&gt;            &amp;lt;/sch:assert&amp;gt;&lt;br /&gt;        &amp;lt;/sch:rule&amp;gt;&lt;br /&gt;    &amp;lt;/sch:pattern&amp;gt;&lt;br /&gt;&amp;lt;/sch:schema&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Cool, really cool .. The power of Schematron is the ability of context based, cross document validation, you are able to do domain validation (like is Author a in my &lt;em&gt;external&lt;/em&gt; list of allowed authors)&lt;br /&gt;&lt;br /&gt;So what we are doing in BPEL with it? We integrated &lt;strong&gt;to&lt;/strong&gt; it (and leverage it as &lt;em&gt;external&lt;/em&gt; service) - and with BPEL PM 10.1.3 it will be avaiable as part of the bpel infrastructure - ready to use. &lt;br /&gt;&lt;br /&gt;And of course preparing a nice sample on how to leverage this feature&lt;br /&gt;&lt;br /&gt;If anyone out there is interested in a preview of this - pls. let me know, and&lt;br /&gt;I'll send out my little sample, beta tag'ed :-)&lt;br /&gt;&lt;br /&gt;Having questions? send your feedback on &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: Schematron"&gt;Schematron integration&lt;/a&gt; here&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114160738153588459?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114160738153588459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114160738153588459' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114160738153588459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114160738153588459'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/03/another-new-feature-oracle-bpel-and.html' title='Another new feature: Oracle BPEL and Schematron validation'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114123880366171255</id><published>2006-03-01T19:08:00.000+01:00</published><updated>2006-06-12T16:55:30.020+02:00</updated><title type='text'>Heads down for BPELPM 10.1.3 - nightly impressions ..</title><content type='html'>While playing with my nigthly 10.1.3 build from yesterday (we moved into heads down mode!), I noticed not only one, but 100's of little and big improvements for usability, easier development and of course a lot of new, cool features. Here is an excerpt (gathered on a caltrain ride from and to the office :-D)..&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Important note: &lt;/strong&gt;&lt;br /&gt;As the following impressions have been gathered from a nightly build, I don't add screenshots, as the layout, or icons might change a little as of the ongoing development/QA process.&lt;br /&gt;&lt;br /&gt;After installation - and reconfiguration to point to my Oracle XE DB (howto is &lt;a href="http://clemensblog.blogspot.com/2006/02/using-oracle-xe-for-bpel-dehydration.html"&gt;here&lt;/a&gt;) - I was keen to see play with the new BPEL Designer, itnegrated in our JDeveloper 10.1.3 - and wow!&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Choose elements for input / output variables at creation of process,&lt;br /&gt;no more choosing, or modification afterwards needed - to change them (of course, you can still do it as you were used to)&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Tooltips on each activity - reveice, invoke - now expose information&lt;br /&gt;on the operation invoked/received and the type (request/response, fire and forget ..)&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Application navigator - logical gouping&lt;br /&gt; - schemas&lt;br /&gt; - sensors&lt;br /&gt; - testsuites&lt;br /&gt; - one subgroup for each Partnerlink, that can be expanded to show the wsdl/schema defintions for it (In/Out-put header, ..)&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Awesome look and feel of the modeler, as of the new IDE Framework,&lt;br /&gt;have you looked at JDeveloper 10.1.3 yet? (if not, &lt;a href="http://www.oracle.com/technology/products/jdev/collateral/newtojdev.html"&gt;here&lt;/a&gt; is the link), to get an impression of the greatly improved overall look and feel&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Automatic hints in modeler on activities (such as not initialized variables)&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Build / deploy using obant, automatic creation of local deploy and remote deploy targets, part of bpelc task now&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;New, improved (reorder of) component palette &lt;br /&gt; - BPEL Activities (religously BPEL spec'ed ones)&lt;br /&gt; - Adapter Service (all the adapters we provide out of the box, typed)&lt;br /&gt; - BPEL Extensions (Decision Service, Transform, receive signals)&lt;br /&gt; - Notifications (Email, Pager, Fax, SMS, Voice)&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;New human workflow, far more choices - improved usability&lt;br /&gt;strict seperation of task and routing slip&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Assign offers you direct choice of what you want to do ..&lt;br /&gt; - copy rule, append rule, remove rule&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;After creating my little process, and deploying it to my server (right click on build.xml and choose run default target), click click click&lt;br /&gt;I find myself back in the bpel console.&lt;br /&gt;&lt;br /&gt;More impressions, console.. &lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;BPEL Domain users/ and the admin are now jaas based; Each domain will have a group assigned, so more users for each domain are possible, allows access tracking - and of course integration into the container based Identity Mgmt (jazn/oid/..) &lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;After running your process, click on tests and save your inputs for running as testcase / or integration test&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;This is just a little excerpt of things, that I've noticed while testing, more impressions to come soon, while Meera, our Adapter PM, is preparing a big list of new features, more detailed.. If you are interested in specific features check out our previews on the &lt;a href="http://www.oracle.com/technology/products/ias/bpel/htdocs/webinars.html"&gt;BPEL PM webinar site&lt;/a&gt; and &lt;a href="http://conference.oracle.com/imtapp/app/conf_enrollment.uix?mID=37416642"&gt;register&lt;/a&gt; for the upcoming 10.1.3 preview one.&lt;br /&gt;&lt;br /&gt;Time to watch out for big news on &lt;a href="http://otn.oracle.com/bpel"&gt;OTN's SOA Center&lt;/a&gt; soon.&lt;br /&gt;&lt;br /&gt;Having questions? Feedback me on this entry &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: BPEL 10.1.3 impressions"&gt;Oracle BPEL PM 10.1.3 impressions&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114123880366171255?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114123880366171255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114123880366171255' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114123880366171255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114123880366171255'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/03/heads-down-for-bpelpm-1013-nightly.html' title='Heads down for BPELPM 10.1.3 - nightly impressions ..'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114108389999751264</id><published>2006-02-28T00:36:00.000+01:00</published><updated>2006-02-28T00:47:08.750+01:00</updated><title type='text'>BPEL Security changes between 10.1.2 Patch 2 and 10.1.2.0.2</title><content type='html'>As I have read on otn forums today, see &lt;a href="http://forums.oracle.com/forums/thread.jspa?threadID=365959&amp;tstart=0"&gt;here&lt;/a&gt;, there seems to be some confusion on the currently supported security - and specially how to implement it in the current release.&lt;br /&gt;&lt;br /&gt;So I thought to write a little blog note, to clarify this.&lt;br /&gt;&lt;br /&gt;The security features where implemented as a preview in 10.1.2 Patch 2, and at this time the webinar was recorded showing this features. Moving forward to the current production release (10.1.2.0.2), some of the configuration parts where haevily changed to fit into the domain concept, and a message handler framework was introduced, to intercept incoming calls.&lt;br /&gt;&lt;br /&gt;As of this, no configuration is done in the console any more, and no configuration needs to be done in a custom file - to enable.&lt;br /&gt;The one and only place for configuring security is now in message-handlers.xml, located in $BPEL_HOME/domains/your domain/config directory. Here the interceptor and the actual implementation is configured.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;    &amp;lt;message-handler id="security"&amp;gt;&lt;br /&gt;        &amp;lt;classname&gt;com.collaxa.cube.security.Authenticator&amp;lt;/classname&amp;gt;&lt;br /&gt;        &amp;lt;comment&amp;gt;&lt;br /&gt;        &amp;lt;![CDATA[THis is the handler for security interception]]&amp;gt;&lt;br /&gt;        &amp;lt;/comment&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;property id="ACLManager"&amp;gt;&lt;br /&gt;           &amp;lt;value&amp;gt;BPMIdentityValidator&amp;lt;/value&amp;gt;&lt;br /&gt;            &amp;lt;comment&amp;gt;&amp;lt;![CDATA[BPMIdentityValidator uses the server &lt;br /&gt;                     configured security such as JAAS to validate the &lt;br /&gt;                     user against]]&amp;gt;&lt;br /&gt;            &amp;lt;/comment&amp;gt;&lt;br /&gt;        &amp;lt;/property&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;property id="SecuredProcesses"&amp;gt;&lt;br /&gt;            &amp;lt;value&amp;gt;SecuredCreditRatingService&amp;lt;/value&amp;gt;&lt;br /&gt;            &amp;lt;comment&amp;gt;&amp;lt;![CDATA[Processes can be secured &lt;br /&gt;                     explicitely without having effect on the whole &lt;br /&gt;                     domain, put their names in here and comma seperate &lt;br /&gt;                     them]]&amp;gt;&lt;br /&gt;            &amp;lt;/comment&amp;gt;&lt;br /&gt;        &amp;lt;/property&amp;gt;&lt;br /&gt;               &lt;br /&gt;    &amp;lt;/message-handler&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;If you decide to implement your own validator, either based on ACLManager interface&lt;br /&gt;or based on BPELProcessValidator, you only need to change the value of the ACLManager property pointing to your class, and put it into system/classes directory.&lt;br /&gt;&lt;br /&gt;Finally, ensure that the interceptor is used, by uncommenting the security part &lt;br /&gt;withing the inbound flow - as shown here&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;    &amp;lt;inbound-flow&gt;        &lt;br /&gt;         &amp;lt;message-handler id="security" /&gt;&lt;br /&gt;    &amp;lt;/inbound-flow&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;For more information and a detailed sample, check out 133.InvokingSecuredProcesses &lt;br /&gt;tutorial in samples/tutorials folder.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114108389999751264?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114108389999751264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114108389999751264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114108389999751264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114108389999751264'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/02/bpel-security-changes-between-1012.html' title='BPEL Security changes between 10.1.2 Patch 2 and 10.1.2.0.2'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114090898066563679</id><published>2006-02-25T23:45:00.000+01:00</published><updated>2006-02-26T00:14:40.746+01:00</updated><title type='text'>Using Oracle XE for BPEL dehydration store of 2 instances</title><content type='html'>Today, while downloading the newest (nightly) 10.1.3 BPEL engine build - it knocked me again, installation will upgrade my Oracle Lite instance (yes it's the developer version *argh*, I did not install a fletched Enterprise Edition) - outcome is the timecosting restore (= filecopy of the config files from/to the windows home)&lt;br /&gt;&lt;br /&gt;But a minute later I remembered this &lt;a href="http://blogs.oracle.com/otn/2006/02/24#a109"&gt;posting&lt;/a&gt; on Oracle XE - and  thought to give it a shot (thx orablogs!).&lt;br /&gt;&lt;br /&gt;10 minutes download, another 10 to have the installer configuring it (all on a dell 600, 1 gig ram) - and it was up and running.. &lt;br /&gt;&lt;strong&gt;1st wow:&lt;/strong&gt; the htmldb (aka Application Express) administration in the browser, that works like a charme and offers you cool admin features (of course for a non DBA like me this is cool)&lt;br /&gt;&lt;strong&gt;2nd wow:&lt;/strong&gt; it supports all what I need, tables, views, indices (well it's a db, I know) and plsql :-) &lt;br /&gt;&lt;br /&gt;So lets get to work .. &lt;strong&gt;Note: this has to be done for each installation&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;create a user (I append the version number, to seperate them) (create user orabpel101202 identified by orabpel) -  for 10.1.2.0.2 repo&lt;/li&gt;&lt;br /&gt;&lt;li&gt;grant connect, resource and create view privileges to this account&lt;/li&gt;&lt;br /&gt;&lt;li&gt;and then run &lt;em&gt;server_oracle.ddl&lt;/em&gt; and &lt;em&gt;domain_oracle.ddl&lt;/em&gt; from $BPEL_HOME/system/database/scripts &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Next step, a quick look into datasources.xml ($BPEL_HOME/\system\appserver\oc4j\j2ee\home\config), changing the datasources to use thin drivers instead of olite and connecting them to the XE db (localhost:1521:XE) and voila, it worked!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;XE and BPEL rock!&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Having questions? Feedback me on this entry &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: oracle XE"&gt;Oracle xe &amp; bpel&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114090898066563679?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114090898066563679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114090898066563679' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114090898066563679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114090898066563679'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/02/using-oracle-xe-for-bpel-dehydration.html' title='Using Oracle XE for BPEL dehydration store of 2 instances'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114089094161169434</id><published>2006-02-25T19:04:00.000+01:00</published><updated>2007-02-03T20:18:46.253+01:00</updated><title type='text'>BPELPM: Cannot find/lookup WSDL at runtime</title><content type='html'>Another famous one, we see from time to time..&lt;br /&gt;Here is the usecase:&lt;br /&gt;a) a new process is created, that has a partnerlink to another service&lt;br /&gt;b) at designtime everything compiles fine (which means dependency resolution worked)&lt;br /&gt;and at runtime, the famous &lt;strong&gt;cannot find/read wsdl&lt;/strong&gt; error appears.&lt;br /&gt;&lt;br /&gt;If you encounter this, check your proxy settings, they might be an issue.&lt;br /&gt;where?&lt;br /&gt;&lt;br /&gt;a) if you use the developer's edition, start_orabpel.bat/sh ($BPEL_HOME/bin) is the place to go&lt;br /&gt;b) in case of a midtier install go to $AS_HOME/opmn/conf/opmn.xml and search for the &lt;br /&gt;OC4J_BPEL entry.&lt;br /&gt;&lt;br /&gt;Having questions? Feedback me on this entry &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: "&gt;BPEL Proxy Issue&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114089094161169434?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114089094161169434/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114089094161169434' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114089094161169434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114089094161169434'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/02/bpelpm-cannot-findlookup-wsdl-at.html' title='BPELPM: Cannot find/lookup WSDL at runtime'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114082164238503715</id><published>2006-02-24T23:49:00.000+01:00</published><updated>2007-02-04T21:45:20.300+01:00</updated><title type='text'>OTN Forum offensive</title><content type='html'>You might have recognized that we try to reply pretty fast on inquiries you file on our bpel forum (&lt;a href="http://forums.oracle.com/forums/forum.jspa?forumID=212"&gt;here&lt;/a&gt;). &lt;br /&gt;&lt;br /&gt;We think it is important to publicly share knowledge, between you, our users and customers, and help spreading it, over the forums, as they are searchable, and meanwhile a lot of fellows search here &lt;em&gt;first&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;But to help you better, and shorten the request/response cycle, we need your help too.&lt;br /&gt;&lt;br /&gt;Please, whenever you encounter trouble, specify your enviroment, &lt;br /&gt;which version you are using (such as 10.1.2.0.2, with patch xyz), which plattform (such as standalone developer edition, or midtier install) .. and anything more to help us providing you with better information, faster.&lt;br /&gt;&lt;br /&gt;Thank you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114082164238503715?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114082164238503715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114082164238503715' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114082164238503715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114082164238503715'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/02/otn-forum-offensive.html' title='OTN Forum offensive'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114082077427379491</id><published>2006-02-24T23:36:00.000+01:00</published><updated>2006-02-24T23:39:34.273+01:00</updated><title type='text'>The infamous javax.naming.NameNotFound exception</title><content type='html'>Are you hitting this one too, after deploying a jsp application into the BPEL container, and wonder why it's not working, even as it is the same one that we ship?&lt;br /&gt;&lt;br /&gt;The reason for this to happen is the EJB access .. BPEL delivery service is based on an EJB, and as we use lookup, you &lt;strong&gt;must&lt;/strong&gt; ensure, that your application is a child of orabpel. &lt;br /&gt;&lt;br /&gt;Where to do this?&lt;br /&gt;in $OC4J_HOME/j2ee/home (or OC4J_BPEL on a midtier install)/server.xml&lt;br /&gt;herein all you applications are defined.&lt;br /&gt;&lt;br /&gt;check you application entry, for an attribute named &lt;em&gt;parent&lt;/em&gt;, with the value set to &lt;em&gt;orabpel&lt;/em&gt;. If it's not there, this is the reason.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114082077427379491?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114082077427379491/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114082077427379491' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114082077427379491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114082077427379491'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/02/infamous-javaxnamingnamenotfound.html' title='The infamous javax.naming.NameNotFound exception'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-114081980988252909</id><published>2006-02-24T22:57:00.000+01:00</published><updated>2006-02-24T23:35:54.266+01:00</updated><title type='text'>Consuming statefull webservices from bpel</title><content type='html'>Oracle offers a nice way of creating state within webservices, this means if you create your webservice from a java class, you can turn a nce flag, and suddenly, given you hold the http session open (keep alive'd) you can call more then one method on it ..&lt;br /&gt;&lt;br /&gt;Lets consider a small sample java class, which represents you webservice implementation.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;package com.otn.samples;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * Just a simple class, doing nothing more then setting a&lt;br /&gt; * value in a member and checking it the next time, when a&lt;br /&gt; * method is called.&lt;br /&gt; *&lt;br /&gt; * @author clemens utschig&lt;br /&gt; */&lt;br /&gt;public class StatefullWebserviceClass&lt;br /&gt;{&lt;br /&gt;  /**&lt;br /&gt;   * member to show wheter a client called logon&lt;br /&gt;   */&lt;br /&gt;  private boolean isLoggedIn = false;&lt;br /&gt;&lt;br /&gt;  /**&lt;br /&gt;   * logon method, sets the member &lt;code&gt;isLoggedIn&lt;code&gt; to true&lt;br /&gt;   * @webmethod&lt;br /&gt;   */&lt;br /&gt;  public void logon() {&lt;br /&gt;    isLoggedIn = true;&lt;br /&gt;  }&lt;br /&gt; &lt;br /&gt;  /**&lt;br /&gt;   * Returns Hello concatinated with &lt;code&gt;pName&lt;code&gt;&lt;br /&gt;   * In case logon was not called, it will throw an exception&lt;br /&gt;   * saying the user is not logged in!&lt;br /&gt;   *&lt;br /&gt;   * @param pName the name passed&lt;br /&gt;   * @return the concatinated String&lt;br /&gt;   * @webmethod&lt;br /&gt;   */&lt;br /&gt;  public String getGreeting(String pName) throws Exception&lt;br /&gt;  {&lt;br /&gt;    if (!isLoggedIn)&lt;br /&gt;      throw new Exception("Not logged in");&lt;br /&gt;     &lt;br /&gt;    return "Hello " + pName;&lt;br /&gt;  }&lt;br /&gt; &lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;/code&gt;&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;In short, as long as you have not called logon, the call to getGreeting will return&lt;br /&gt;you an exception.&lt;br /&gt;&lt;br /&gt;The solution to this problem is the introduction of custom header handlers in bpel.&lt;br /&gt;HeaderHandlers can be applied to any partnerlink, and are used to provide/retrieve specific (incl.protocol agnostic) information to/from the partnerlink.&lt;br /&gt;&lt;br /&gt;Drawback: They are configured in the deployment descriptor (bpel.xml) and are &lt;strong&gt;not&lt;/strong&gt; in the bpelstandard!&lt;br /&gt;&lt;br /&gt;Here is the configuration, that needs to be done &lt;strong&gt;within&lt;/strong&gt; the partnerlinkbinding section:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;  &amp;lt;partnerLinkBinding name="StatefullWebservice"&amp;gt;&lt;br /&gt;    &amp;lt;property name="requestHeaderHandlers"&amp;gt;&lt;br /&gt;         com.otn.samples.statehandler.OutboundHandlerForSendingState&lt;br /&gt;    &amp;lt;/property&gt;&lt;br /&gt;    &amp;lt;property name="responseHeaderHandlers"&amp;gt;&lt;br /&gt;         com.otn.samples.statehandler.InboundHandlerForCookieRetrieval&lt;br /&gt;    &amp;lt;/property&amp;gt;&lt;br /&gt;  &amp;lt;/partnerLinkBinding&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Besides this you need to ensure to keep the session alive, this can be done applying this property, within the partnerlink binding section:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;  &amp;lt;property name="httpKeepAlive"&amp;gt;true&amp;lt;/property&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;So the questions comes up: and what's now in this famouse handler classes?&lt;br /&gt;Basically 3 things&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;a) on inbound (response from the partnerlink)&lt;br /&gt;   - get the session cookie, and store it in the partnerlink&lt;br /&gt;   - force the session to stay alive by setting keep-alive&lt;br /&gt;&lt;br /&gt;b) on outbound calls (requests)&lt;br /&gt;   - get the cookie from the partnerlink, and store it in the request, with&lt;br /&gt;     the right key&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;here is the code &lt;br /&gt;Inbound (retrieving the cookie):&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;package com.otn.samples.statehandler;&lt;br /&gt;import com.collaxa.cube.engine.types.bpel.CXPartnerLink;&lt;br /&gt;import java.util.Map;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * Custom Handler that traces the return call from the Webservice&lt;br /&gt; * for the JSESSIONID cookie and stores it in the partnerlink&lt;br /&gt; * for later retrieval&lt;br /&gt; * &lt;br /&gt; * @author clemens utschig&lt;br /&gt; */ &lt;br /&gt;public class InboundHandlerForCookieRetrieval implements com.collaxa.cube.ws.HeaderHandler&lt;br /&gt;{ &lt;br /&gt;  /**&lt;br /&gt;   * PUBLIC CONSTANT: the command from the server to set a cookie in the ongoing&lt;br /&gt;   * requests&lt;br /&gt;   */&lt;br /&gt;  public static final String HTTP_SET_COOKIE = "set-cookie";&lt;br /&gt;&lt;br /&gt;  /**&lt;br /&gt;   * CONSTANT: internal map key to get the http headers from the response&lt;br /&gt;   */ &lt;br /&gt;  private static final String HTTP_RESP_HEADERS = "httpResponseHeaders";&lt;br /&gt; &lt;br /&gt;  /**&lt;br /&gt;   * Constructor, to show that the class was instantiated&lt;br /&gt;   */&lt;br /&gt;  public InboundHandlerForCookieRetrieval()&lt;br /&gt;  {&lt;br /&gt;    System.out.println("Started callback trace for cookie! &lt;- receive");&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  /**&lt;br /&gt;   * Overwritten method to get the cookie value and store it&lt;br /&gt;   * &lt;b&gt;persistent&lt;/b&gt; in the partnerlink instance&lt;br /&gt;   * @param pPartnerLink the partnerlink&lt;br /&gt;   * @param pOperationName the operation name&lt;br /&gt;   * @param pMsgPayload payload of the msg&lt;br /&gt;   * @param pMsgHeader the header of the process instance&lt;br /&gt;   * @param pCallProps the map coming from the partner&lt;br /&gt;   */ &lt;br /&gt;  public void invoke( CXPartnerLink pPartnerLink,&lt;br /&gt;                     String pOperationName,&lt;br /&gt;                      Map pMsgPayload,&lt;br /&gt;                      Map pMsgHeader,&lt;br /&gt;                      Map pCallProps)&lt;br /&gt;  {&lt;br /&gt;    System.out.println("[Response] from " + pOperationName + " operation");&lt;br /&gt;  &lt;br /&gt;    // this should never happen, but to ensure we never fail here&lt;br /&gt;    if (pCallProps == null)&lt;br /&gt;      return;&lt;br /&gt;&lt;br /&gt;    // get the http headers - in case a different protocoll is used&lt;br /&gt;    // null could happen here&lt;br /&gt;    Map httpHeaders = (Map)pCallProps.get(HTTP_RESP_HEADERS);&lt;br /&gt;    if (httpHeaders == null) &lt;br /&gt;      return;&lt;br /&gt;      &lt;br /&gt;    // we search for set-cookie header key here  &lt;br /&gt;    String cookieValue = (String)httpHeaders.get(HTTP_SET_COOKIE);&lt;br /&gt;    &lt;br /&gt;    /*&lt;br /&gt;     * This is what comes back on the first connection attempt (only)!&lt;br /&gt;     * Set-Cookie: JSESSIONID=90198e1525e4b03797f833ff4320af39f2bdabfb9d8d; &lt;br /&gt;     * path=/bpelsamples&lt;br /&gt;     * &lt;br /&gt;     * and is spec'ed in the http rfc doc.&lt;br /&gt;     * So we have to split it, to get the real JSESSIONID, &lt;br /&gt;     * which is the cookie that needs to be set in ongoing requests&lt;br /&gt;     */&lt;br /&gt;    if (cookieValue != null &amp;&amp; cookieValue.length() &gt; 0 &amp;&amp;&lt;br /&gt;        cookieValue.indexOf(";") &gt; 0) &lt;br /&gt;    {&lt;br /&gt;  &lt;br /&gt;      // split it&lt;br /&gt;      cookieValue = cookieValue.substring(0, cookieValue.indexOf("; path"));&lt;br /&gt;      System.out.println("Cookie to set: " + cookieValue);  &lt;br /&gt;      &lt;br /&gt;      // persist the value in the plnk&lt;br /&gt;      pPartnerLink.setProperty(HTTP_SET_COOKIE, cookieValue);  &lt;br /&gt;    } else  &lt;br /&gt;    {&lt;br /&gt;      System.out.println("This is an ongoing call, no set-cookie returned!");&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;and outbound (setting the values)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;package com.otn.samples.statehandler;&lt;br /&gt;import com.collaxa.cube.engine.types.bpel.CXPartnerLink;&lt;br /&gt;&lt;br /&gt;import java.util.HashMap;&lt;br /&gt;import java.util.Map;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * Custom Handler that sets the needed cookies for statefull communication&lt;br /&gt; * &lt;br /&gt; * @author clemens utschig&lt;br /&gt; */ &lt;br /&gt;public class OutboundHandlerForSendingState &lt;br /&gt;  implements com.collaxa.cube.ws.HeaderHandler&lt;br /&gt;{&lt;br /&gt;  /**&lt;br /&gt;   * CONSTANT: internal map key to get the http headers from the calling&lt;br /&gt;   * properties&lt;br /&gt;   */ &lt;br /&gt;  private static final String HTTP_REQUEST_HEADERS &lt;br /&gt;    = "http-request-headers";&lt;br /&gt;  /**&lt;br /&gt;   * CONSTANT: internal key to set the http headers in the call properties&lt;br /&gt;   * that are filled into the protocoll&lt;br /&gt;   */ &lt;br /&gt;  private static final String CALL_REQUEST_HEADERS &lt;br /&gt;    = "httpRequestHeaders";&lt;br /&gt;  /**&lt;br /&gt;   * CONSTANT: Http Header Key for main cookie&lt;br /&gt;   */ &lt;br /&gt;  private static final String HTTP_COOKIE           = "Cookie";&lt;br /&gt;  /**&lt;br /&gt;   * CONSTANT: Http Header key for Oracle agnostic cookie&lt;br /&gt;   */ &lt;br /&gt;  private static final String HTTP_COOKIE_ALIVE     = "Cookie2";&lt;br /&gt;  /**&lt;br /&gt;   * CONSTANT: Value for Oracle agnostic cookie&lt;br /&gt;   */ &lt;br /&gt;  private static final String HTTP_COOKIE_ALIVE_VAL = "$Version=\"1\"";&lt;br /&gt;  /**&lt;br /&gt;   * CONSTANT: Http Header key for connection Type&lt;br /&gt;   */   &lt;br /&gt;  private static final String HTTP_CONN_ALIVE       = "Connection";&lt;br /&gt;  /**&lt;br /&gt;   * CONSTANT: Value for connection Type, in this case to keep the&lt;br /&gt;   * connection alive&lt;br /&gt;   */   &lt;br /&gt;  private static final String HTTP_CONN_ALIVE_VAL   = "Keep-Alive";&lt;br /&gt;  &lt;br /&gt;  /**&lt;br /&gt;   * Public constructor &lt;br /&gt;   */&lt;br /&gt;  public OutboundHandlerForSendingState()&lt;br /&gt;  {&lt;br /&gt;    System.out.println("Started alive handler for statefull support -&gt; out");&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  /**&lt;br /&gt;   * Overwritten method to set all the cookies needed&lt;br /&gt;   * &lt;br /&gt;   * @param pPartnerLink the partnerlink&lt;br /&gt;   * @param pOperationName the operation name that is called, eg logon&lt;br /&gt;   * @param pMsgPayload payload of the msg&lt;br /&gt;   * @param pMsgHeader the header of the process instance&lt;br /&gt;   * @param pCallProps the map coming from the partner&lt;br /&gt;   */ &lt;br /&gt;  public void invoke( CXPartnerLink pPartnerLink,&lt;br /&gt;                     String pOperationName,&lt;br /&gt;                      Map pMsgPayload,&lt;br /&gt;                      Map pMsgHeader,&lt;br /&gt;                      Map pCallProps)&lt;br /&gt;  { &lt;br /&gt;    System.out.println("[Request] to " + pOperationName + " operation");&lt;br /&gt;  &lt;br /&gt;    /*&lt;br /&gt;     * get the cookie back from the partnerlink &lt;br /&gt;     */&lt;br /&gt;    String cookieValue = (String)pPartnerLink.&lt;br /&gt;      getProperty(InboundHandlerForCookieRetrieval.HTTP_SET_COOKIE);&lt;br /&gt;    &lt;br /&gt;    /*&lt;br /&gt;     * get the httpHeader's map back from the call props&lt;br /&gt;     */&lt;br /&gt;    Map httpHeaders = (Map)pCallProps.get(HTTP_REQUEST_HEADERS);  &lt;br /&gt;&lt;br /&gt;    /*&lt;br /&gt;     * if nothing is specified/and assigned during process this will be empty so &lt;br /&gt;     * create one&lt;br /&gt;     */&lt;br /&gt;    if (httpHeaders == null) {  &lt;br /&gt;      httpHeaders = new HashMap();&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    /*&lt;br /&gt;     * if the cookie is null don't set anything, there is no need&lt;br /&gt;     * to set the agnostic one too, we just need to set the &lt;br /&gt;     * Keep-Alive signal&lt;br /&gt;     */&lt;br /&gt;    if (cookieValue != null) {&lt;br /&gt;      httpHeaders.put(HTTP_COOKIE, cookieValue);&lt;br /&gt;      httpHeaders.put(HTTP_COOKIE_ALIVE, HTTP_COOKIE_ALIVE_VAL);  &lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    /*&lt;br /&gt;     * Set the connection alive in all cases&lt;br /&gt;     */&lt;br /&gt;    httpHeaders.put(HTTP_CONN_ALIVE, HTTP_CONN_ALIVE_VAL);&lt;br /&gt;    &lt;br /&gt;    /*&lt;br /&gt;     * now put the httpHeader map back into the call props.&lt;br /&gt;     * The normal call props are bpel specific properties, not protocol ones&lt;br /&gt;     */&lt;br /&gt;    pCallProps.put(CALL_REQUEST_HEADERS,&lt;br /&gt;                  httpHeaders);      &lt;br /&gt;&lt;br /&gt;    System.out.println("Outgoing call props: " + pCallProps);&lt;br /&gt;  }&lt;br /&gt;} &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The last thing you need to do in your process, is to do the invokes, &lt;strong&gt;against&lt;/strong&gt; the same partnerlink ..&lt;br /&gt;&lt;br /&gt;Finally, after compiling these classes and putting them into $BPEL_HOME/system/classes everything should work nicely, and you can trace the soap messages by using the obtunnel.bat/sh we suppply ..&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Note:&lt;/strong&gt; I cannot upload the complete sample here, so if you don't want to do everything yourself jsut email me and I send you the code&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-114081980988252909?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/114081980988252909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=114081980988252909' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114081980988252909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/114081980988252909'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2006/02/consuming-statefull-webservices-from.html' title='Consuming statefull webservices from bpel'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-113295548085626776</id><published>2005-11-25T22:46:00.000+01:00</published><updated>2005-11-25T22:51:20.866+01:00</updated><title type='text'>Changes</title><content type='html'>Well,&lt;br /&gt;a long time that I've posted in this blog / and time to come up with a why :-)&lt;br /&gt;&lt;br /&gt;Recently I moved from Oracle Austria's Consulting to the HQ to work for the SOA (Service Oriented Architecture)Team.. And before that actually happened, a lot of things had to be done - which stole quite a lot of time for posting here (but shouldn't be an excuse for non-posting)&lt;br /&gt;&lt;br /&gt;So as you might have noticed before, adf related issues were getting less and less here on my blog - and bpel and other cool SOA technologies became more and more.&lt;br /&gt;&lt;br /&gt;So for the future, most entries will be more SOA focused, but still with a slight touch to ADF.&lt;br /&gt;&lt;br /&gt;These will cover&lt;br /&gt;- BPEL (+ Security)&lt;br /&gt;- SOA Methodologies&lt;br /&gt;- Developing for the SOA Platform&lt;br /&gt;and of course the ESB&lt;br /&gt;&lt;br /&gt;Having questions? Feedback me on this entry &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: "&gt;&lt;ENTRY-THEME&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-113295548085626776?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/113295548085626776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=113295548085626776' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/113295548085626776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/113295548085626776'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2005/11/changes.html' title='Changes'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-111882088343886141</id><published>2005-06-15T09:23:00.000+02:00</published><updated>2005-06-15T09:34:43.443+02:00</updated><title type='text'>NEWS after a long time ...</title><content type='html'>I know,&lt;br /&gt;it has been quite some time, that i've put my last news here on my blog ..&lt;br /&gt;&lt;br /&gt;This has been due to several trips .. related to our bpel engine, that kicked me from town to town ..&lt;br /&gt;&lt;br /&gt;So.. what's on this time ... It's about ilearning and BPEL in the next steps ..&lt;br /&gt;&lt;br /&gt;1) Setting up a secure content server for ilearning .. with &lt;strong&gt;apache tomcat&lt;/strong&gt; ..&lt;br /&gt;&lt;br /&gt;At one of my ct's in austria, where content scorm-content needs to reside on different sites, we needed to setup some small version, that can be easily cloned, as has a tight footprint.&lt;br /&gt;&lt;br /&gt;Not to much work, forking a small version of iLearning, that contains the EditorDirectoryServlet, into a war file, deployed with context root /ilearn .. and voila a new content server has been created ..&lt;br /&gt;&lt;br /&gt;Here are the steps ..&lt;br /&gt;- create a new project - for web usage .. (include a web.xml in WEB-INF dir)&lt;br /&gt;- copy the ilearning.jar to WEB-INF/lib directory, which contains the needed servlet &lt;br /&gt;- copy bc4jmt.jar/bc4jct.jar to WEB-INF/lib directory - for having the correct exceptions&lt;br /&gt;- create a war file, and deploy it to tomcat .. &lt;br /&gt;&lt;br /&gt;&lt;em&gt;Note:&lt;/em&gt; Since the version 5.5.x tomcat has, per default, disabled the /servlet mapping - which you need to turn on in $CATALINA_HOME/conf/web.xml! You need to uncomment the &lt;strong&gt;invoker servlet&lt;/strong&gt; and the &lt;strong&gt;/servlet mapping&lt;/strong&gt; which reference the servlet.&lt;br /&gt;&lt;br /&gt;What you need all this for? ilearning LMS expects a servlet called oracle.ila.contentserver.EditorDirectoryServlet running on a secure contentserver / that has scorm-content deployed .. otherwise it will not work ..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-111882088343886141?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/111882088343886141/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=111882088343886141' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/111882088343886141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/111882088343886141'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2005/06/news-after-long-time.html' title='NEWS after a long time ...'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-110923761753117452</id><published>2005-02-24T10:24:00.000+01:00</published><updated>2005-02-24T10:33:37.533+01:00</updated><title type='text'>Doing work (updates ..) within the commit cycle in BC4J</title><content type='html'>Some question I encounter more and more from our customers is around the challenge of 'How to deal with Sequences - where we must have no gap in between'.&lt;br /&gt;&lt;br /&gt;This problem occurs usually when you read you sequence value, do some business logic, which fails - and then discard your changes - voila the sequence number is gone.&lt;br /&gt;&lt;br /&gt;There are certain cases, mostly related to government'l issues, where those guys must ensure to have no gaps in their sequences.&lt;br /&gt;&lt;br /&gt;So what about reading your sequence in the very last moment before commit actually happens? &lt;br /&gt;&lt;br /&gt;The method postChanges in your EOImpl class is a nice place to but this part of logic, but you have to be careful about, as postchanges could be called more then once during a commit cycle.&lt;br /&gt;&lt;br /&gt;So simply overwrite the method &lt;br /&gt;&lt;em&gt; public void postChanges(TransactionEvent e)&lt;br /&gt;  {&lt;br /&gt;    // TODO:  Override this oracle.jbo.server.EntityImpl method&lt;br /&gt;    if (!isCreated) &lt;br /&gt;    {&lt;br /&gt;      System.out.println("setting dname");&lt;br /&gt;      setDname(getDname() + "xx"); &lt;br /&gt;      isCreated = true;&lt;br /&gt;    }&lt;br /&gt;    super.postChanges(e);&lt;br /&gt;  }&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;and you are through.&lt;br /&gt;&lt;br /&gt;Having questions? Feedback me on this entry &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: "&gt;Doing work (updates ..) within the commit cycle in BC4J&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-110923761753117452?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/110923761753117452/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=110923761753117452' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/110923761753117452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/110923761753117452'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2005/02/doing-work-updates-within-commit-cycle.html' title='Doing work (updates ..) within the commit cycle in BC4J'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-110923706839193998</id><published>2005-02-24T10:18:00.000+01:00</published><updated>2005-02-24T10:24:28.393+01:00</updated><title type='text'>BC4J 9034 - NPE in DBTransaction Impl - Line 2006</title><content type='html'>Just headed home from the emirates, &lt;br /&gt;where I helped one of our partners to fix some issues they encountered with 9034.&lt;br /&gt;&lt;br /&gt;One of them was a pretty strange NullPointerException at line 2006 in DBTransactionImpl that occured in a not regular fashion - maybe due to load or a JDK issue. &lt;br /&gt;&lt;br /&gt;I'd be very interested if we have other customers around facing this issue too?&lt;br /&gt;In case you are one of those - just drop me a line .. &lt;br /&gt;&lt;br /&gt;Having questions? Feedback me on this entry &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: "&gt;BC4J 9034 - NPE in DBTransaction Impl; Line 2006&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-110923706839193998?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/110923706839193998/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=110923706839193998' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/110923706839193998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/110923706839193998'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2005/02/bc4j-9034-npe-in-dbtransaction-impl.html' title='BC4J 9034 - NPE in DBTransaction Impl - Line 2006'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6697558.post-110806198085723641</id><published>2005-02-10T19:46:00.000+01:00</published><updated>2007-02-18T00:06:12.643+01:00</updated><title type='text'>Lazy loading of MDB*s (Message Driven Beans)</title><content type='html'>As I'm just working on a huge BEA Migration to OC4J 10.1.2 (where we discover some nice BEA features) - we came through a nice challenge.&lt;br /&gt;&lt;br /&gt;As you are able to specify the loading order of modules within EAR's in BEA (and specify howmany, or if any ejb should be created) - we need to develop (based on existing j2ee api) some mechanism to achieve this loading too.&lt;br /&gt;&lt;br /&gt;Some days ago olaf published &lt;a href="http://www.orablogs.com/olaf/archives/000861.html"&gt;here&lt;/a&gt; the first part of it (Using a j2ee-application-client) to start your ejbs.&lt;br /&gt;&lt;br /&gt;In our case MDB*s from another module rely on the fact that some base stuff is already initialized (which works fine in BEA, due to start-order, and instance creation). Both of these features are VERY container dependend (and are not specified in the j2ee spec) - so it was another time for searching in the j2ee toolbox.&lt;br /&gt;&lt;br /&gt;Simple thing - big outcome :-)&lt;br /&gt;Create your mdb, and specify in the oracle-specific deployment descriptor (orion-ejb-jar.xml) for &lt;span style="font-weight:bold;"&gt;min-instances&lt;/span&gt; the value &lt;span style="font-weight:bold;"&gt;0&lt;/span&gt; and for &lt;span style="font-weight:bold;"&gt;listener-threads&lt;/span&gt; the value &lt;span style="font-weight:bold;"&gt;1&lt;/span&gt; - this will cause lazy.loading (or better creation ) of the bean, as in general the mdb is attached to a queue or topic @ deployment time (and what wonder mdb.createejb() is called :-) ) &lt;br /&gt;&lt;br /&gt;After configuration of this, you'll notice that your bean's method createejb() and setContext(pContext) - are called the first time when the bean retrieves a message (due to the listener-thread setting). Voila.&lt;br /&gt;&lt;br /&gt;Having questions? Feedback me on this entry &lt;a href="mailto:Clemens.Utschig@oracle.com?subject=ClemensBlog: "&gt;Lazy init of MDB'S&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6697558-110806198085723641?l=clemensblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clemensblog.blogspot.com/feeds/110806198085723641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6697558&amp;postID=110806198085723641' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/110806198085723641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6697558/posts/default/110806198085723641'/><link rel='alternate' type='text/html' href='http://clemensblog.blogspot.com/2005/02/lazy-loading-of-mdbs-message-driven.html' title='Lazy loading of MDB*s (Message Driven Beans)'/><author><name>Clemens Utschig - Utschig</name><uri>http://www.blogger.com/profile/10256791225785847648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='19' height='32' src='http://photos1.blogger.com/hello/159/9959/320/Clemens2.jpg'/></author><thr:total>0</thr:total></entry></feed>
