Setting up a Fusion Applications Development Environment

With the release of Oracle Fusion Applications, there has also been the release of the Fusion Application extensions for JDeveloper. Installing and configuring these extensions is referred to as the FA Dev Environment.

One very important thing to note, is that creating extensions for Oracle Fusion Applications, is NOT the same as writing extensions for JDeveloper.  You are writing and extending the Application functionality, using JDeveloper as the dev environment.

With that said, I wanted to still cover this topic in this blog, because it involves the installation and configuration of JDeveloper Extensions that help with the customization of those Fusion Applications.

Hope that makes sense.  :-)

Downloading the proper version of JDeveloper and the FA Extensions

The version of JDeveloper and the FA Extensions is directly related to what version of Oracle Fusion Applications you have installed on the servers. You get the different releases, from the eDelivery website, under product pack Oracle Fusion Applications .
DO NOT download a version of JDeveloper off of the OTN website and use it to setup the Fusion Applications Dev environment.

No matter which version you download, you will need two different downloads.

  • JDeveloper installer (Oracle JDeveloper 11g and Oracle Application Development Framework 11g)
  • Fusion Application Extensions Bundle (Oracle Fusion Applications Companion 11g)
Part #'s for FA V1 RUP1 on http://edelivery.oracle.com
Part#: V28727-01 :: Oracle Fusion Applications Companion 11g (11.1.1.5.3)    
Part#: V28726-01 :: Oracle JDeveloper 11g and Oracle Application Development Framework 11g (11.1.1.5.3) (Part 1 of 3)    
Part#: V28726-01 :: Oracle JDeveloper 11g and Oracle Application Development Framework 11g (11.1.1.5.3) (Part 2 of 3)    
Part#: V28726-01 :: Oracle JDeveloper 11g and Oracle Application Development Framework 11g (11.1.1.5.3) (Part 3 of 3)    

Part #'s for FA V1 RUP2 on http://edelivery.oracle.com
Part#: V31524-01 :: Oracle Fusion Applications Companion 11g (11.1.1.6.1)    
Part#: V31523-01 :: Oracle JDeveloper 11g and Oracle Application Development Framework 11g (11.1.1.6.1) (Part 1 of 3)    
Part#: V31523-01 :: Oracle JDeveloper 11g and Oracle Application Development Framework 11g (11.1.1.6.1) (Part 2 of 3)
Part#: V31523-01 :: Oracle JDeveloper 11g and Oracle Application Development Framework 11g (11.1.1.6.1) (Part 3 of 3)

Part #'s for FA V1 RUP3 on http://edelivery.oracle.com
Part#: V31981-01 :: Oracle Fusion Applications Companion 11g (11.1.1.6.2)    
Part#: V31980-01 :: Oracle JDeveloper 11g and Oracle Application Development Framework 11g (11.1.1.6.2) (Part 1 of 3)    
Part#: V31980-02 :: Oracle JDeveloper 11g and Oracle Application Development Framework 11g (11.1.1.6.2) (Part 2 of 3)
Part#: V31980-03 :: Oracle JDeveloper 11g and Oracle Application Development Framework 11g (11.1.1.6.2) (Part 3 of 3)

