Category Archives: SOA Suite

Fusion Middleware supported on JDK7

JDK7Trying to keep up with Java versions that are supported for JDeveloper and SOA Suite, like in JDeveloper now supports 64 bit Windows and Java. Redstack pointed me to the OFM supported systems configurations that show that Fusion Middleware is supported on JDK7. The XLS showing certification with OS etc can be found:

Upgrading to SOA Suite PS5 on Oracle XE

Installing PS5 (11.1.1.6) can cause some problems when using Oracle XE as the infrastucture database. The solution is described in this SOA Suite / BPM blog by Niall Commiskey.

More tips on upgrading OFM 11g to patch set 5

My colleague Laurens van der Starre published a serie of tips and tricks on upgrading Oracle Fusion Middleware to PS5 on the Whitehorses blog.

More considerations on upgrading to OFM 11.1.1.6.0

There is an additional article on upgrading to OFM 11.1.1.6 on the Whitehorses blog. It goes into more detail on JDK 7 support, OWSM in SOA Suite, the combination of OSB en OWSM and for example the PSA (Patch Set Assistant) performance.

Java memory arguments in OFM 11.1.1.6.0

More on setting Java memory arguments in SOA Suite 11.1.1.6.0.

Book review: Do more with SOA integration

Book cover: Do more with SOA IntegrationRecently I read Do more with SOA integration that was published December 2011. This book is a mash-up of eight earlier published works from Packt, including Service Oriented Architecture: An Integration Blueprint, Oracle SOA Suite Developer’s Guide, WS-BPEL 2.0 for SOA Composite Applications with Oracle SOA Suite 11g, and SOA governance. More details on this title:

Target audience according to the publisher:

If you are a SOA architect or consultant who wants to extend your knowledge of SOA integration with the help of a wide variety of Packt books, particularly covering Oracle tools and products, then “Do more with SOA Integration: Best of Packt” is for you. You should have a good grasp of Service Oriented Architecture, but not necessarily of integration principles. Knowledge of vendor-specific tools would be an advantage but is not essential.

My thoughts

My assumption is that most people won’t read the around 700 pages of this book cover to cover. In my view it is a good reference book to get a solid introduction to SOA and integration in general.

To deepen you knowledge on real world scenario’s there a good examples eg given in the chapters on Extending enterprise application integration and Service oriented ERP integration. The first gives an example of of BPEL orchestrating various web service exposed on ERP systems (SAP, Siebel) using EAI (TIBCO, webMethods). This sample includes an example of centralized error handling. The latter shows an integration of PeolpleSoft CRM 8.9 and Oracle Applications 11g using BPEL 10g. The ideas and mechanismes of the integration will also hold in the 11g version.

Chapter 14 on SOA Integration a Scenario in detail, offers another example on how to use Oracle SOA technology (10g again) to integrate legacy systems into a more modern application landscape. It does a thorough job.

The chapter on Base Technologies has parts that are based on the Trivadis Integration Architecture Blueprint. Beside that it offers a good introduction on transactions, JCA, SCA and SDO. Their fundamentals are well explained without getting too technical. So should you be looking for coding examples on these topics, there are other great sources.

When reading about XML for integration I noticed that it answers questions we get from our customers on a regular basis like: How to design XSDs – XML Schema Definitions. Questions on when to use a type or an Element, chose targetNamespace or XMLSchema as the default namespace, the number of namespaces to use. These are all well adressed in the book.

Where on the other hand a complete view on the following statement could fill at least a whitepaper:

Adopt and develop design techniques, naming conventions, and other best practices similar to those used in object-oriented modelling to address the issues of reuse, modularization, and extensibility. Some of the common design techniques are discussed in the later sections.

The chapter on loose coupling offers an example of how to achieve this using the Oracle Service Bus. It is hard to overrate the importance of loose coupling since a lot of both the technical and the business advantage rely on whether or not this loose coupling is achieved.

Bottomline

As a reference this is a good starting point to learn about SOA and integration in general. It could be more consistent on some details and with the great BPEL and BPM tooling these days I wouldn’t implement processes in an ESB. Of course there is a good chapter (12) with an eaxmple of using both BPM and BPEL. As mentioned before it has some great illustrative examples of real world scenarios. The bottom line is that I would recommend this book to people looking for a reference on SOA and integration.

Cons:
Some text seems a little dated.

Pros:
Good description of SOA and integration in general; practical ; solid introduction on the XML stuff, transactions, JCA and SCA; nice real world integration examples.

Additional reviews

If you’re interested in other reviews on this book, visit the ADF Code Corner blog by Frank Nimphius, AMIS blog by Lucas Jellema, or this SOA / BPM on Fusion Middleware blog by Niall Commiskey.

Maintaining SOA Suite infrastructure database

While trying to keep my post on purging the BPEL and ESB/Mediator database up to date with the latest documents and experiences, I found these whitepapers and references:

  • SOA 11G Database (pdf) Growth Management Strategy
  • An Oracle SOA 11G installation presents a few challenges for administrators and one of these is managing the growth of the SOA database. The advice facilitates better dialog between SOA and Database administrators when planning and managing database requirements.

  • On Oracle support: SOA 11g Infrastructure Database: Installation, Maintenance and Administration Guide [ID 1384379.1]
  • This document covers everything you need to know about the SOA Infrastructure Database for Oracle SOA Suite 11g. Here we bring together content from sources such as OTN, Product Documentation and our Knowledge Base in an effort to provide you with a single comprehensive resource.

