Posts Tagged Oracle

Find problems when you develop: using XRebel with Oracle ADF

Some days before ZeroTurnaround has released XRebel , a new tool to recognized problems in your web applications, when you make your developer test.

This was promising, so I give it a short try for Oracle ADF applications. For this blog I use the Summit ADF application, delivered by Oracle, but I have tried with our own application too. Test is done in JDeveloper 12.1.2.

After the download there are some easy steps of setup to do:

First thing is to change an existing or add a new run configuration:
2014-06-30 07 09 28

2014-06-30 07 09 38

Then edit this configuration

2014-06-30 07 09 45

and add XRebel path as described in the documentation:

2014-06-30 07 11 16

Save the configuration by pressing OK two times.

Then open your Page and run it via the run configuration:

2014-06-30 07 12 39

As First you see one time a dialog to request and enter the trial license.

Then you see the XRebel widget on the left side and after waiting some little time the first issues are shown.

2014-06-30 07 28 34

From the default configuration (which can be changed with the gear in the widget) there seems a problem with the size of the session and with SQL Queries. If you drill down to the queries tab on the SQL page you see the execute queries, sorted by execution time, maybe the app should execute some of the queries at least not before changed to the tab, where it is used?

2014-06-30 07 29 20

2014-06-30 07 29 27

If you look at the session size, then interesting is, that most of the session size is hold on the ODL log manager. Maybe oracle should think about this result, maybe there is a better way to hold this data.

2014-06-30 07 32 32

So download XRebel and give it chance on your ADF application.

, , , , ,

Leave a comment

Deploy your ADF Mobile App to a virtual Android device from JDeveloper IDE

If you tired from the android emulator speed you may have read Chris Muir’s article ADF Mobile: Avoiding the Android Emulator with AndroVM.

In the meantime the successor of AndroVM is GENYMOTION.

If you have configured the port forwarding section from the AndroVM or use GENYMOTION, then you have to deploy your ADF Mobile app first to apk-File and manually install this into to the virtual android image via the android sdk command adb. The virtual Android device must be started to do this.

To do the last step from JDeveloper IDE directly with 1 click following steps help to reach this:

  1. Convention over configuration: Name all of your deployment profiles for android with the same name, eg. all adf mobile samples use the name “ANDROID_MOBILE_NATIVE_archive1″
  2. Create in JDeveloper an external tool
    1. Select from the menu Tools -> External Tools … -> New
    2. Select Tool Type: External Program

    3. Select Program Executable: adb.exe from your Android SDK
      Enter Arguments: install ${workspace.dir}\deploy\ANDROID_MOBILE_NATIVE_archive1\${file.name.no.ext}.apk

    4. Enter Caption for Menu Items, eg.: Install apk file to virtual Android device

    5. Select Add Items to Menus: Navigator Context Menu

    6. Select Enabled When Specific File Types are selected: Application

Now you first deploy your Application to an Android package:

Then you can install this via application context menu directly to your virtual android devive:

Now you can test your app in the virtual Android device:

That’s it!

Chrysanth WebStory Published by WebStory

, , , , ,

11 Comments

Have released PMD Jdeveloper Extension 5.0.5

I have finished now my work on integrating last PMD version 5.0.5 into JDeveloper.

This is available now for JDeveloper 11.1.1.6 upwards, 11.1.2.x. and 12.1.2. There is no new functionality, as the most work intensive part was the rewriting for PMD 5. There has changed a lot of api functionality.

Please give it a try, you can download it via the standard update center “Open Source and Partners Extensions” in JDveloper itself

update_center_11.1.2.5050

or directly from the PMD SourceForge.net Project Page.

, , , , ,

Leave a comment

Fasten your Oracle Forms and Reports 11g Server start on Unix derivates

Do you see a slow start of your weblogic managed server for forms & reports on unix derivate? We have this problem on Suse SLES 11 and forms and reports 11.1.2.

