Archive

Archive for the ‘SOA Suite’ Category

Upcoming SOA Suite 11g PS2 features

March 9th, 2010 PeterPaul No comments

Yesterday Clemens Utschig posted a list of SOA Suite 11gR1 Patchset 2 ~ 11.1.1.3.0 (SOA) features. He says it is a non-exhaustive list. It contains features like:

  • Full and complete support for BPEL 2.0 (designtime and runtime)
  • Reintroduction of “BPEL domains” – that are called Partitions because there are already WebLogic Domains
  • Enhancements to BPEL’s transactional behavior and audit-trail
  • Full BPMN 2.0 support – part of BPM 11g which runs on top of 11g PS2 SOA core

Update: for the Java developer

In an additional post the features for the Java developer were announced. These include:

  • Support for interface.java as a first class citizen next to interface.wsdl
  • Full support for Spring as component implementation
  • Support for EJB bindings (binding.ejb)
  • Invocation of a composite service

Oracle SOA Governance 11g release?

February 24th, 2010 PeterPaul No comments

Recently, in a press release, Oracle introduced Oracle SOA Governance. This component of Fusion Middleware consist of the following components:

  1. Oracle Enterprise Repository – OER
  2. Oracle Service Registry
  3. SOA Management with Oracle Enterprise Manager (SOA Management Pack)
  4. Web Service Manager

According to the press release it is already fully integrated with Oracle Amberpoint:

Oracle SOA Goverance 11g is fully integrated with Oracle AmberPoint, a leader in Service-Oriented Architecture (SOA) Management. The new solution provides organizations more continuity of closed-loop governance processes across both Oracle and third party applications.

Besides that it is not clear to me what is new. The latest version of the Enterprise Repository was release a month ago. Any ideas? Please leave them in the comments.

Oracle Sun – SOA and Integration strategy outline

February 4th, 2010 PeterPaul No comments

The webcast of the SOA and Integration strategy was a few days later available as the overall strategy. You can find the entire webcast here.

SOA Platform

The combined Oracle Sun solution focus boils down to the following bullets:

  • Oracle SOA Suite continues as the strategic product.
  • Sun JCAPS continues to be supported and maintained
  • GlassFish ESB continues as an open source project
  • A bridging technology is planned to support collaboration between JCAPS and Oracle SOA Suite.
  • Key functions from the Sun SOA products will be incorporated in the Oracle SOA products.

Portal technologies

Oracle WebCenter stays the strategic portal offering. Support for both GlassFish Web Space Server and Sun Portal Server will be continued. An upgrade path to WebCenter is planned for both. The IP (Intellectual Property) for Sun’s Web Space Server will be released into the Liferay open source community.

Oracle Sun – strategy outline

January 28th, 2010 PeterPaul No comments

On January 27th Larry Ellison and other Oracle executives outlined the Oracle Sun strategy in a live event. The webcast and sheets are available online. There is also a FAQ overview available.

Besides that there is the Oracle + Sun Product Strategy Webcast Series. If you are into Java or Middleware developement, I think the message boils down to these few sheets:

Development Tools

Oracle Dev Tools

Development Tools Strategy















Application Server

Glassfish and WebLogic will coexist and share logic/components.

Oracle Apps Server

AS strategy
















SOA products

Oh, and WebCenter will be the strategic portal offering.

Oracle SOA Products

SOA product strategy




Previous post on the subject:

Bridging the BPMN – BPEL gap

January 25th, 2010 PeterPaul No comments

First a short note on both BPMN and BPEL. BPMN is a modeling notation for business processes. OMG on it’s BPMN pages puts it:

The primary goal of BPMN is to provide a notation that is readily understandable by all business users, from the business analysts that create the initial drafts of the processes, to the technical developers responsible for implementing the technology that will perform those processes, and finally, to the business people who will manage and monitor those processes.

BPEL is an execution language. There is for example no standard graphical notation in the BPEL standard. The main focus is not on readability, it is on execution.
So BPMN and BPEL aim for different goals. It should come as no surprise that there is gap. There are several resources that describe the mapping, provide translation, or transforming BPMN to BPEL.

Guidelines

Here are some guidelines that help you bridge the BPMN to BPEL gap:

  • Be as specific as possible in BPMN diagrams (In Oracle Business Process Analysis Suite you can use e.g. automated activity, notification , and human tasks.).
  • Add additional information in BPMN activities. Sure this doesn’t enable automatic transformation, but it does reduce the need for additional design documentation. This will improve documentation consistency, and reduce the required governance.
  • Use templates in your BPMN activities. Structure and check completeness of your descriptions.
  • Use a Service repository. This will enable both designers and developer to communicate about “the same thing”
  • Use a GUI components reposity, for the same reasons as you use a Service repository