(Other releases that come out after this posting will be found in the same  http://edelivery.oracle.com location, with newer part numbers. The naming should remain the same)

TIP: If you are installing on Windows only, you can just download the companion archive and Part 3 of 3 for the JDeveloper IDE.  Part 1 is the .jar installer and Part 2 is the .bin installer for other operating systems.

Once you have the appropriate bits downloaded, and extracted, you can start the steps for getting everything installed and configured.

Installing JDeveloper and FA Dev Extensions 

This is a pretty normal step.  Just install JDeveloper as you would on any other machine. With one exception:

  1. Do not install JDeveloper into a path that contains spaces (the default is C:\Oracle\Middleware)

The entire process for setting the proper environment variables and setting up the Update Center for installing the FA Dev Extensions, is described in detail in the online documentation under the Setting Up Your Development Environment section.

A couple of things to watch for when setting up the environment listed in the docs.

  1. Do Not include the quotes " " around the values for USER_MEM_ARGS variable on Windows.  This is a typo in the docs.
  2. It is best to use the JDK that ships with JDeveloper on Windows.  You do not need to use a 64bit JDK. For other operating systems make sure you use something equal to or above jdk160_24
  3. When the docs tell you to change directories to $MW_HOME/jdeveloper/jdev/bin  and run JDeveloper, this is mainly for non-Windows OS's.  However if you do run on Windows from a command window it could allow you to see some of the error messages if there are any.  You can still run JDev from the Start Menu if you like.  

Configuring the Fusion Domain

Once you've installed the FA Dev Extensions, and restarted JDeveloper, you select either the "Oracle Fusion Applications Developer" or "Oracle Fusion Applications Administrator Customization" role at startup.

As you will see in step of 7 of the online documentation, you will now be prompted to configure the Weblogic Server.  This involves filling out the Fusion Domain Configuration wizard and letting it do it's thing.

A couple of things to watch for before and during the running of the domain config wizard

  1. Make sure you have Python 2.7.2 or higher installed in a path that does not contain spaces. 
  2. DO NOT use Python 3.x
  3. Take a look at your system PATH environment variable and remove any entries that have spaces in them
    1. The easiest way to do this on Windows is to open a command window and set the PATH variable to just contain "." and the path to your Python installation. (e.g. set PATH=.;c:\python272 )
    2. Then start JDeveloper from this command window
  4. When you run the Fusion Domain Configuration wizard, you will be given an option to test the connection to the application server on one of the pages.  If it fails during the tests, but you know FOR SURE that you have the login credentials correct, try entering the IP address of the host instead of the hostname in the connection URL.  We have seen some DNS issues cause errors during the test page.

Follow all of the tips above and you should get the domain configured and extended properly.

Troubleshooting

 There are always exceptions to the rule.  If you run into issues, try looking at these tips.

Error logs

There are two different types of log files that can help find an answer to whatever issue you are running into.  Server logs, and config logs

  • D:\jdevuserhome\system11.1.1.5.38.61.26\DefaultDomain\servers\DefaultServer\logs
  • D:\jdevuserhome\system11.1.1.5.38.61.26\o.apps.fadev.11.1.1

 Some common error messages

"...\Java\jre6\lib\ext\QTJava.zip was unexpected at this time."

 This error is usually caused by the QT entry in the CLASSPATH containing spaces.  You can get around this by removing the Quicktime/QT entry from the end of the CLASSPATH


"... wlst create default authenticator failed" 

or 

 "java.lang.IllegalArgumentException: java.lang.IllegalArgumentException: The provider OIDAuthenticator already exists"

or

"OracleScriptingException: The MBean oracle.wsm:*,name=WSMDocumentManager,type=Repository was not found." 

 All of the above errors, or errors similar that mention *wsm* are usually caused by the owsm_mds schema not existing. If you look at the Dev Guide, in section 2.2.1.6, it explains that this schema is usually not available in production or test databases. The Fusion install doesn't create it in the starter database; it's expected to be in the IDM database. Go back and read this section of the Dev Guide to install and configure the owsm_mds schema.


The configuration script seems to just hang while running "FADevConfigure.py"

If you followed the tips and hints above, you shouldn't hit this issue.  However if you do, make sure you go back and check to see if you have quotes around any of your Windows environment variables, and if your PATH setting has spaces in it.  


When testing your application server connection you see something like:

Testing JSR-160 Runtime ... failed
Cannot establish connection.
Testing JSR-160 DomainRuntime ... skipped
Testing JSR-88 ... skipped
Testing JSR-88-LOCAL ... skipped
Testing JNDI ... skipped
Testing JSR-160 Edit ... skipped
Testing HTTP ... success
Testing Server MBeans Model ... skipped
Testing App Controller ... success

This is usually solved by setting the IP address of the application server in the connection URL instead of the hostname. 

Conclusion

 With the tips and hints listed above, along with the common error messages in the troubleshooting section, you should be able to get up and running pretty quickly.  If you run into other issues setting up the development environment, please don't hesitate to drop a comment below.  Please DO NOT ask me questions about how to do the customization of the FA applications themselves.  If you're trying to edit files, I'm not going to be the person to help you out with that.

Special Thanks to Oliver Steinmeier for a lot of the answers and troubleshooting of customer issues internally, so that we can compile these types of lists. 

Comments:

On a Windows client, do you have to have multiple installations of JDeveloper if you are working on (for example) both the Common Domain and the HCM Domain? Or is there a way to configure a single JDeveloper installation to work for multiple FA Domains?

Posted by guest on June 14, 2012 at 06:41 AM PDT #

You can use the same JDev installation for configuring against multiple apps (and their domains). You can create one customization workspace per application (ear) and use the same integrated domain to test all applications.

Posted by John 'JB' Brock on June 14, 2012 at 09:54 AM PDT #

i was not able to find this part:
Part#: V31981-01 :: Oracle Fusion Applications Companion 11g (11.1.1.6.2)

when i logged on to edelivery. would this be a licensing issue?

Posted by guest on July 20, 2012 at 03:50 PM PDT #

Are you able to see the other 3 downloads for this release? If so, then it is not a license issue.

Are you looking under Oracle Fusion "Applications" and not Fusion "Middleware"? This is a common mistake.

Posted by John 'JB' Brock on July 23, 2012 at 09:51 AM PDT #

Hi John,
I can see everything from 11.1.2.0.0 to 11.1.1.5.1 under OFA, but nothing beyond that.

Posted by guest on July 23, 2012 at 10:29 AM PDT #

That is strange. Let me walk through a couple of steps to make sure we are looking at the same thing.

1) You login and check the two checkbox agreements
2) You select "Oracle Fusion Applications" on the Media Pack Search page, for the Product Pack.
3) You select "Linux x86-64" for the platform. (you can select other platforms, but the JDeveloper files are the same in all of them.)
4) Select "Oracle Fusion Applications 11g Release 4 (11.1.4) Media Pack for Linux x86-64" in the list of radio buttons and click Continue.

The 5th link from the bottom should be the Companion CD download.

Posted by John 'JB' Brock on July 23, 2012 at 10:52 AM PDT #

Thanks. I found it now. I was looking for 11.1.1.6 on the first page instead of clicking on the 11.1.4 to go further. Thanks again.

Posted by guest on July 23, 2012 at 10:58 AM PDT #

:-) Yes, Oracle versioning at it's finest.

Fusion Applications 11.1.4 contains JDeveloper 11.1.1.6.3

Glad to hear you're off and running again.

Posted by John 'JB' Brock on July 23, 2012 at 11:04 AM PDT #

But how could 1 test the fusion apps with all the hardware complexity

Posted by guest on August 16, 2012 at 07:04 AM PDT #

I ran the Configure Fusion Domain wizard from jDeveloper 11g and along the way I got is this Windows message:

"Windows cant open this file: FADEVConfigure.py"

Am I missing anything.

Thanks in advance for your help.

Posted by guest on August 16, 2012 at 09:09 AM PDT #

I ran the Configure Fusion Domain wizard from jDeveloper 11g and along the way all I got is this Windows message:

"Windows cant open this file: FADEVConfigure.py"

Am I missing anything?

Thanks in advance for your help.

Posted by guest on August 16, 2012 at 09:11 AM PDT #

As a follow-up to my earlier question. The file "FADEVConfigure.py" does exist in my machine. Somehow there's no way to open it from jDeveloper.

Posted by guest on August 16, 2012 at 09:13 AM PDT #

I'm sorry but the information you're giving is very vague and there isn't enough to help you out. Can you provide more details?

What version of Windows?
What release of FA are you working with?
What steps have you taken to get to this error?

If you're an Oracle employee, it may be better to take this to the internal forum. Doing tech support in Blog comments is not always the more efficient method. ;-)

Send me a direct email if you are not familiar with the internal forum.

Posted by John 'JB' Brock on August 16, 2012 at 09:14 AM PDT #

