My Oracle Fusion Middleware Corner

Wednesday, March 26, 2014

Quench your OFMW learning thirst!

When was the last time you picked a book and read it.  In this ever moving technological world pick 2 ebooks not just one, but  for the price of one book from Packt publishing. Take advantage of their offer in celebration of their 2000th title.

Unlimited purchases during the offer period and the offer is automatically applied at checkout. There are many Oracle Fusion Middleware titles available check it out - http://bit.ly/1j26nPN


Thursday, May 27, 2010

WebLogic Portal & Non-Pointbase RDBMS

WebLogic Portal comes with an evaluation license of Pointbase RDBMS for now. I am not sure how long WebLogic products will bundle Pointbase RDBMS for the sample applications and domain. I guessing Oracle will change their strategy and bundle open source Derby RDBMS with WebLogic products as the evaluation license of Pointbase that comes with WebLogic products will limit the database size to 30KB. This is mainly to discourage people from using Pointbase in production environments. Needless to say you can purchase additional license from Pointbase directly.

Especially with WebLogic Portal most people use their own RDBMS like Oracle, MySQL, SQL Server etc. In that case you have to specify or reconfigure WebLogic about the location of the database objects.
  • During the domain creation process they will give you an option to specify the database configuration information for all the datasources that portal require like p13nDataSource, portalDataSource, cgDataSource etc. In the subsequent screen of the configuration wizard they will give you an option to run the DB scripts to create your database objects if the user configured for the datasources in the previous screen is setup with right permissions. More information about this process can be found here. The following screen shot show the a sample JDBC Datasource configuration screen from the configuration wizard.


  • If you had already created the domain and if you wish to change the datasources configuration then you should use the administration console or WLST. Also if you did not run the DB scripts during domain creation you can use create_db.cmd/sh under the domain folder to create the database objects. More information about this process can be found here.
But especially with WebLogic Portal 10.3.2, the point to note when you are configuring a non-Pointbase database is that you should also customize the domain's RDBMS Security Settings in the domain configuration wizard to change the database information configured to point to your database. The default option with the configuration wizard is to use the pointbase database for the RDBMS security store even if you reconfigure your datasources under the JDBC screens. If not your server might not start as the config.xml will have Pointbase specific configuration. Then you may have to use WLST offline mode or directly edit the config.xml to start your server. The error might look like the following example:

<May 26, 2010 1:37:59 PM CDT> <Error> <Security> <BEA-090870> <The realm "myrealm" failed to be loaded: weblogic.security.service.SecurityServiceException: com.bea.common.engine.ServiceInitializationException: <openjpa-1.1.1-SNAPSHOT-r422266:807362 fatal internal error> org.apache.openjpa.util.InternalException: There was an error when invoking the static getInstance method on the named factory class "kodo.jdbc.kernel.KodoJDBCBrokerFactory". See the nested exception for details..
weblogic.security.service.SecurityServiceException: com.bea.common.engine.ServiceInitializationException: <openjpa-1.1.1-SNAPSHOT-r422266:807362 fatal internal error> org.apache.openjpa.util.InternalException: There was an error when invoking the static getInstance method on the named factory class "kodo.jdbc.kernel.KodoJDBCBrokerFactory". See the nested exception for details.
at weblogic.security.service.CSSWLSDelegateImpl.initializeServiceEngine(CSSWLSDelegateImpl.java:342)
at weblogic.security.service.CSSWLSDelegateImpl.initialize(CSSWLSDelegateImpl.java:221)

I shall post a sample WLST offline script to modify RDBMS security store configuration after the domain is created in a later post. The following screen shots shows the option you should select customize RDBMS security store settings and the respective screen for that settings.


Thursday, April 22, 2010

How to change WebLogic Portal Administration Console URL?

WebLogic Portal Server provides an admin tool for each portal application. WebLogic Portal Administration Console is deployed a shared library so that each application can reference them to use it. To access the WebLogic Portal Administration Console you have to suffix "Admin" to the display name of the portal web application module. For eg. if you have a portal web application module named "CustomerService" then the WebLogic Portal Administration Console is access through http://server:port/CustomerServiceAdmin.

One of the common question is "How to change the URL to access the WebLogic Portal Administration Console for my application?" The main motive could be to customize the URL or to hide it from the users. The WebLogic Portal Administration Console shared library is registered in the weblogic-application.xml file of the Portal EAR. With in that weblogic specific descriptor there is an option to override the context-root value for the library using library-context-root-override tag. You can modify that value by directly editing the weblogic specific application deployment deployment descriptor or you can use deployment plan to override that value. The following is an example:




...


tools
CustomerServiceConsole





The above descriptor is located inside the META-INF folder of the portal enterprise application (EAR).

Friday, February 5, 2010

Using WLST with Oracle Fusion Middleware Products

WebLogic Scripting Tool (WLST) is the standard command-line and scritping solution for administering WebLogic Server. Now with WebLogic Server (WLS) being the core application server for the Oracle Fusion Middleware (OFMW) components, WLST is also being extended for configuring and monitoring OFMW coponents. For example now you can use WLST for configuring Oracle SOA Suite, Oracle Web Center etc. WLST can be started by invoking the corresponding Java class or using wlst.cmd/sh script under the WL_HOME/common/bin folder for WLS environments. But when WLST is being used with other OFMW components it requires additional libraries and modules.

