Skip navigation.

Darwin IT

Syndicate content
Darwin-IT professionals do ICT-projects based on a broad range of Oracle products and technologies. We write about our experiences and share our thoughts and tips.Martien van den Akkerhttps://plus.google.com/110503432901891966671noreply@blogger.comBlogger277125
Updated: 1 hour 13 min ago

BPM/SOA 12c: Symbolic Filebased MDS in Integrated Weblogic

Tue, 2016-02-02 05:44
In BPM/SOA projects, we use the MDS all the time, for sharing xsd's and wsdl's between projects.

Since 12cR1 (12.1.3) we have the QuickStart installers for SOA and BPM,  that allows you to create an Integrated Weblogic domain to use for SOASuite and/or BPMSuite.

In most projects we have the contents of the MDS in subversion and of course a check out of that in a local svn working copy.

My whitepaper mentioned in this blog entry describes how you can use the mds in a SOA Suite project from 11g onwards.

But how use the MDS in your integrated weblogic? I would expect that some how 'magically' the integrated weblogic would 'know' of the mds references that I have in the adf-config.xml file in my SOA/BPM Application. But unfortunately it hasn't. That is only used on design/compile time.

Now you could just deploy/sync your MDS to your integrated weblogic as you would do to your test/production server and did on 11g.

But I wouldn't write this blog-entry if I did not find a cool trick: symbolic links, even on Windows.

As denoted by the JDEV_USER_DIR variable your (see also this blog entry), your DefaultDomain would be in 'c:\Data\JDeveloper\SOA\system12.2.1.0.42.151011.0031\DefaultDomain' or 'c:\Users\MAG\AppData\Roaming\JDeveloper\system12.2.1.0.42.151011.0031\DefaultDomain' (on Windows).

Within the  Domain folder you'll find the following folder structure: 'store\gmds\mds-soa\soa-infra'.
 This is apparently the folder that is used for the MDS for SOA and BPM Suite. Within there you'll find the folders:
  • deployed-composites
  • soa
In there you can create a symbolic link (in Windows a Junctions) named 'apps' and pointing to the folder in your svn working copy that holds the 'oramds://apps'-related content. In Windows this is done like:
C:\...\DefaultDomain\store\gmds\mds-soa\soa-infra>mklink /J apps y:\Generiek\MDS\trunk\SOA\soa-infra\apps
The /J makes it a 'hard symbolic link' or a 'Junction'. Under Linux you woud use 'ln -s ...'.

You'll get a response like:
C:\...\DefaultDomain\store\gmds\mds-soa\soa-infra>Junction created for apps <<===>> y:\Generiek\MDS\trunk\SOA\soa-infra\apps
When you perform a dir you'll see:

c:\Data\JDeveloper\SOA\system12.2.1.0.42.151011.0031\DefaultDomain\store\gmds\mds-soa\soa-infra>dir
Volume in drive C is System
Volume Serial Number is E257-B299

Directory of c:\Data\JDeveloper\SOA\system12.2.1.0.42.151011.0031\DefaultDomain\store\gmds\mds-soa\soa-infra

02-02-2016 12:06 <DIR> .
02-02-2016 12:06 <DIR> ..
02-02-2016 12:06 <JUNCTION> apps [y:\Generiek\MDS\trunk\SOA\soa-infra\apps]
02-02-2016 12:07 <DIR> deployed-composites
02-02-2016 11:23 <DIR> soa
0 File(s) 0 bytes
5 Dir(s) 18.475.872.256 bytes free
You can just CD to the apps folder and do a DIR there, it will then list the contents of the svn working copy folder of your MDS but just from within your Default Domain.

Just refire your Integrated Domain's DefaultServer and you should be able to deploy your composites that depend on the MDS.

Using SKIP LOCKED feature in DB Adapter polling

Tue, 2016-01-19 04:53
Last few days I spent with describing a Throttle mechanism using the DB Adapter. Today the 'Distributed Polling' functionality of the DB Adapter was mentioned to me, which uses the SKIP LOCKED clausule of the database.

On one of the pages you'll get to check the 'Distributed Polling' option:
Leave it like it is, since it adds the 'SKIP LOCKED' option in the 'FOR UPDATE' clausule.

In my example screendump I set the Database Rows per Transaction, but you might want to set in a sensible higher value with regards to the 'RowsPerPollingInterval' that you need to set yourself in the JCA file:

