Oracle Moving to Derby from Pointbase?

This morning, I started porting WA1858 Architecting SOA Using Oracle Service Bus (OSB) 10g to Oracle Service Bus 11g. I noticed that, by default Derby database is used to create various schema. This is a welcome departure from oracle SOA Suite which requires you to use an Oracle database. This complicates installation and adds overhead. I was also somewhat surprised to see that Pointbase database was not used. This is probably a good thing. Derby is also what is used by IBM’s SOA platform (WebSphere Process Server and ESB). Many of our courses have started using Derby in one way or other.

Portlet URL Issues

Recently, I had to port a few portlets from WebSphere Portal 6.1 to WebLogic Portal 10g. Things mostly went smoothly. Except for portlet and resource URLs.

Weblogic portal adds URL parameters to portlet and resources URLs. For example:

http://localhost:7001/AjaxWeb/ProductSearch.portlet?_nfpb=true&_st=&_windowLabel=ProductSearch_portlet…

These parameters caused unexpected problems.

POST Only

For one thing, these URLs can not be used with a form that makes a GET request.

<form method="GET" action="&lt;portlet:actionURL/&gt;"> 

<input type="firstName"/> 
  ... 

</form>

If you submit this form, the input elements will overwrite the URL parameters that are in the action URL. Things will work out badly from that point on.

Lesson learned, you can only make POST requests from a form.

Watch Out for Resource URLs

By default, the <portlet:resourceURL> tag escapes XML in the URL. That means, all “&” parameter separators in the URL will be replaced by “&amp;”. If you send a request to that URL, the serveResource() method will not be invoked. You must set escapeXml attribute to false. For example:

var url = "<portlet:resourceURL escapeXml="false"/>&searchText=" + txt;

None of these are issues in WebSphere Portal since the URLs do not contain any parameters.

Small Linux Fun

Recently, I had to run a few experiments with Linux. I did not want to boot Linux separately from Windows. A virtual machine was the solution. I just didn’t have the time to download a large virtual image. I was working from my hotel room with despicable Internet speed. Then I hit upon Damn Small Linux (DSL). This thing saved my day. DSL distributes a virtual image along with the Qemu virtual machine.

I download dsl-4.4.10-embedded.zip from one of the mirrors. Extracted it in C:\temp\dsl. From there, I simply ran dsl-base.bat. Voila, Linux started to boot.

Why can’t everything be so simple, huh?

image

Eventually, X Windows with a full desktop started up.

image