In November I attended the annual DOAG (German Oracle User Group) conference in Nuremberg. There I’ve heare an interesting presentation from Jan-Peter Timmermann about “Performance with Forms 11gR2 Weblogic 10.3.x”.

One snippet of the presentation was an bug in the jdk which slows down the start of managed weblogic servers. It has to do with the random number generator during loading the OPSS Policy Provider for security. This issue is discussed in detail in this blog: http://www.itonguard.com/20090313/weblogic-starts-slow/.

These are the relevant log files before as an example for forms:

####<21.12.2012 07:38 Uhr MEZ> <Info> <WebLogicServer> <localhost> <> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <> <> <> <1356071911941> <BEA-000000> <WebLogic Server "WLS_FORMS" version: WebLogic Server 10.3.5.0  Fri Apr 1 20:20:06 PDT 2011 1398638  Copyright (c) 1995, 2009, Oracle and/or its affiliates. All rights reserved.>
####<21.12.2012 07:38 Uhr MEZ> <Info> <IIOP> <localhost> <WLS_FORMS> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1356071912371> <BEA-002014> <IIOP subsystem enabled.>
####<21.12.2012 07:40 Uhr MEZ> <Info> <Security> <localhost> <WLS_FORMS> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1356072024665> <BEA-090894> <Successfully loaded the OPSS Policy Provider using oracle.security.jps.internal.policystore.JavaPolicyProvider.>
####<21.12.2012 07:41 Uhr MEZ> <Notice> <WebLogicServer> <localhost> <WLS_FORMS> <main> <<WLS Kernel>> <> <> <1356072069175> <BEA-000360> <Server started in RUNNING mode>

You see, that initializing the OPSS Policy Provider, which seems to use the random number generator, needs 2 minutes.

Now we will make a simple change in the Oracle Middleware JDK Runtime file (we have here SUN JDK 1.6.0_26 64bit)

<JDK Home>/jre/lib/security/java.security

Comment the original line as followed, an add a the marked new line:

#securerandom.source=file:/dev/urandom
securerandom.source=file:/dev/./urandom

Now see the results for forms:

####<21.12.2012 07:57 Uhr MEZ> <Info> <WebLogicServer> <sdu10037> <> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <> <> <> <1356073038615> <BEA-000000> <WebLogic Server "WLS_FORMS" version: WebLogic Server 10.3.5.0  Fri Apr 1 20:20:06 PDT 2011 1398638  Copyright (c) 1995, 2009, Oracle and/or its affiliates. All rights reserved.>
####<21.12.2012 07:57 Uhr MEZ> <Info> <IIOP> <localhost> <WLS_FORMS> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1356073039121> <BEA-002014> <IIOP subsystem enabled.>
####<21.12.2012 07:57 Uhr MEZ> <Info> <Security> <localhost> <WLS_FORMS> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1356073042034> <BEA-090894> <Successfully loaded the OPSS Policy Provider using oracle.security.jps.internal.policystore.JavaPolicyProvider.>
####<21.12.2012 07:58 Uhr MEZ> <Notice> <WebLogicServer> <localhost> <WLS_FORMS> <main> <<WLS Kernel>> <> <> <1356073086151> <BEA-000360> <Server started in RUNNING mode>

You see the loading of OPSS Policy Provider takes now no relevant time and the startup time in our case decrease from 3 to 1 minute. We see same improvement for the reports managed server.

Remember, your mileage may vary if

  • Your are not on a affected unix derivate.
  • You use not an jdk with this bug. Unfortunatly in the blog is not described the bug number.

, , , , , , ,

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

Have released PMD Jdeveloper Extension 4.3

Sorry for a time without new post – but I have finished now my work on integrating last PMD version 4.3 into JDeveloper.

This is available now for JDeveloper 10.1.3.x, 11.1.1.6 and 11.1.2.x. There is no new functionality, as the most work intensive part was the rewriting for 11.1.2.x. There has changed a lot of JDeveloper api functionality. Additional I tried to solve a class loader conflict in JDeveloper 11.1.1.x with the delivered libraries from PMD 4.3, but I was not succesful. Fortunatly Oracle JDeveloper product management solved this conflict in 11.1.1.6, so I can deliver at least the extension for this JDeveloper version.

Please give it a try, you can download it via the standard update center “Open Source and Partners Extensions” in JDveloper itself or directly from the PMD SourceForge.net Project Page.

, , , , ,

4 Comments

Oracle Forms 11 running as application in Java Webstart

According to my last post today I will show you the basic configuration for forms 11g.

Unfortunatly webstart in forms 11g it is not as easy as in 10g, but it works too!

As first you need an additional unique identifier “ifsessid” in parameter “serverURL” for forms. This prevents the use of a static jnlp in this case. Maybe it is possible to branch out the build of this unique identifier from the jnlp. I have decided instead to create the the jnlp from a java server page. This helps me additional to use forms parameters, which I will describe in a later post. Sure there maybe exist other ways to build the jnlp.

Let’s start:

Again I assume you have an running unix or linux application server with forms 11g.

As first you need the webstart_11g.jsp in folder public_html under a JDeveloper project. The marked lines provides the identifier:

<%@ page contentType="application/x-java-jnlp-file" language="java" import="java.sql.*"%>
<%@ page session="true"%>
<%response.setDateHeader ("Expires", 0); //prevents caching at the proxy server%>
<%
  long time = System.currentTimeMillis();
  String sessid = String.valueOf(time);
%>
<jnlp codebase="http://localhost.localdomain:9001/forms/java/">
  <information>
    <title>Webstart Test Oracle Forms 11g</title>
    <vendor>develishdevelopment.wordpress.com</vendor>
    <description>Webstart Test Oracle Forms 11g</description>
  </information>
  <security>
    <all-permissions/>
  </security>
  <update check="timeout" policy="always"/>
  <resources>
    <j2se version="1.6.0"/>
    <jar href="frmall.jar" download="eager" main="true"/>
  </resources>
  <applet-desc name="Webstart Test Oracle Forms 11g" main-class="oracle.forms.engine.Main" width="990" height="640">
    <param name="background" value="no"/>
    <param name="logo" value="no"/>
    <param name="serverApp" value="default"/>
    <param name="lookAndFeel" value="oracle"/>
    <param name="allow_debug" value="true"/>
    <param name="separateFrame" value="false"/>
    <param name="em_mode" value="1"/>
    <param name="latencyCheck" value="true"/>
    <param name="networkRetries" value="240"/>
    <param name="serverArgs" value="module=test.fmx useSDI=yes"/>
    <param name="serverURL" value="http://localhost.localdomain:9001/forms/lservlet?ifcfs=http://localhost.localdomain:9001/forms/frmservlet?config=jpi&ifsessid=formsapp.<%=sessid%>"/>
    <param name="colorScheme" value="teal"/>
    <param name="splashScreen" value="no"/>
    <param name="dontTruncateTabs" value="true"/>
  </applet-desc>
</jnlp>

Now you need to deploy this jsp. First create a application server connection in JDeveloper version corresponding to your forms weblogic server. I have forms 11.1.1.2.0, which runs on weblogic 10.3.2. So I have to use JDeveloper 11.1.1.2.0. See oracle support information for supported JDeveloper version for your environment. Right click on you Jdeveloper project with the jsp an select deploy. Following are the steps in the deploy wizard:

  • Deployment Action
    • Deploy to application server
  • Select Servers
    • Application Servers: your application server
    • Overwrite modules of the same name: select
    • Deploy to all server instances in the domain: unselect
    • Deploy as a standanlone Application: select
  • Server instances
    • List Standalone Servers and Cluster: select your forms cluster or your forms server (WLS_FORMS)
  • Summary: finish