The 'RowsPerPollingInterval' is not an option in the UI, unfortunately. You might want to set this as a multiple to the MaxTransactionSize (in the UI denoted as 'Database Rows per Transaction').

A great explanation for this functionality is this A-Team blogpost. Unfortunately the link to the documentation about 'SKIP LOCKED' in that post is broken. I found this one. Nice thing is that it suggests using AQ as preferred solution in stead of SKIP LOCKED.

Maybe a better way for throttling is using the AQ Adapter together with the properties

Automatic install of JDeveloper

Wed, 2016-01-06 01:57
A few weeks ago I wrote a little script to do a silent install of SOA/BPM QuickStart.
Yesterday I enhanced the script to also do an automatic install of Java and adapt the environment settings to have the JDeveloper settings specific placed in C:\Data\JDeveloper\SOA.

To run the script you should have the following files placed in one folder (for instance c:\temp\soabpm):
Download the jdk-8u65-windows-x64.exe from here. If you use another version adapt the script below to change the JAVA_HOME as the place where it should be installed and the reference to the installer (jdk-8u65-windows-x64.exe) to the version. The script below ignores any other installation of Java (either an other update of jdk8 or earlier versions).

Using the 'setx' command  (see docs) the JAVA_HOME is explicitly set, and also later on the variables JDEV_USER_DIR_SOA and JDEV_USER_HOME_SOA pointing to C:\Data\JDeveloper\SOA. I picked the jdev.boot from an earlier install adapted the ide.user.dir.var variable as follows:

#
# The ide.user.dir.var specifies the name of the environment variable
# that points to the root directory for user files. The system and
# mywork directories will be created there. If not defined, the IDE
# product will use its base directory as the user directory.
#
ide.user.dir.var = JDEV_USER_HOME_SOA,JDEV_USER_DIR_SOA

A copy of this jdev.boot file I placed in the same folder as the script. The scripts sets the FMW_HOME as 'C:\oracle\JDeveloper\12210_BPMQS'. After the install of JDeveloper-SOA/BPM QuickStart, it copies this jdev.boot file to the right place in the FMW_HOME (%FMW_HOME%\jdeveloper\jdev\bin).
Make sure that you have the installer jar files (fmw_12.2.1.0.0_bpm_quickstart.jar and fmw_12.2.1.0.0_bpm_quickstart.jar) unzipped in the same folder. You could have downloaded them in zip files. You can use this script also to do a complete silent install of the JDeveloper Studio Edition, but then use the generic installer downloaded here (Oracle JDeveloper 12c 12.2.1.0.0 Generic/Others(2.1GB)).

The installBpmQS.bat script is as follows.
@echo off
set JAVA_HOME=c:\Program Files\Java\jdk1.8.0_65
echo setx -m JAVA_HOME "%JAVA_HOME%"
setx -m JAVA_HOME "%JAVA_HOME%"
echo JAVA_HOME=%JAVA_HOME%
rem Check Java
if exist "%JAVA_HOME%" goto :JAVA_HOME_EXISTS
echo Install %JAVA_HOME%
jdk-8u65-windows-x64.exe /s INSTALLDIR="%JAVA_HOME%"
:JAVA_HOME_EXISTS
echo %JAVA_HOME% exists
rem check BPM12.2 QS
set FMW_HOME=C:\oracle\JDeveloper\12210_BPMQS
if exist "%FMW_HOME%" goto :BPMQS_HOME_EXISTS
echo Install %FMW_HOME%
rem echo "Current dir2:" %~dp0
echo "Silent install BPM QuickStart, using response file:" %cd%\bpmqs1221_silentInstall.rsp
"%JAVA_HOME%\bin\java.exe" -jar fmw_12.2.1.0.0_bpm_quickstart.jar -silent -responseFile %cd%\bpmqs1221_silentInstall.rsp -nowait
:BPMQS_HOME_EXISTS
echo %FMW_HOME% exists
if not exist c:\Data mkdir c:\Data
if not exist c:\Data\JDeveloper mkdir c:\Data\JDeveloper
if not exist c:\Data\JDeveloper\SOA mkdir c:\Data\JDeveloper\SOA
rem set JDEV_USER_DIR_SOA and JDEV_USER_HOME_SOA as 'c:\Data\JDeveloper\SOA'
echo set JDEV_USER_DIR_SOA and JDEV_USER_HOME_SOA as c:\Data\JDeveloper\SOA
setx -m JDEV_USER_DIR_SOA c:\Data\JDeveloper\SOA
setx -m JDEV_USER_HOME_SOA c:\Data\JDeveloper\SOA
echo copy jdev.boot naar "%FMW_HOME%\jdeveloper\jdev\bin"
copy jdev.boot "%FMW_HOME%\jdeveloper\jdev\bin" /Y
echo done

For completeness, the content of the response file is:
[ENGINE]

#DO NOT CHANGE THIS.
Response File Version=1.0.0.0.0

[GENERIC]

#Set this to true if you wish to skip software updates
DECLINE_AUTO_UPDATES=true

#
MOS_USERNAME=

#
MOS_PASSWORD=<secure value="">

#If the Software updates are already downloaded and available on your local system, then specify the path to the directory where these patches are available and set SPECIFY_DOWNLOAD_LOCATION to true
AUTO_UPDATES_LOCATION=

#
SOFTWARE_UPDATES_PROXY_SERVER=

#
SOFTWARE_UPDATES_PROXY_PORT=

#
SOFTWARE_UPDATES_PROXY_USER=

#
SOFTWARE_UPDATES_PROXY_PASSWORD=<secure value="">

#The oracle home location. This can be an existing Oracle Home or a new Oracle Home
ORACLE_HOME=C:\oracle\JDeveloper\12210_BPMQS
Save this as bpmqs1221_silentInstall.rsp. If you use this for the installation of JDeveloper Studio Edition or any other version of JDeveloper, then adapt the name, also in installBpmQS.bat above, and adapt the FMW_HOME/ORACLE_HOME in both installBpmQS.bat and the response-file.

I could have enhanced this script to put the possible points to change in variables. But I think with my eloboration you should get the point... 

Remote debugging on SOA 12c.

Wed, 2015-12-16 01:40
In SOA Suite 12c it is now possible to do step-by-step debugging of your composites, including introspection of your messages and variables.
This is enabled by default in the DefaultDomain of the SOA QuickStart.
But how to do so with a remote server? It is not enabled by default on seperate servers.

A moment ago I saw this tip on the community forum, which states that you have to enable it by adding the following lines to your setDomainEnv.cmd/sh:
export SOA_DEBUG_FLAG="true"
export SOA_DEBUG_PORT="5004"

You can find out all about it here in the docs.

Silent install SOA/BPM 12c QuickStart

Thu, 2015-12-10 02:56
Since september 2014, SOA & BPM Suites are available. As you may know, the biggest difference in developer experience is the introduction of the QuickStarts, that installs a JDeveloper including a preconfigured IntegratedWeblogic that has the SOA and BPM components have installed. So there is no direct need for a complete Development Server to run and test your developments. By the way, in a project I do think you'll still need a Development Environment to do the end2end testing of your team's complete solution.

But with SOA & BPM 12c you can't do with the  standaard JDeveloper 12c Studio.

For the SOA 12.2.1 QuickStart a description of the installation process is described here. For BPM the installation is the same, as well as for the 12.1.3 version of both products.

Important to notice is the need for a recent JDK 8 (currently update 65 or 66). Download and install the 64 bit version for your OS.

Download and unzip the BPM or SOA QuickStart files in a temp folder, like 'c:\temp\soa_bpm_1221'). You should then have two files there:
  • fmw_12.2.1.0.0_bpm_quickstart.jar
  • fmw_12.2.1.0.0_bpm_quickstart2.jar

Then for windows you should open an command window as Administrator. For Linux open a terminal window as the user you want to install the product with.

I won't go through the manual install in detail, but given you're working under Windows (for Linux I assume you'll be able to translate it to shell), set the JAVA_HOME and start the intaller as follows:

c:\Temp\soa_bpm_1221>set JAVA_HOME=c:\Program Files\Java\jdk1.8.0_65

c:\Temp\soa_bpm_1221>echo %JAVA_HOME%
c:\Program Files\Java\jdk1.8.0_65

c:\Temp\soa_bpm_1221>"%JAVA_HOME%\bin\java.exe" -jar fmw_12.2.1.0.0_bpm_quickstart.jar
Launcher log file is C:\Users\MAG\AppData\Local\Temp\OraInstall2015-12-09_09-03-34AM\launcher2015-12-09_09-03-34AM.log.

Running through the wizard, in the 'Installation Summary' screen you'll get the chance to save your choices to a response file:
 
I did my installation in  'C:\oracle\JDeveloper\12210_BPMQS' resulting in the following response file that I named 'bpmqs1221_silentInstall.rsp':
[ENGINE]

#DO NOT CHANGE THIS.
Response File Version=1.0.0.0.0

[GENERIC]

#Set this to true if you wish to skip software updates
DECLINE_AUTO_UPDATES=true

#
MOS_USERNAME=

#
MOS_PASSWORD=<secure value="">

#If the Software updates are already downloaded and available on your local system, then specify the path to the directory where these patches are available and set SPECIFY_DOWNLOAD_LOCATION to true
AUTO_UPDATES_LOCATION=

#
SOFTWARE_UPDATES_PROXY_SERVER=

#
SOFTWARE_UPDATES_PROXY_PORT=

#
SOFTWARE_UPDATES_PROXY_USER=

#
SOFTWARE_UPDATES_PROXY_PASSWORD=<secure value="">

#The oracle home location. This can be an existing Oracle Home or a new Oracle Home
ORACLE_HOME=C:\oracle\JDeveloper\12210_BPMQS
Save this as 'bpmqs1221_silentInstall.rsp' (or adapt it if you use either the 12.1.3 version or the SOA QuickStart).
You can change the ORACLE_HOME parameter in this file if you choose to put it elsewhere. I used this because I have all the Oracle software always in a oracle folder, and different JDeveloper installs under JDeveloper. I postfixed the version folder with BPMQS to explicitly state it's a JDeveloper resulting from the QuickStart and not a standard studio install.

To run the silent install you'll issue the following command:
"%JAVA_HOME%\bin\java.exe" -jar fmw_12.2.1.0.0_bpm_quickstart.jar -silent -responseFile %cd%\bpmqs1221_silentInstall.rsp -nowait

I put this in a windows bat file as follows:
@echo off
set JAVA_HOME=c:\Program Files\Java\jdk1.8.0_65
echo JAVA_HOME=%JAVA_HOME%
rem echo "Current dir2:" %~dp0
echo "Silent install BPM QuickStart, using response file:" %cd%\bpmqs1221_silentInstall.rsp
"%JAVA_HOME%\bin\java.exe" -jar fmw_12.2.1.0.0_bpm_quickstart.jar -silent -responseFile %cd%\bpmqs1221_silentInstall.rsp -nowait
BTW: the variable '%cd%' means the current directory. The quickstart installer expects an absolute path to the response file.

BPM 12c R2 (12.2.1) download

Tue, 2015-11-24 01:54
For a few weeks, BPM 12cR2 is released, next to SOA 12cR2. But if you go to the download area of BPM on OTN, you'll find that the downloads suggest Release 12c (12.1.3.0.0).

Just now on community.oracle.com, I found  an answer to the question I had quitely my self for a few weeks: where to download BPM12cR2?

I didn't check-out edelivery.oracle.com my self yet, but you can go to Oracle BPM Suite Downloads | Oracle Technology Network | Oracle. Then accept the download agreements on the page, as though you were to download the links on the page. Then use the following links to download part one and two of the BPM QuickStart installer:
Thanks mr. Atwood. Hopefully Oracle repairs the links soon.

SOASuite 12.2.1 Available

Sat, 2015-10-24 07:37
On the eve of OOW15, I read that Oracle Fusion Middleware 12.2.1 is released, including Oracle SOASuite, but apparently excluding BPM Suite.

You can download the quickinstaller here. Although it is not explicitly stated on the download pages and in the install guide, you'll need Java 8, update 51+ to install. Which is good news actually, because although Weblogic 12c was already Java 8 certified, and SQLDeveloper 4.1 was introduced on Java 8, SOASuite and BPM suite 12c (12.1.3) was not, and actually won't be (I presume).

You can check out the certification in the certification matrix of Fusion Middleware.

Happy OOW15 all the attendees at the other side of the 'big pool'. We'll guard the fortresses over here... ;)

Oh, and in my previous blog I posted about BPM 12.1.3 Bundle Patch 4, but that there was no BP4 yet for SOASuite. Now a moment ago, I saw since october 20th, there is one for SOASuite.