Hi John,

Thanks for your quickly reply. I'm not an oracle employee. Just an individual trying to self-study oracle soa/fusion. I'm using Windows 7, using jDeveloper 11.1.1.5, fusion application companion version is also 11.1.1.5.

What I'm trying to do is set up an IntegratedWebLogicServer application server (create a server instance) in my laptop machine for my own use. When I attempted to configure it using the "Configure Fusion Domain wizard" all I got at the end is this message from a Windows7 pop-up window:

"Windows cant open this file: FADEVConfigure.py"

The pop-up window prompts me to locate the appropriate program to open FADEVConfigure.py. I don't know what to do next. Please help.

Am I missing anything here?

Thanks.

Posted by guest on August 16, 2012 at 09:26 AM PDT #

I'm going to guess that you have not installed Python on your machine. Or that Python is not on the path.

Check for that first.

Do you have a Fusion Applications environment that you are connecting to? Fusion Applications is not usually something an individual installs. It resides on very large hardware and costs a lot of money. :-)

Posted by John 'JB' Brock on August 16, 2012 at 09:53 AM PDT #

I was able to finally install weblogic application server on my laptop machine. However, I was prompted to setup an SOA Server before I can deploy my Hello World SOA service that I created in jDeveloper. Unfortunately I was unable to create an SOA Server because I dont have Oracle Enterprise Manager installed. I was unable to install OEM because I dont have access to an Oracle Database. Since I'm only using my local machine, I installed Oracle DB Express Edition. Now, here's the frustration, I can't continue installing OEM because I need to setup partition my database! Unfortunately, Oracle DB Express does not support partition! So I finally gave up and stopped learning Oracle Fusion SOA development. Here's the summary of my ordeal.

1. Unable to deploy Hello World SOA service app (reason: Oracle Fusion Applications Companion not installed).

2. Successfully installed Oracle Fusion Applications Companion and Oracle Weblogic Server but still unable to deploy SOA service (reason: No SOA server exists which can only be setup by installing OEM - Oracle Enterprise Manager)

3. Failed to install OEM because it requires connection to an Oracle database.

4. Installed Oracle database using Oracle DB Express Edition.

5. Still failed to install OEM because Oracle DB Express Edition does not support partitioning.

6. Finally gave up. I needed to successfully install OEM so I can setup my own SOA server so I can deploy my Hello World SOA service.

Posted by guest on August 20, 2012 at 02:46 PM PDT #

Please note that this article is for Oracle Fusion Applications development, the product that is a suite of applications including financials, HR, Sales, CRM, etc. This article is not for generic application development using Oracle Fusion technologies (WLS, etc).

You will be developing based upon a Development/Test instance of Oracle Fusion Applications 11g (latest version 11.1.4) which includes IDM, several WLS domains, and an instance of an 11gR2 database.

Additionally, you can use WLST to create a SOA server.

Posted by guest on August 21, 2012 at 12:50 PM PDT #

John

I moved to the install and when I was creating the integrated weblogic server it erros out with ESS Invalid RequestFileDirectory. this is happening for 64bit as well as 32 bit machine. Can you please share where can I look for what I am missing. We have onPremise 11.1.4 installed and I am confguring Jdev for development.

Posted by KT on November 26, 2012 at 10:54 AM PST #

Hi John,

I am trying to set up a personal Fusion Apps development environment based on Fusion Application 11.1.3 instance. When i was following the "Oracle Fusion Applications Developer's Guide" to create the integrated weblogic server. I am encountered the error below. Could you please guide me how to avoid this error? According to my research, that is a bug of Python, but there should have a method to avoid it.Many thanks!

Client: WinXP/Python 2.4.3 is installed
Usage: Default Integrated Server
Fusion Family Name: Common