Solving ORABPEL-11075 Unable to create control directory

Recently I engaged with a customer who experiences (among other problems) the following. Since there is hardly any info on Oracle Support or blogs I thought I’d share some info here:

WSIF JCA Execute of operation 'SomeService' failed due to: Unable to create control directory.
Unable to create control directory: "/mnt/queues/controldir/bpel/fileftp/controlFiles/epajYGFxPFPErSM8HcN8HQ==/outbound".
; nested exception is:
ORABPEL-11075
Unable to create control directory.
Unable to create control directory: "/mnt/queues/controldir/bpel/fileftp/controlFiles/epajYGFxPFPErSM8HcN8HQ==/outbound".
Please make sure that the directory name is valid and that there are adequate permissions to create the directory.

Solution

As the last part of the error message suggests, check for file system stuff:

  1. Is the share and/or mount your file / ftp adapter is pointing to still available?
  2. Can the share be reached from your SOA Server?
  3. Does the directory name exist?
  4. Are the required permissions available?

Correct inaccuracies.

Common Issues and Workarounds for File/FTP Adapter

There is an extensive document on solving issues with file and FTP adapters on Oracle support. The documentation for file and FTP adapters can be found:

  1. 11g JCA File / FTP adapter
  2. 10g File / FTP Adapter

SCA Diagrammer

SCAWhile doing some research on the web I came across a Service Component Architecture Diagram Generator. The script generates diagrams for applications based on the Service Component Architecture (SCA) model. This can be a great aid to understand the relations between components in large BPEL or SOA applications.

Download the tool here. The readme is over here. The script runs on Linux/Unix and has primarily been tested with Oracle Fusion Middleware 11g applications but should work with other BPEL or SOA frameworks.

SOA and Governance seminar

On December 13th Whitehorses will host a seminar on SOA and Governance. During this seminar we will show the value of a proper architecture and governance for your organization. In the presentation you will get clear guidelines and steps on a pragmatic approach for implementing a manageable SOA solution.

Some of the topics:

  • What is SOA Governance and Why do we need it?
  • SOA reference architecture – The importance of solid standardization.
  • Service life-cycle governance – Design and build the right services and the proper way to reuse them.
  • Service repository – With examples of repositories based on Oracle Enterprise Repository (OER) and a wiki.

rsvp.

Oracle BPM Suite 11g Handbook and free resources

BPM Suite 11gRecently McGraw Hill published the Oracle Business Process Management Suite 11g Handbook. It is available on their site and at Amazon.com.

Here is the table of contents with the links to the free chapters:

    Part I: Introduction

  1. BPM – Background
  2. Standards in BPM
  3. BPM Suite 11g – Overview
  4. Part II: Mastering Oracle BPM 11g

  5. Quick Learners Guide to Oracle BPM 11g
  6. Business Process Modeling and Implementation using BPMN 2.0
  7. Mastering Business Rules
  8. Advanced Human Tasks
  9. Developing Rich User Interfaces for BPM with ADF
  10. Part III: Essentials of Oracle BPM Methodology

  11. Planning a BPM Adoption
  12. Strategic Analysis, Process Selection and Design
  13. Technical Design and Project Delivery Strategies

Memory issues after installing OER

OER assetsAfter installing Oracle Enterprise Repository (OER) we experience some memory issues. Besides the messages in the log files, we also couldn’t use the console and em as we did before (when we were just running SOA Suite). It turned out the installation of OER in the same Weblogic domain resulted in some unexpected things.

The WebLogic Server and SOA Suite are started using the startWebLogic script (for windows .cmd and on Linux/Unix .sh). This script uses the setDomainEnv script to set the environment variable for the domain. The setDomainEnv script in turn calls the setSOADomainEnv that actually sets the USER_MEM_ARGS. That in the end are used in the startWebLogic script.

After the installation of OER the setDomainEnv not only calls the setSOADomainEnv. It also calls a script that sets the USER_MEM_ARGS for the oer_server in the domain. Apparently the memory required for OER is less than needed for the SOA Suite. Since the script for OER is executed last, memory setting remain low. As shown in the smippet taken from the setDomainEnv.cmd:

call "%WL_HOME%\common\bin\commEnv.cmd"
call "%DOMAIN_HOME%\bin\setSOADomainEnv.cmd"
call "%DOMAIN_HOME%\bin\setOERDomainEnv.cmd"

To solve the memory issue when starting the WebLogic Server using the startWebLogic script we alter the sequence so the setOERDomainEnv.cmd goes before the setSOADomainEnv.cmd.

If the installer put a second call to setSOADomainEnv.cmd in the setDomainEnv.cmd. That doesn’t work because the setSOADomainEnv.cmd contains the following check:

REM Skip running this script again if it was run once
if "%XENGINE_DIR%" == "" goto set_env
echo *********************************************************
echo ** SOA specific environment is already set. Skipping ...
goto end_set_env

.