In the project properties change the deployment properties to set your context root, which will be later part of your url:

Set context root.

If you redeploy this jsp, you may wonder that your change is not immediatly shown. You can solve this by dropping the former deployment before redeploying or you add following files to your JDeveloper Project under folder public_html\WEB-INF:

weblogic.xml:

<weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd" xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app">
  <jsp-descriptor>
    <page-check-seconds>0</page-check-seconds>
  </jsp-descriptor>
  <container-descriptor>
    <servlet-reload-check-secs>0</servlet-reload-check-secs>
    <resource-reload-check-secs>0</resource-reload-check-secs>
  </container-descriptor>
  <context-root>webstart_11g</context-root>
  <fast-swap>
    <enabled>true</enabled>
    <refresh-interval>1</refresh-interval>
  </fast-swap>
</weblogic-web-app>

web.xml:

<?xml version = '1.0' encoding = 'windows-1252'?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"></web-app>

Complete workspace you can found here: webstart_11g.zip

Now start java webstart with your jnlp url, here is an example in linux:

./javaws http://localhost.localdomain:9001/webstart_11g/webstart_11g.jsp

Java webstart comes up with the standard test.fmx from the forms services installation:

webstart_11g_succesful

That’s all!

, , , ,

15 Comments

Oracle Forms 10 running as application in Java Webstart

Many people miss in webforms the possibility to run forms as a separate application. They have a lot of problems to handle browser back button an so on.

The good news – there is way to do this with Java Webstart.

The bad news – it is not supported by Oracle. But we run this since four years now and is very stable.

Following I show you the basic configuration for forms 10g. In later posts I will show you examples for forms 11g, how to handle forms parameters and further more.

Let’s start:

I assume you have an running unix or linux application server with forms 10.1.2.
Put following code as webstart_10g.jnlp to directory <Oracle Home>/j2ee/home/default-web-app

<jnlp spec="1.0+" codebase="http://localhost.localdomain:7778/forms/java/">
  <information>
    <title>Webstart Test Oracle Forms 10g</title>
    <vendor>develishdevelopment.wordpress.com</vendor>
    <homepage href="null"/>
    <description>Webstart Test Oracle Forms 10g</description>
  </information>
  <security>
    <all-permissions/>
  </security>
  <update check="timeout" policy="always"/>
  <resources>
    <java version="1.6.0"/>
    <jar href="frmall.jar" download="eager" main="true"/>
  </resources>
  <applet-desc name="Webstart Test Oracle Forms 10g" main-class="oracle.forms.engine.Main" width="990" height="660">
    <param name="background" value="no"/>
    <param name="logo" value="no"/>
    <param name="serverApp" value="default"/>
    <param name="lookAndFeel" value="oracle"/>
    <param name="allow_debug" value="true"/>
    <param name="separateFrame" value="false"/>
    <param name="em_mode" value="1"/>
    <param name="latencyCheck" value="true"/>
    <param name="networkRetries" value="240"/>
    <param name="serverArgs" value="module=test.fmx useSDI=yes"/>
    <param name="serverURL" value="http://localhost.localdomain:7778/forms/lservlet?ifcfs=http://localhost.localdomain:7778/forms/frmservlet?config=jpi"/>
    <param name="colorScheme" value="teal"/>
    <param name="splashScreen" value="no"/>
    <param name="dontTruncateTabs" value="true"/>
  </applet-desc>
</jnlp>

Start java webstart with your jnlp url, here is an example in linux:

./javaws http://localhost.localdomain:7778/j2ee/webstart_10g.jnlp

Java webstart comes up with the standard test.fmx from the forms services installation:

Screenshot show the succesful start of test.fmx in java webstart

Isn’t it easy?

, , , ,

4 Comments

Follow

Get every new post delivered to your Inbox.

Join 58 other followers

%d bloggers like this: