Archive for category Uncategorized

Goodbye WordPress – Welcome JBake!

This is my last post here on WordPress.

I have not blogged since long time – and I want to change this again the future.

What prevented me from doing this was not the writing itself. But most of my posts are very technical with a lot of source code. And lot of this is very fast outdated and have to be updated.

And exactly there is my problem: I have to test my code and than I have to change the blog and the code in my blog.

For some time now I try to follow the doc-as-code approach and as a consequence to use Asciidoctor. With this it is possible to write the blog in simple text notation and include the code via simple directives.

So I have searched for a Java based, open source, static site/blog generator and found JBake. Every time I have to make change to source code, a blog entry or the look and feel of my new website, I commit this change and my Jenkins pipeline build and deploy my website – exactly as I try to develop!

Consequently I have created my own website “As Much As Possible As Code”. Please follow me for new content there!

Leave a comment

Slides for my german presentation #DOAG2014 “The Dirty Dozen – ADF Migration to 12c in the IKB” available

I have presented last week on DOAG 2014 in Nuremberg. For all non DOAG members – you can find the german presentation on slideshare too.

doag2014

Leave a comment

ADF Archtitecture Practice – JDeveloper Silent Install of Extensions

This article describes how to standardize your JDeveloper Installation as requested in Planning & Getting Started – Team, Skills and Development Environments. It is part of the ADF Architecture Practice lessons and describes the installation with examples for windows.


Version 12.1.x

There is a tool ojwebupdate to handle this. It is fully supported but it’s not documented at the moment, documentation is planned for 12.1.4. But you can get a lot of info, if you call:

ojwebupdate /?

The easiest thing is to download your reqired extension from the update centers. The update centers can be updated too, so the best thing is to call “Check for updates” in a manual installation and then look in your JDveloper system directory for a file updatecenters.xml.

Eg. if you want to install the extension “JUnit Integration” for version 12.1.3 in Windows 7 you have to go to the url, which is listed under “Official Oracle Extensions and Updates” by default in file

C:\Users\[Your User]\AppData\Roaming\JDeveloper\system12.1.3.0.41.140521.1008\o.ide\updatecenters.xml

At the moment this is http://www.oracle.com/webfolder/technetwork/jdeveloper/downloads/1213center.xml. Open this link, follow the link to “JUnit Integration” and download the required version. The right version can be determined by checking the requirement against your JDeveloper version or other extensions, you can find this information in the Help – About dialog. Or easier – you look at version, which version the manual installation would be installed and download this.

Then you can call installation with following batch file:

set oracle_home=C:\Oracle\JDev121300
%oracle_home%\jdeveloper\jdev\bin\ojwebupdate -zips=[Path]\junit.zip

Extensions can be depending on another extension, you see this in the requirements section of theurl or when you try to install a single extension in a fresh manual installation. In this case you have to install the extensions in the right order.


 

Version 11.1.1.x
The downloading of the file is similar to above, for version 11.1.1.7 you should download “JUnit Integration” extension at the moment from http://www.oracle.com/ocom/groups/public/@otn/documents/webcontent/131167.xml.

You can simply unzip the extensions into your installation. The target depends from the extension itself. Therefore open the zip file and look into the META-INF\bundle.xml file. If there is a tag , then this is the target. If this tag does not exist, the default target is %oracle_home%\jdeveloper\jdev\extensions.

The following batch will install “JUnit Integration” and “JUnit Integration for JDBC” extensions in the right order (as the second requires the first) in JDeveloper 11.1.1.7.:

set oracle_home=C:\Oracle\JDev111170
unzip -o -q junit_bundle -d %oracle_home%\jdeveloper
unzip -o -q junit-j2ee_bundle.zip -d %oracle_home%\jdeveloper\jdev\extensions
rem housekeeping
rmdir /S /Q %oracle_home%\jdeveloper\META-INF
rmdir /S /Q %oracle_home%\jdeveloper\jdev\extensions\META-INF

That’s it!

, , , , , ,

Leave a comment

See you at #DOAG2014 “The Dirty Dozen – ADF Migration to 12c in the IKB” room Kopenhagen on 11/19/2014 at 10:00 am

doag2014

The presentation is ready, time for travelling now.

I will speak over our experiences with following

  • provide user software
  • install servers
  • iterative test migrations
  • migration plannig
  • real migration
  • and the problems and pitfall’s we find on our way

If you speak german and you are interested in some of this, you should come and attend!

Leave a comment

ADF Archtitecture Practice – JDeveloper Silent Install