So instead of starting WLST from the WLS folders, it should be started from the respective component folders (E.g ORACLE_HOME_for_SOA/common/bin/wlst.sh). That way all the required additional libraries and modules are loaded and you can use the extended command to configure OFMW components like Oracle SOA suite, Oracle Web Center etc. If in case you started WLST from WLS folders or by directly invoking the Java command then you might see an error similar to the following:

wls:/wl_S3001/serverConfig> deleteConnection(appName, conn-name)
Traceback (innermost last):
File "", line 1, in ?
NameError: deleteConnection


The above is an example of a general Oracle WebCenter custom WLST command deleteConnection. If the command is not recognized by WLST then you would receive a NameError. This is the indication that WLST did not understood that command. As the OFMW component specific command are exention to the basic WLST they work only when the proper libraries and modules are loaded. You can find more information about this here - http://download.oracle.com/docs/cd/E12839_01/core.1111/e10105/getstart.htm#ASADM10692





Wednesday, September 16, 2009

Don't want to get prompted for confirmation in WebLgic Console?

If you are using WebLogic Admin console frequently to configure resources or to manage the life cycle of the servers, you might have seen a confirmation prompt. This prompt will show not up when you are running the domain in development mode. When the domain is running in production mode they will ask confirmation for all the operations. There used to be no way to disable this confirmation page prior WebLogic Server 10.3. Now in WebLogic Server 10.3 and higher you can set a console user preference that can disable these confirmation pages.

Use the tool bar at the center (top) of the console to go to the "Preferences". Under the "User Preferences" tab you will find an option called "Ask for confirmation in operations". By default it will be enabled in production domains and you can disable it to avoid that annoying confirmation pages where will have to click either "Yes" or "No". While you are there explore the other useful preferences like "Show Inline Help" and "Show Advanced Sections" which can buy some real-estate space in the console and save you some clicks.




Friday, January 2, 2009

JDeveloper 11g is here . . .

JDeveloper 11g is now getting shipped with our very own Oracle WebLogic Server 10g (10.3). Yes, if you download Oracle JDeveloper 11g (11.1.1.0.1) you can develop Java, Java EE and Database applications. A default WebLogic Server 10g Domain will be created when installing JDeveloper which can be used to deploy and run applications. You can also build applications and run it on Apache Tomcat, IBM WebSphere, JBoss application servers.



The default WebLogic Server Domain must be used for running and debugging web applications from within the JDeveloper design time. ADF 11g applications require a Java EE 5 container and currently WebLogic Server 10g (10.3) is certified,

A key information to know if you are currently using JDeveloper is that migration to JDeveloper 11g is supported only from JDeveloper 10.1.3.4. So you might want to first upgrade to 10.1.3.4 if you are still in other versions.

You can download Oracle JDeveloper 11g here - http://www.oracle.com/technology/software/products/jdev/htdocs/soft11.html

If you want to get started with JDeveloper 11g, here are few tutorials from Oracle by Example Series (OBE) - http://www.oracle.com/technology/obe/obe11jdev/11/index.html

More step-by-step instructions guides are available for common tasks as the Cue cards here - http://www.oracle.com/technology/products/jdev/11/cuecards/index.html

Thursday, November 13, 2008

Fly Like a Rocket using JRockit JVM

JRockit is the first JVM designed to run server-side applications. It is now the high performance JVM used in the core of Oracle Fusion Middleware. With its deterministic nature for performing garbage collection, it is now used on many time driven and high through application architectures like Algo Trading, Military Asset Tracking, Transportation & Logistics etc.

With its wide adoption, rich tool set and high performance, JRockit is now used for Enterprise Application Servers, Portal Servers, Integration Servers, Enterprise Service Bus, Identity Management Servers, Time Driven & Complex Event Processing Applications etc.

Oracle WebLogic Server installations are bundled with 2 flavors of JVM. On all Intel based installers in addition to Sun's Hotspot JVM, Oracle's JRockit JVM is also included. The default JVM for a WebLogic Domain is configured when a Domain is created using the Configuration Wizard or WLST. But all the built-in tools comes with WebLogic Server are configured to JRockit JVM. If the Domain is selected to run in Production Mode the JVM selection will default to the bundled JRockit SDK whereas Sun SDK will be selected for the Domains configured in Development Mode.


After the fact that you create the domain if you want to change your server(s) JDK to JRockit, you can do so by modifying the server's start up scripts. The server start up scripts startWebLogic.cmd/sh and startManagedWebLogic.cmd/sh both rely on a setup script for environment setting - setDomainEnv.sh. You can include an environment variable (JAVA_VENDOR) definition either on top of that script or on the shell to modify the JVM that the server(s) should use.

Windows:
set JAVA_VENDOR=BEA

*nix:
export JAVA_VENDOR=BEA


After this variable is set, the server(s) should start using JRockit JVM. You can find out the version of JVM used by the server on its log output or stdout. Some of the non-standard command-line options are not supported by all JVM vendors. So you might want to refer to JRockit's documentation for JRockit specific command-line options.



JRockit provides lot of tools that you can use to get more inside and realtime information from the applications running on JRockit JVM. These tools are packaged as JRockit Mission Control. I will write more about JRockit Mission Control and the tools included in that package on my future entries.

Oracle JRockit in not only for WebLogic Server and WebLogic Suite of products. You can use this for any Java application. JRockit is a certified and compatible with Java application complied using Sun SDK.

To find out more about JRockit go to the official FAQ page - http://www.oracle.com/technology/software/products/jrockit/FAQ.html

To download JRockit go to - http://www.oracle.com/technology/software/products/jrockit/index.html