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