This article describes how to standardize your JDeveloper Installation as requested in Planning & Getting Started – Team, Skills and Development Environments. It is part of the ADF Architecture Practice lessons and describes the installation with examples for windows.


Version 12.1.x

In this version  the Oracle Universal Installer allows the silent installation of JDeveloper. All what you need is the installer file for your platform (e.g. jdev_suite_121300_win64.exe) and a response file. You can create your response file as described in the documentation:

  1. Run your product’s graphical installer or installer, as described in your product installation guide.
  2. For product installation, on the Installation Summary screen, click Save Response File to save your installation parameters to a response file.

The resulting file should be look similar to the following code:

[ENGINE]

#DO NOT CHANGE THIS.
Response File Version=1.0.0.0.0

[GENERIC]

#This will be blank when there is nothing to be de-installed in distribution level
SELECTED_DISTRIBUTION=JDeveloper Integrated Server Suite~12.1.3.0.0

#The oracle home location. This can be an existing Oracle Home or a new Oracle Home
ORACLE_HOME=C:\Oracle\JDev121300\

Then you call a command similar to:

jdev_suite_121300_win64.exe -silent -waitforcompletion -responseFile [complete path]\response.rsp

Deinstallation is similar, the response should look like

[ENGINE]

#DO NOT CHANGE THIS.
Response File Version=1.0.0.0.0

[GENERIC]

#This will be blank when there is nothing to be de-installed in distribution level
SELECTED_DISTRIBUTION=JDeveloper Integrated Server Suite~12.1.3.0.0

#The oracle home location. This can be an existing Oracle Home or a new Oracle Home
ORACLE_HOME=C:\Oracle\JDev121300\

Then you call the deinstallation via following commands:

set oracle_home=C:\Oracle\JDev121300
rem %oracle_home%\oui\bin\deinstall.cmd -noconsole -silent
"%oracle_home%\oui\bin\internal\ilaunch.exe" -noconsole -deinstall -silent ORACLE_HOME="%oracle_home%"

Pay attention that we did not use line 2, as this exits your command shell on windows. But we want to have a return code and maybe doing some post deinstall work (Enhancement Request 19464646 is created). Instead we have looked what command deinstall.cmd generates and put this on line 3.


Version 11.1.1.x
For this version you need the generic installer (eg. jdevstudio11117install.jar) and the 32bit JDK 1.6.0_24 (this is the delivered version for the manual install, 64bit version is not supported but works for most cases but not all). First you have to extract the msi JDK Installer as described here. Then you have to create a file silent.xml which is the equivalent of response.rsp in 12.1.x.

<?xml version="1.0" encoding="UTF-8"?>
<bea-installer>
  <input-fields>
    <data-value name="BEAHOME" value="C:\Oracle\JDev111170" />
    <data-value name="COMPONENT_PATHS" value="JDeveloper and ADF/JDeveloper Studio|JDeveloper and ADF/Application Development Framework Runtime|WebLogic Server/Core Application Server|WebLogic Server/Administration Console|WebLogic Server/Configuration Wizard and Upgrade Framework|WebLogic Server/WebLogic JDBC Drivers|WebLogic Server/WebLogic Server Clients|WebLogic Server/WebLogic SCA|WebLogic Server/UDDI and Xquery Support"/>
    <data-value name="INSTALL_SHORTCUT_IN_ALL_USERS_FOLDER" value="yes"/>
    <data-value name="LOCAL_JVMS" value="C:\Oracle\JDev111170\jdk160_24\"/>
  </input-fields>
</bea-installer>

Then you can call Installation with following batch file:

set mw_home=C:\Oracle\JDev111170
set oracle_home==%mw_home%\oracle_common
set java_home=%mw_home%\jdk160_24
c:\windows\system32\msiexec.exe /i [complete path]\jdk1.6.0_24.msi /quiet ADDLOCAL="ToolsFeature,SourceFeature" INSTALLDIR="%java_home%" REBOOT=Suppress
"%java_home%\bin\java" -jar jdevstudio11117install.jar -mode=silent -log=install.log -silent_xml=silent.xml

You can call the deinstallation with following batch file:

set mw_home=C:\Oracle\JDev111170
set oracle_home==%mw_home%\oracle_common
set java_home=%oracle_home%\jdk160_24
%mw_home%\utils\uninstall\uninstall.exe -mode=silent -log=uninstall.log
c:\windows\system32\msiexec.exe /x [complete path]\jdk1.6.0_24.msi /quiet REBOOT=Suppress

That’s it!

, , , , , ,

Leave a comment

“The Dirty Dozen – ADF Migration to 12c in the IKB” I’m a speaker at DOAG2014:

doag2014

Today the official program is online for DOAG conference 2014 in Nuremberg. My presentation is confirmed  “The Dirty Dozen – ADF Migration to 12c in the IKB”.

I will speak over our experiences with following

  • provide user software
  • install servers
  • iterative test migrations
  • migration plannig
  • real migration
  • and the problems and pitfall’s we find on our way

If you speak german and you are interested in some of this, you should come and attend my presentation DOAG conference 2014 in room Kopenhagen on 11/18/2014 at 10:00 am.

Leave a comment

Quality Assurance for ADF projects

If you speak german and you are interested in quality assurance for your ADF projects you should come and attend my presentation at DOAG Development on 06/04/2014 in Dusseldorf.

I will show you, how you can implement in the JDeveloper IDE and in Continous Integration server Jenkins:

  • static code analysis with PMD, FindBugs and Checkstyle
  • Task’s
  • Commit tests with JUnit, Mockito and Powermock for Mockito
  • Code coverage for commit tests with JaCoCo
  • Acceptance tests with JUnit and Selenium

See you!

2014-Development_Banner-Speaker-180x180

, , , , , , , , , , , , , , , , , ,

2 Comments

Save JDeveloper application workings sets in the application workspace – please vote for this enhancement request

If you create for an example a big adf application you may want to add all of your entities to one base application for reuse labels, validation and and so on. If you have a big database schema than in short time you have a problem to find your entity.

In JDeveloper there is a neat feature to overcome this problem: working sets! With this you can easily group your entities or other artefacts in logical working set, eg. for a sub application. Unfortunatly working sets are saved per user. There are several description how to share this between your team members. But a better way would to distinct between user and application working sets. Application working set should be saved consequently in the application workspace (jws).

Therefore I have created enhancent request bug 15841657 : SAVE APPLICATION WORKING SETS IN THE APPLICATION WORKSPACE JWS.

If you find this useful too, then create a service request, that you need this feature too. Unfortunatly there seems no other voting function for enhancement requests on oracle.

, ,

2 Comments

Oracle Reports Designer 11g 64bit on Windows7 64bit very buggy – Use Reports 32bit instead!

As I have seen in Oracle certification matrix Forms & Reports 11g 64bit is supported under Windows7 64bit. So I tried to install it and to work with it. Unfortunatly there are serious bugs in it, please read for more information MOS Doc ID 1395965.1:

  1. After starting Reports Builder, trying to open “Data Model” or “Web Source” will crash the Report Builder
  2. Impossibility to create a Query based on a Pluggable Data Source (PDS) in reports builder
  3. Reports Builder spins on CPU (grabbing full power of one CPU) when “Copy/Paste” functionality is used in Layout Model

For 1./2. is a workaround to disable all Pluggable Data Source (PDS) in cauprefs.ora, if you don’t use that feature.

But for 3. is no workaround besides to use Forms & Reports 11g 32bit!

, , , , ,

1 Comment

TranslationHub 11g is only available as 32 bit – requires Forms & Reports 11g too in 32 bit for Development

I have done the whole may scripting silent installs of several developer tools. Among them was Fusion Midleware 11.1.2 Forms & Reports. I see that oracle certifies the 64bit installers on win7 64bit and so I have successfully script this after a lot of time. I want not speak about the many errors in silent installers here.

As we use TranslationHub for translating our forms, menus and reports, I tried last weeks to script this and after this to batch import all my original and translated modules as 11g versions, as this is required before roll out fusion middleware to our users.

First I have seen that TranslationHub is only available in 32bit as standalone version outside Fusion Middleware. Additional there is no silent installer available for this separate package. Asking support for 64bit version and silent install option results in two enhancement requests. Everybody who has created such an request before know, that he does not get this in some weeks, very likely he got it never. Fortunatly our scripting boys have recorded and repackaged this installer. The 32bit version installs on win7 64bit and starts.

But now begins the really horror: I could not see forms and reports in the import wizards, my batch jobs fails. The 32bit TranslationHub version seems not find the 64bit Forms version. So the work begins again – I had to script the 32bit version of Fusion Midleware 11.1.2 Forms & Reports for the developers. Fortunatly this works very similar to 64bit, and I complete this package in several ours. Now

One additional note for TranslationHub: You must ensure that the first entry in the path variable is an 32bit Oracle Client for succesfull connect to your TranslationHub repository.

, , , , , , , ,

12 Comments