JDeveloper 11g with SOA Suite extension

January 6th, 2010 PeterPaul No comments

To some of us it came as a surprise that SOA Suite design time stuff was no longer an integral part of the Oracle IDE. To use BPEL, Mediator, Human Task, and Adapters the soa-jdev-extension is required.

The SOA extension can be acquired using the menu Help | Check for updates, clicking Next, and selecting Oracle Fusion Middleware Products. Select Oracle SOA Composite Editor and click next to start the download. Since the extension is over 200 MB this could take a few minutes depending on the speed of your internet connection. When the download has finished, the version number details are shown and you’ll click finish to start using it.

Install from local file

Update wizard

Update wizard

If the download described above is not working for you, try the install from local file option.
Go to the Fusion Middleware Products Update Center to select the correct version of the Oracle SOA Composite Editor to go with your version of JDeveloper 11g. If you’re using JDeveloper 11g R2 you’ll find it here. The file is called soa-jdev-extension.zip.

Download the extension, and instead of selecting the Search Update Centers option during step 2 of the upgrade you choose the Install From Local File option and the appropriate file. This is displayed in the screenshot. From here on it is a Next - Next - Finish operation.

Other JDeveloper extensions

Other extensions like the AIA Composite Application Framework, PHP extension, and the SQL Developer extension can be found in the update center.

Tuning AQ for Oracle ESB

December 16th, 2009 PeterPaul No comments

If you are using AQ within Oracle ESB there might be a point in time you want to tune AQ performance. In this post you’ll find the results of Metalink research, and our experience on a production system.

Queue compatibility

When creating the ORAESB schema (in version 10.1.3.3) using the script $ORACLE_HOME/integration/esb/sql/oracle/create_esb_topics.sql, the queues are created with 8.1 compatibility. This is solved in 10.1.3.4. To alter this find the statement

1
2
3
4
5
6
dbms_aqadm.create_queue_table
    ( Queue_table => qtablename
    , Queue_payload_type => 'SYS.AQ$_JMS_TEXT_MESSAGE'
    , multiple_consumers => true
    , compatible => '8.1'
    );

and change this to:

1
2
3
4
5
6
dbms_aqadm.create_queue_table
    ( Queue_table => qtablename
    , Queue_payload_type => 'SYS.AQ$_JMS_TEXT_MESSAGE'
    , multiple_consumers => true
    , compatible => '10.2'
    );

if you already created the queues, use this statement:

1
2
3
4
dbms_aqadm.migrate_queue_table
    ( queue_table => 'ESB_JAVA_DEFERRED'
    , compatible => '10.2'
    );

If you’re not sure check the compatibility with this query:

1
2
3
4
5
6
SELECT queue_table
,      compatible
,      recipients
FROM   dba_QUEUE_tables
WHERE  owner = 'ORAESB'
;

Streams pool size

Verify the current stream_pool_size using the following query:

1
2
3
4
5
6
7
SELECT component
,      current_size/1024/1024 "CURRENT_SIZE"
,      min_size/1024/1024 "MIN_SIZE"
,      user_specified_size/1024/1024 "USER_SPECIFIED_SIZE"
,      last_oper_type "TYPE" 
FROM   v$sga_dynamic_components
;

look for the streams pool. There are several Metalink notes on this setting (including 316889.1, 102926.1 and 335516.1). The latter has a general recommandetion per RDBMS version:

  • 11g: set STREAMS_POOL_SIZE to be greater or equal to 100 MB;
  • 10gR2: set SGA_TARGET > 0 and STREAMS_POOL_SIZE=0 to enable autotuning of the Streams pool;
  • 10gR1: use the STREAMS_POOL_SIZE init.ora parameter to configure the Streams memory allocation;

And of course you could use V$STREAMS_POOL_ADVICE to get advice for your specific situation.

Upgrade the JDK

A described here upgrading the JDK can also give a performance boost.

Change the JDK for Oracle Application Server 10g EE

December 8th, 2009 PeterPaul No comments

This post describes how to change the JDK for an Oracle Application Server 10.1.3.x installation. To check which JDK versions are supported with Application Server releases, check Metalink note 258833.1.

  1. Stop all running Application Server processess.
  2. Rename the current JDK directory:
  3. 1
    2
    
    cd $ORACLE_HOME
    mv jdk jdk.old
  4. Install or copy the JDK version you need into $ORACLE_HOME/jdk
  5. Start the Application Server processess.
    1. You can check the JDK version:

      1
      
      $ /jdk/bin>./java -version

      AIX 5L specials

      If your systems are running AIX 5L there is some patching to be done. Assuming you’re using JDK 1.5 you have to apply patch 5261515.

      After upgrading to a IBM JDK it is very well possible to run into the JAVAX.NET.SSL.SSLKEYEXCEPTION:RSA PREMASTER SECRET ERROR. In that case you have to modify the $ORACLE_HOM/jdk/jre/lib/security/java.security to

      1
      2
      3
      4
      5
      
      security.provider.1=com.ibm.jsse2.IBMJSSEProvider2
      security.provider.2=com.ibm.crypto.provider.IBMJCE
      security.provider.3=com.ibm.security.jgss.IBMJGSSProvider
      security.provider.4=com.ibm.security.cert.IBMCertPath
      security.provider.5=com.ibm.security.sasl.IBMSASL

      and create a symbolic link (or copy the jar) from the directory $ORACLE_HOME/jre/lib/ext/ibmjsseprovider2.jar to $ORACLE_HOME/jdk/jre/lib/ibmjsseprovider2.jar as described in Metalink note 746423.1.

Categories: Oracle, SOA Suite Tags: , , , , ,

Oracle ESB using AQ on AIX – performance boost

November 26th, 2009 PeterPaul 1 comment

One of the projects I’m involved in, uses Oracle ESB (from SOA Suite 10.1.3.3 MLR 18) running on AIX 5.3. Instead of using the default in-memory JMS the ESB is configured to use Oracle Advanced Queueing (AQ). Although there were tuning efforts before, the performance wasn’t up to par. AQ seemed to be the bottleneck, especially the dequeueing part. During the day we saw the number of messages queue up. Generally these numbers would decrease after business hours. This should have been a big problem if the number of messages wasn’t going to be tripled or quadrupled in the next month(s).

Upgrade the JVM

Previous attempts in cooperation with Oracle Consulting hadn’t done the trick, yet. To get a fresh view and some out-of-the-box thinking Marc joined the team. He performed a scan of the systems settings. Researching Oracle’s knowledge system resulted (searching on AIX & ESB & DB Adapter) in the clue to upgrade the JVM (6848406 – SLOW PERFORMANCE ON AIX ESB USING FILE AND DB ADAPTER). Although we were skeptic at first, because why tried a similar path before, we decided to give it a shot. The previous attempt resulted in errors in our code without enhancing the performance of the system.
With the AIX system a Java 5 is delivered in /usr/java5, to be more precise:

1
2
3
4
5
6
7
8
$:/jdk/bin>./java -version
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build pap32dev-20080315 (SR7))
IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 AIX ppc-32 j9vmap3223-20080315 (JIT enabled)
J9VM - 20080314_17962_bHdSMr
JIT  - 20080130_0718ifx2_r8
GC   - 200802_08)
JCL  - 20080314

To change this stop the SOA Suite and:

1
2
3
cd $ORACLE_HOME
mv jdk jdk.orginal           # rename jdk directory
ln –s /usr/java5 jdk         # Creates symbolic link

and the start the SOA Suite. With this newer Java version we had a significant performance improvement.

Remaining issue

If the change is performed as described above Enterprise Manager doesn’t allow you to browse the oc4j_soa anymore. This will result in the following error message:

Unable to make a connection to OC4J instance oc4j_soa on Application Server someserver.local. A common cause for this failure is an authentication error. The administrator password for each OC4J instance in the Cluster must be the same as the administrator password for the OC4J instance on which Application Server Control is running.

This can be solved by applying the patch for base bug 5261515. The patch adds some security jars and properties that are not in the AIX Java5 version.
Since this patch introduces issues in our code, we are working around the Em problems for now, while trying to resolve the issue.

SOA Suite 10.1.3.5.1 available for WebLogic Server 10.3.1

November 5th, 2009 PeterPaul No comments

From today there is a SOA Suite 10.1.3 familiy member available for WebLogic Server 10.3. Oracle SOA Suite 10.1.3.5.1 has been released. As described earlier we were looking for a recent SOA Suite version that is certified for a recent WebLogic server version. And here it is: Oracle BPEL Manager, Oracle ESB, Oracle Rules, and OWSM (basically all versioned 10.1.3.5.1) are certified with WLS 10.3.1.

Update – Installation instructions

Installation instructions for SOA Suite 10.1.3.5.1 on WebLogic Server can be found in these blogs: