Fusion Middleware 11.1.1.2.0 Is available
Download it whilst its still hot :-)
http://www.oracle.com/technology/software/products/middleware/htdocs/fmw_11_download.html
Download it whilst its still hot :-)
http://www.oracle.com/technology/software/products/middleware/htdocs/fmw_11_download.html
Hi All,
I’ve just been high lighted to a blog entry by a guy called “John” who was on one of my webcenter 11g courses recently. If you look here you’ll see his results of playing with skins and changing the native skin to his skin..
Its worth highlighting that changing skins on ADF11g (which is what WebCenter11g Spaces is based on) is MUCH MUCH easier than it was with 10g , checkout Peter Moskovits ‘s blog for more info http://pmoskovi.wordpress.com/
I’ve just finished helping out one of my partners with an interesting problem which resulted in the usage of a new piece of functionality called “faultableResponseHeaderHandler” partner link support in BPEL 10.1.3.4 MLR9.
With this release we’ve extended the responseHeader Handler in our WSIF implementation which allows us the ability to inspect a returning payload, and if required raise a BPEL Fault..
Why do this? Well in our case the system was experiencing random errors from a remote service which if retried would work correctly but as the remote service responded with a business error and not a fault the standard fault management framework couldn’t help.
In a perfect world the BPEL Developer would have detected this error by inspecting the payload in BPEL and then issued a retry, however using this new piece of functionality we were able to implement the raising of an error, which then triggers off the standard BPEL Fault Management Framework (documented page 29 of this doc) without changing the main bpel code, which in turn keeps the legibility of the BPEL code high.
So how do you use this new piece of functionality
1. Install Oracle SOASuite 10.1.3.4 and MLR9 (obvious really)
2. Create a class which implements the interface “com.collaxa.cube.ws.FaultableHeaderHandler”
This class should implement the following method
public void invoke(CXPartnerLink cxPartnerLink, String string, Map map, List list, Map map1) throws BPELFault
{ ….. }
The Map contains the payload elements, each one corresponding to a part of the input/output message as defined in your WSDL. The next step is to get the dom object and query it.. For this you have many options, you could use a DOM API , an XPATH query or something else.. I’ve used xpath as I think it would be easier..
3. If you decide not to raise a fault, then simply return, if however you decide to raise a fault then simply create a new java exception of type “com.oracle.bpel.client.BPELFault”, fill in the parameters accordingly to the javadocs and throw it.
4. Deploy the resulting class into the <OracleHome>/bpel/system/classes directory and restart your SOASuite server
5. At this point you need to edit the partnerLink binding in the bpel.xml file to include a new parameter called “faultableResponseHeaderHandler” and give it the fully qualified name of class implementing your hander.
e.g.
<partnerLinkBinding name="MyService">
<property name="wsdlLocation">MyServiceWSIF.wsdl</property>
<property name="faultableResponseHeaderHandler">com.sample.angelosFaultableErrorHander</property>
....
</partnerLinkBinding>
and then deploy it into your BPEL domain.
At this point you should be able to execute your bpel code, and based on the custom logic in your faultableHeaderHandler code, you can throw a BPEL Fault instead of returning a business fault within the response.. At this point I recommend using the Fault Management Framework to manage the fault, e.g. example retry 5 times.
For more information on the Fault Management Framework see here
Finally, big thanks to Clemens and my Italian friends for helping out here.
Enjoy!
Resources & Hints
OK we’d all not like to download patches but patches are essential to keep your Fusion Middleware installation and up to date..
The most direct place to download a patch is the Metalink website (http://metalink.oracle.com) but if your getting lost and can’t find your SOA patchset, or patch number then this website
http://www.oracle.com/technology/products/soa/soasuite/collateral/downloads.html
Is a hidden gem, it details all the patches, all the MLRs for our different releases, you still need to go to Metalink to download the patch but at least you now have the patch number to help you.
Enjoy
I get this lots and lots, "How do I deploy an ADF11g app on Weblogic Server 11g". The answer is pretty easy however we are getting more questions that we really ought to..
The best source of knowledge is Duncan Mills blog @
Failing that ping us!
Gosh, Ive been so busy recently I havent really had time to keep my blog up to date. I logged in today for a long time and realised its nearly a near since my last posting..
Must update it more often..
Anyway I've been busy working with out partner comunity doing all sorts of things, from highly available messaging systems, (did you know we can push over 5K messages through our service bus?) to helping a partner design and use our new WebCenter 11g Spaces product.. All rather cool..
The latest question I had was
' We are building a coherence grid to manage/process data and we need to persist the data. We are planning to use hibernate as our persistence store and was wondering if Oracle had any views on if we should generate a database schema from the java objects or generate java objects from a dataase schema...
Unfortunatly the answer is "It depends"..
Typically things like hibernate do a good job of generating a schema but its no way near as good if you got a good data architect to do it. Also you need to keep in mind what other applications are accessing the schema, things like ETL/ODI, BI etc.. Will they be happy with the generated schema??
This is why I tend to go the other way, generate the schema first, tune it (ie add indexes, denormalize it etc) and then expose it up to the java world using the persistence engine..
My view.. again it depends on the application usage, other application usage of the schema etc.
What are you views?
Some quick tips on installing service registry
Finally, checkout the readme :-)
If you dont you might get out of memory errors.
Working with some collegues of mine at a large SI, they asked me whats comming up in Fusion Middleware 11g, lots was my immediate answer...
So then we went, and trawled through presentations at OOW, and a good one is
"Whats new in Oracle SOA Suite"
If you have a peek at this you'll see that App. Server 11g has a lot of really good improvements but one which I looked at and thought, eh?? whats that? is a BAM feature called "CQL" or Continuous Query Language.
I'll be honest here I haven't tinkered much with AS11g, but this feature did catch my eye... In short your able to create a query which is constantly run and provides agregated data over a period of time. As its a query you can filter it before pumping it into BAM.
Here's an example from a post by Andreq Koelewijn at IT-Eye
select w.location, avg(w.water_level)
from water_level_stream w
[range by '10 minutes' slide by '10 minutes']
where w.state = 'zeeland'
group by w.location
From a continuous stream of water level data this query would calculate a water level average for every 10 minutes which can then be graphed by Oracle BAM..
A little Xmas bit for you. Working with one of my clients I got the question.
Is there an XSL reference from what Oracle has implemented?
And the answer from development is
For 10gR1, our XSLT 2.0 support was for the spec at that time (working draft dated 11th November 2002). For 10gR2, it was for working draft dated 04 April 2005. There are some limitations documented in the readme.
In XDK 11g XML Parser and XSLT engine we implement the XSLT 2.0 Recommendation.
Oh our BPEL Server uses the XDK which comes with 10gr2, and hence you can read up about it in the XDK home in the Oracle Home directory of SOA Suite.
i.e. <OracleHome>/xdk/xdk_readme.htm
Gosh its almost Xmas and I looked at my blog and thought its looking a little bare.. So I thought Id update it with some things, what have I been doing etc..
Things have been incredibly busy recently with the launch of the Accenture Innovation Centre which was launched in the UK last week. My role for this is to support Accenture as a dedicated Architect from Oracle, oh lets not forget a bit of presales, biz dev and generally running around.. I think someone described it like being at a .COM, exciting..
Anyway technology wise things are really shaping out. Oracle Fusion Middleware adoption continues to grow and so does our acquistions (Tangosol, Bridgestream, Bharossa, AppForge etc) , checkout this url http://www.oracle.com/corporate/acquisition.html for a list with a description....



My Profile