[06:22:57 PM] Saved C:\Oracle\JDEV_USER_HOME\system11.1.1.6.38.62.38\o.jdevimpl.rescat2\fusion_apps_wls.properties
[06:22:57 PM] Creating Integrated Weblogic domain...
[06:25:26 PM] Extending Integrated Weblogic domain...
[06:28:18 PM] Integrated Weblogic domain processing completed successfully.
[06:28:18 PM] Configuring domain with "C:\Oracle\Middleware\jdeveloper\fadev\bin\FADevConfigure.py -i -m C:\Oracle\Middleware -s C:\Oracle\JDEV_USER_HOME\system11.1.1.6.38.62.38\"
[06:28:27 PM] Configuring domain for Fusion Applications Development ...
[06:28:27 PM] ... initialize
[06:28:27 PM] ... checkMwHome
[06:28:27 PM] ... MW_HOME specified by -m option: C:\Oracle\Middleware
[06:28:27 PM] ... Using MW_HOME C:\Oracle\Middleware
[06:28:27 PM] ... getIwlsValues
[06:28:27 PM] ... JDEV_HOME is set to: C:\Oracle\Middleware\jdeveloper
[06:28:27 PM] ... jdeveloper system directory is set to: C:\Oracle\JDEV_USER_HOME\system11.1.1.6.38.62.38\
[06:28:27 PM] ... checkPropFile
[06:28:27 PM] ... Default property file: C:\Oracle\JDEV_USER_HOME\system11.1.1.6.38.62.38\o.jdevimpl.rescat2\fusion_apps_wls.properties
[06:28:27 PM] ... Using property file C:\Oracle\JDEV_USER_HOME\system11.1.1.6.38.62.38\o.jdevimpl.rescat2\fusion_apps_wls.properties
[06:28:27 PM] ... getPropValues
[06:28:27 PM] ... getDomainDetails
[06:28:27 PM] ... Domain Home: C:\Oracle\JDEV_USER_HOME\system11.1.1.6.38.62.38\DefaultDomain
[06:28:27 PM] ... getAdminListenPort
[06:28:27 PM] ... AdminServer listen-port: 7101
[06:28:27 PM] Traceback (most recent call last):
[06:28:27 PM] File "C:\Oracle\Middleware\jdeveloper\fadev\bin\FADevConfigure.py", line 865, in ?
[06:28:27 PM] extendDefaultDomain()
[06:28:27 PM] File "C:\Oracle\Middleware\jdeveloper\fadev\bin\FADevConfigure.py", line 508, in extendDefaultDomain
[06:28:27 PM] p = subprocess.Popen([gv.wlstCmd,wlstScript,'-d',gv.domainHome,'-s',gv.jdevSystemDir,'-p',gv.propertyFile,verboseOpt],stdout=fout,stderr=ferr)
[06:28:27 PM] File "C:\Python24\lib\subprocess.py", line 533, in __init__
[06:28:27 PM] (p2cread, p2cwrite,
[06:28:27 PM] File "C:\Python24\lib\subprocess.py", line 593, in _get_handles
[06:28:27 PM] p2cread = self._make_inheritable(p2cread)
[06:28:27 PM] File "C:\Python24\lib\subprocess.py", line 634, in _make_inheritable
[06:28:27 PM] DUPLICATE_SAME_ACCESS)
[06:28:27 PM] TypeError: an integer is required
[06:28:27 PM] ... isServerRunning
[06:28:27 PM] ... preConfig
[06:28:27 PM] ... wlstPostClassPath
[06:28:27 PM] ... extendDefaultDomain
[06:28:27 PM] ... execute C:\Oracle\Middleware\jdeveloper\fadev\bin\FADevExtendDefaultDomain.py
[06:28:27 PM] ... parameters: -d C:\Oracle\JDEV_USER_HOME\system11.1.1.6.38.62.38\DefaultDomain
[06:28:27 PM] -s C:\Oracle\JDEV_USER_HOME\system11.1.1.6.38.62.38\
[06:28:27 PM] -p C:\Oracle\JDEV_USER_HOME\system11.1.1.6.38.62.38\o.jdevimpl.rescat2\fusion_apps_wls.properties
[06:28:27 PM] Domain configuration exited with status 1.

BR
Rock.Lei

Posted by guest on December 11, 2012 at 11:19 PM PST #

Rock, please try Python 2.7.x.

Posted by guest on January 02, 2013 at 10:13 AM PST #

Hi John,

Thanks for te post.
I was trying to install and setup my Jdev,11.1.1.6.3 for Fusion Apps.

While creating the WLS domain configuration, the process is apparently stuck with the below error message,
"
[11:47:25 AM] ... AdminServer log files still does not exist, sleep another 10 seconds
[11:47:25 AM] ... AdminServer log files still does not exist, sleep another 10 seconds
[11:47:25 AM] ... AdminServer log files still does not exist, sleep another 10 seconds
"

Can you please provide any suggestions?

Posted by guest on March 13, 2013 at 11:26 PM PDT #

Hi John, I always get stuck at either "Creating Integrated Weblogic domain" or "Extending Integrated Weblogic domain", when I look into the log file in o.j2ee.adrs folder, I can see it's stuck at "wlst > Initializing WebLogic Scripting Tool (WLST) ...". I tried many combinations of JDK and JDeveloper version, it seems like if I use a 32-bit JDK, either it's downloaded from Oracle or the shipped one, and with JDeveloper 11.1.1.6.2, I can reach "Extending Integrated Weblogic domain", otherwise I will be stuck at "Creating Integrated Weblogic domain". There are two times that I passed these two steps, but when I want to retry, I still get stucked. It's like lottery, and I just can't win. Do you have any ideas about my problem?

Posted by guest on May 10, 2013 at 07:58 PM PDT #

The only thing that comes to mind is that you may have everything installed in a path with a space in it. The WLS installer doesn't like spaces in the Path. I know, it's crazy in this day and age, but it's there.

You may also want make sure you are using Python version 2.7.x or higher. But NOT Python v3.x

Posted by John 'JB' Brock on May 13, 2013 at 07:24 AM PDT #

Thanks for your reply, John. But I really don't have a path with space, and I'm using Python 2.7.4. Here is the cmd file used for starting JDev.
set MW_HOME=C:\Develop\Oracle\Fusion
set JAVA_HOME=%MW_HOME%\jdk160_24
set PATH=.;C:\Develop\Python27
set JDEV_USER_HOME=C:\Develop\Oracle\JDevUserHome
set USER_MEM_ARGS=-Xms256m -Xmx1024m -XX:MaxPermSize=512m -XX:CompileThreshold=8000
%MW_HOME%\JDeveloper\jdev\bin\jdev

Posted by Orthon on May 13, 2013 at 08:02 AM PDT #

Thanks Orthon,

I'm going to send you over to the Fusion Apps forum to get more eyes on the issue. https://forums.oracle.com/forums/forum.jspa?forumID=1424
There is an entire team setup to help with Fusion Apps customization develepers now. There is also a new blog at: https://blogs.oracle.com/fadevrel/

Hopefully, between these two resources, you will be able to get things smoothed out and working correctly on a regular basis.

Posted by John 'JB' Brock on May 13, 2013 at 10:57 AM PDT #

Hi,John.

I know that Eclipse has the function to develop the plugin projects which are osgi bundles and can be exported and imported.
Do you know how to use jdeveloper to develop plugin projects which are organized by osgi and can be dependent by each other?

I have created two extension projects-A and B,but can not use A as a plugin and let B import A.

Could you give a detail directions on how to develop plugins which are dependent by other plugins?

Thank you !

Posted by David on July 22, 2013 at 08:34 AM PDT #

Hi David,

This topic is probably best asked and answered over in the JDeveloper forums.

https://forums.oracle.com/community/developer/english/development_tools/application_development_in_java/jdeveloper_and_adf

Blog comments are not a really great way to do support stuff. ;-)

Please post your question over in the forums and I'll make sure someone picks it up.

Posted by John 'JB' Brock on July 22, 2013 at 08:40 AM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed
About

profile image
My name is John 'JB' Brock.
This Blog will focus on tips and tricks for working with the JDeveloper Extension SDK.
I hope to bring clarity to some of the mysteries around developing extensions for JDeveloper.


Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today