Archive

Author Archive

Lady Java promoting JavaZone 2010

August 26th, 2010 PeterPaul No comments

A tweet by meneer pointed me to this promotional video:

Don’t think this will settle the score for Java. However it is a good distraction… What are your thoughts? Please leave them in the comments.

Categories: Release, Uncategorized
Tags: , , ,

How internet cookies are used to track you

August 11th, 2010 PeterPaul No comments

The Wall Street Journal posted a video on their Video Center in which it is very clearly explained how internet cookies are used to track you while browsing the web.

In the real world it is very hard to keep track of your preferences, especially between a variety of shops. In the virtual world it is too easy.

Categories: Life hack, Patterns
Tags: , , ,

Reference binding to Service without WSDL

August 5th, 2010 PeterPaul No comments

For the first time I had to make an integration to a service that had no WSDL deployed with it. Since the (SCA) Composite assumes a WSDL it takes some time to figure out how to realise this. Under default conditions a Reference in a (SCA) Composite in SOA Suite 11g looks something like:

<reference ui:wsdlLocation="SomeDataRef.wsdl"
                   name="SomeDataWebService">
  <interface.wsdl interface="http://ws.deltalounge.net/SomeDataService#wsdl.interface(SomeData)"
                  callbackInterface="http://ws.deltalounge.net/#wsdl.interface(SomeData)"/>
  <binding.ws port="http://ws.deltalounge.net/#wsdl.endpoint(SomeDataService/SomeData_pt)"
              location="http://ws.deltalounge.net/tstservices/SomeDataService?wsdl" />

The location of the binding.ws points to a WSDL. Which is no problem at compile time. However at runtime the WSDL can not be found and an error is raised.
This error can be prevented by pointing to the endpoint instead of to the WSDL. To accomplish this your Reference in a (SCA) Composite in SOA Suite 11g would look something like:

<reference ui:wsdlLocation="SomeDataRef.wsdl"
                   name="SomeDataWebService">
  <interface.wsdl interface="http://ws.deltalounge.net/SomeDataService#wsdl.interface(SomeData)"
                  callbackInterface="http://ws.deltalounge.net/#wsdl.interface(SomeData)"/>
  <binding.ws port="http://ws.deltalounge.net/#wsdl.endpoint(SomeDataService/SomeData_pt)"
              uri="http://ws.deltalounge.net/tst/services/SomeDataService"/>

Now there is an uri in the binding.ws refering to an endpoint.

Configuring SOA Infrastructure for SOAP optimization

July 29th, 2010 PeterPaul No comments

SOA Infrastructure Common SettingsIn the 10g release of Oracle SOA Suite you could set properties to instruct web service calls to go via SOAP or not. If you were calling services on the same server or domain you could gain some performance with a native call and avoiding the SOAP overhead. To do this you would set the optSoapShortcut property.

With SOA Suite 11g on WLS SOAP optimization is automatically configured. In the scenario where you upgraded to 11g R1 and are using this optimization shortcut approach, you should specify the Server URL in the SOA Infrastructure Common Settings. Optimized calls are only active when the host name value (referred to as WSDL URL in the composite.xml) matches the Server URL.

To configure the SOA Infrastructure Common Settings choose from the SOA Infrastructure Menu > SOA Administration > Common Properties. As shown in the screenshot. Other access ways to this configuration screen are described here.

Set the Server URLEnter the server URL in the Server URLs section. This URL is published as part of the SOAP address of a service in the concrete WSDL file. Either set both values to the host name (for example, myhost) or to the full domain name (for example, myhost.domain.com). If these values do not match, a regular SOAP call is performed instead of an optimized local call.

One of the scenarios that you have to set the Server URL in order to use the optimized local call is after a migration of AIA to AIA 11g R1.

AIAMigrationUtility fails for AIAAsyncErrorHandlingBPELProcess

July 28th, 2010 PeterPaul No comments

While using the AIAMigrationUtility the following error occurs:

1
2
3
4
5
6
7
8
9
[exec]   [upgrade] Jul 26, 2010 3:02:04 PM oracle.viewgen.ViewGenerator main
[exec]   [upgrade] SEVERE: Upgrade failed. Check the logs for any exceptions. Ensure that the WSDL URLs specified in the project are reachable and a valid 10.1.3.x project is used for upgrade. Before re-attempting upgrade, restore the original project code source from the backup directory.
[exec]   [upgrade] oracle.j2ee.ws.wsdl.LocalizedWSDLException: WSDLException: faultCode=OTHER_ERROR: Failed to read WSDL from http://serverdomain:8001/orabpel/default/AIAAsyncErrorHandlingBPELProcess/1.0/AIAAsyncErrorHandlingBPELProcess?wsdl:WSDL not found
[exec]   [upgrade]         at oracle.viewgen.plugin.bpel.BPELPlugin.createComponentType(BPELPlugin.java:172)
[exec]   [upgrade]         at oracle.viewgen.ViewGenerator.main(ViewGenerator.java:223)
[exec]   [upgrade] Caused by: oracle.j2ee.ws.wsdl.LocalizedWSDLException: WSDLException: faultCode=OTHER_ERROR: Failed to read WSDL from http://serverdomain:8001/orabpel/default/AIAAsyncErrorHandlingBPELProcess/1.0/AIAAsyncErrorHandlingBPELProcess?wsdl:WSDL not found
[exec]   [upgrade]         at oracle.j2ee.ws.wsdl.xml.WSDLReaderImpl.openAsStreamConnection(WSDLReaderImpl.java:541)
[exec]   [upgrade]         at oracle.j2ee.ws.wsdl.xml.WSDLReaderImpl.readDocument(WSDLReaderImpl.java:427)
[exec]   [upgrade]         at oracle.j2ee.ws.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:366)

There is a regular expression in the replaceAIAAsyncURL target that doesn’t handle the versioned url. You can either replace it so it allows for version numbering:

1
2
<replaceregexp match="http://[\S&amp;&amp;[^/]]+(?::\d
+)??/orabpel/default/AIAAsyncErrorHandlingBPELProcess/.*AIAAsyncErrorHandlingBPELProcess\?wsdl"

or manually alter the bpel.xml files replacing the

1
http://serverdomain:8001/orabpel/default/AIAAsyncErrorHandlingBPELProcess/1.0/AIAAsyncErrorHandlingBPELProcess?wsdl

with

1
http://fmw11g-server:8001/soa-infra/services/default/AIAAsyncErrorHandlingBPELProcess/client?WSDL

or the versioned wsdl of the Async error handling.

Program SOA Symposium 2010 available

July 23rd, 2010 PeterPaul No comments

The agenda for the SOA Symposium 2010 has been posted. Again there are very interesting sessions during this 2 day conference. The largest and most comprehensive in the field of SOA and Cloud Computing. The Real World SOA Case Studies track offers a great opportunity to learn from the experience of others. In this track you will find:

Real-life accounts of successful and failed SOA projects discussed first-hand by those that experienced the project lifecycles and have a story to tell. These veteran practitioners will provide advice and insights regarding challenges, pitfalls, proven practices, and general project information that demonstrates the intricacies of implementing and governing service-oriented solutions in the real world.

I will be presenting the first session in this track on Using a Service Bus to Connect the Supply Chain. If you have any topics or questions in advance that you think I should address, please post them in the comments. Hope to meet you in Berlin.

Faster start of Managed Server after AIA install

July 14th, 2010 PeterPaul 1 comment

It is possible you noticed that after the installation of Oracle AIA 11g R1 starting the Managed Server of WLS takes more time than before the installation. This is not only due to the new Composites. There are also some settings you could change to reduce the time the Managed server to which you deployed AIA needs to start up.

Change JDBC settings

JDBC Settings

JDBC Settings

To alter some of the JDBC settings that are configured during the AIA 11g installation go to the WLS Adminnistartion console – http://yourserver:port/console. In the Domain Structure choose: > Services > JDBC > Data Sources.

Change the settings of the following JDBC Data Sources that were created during the install of AIA of the AIA Demo:

  • AIACentralDS
  • AIADataSource
  • FODDataSource
  • FODDS
  • LifeCycleDataSource
  • mds-soa
  • XrefDataSource

Data Source Settings

Data Source Settings

In the Settings for "Data Source Name" select the Configuration and the Connection Pool tab. Expand the the Connection Pool tab by clicking the Advanced link. The alter the Login Delay from 30 to 0 seconds.

Login Delay

Login Delay

This will reduce the time that is needed to start the Managed Server by several minutes.

Restart a failed AIA 11g R1 installation

July 8th, 2010 PeterPaul No comments

In this blogpost I’ll share some steps you can take to get your AIA 11g R1 installation back on track. If you do not perform the Pre-Installation Configurations as described in the Foundation Pack 11g Release 1 (11.1.1.2.0) Installation Guide (available as partnumber E17949-01 via eDelivery), it is possible that your AIA installation fails. After checking the pre-installation configuration it is possible to start the installation again if you follow these steps:

  1. Navigate to /user_projects/domains/ and delete the edit.lok file.
  2. Delete any file located in /user_projects/domains//pending
  3. Log into the weblogic console and activate all the changes.
  4. Restart SOA Suite and Weblogic domain.
  5. Press retry button on the installation screen

If the installation screens are no longer available because you closed them, use the log files to figure out what targets haven’t been performed yet and run these targets (in the sample case below it were Deployments and PostInstallScript):

Move to the /aia30/aia_instances/aia30poc/bin and source ./aiaenv.sh.

ant -f /aia30/Infrastructure/Install/AID/AIAInstallDriver.xml -DDeploymentPlan=/aia30/config/FPInstallDP.xml -DPropertiesFile=/aia30/config/AIAInstallProperties.xml Deployments

ant -f /aia30/Infrastructure/Install/AID/AIAInstallDriver.xml -DDeploymentPlan=/aia30/config/FPInstallDP.xml -DPropertiesFile=/aia30/config/AIAInstallProperties.xml PostInstallScript

SOA Suite 11g, AIA 11g and patches

July 7th, 2010 PeterPaul No comments

Oracle Application Integration Architecture, or AIA in short, recently became available for SOA Suite 11g R1. We did an installation of this AIA 11g R1 release. To prepare for this we used Foundation Pack 11g Release 1 (11.1.1.2.0) Installation Guide. Which is available as part number E17949-01 via edelivery. In the software requirements in the document it is stated that:

Download the AIA-Foundation Pack 11.1.1.2.0 patch 9717829 and follow the instructions in the document “Installing a fresh instance of AIA FP 11gR1 PS2 on Oracle SOA Suite 11g PS2” before you install AIA Foundation Pack 11g Release 1 (11.1.1.2.0). Apply AIA-Foundation Pack 11.1.1.2.0 patch 9717829 after you install AIA Foundation Pack 11g Release 1 (11.1.1.2.0).

Please be careful: patch 9717829 is only required if you are using SOA Suite 11g R1 PS2 (11.1.1.3). This can become clear when reading the document “Installing a fresh instance of AIA FP 11gR1 PS2 on Oracle SOA Suite 11g PS2” and the readme.txt that comes with the patch.

If you’re installing AIA-Foundation Pack 11.1.1.2.0 on SOA Suite 11g R1 PS1 (11.1.1.2) this patch is not needed.

AIA Foundation Pack 11g Certification Matrix

The certification matrix for AIA FP 11g R1 can be found here. It states:

AIA Foundation Pack 11gR1 (11.1.1.2) is certified against Oracle SOA Suite 11gR1 (11.1.1.2) or Oracle SOA Suite 11gR1 (11.1.1.3) through patch 9717829.

Some thoughts on SOA Governance and BPM

June 24th, 2010 PeterPaul No comments

Although I didn’t attend the Burton Group Catalyst Conference in Prague this week, I was able to get a glimpse using twitter and some blogs. My main focus was on the Life after SOA: Next Generation Application Architecture track. In this post I’ll share some quotes and thoughts with you.

SOA Governance

On governance I like this quote from Anne Thomas Manes:

If you can’t manage and govern your services with a wiki, a registry/repository won’t help you, either.

This goes great with the statement that I’ve put on this blog before that it is not about the tool it is about people and process. Besides that managing a Service Repository also isn’t a Silver Bullet either, it has proven to be very useful for some of our customers.

BPM

Here are some quotes from Mike Rollings on BPM:

Too much focus on business process automation is detrimental to your BPM initiative.

Automation helps reduce human effort, but fixating on automation gets in the way of optimizing the business.

Automation can be an enabler for optimization, however it should never get in it’s way of become some kind of burden. Yes software can help, but software is a means to (process) optimization not an end or a goal.

So far, I am not sure where I stand on the following quote from Anne Thomas Manes:

BPM infrastructure tools: process modeling tool is key. But models are not to be created to generate code.

On one side I’ve worked with tools that generate good code from models. At the same time I’ve worked with analyst and other functional people that do not have the skills to create a model that will result in great software. Please share your thoughts on the subject in the comments!