Test Database Network Connectivity from WebLogic Server Box

The dbping command-line utility tests the connection between a DBMS and the client machine via a JDBC driver. More info here. However, when I tried to run the same on my machine, it threw up errors.

Syntax: java utils.dbping DBMS user password DB
Command: java -classpath weblogic.jar utils.dbping ORACLE_THIN system welcome1 localhost:1521/xe

After a few failed attempts, Ravi suggested that the Java version needs to be at least 1.6 or more. When I ran "java -version", it turned up to be 1.4.2. I knew that I had JDK 1.6 installed inside my Middleware home directory. I just had to change where the OS looked to to find the Java program. I tried setting the PATH and JAVA_HOME parameters but to no avail. Finally, I ran the command. "which java" which turned up "/usr/bin/java". That file turned out to be a symbolic link. All I had to was delete the symbolic link and recreate it to point to the JDK Java, which I did by running, "ln -s /oracle/fmwhome/jdk160_18/bin/java /usr/bin/java". To verify, I checked the version again by running "java -version" and it displayed "1.6". You might have to switch to root user to delete/recreate the symbolic link.

Now, after I ran the dbping command, it turned up a successful result.

[oracle@soabpm-vm lib]$ java -classpath weblogic.jar utils.dbping ORACLE_THIN system welcome1 localhost:1521/xe

**** Success!!! ****

Installation of SOA Suite 11g

This is a addendum to the post originally posted by Ravi here https://soafarm.wordpress.com/2011/11/14/install-soa-suite-11g-in-windows-xp-os/ . I use the attached picture to constantly remind myself the architecture of SOA Suite 11g using the installation procedure as a framework.

  1. Run the Repository Creation Utility (RCU) to install the metadata repository. The RCU is started from the rcuHome/bin directory. The RCU creates all tablespaces, schemas, and database objects required in the metadata repository for SOA Suite and BAM.
  2. Install WebLogic Server and create the middleware home. Run the downloaded executable file for WebLogic Server 11g (the internal release number is 10.3.x). Select the option Create A New Middleware Home.
  3. Install the SOA Suite. Run the executable runInstaller (Linux and Unix) or setup.exe and pass the parameter -jreLoc, specifying the location of a Java 6 run-time environment (for example, the one installed along with WebLogic Server in MIDDLEWARE_HOMEjdk160_11).
  4. Configure the SOA Suite. At this point, we have the metadata repository prepared in the database and a clean install of the WebLogic Server. The SOA Suite software has been installed, but not yet configured. There is no SOA container running inside WebLogic Server just yet. This Configuration Wizard is located in the SOA_ HOME/common/bin directory (for Linux) or the SOA_HOMEcommonbin directory (for Windows). The wizard will create a new WebLogic domain called soa_domain. You have to provide the credentials for a new user who will have the Administrator role.
  5. Install the Oracle Service Bus 11g. Install the OSB 11g into the same Middleware Home used for the SOA Suite 11g.
  6. Start the AdminServer and the managed servers for SOA and BAM. First, to start the AdminServer, locate the startWebLogic.cmd script (Linux: startWebLogic.sh) in the MIDDLEWARE_HOME user_projectsdomainssoa_domain directory. Run this script from the command line. When the AdminServer is running, you should start the SOA server and optionally the BAM server and/or the OSB server. Go to the directory MIDDLEWARE_HOME user_projectsdomainssoa_domainbin, which was created by the SOA Suite Configuration Wizard. Open a command window and enter the following command to execute: startManagedWebLogic.cmd soa_server1

Pre-built Virtual Machine for SOA Suite and BPM Suite 11g

After frustrating and failed attempts to deploy a ‘Hello World’ SOA composite App using Oracle 10g, RCU, Weblogic, and SOA on my 64-bit Win 7 Home Premium laptop, I looked around for options and ran into pre-built Virtual Machines (VMs) from Oracle and VirtualBox.

http://www.oracle.com/technetwork/middleware/soasuite/learnmore/vmsoa-172279.html

Downloading a total of 7.88 GB worth of files takes some time. However, installing and setting it up is straightforward. The VM failed to boot the very first time it was setup. After I turned to Google for answers, I realized that the ‘Input Output APIC’ should be enabled under Extended Features of the VM’s settings. See screenshot. I have no idea what APIC really is, but the VM booted up and that was good enough for me today.

The next thing, I wanted to do was to be access the Internet inside the VM. This isn’t absolutely necessary to create, deploy applications in Weblogic, but I liked to have the freedom to query Google for answers in the Virtual OS without having to switch to the Host OS (i.e. Win 7 in my case) every time. This however, didn’t work with the present settings. As usual, I turned to Google and realized that, I had to specify

  • “Bridged Adapter”
  • Pick my Host WiFi Adapter in the next drop down list
  • Pick “Intel PRO/1000 MT Server…” in the next drop down list.

See attached images. I was now able to surf the Internet inside the Virtual OS.

SOA 11g Managed Server Failing- NoClassDefFoundError ScaReferenceProcessor

Error

Context initialization failed[[
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘SensorManager’ defined in ServletContext resource [/WEB-INF/fabric-config-core.xml]: Cannot resolve reference to bean ‘FabricMesh’ while setting bean property ‘fabricMesh’; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘FabricMesh’: FactoryBean threw exception on object creation; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘FabricMeshTarget’ defined in ServletContext resource [/WEB-INF/fabric-config.xml]: Cannot resolve reference to bean ‘SpringServiceEngine’ while setting bean property ‘serviceEngines’ with key [6]; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [oracle.integration.platform.blocks.java.SpringServiceEngine] for bean with name ‘SpringServiceEngine’ defined in ServletContext resource [/WEB-INF/fabric-config.xml]: problem with class file or dependent class; nested exception is java.lang.NoClassDefFoundError: weblogic/sca/api/ScaReferenceProcessora

Environment

  • Oracle 10g Database –  10.2.0.1.0
  • WebLogic Server 10.3.3
  • RCU 11.1.1.3.3
  • SOA Suite 11.1.1.2.0
  • SOA Suite 11.1.1.3.0 (PATCH)

Solution

Below solutions is NOT recommended in any multi-user environment. Work with Oracle support.

  1. If this error occur during local machine installation , then follow the below steps as a temporary solution.
  2. Verify the Manifest file of oracle.soa.wls.jar in ORAFMW_HOME/soa/modules directory is referring to com.oracle.weblogic.sca.engine_1.1.0.0.jar.
  3. If then, rename the “com.oracle.weblogic.sca.engine_1.2.0.0.jar” in ORAFMW_HOME/modules  to “com.oracle.weblogic.sca.engine_1.1.0.0.jar”
  4. Restart the  Node Manager, Admin Server and Managed Server.

Oracle SOA 11g Error – Failed to invoke startup class “JRF Startup Class”

Error in domain.log @ domains\domain1\servers\AdminServer\logs

Error text

<Critical> <WebLogicServer> <lab21> <soa_server1> <[ACTIVE] ExecuteThread: ‘0’ for queue: ‘weblogic.kernel.Default (self-tuning)’> <<WLS Kernel>> <> <> <1321406810136> <BEA-000286> <Failed to invoke startup class “JRF Startup Class”, java.lang.ClassNotFoundException: oracle.jrf.wls.JRFStartup
java.lang.ClassNotFoundException: oracle.jrf.wls.JRFStartup

Solution

  1. Execute setNMProps.cmd in %oracle_common\common\bin
  2. After executing the above command, below line will be appended to nodemanager.properties to override the existing property value for “StartScriptEnabled”
      1. StartScriptEnabled=true

Best practices – Oracle SOA 11G – File Adapter- Part1

Tags

Sharing some tips on best practice of handling inbound files using file adapter in SOA Suite 11g PS3.

Oracle SOA 11g File Adapter, always pickup the file when it is created in the directory it is configured to look out. This is file & directory are configured using the JCA property “IncludeFiles” & “PhysicalDirectory” respectively.

That said, if the file being created in the directory is big enough or if the source system is slow or any network latency, the adapter will pickup intermediate file and try to translate to the target schema. This behavior will fault the BPEL process and result the inbound message will be “rejected message” .

So how we solve this behavior?.. There are lot of things we should consider before proposing the solution to this behavior including the attributes of the source system, location of the source sytem, SOA WL server/domain topology, File Adapter configuration, file format, size, file markers,target end system, target system location, integration pattern -sync/async/one-way/ etc. etc

To make things simple, i will consider the input file is simple xml in this part. Here are out-of-the-box option available with the SOA Suite 11g PS3.

Firstly, the approach is to set the “MinimumAge” property in the JCA Adapter configuration.

Oracle’s Definition:

MinimumAge – This parameter specifies the minimum age of files to be retrieved. This enables a large file to be completely copied into the input directory before it is retrieved for processing. The age is determined by the last modified time stamp

Now our issue is partially solved by setting this parameter, but what is the “ideal value” of this parameter ? Let us consider we are setting this parameter to 300 (5 min).

At this time, 2 questions need to be answered

(1) Is it safe to assume the file will be created within 5 min in production ?

This might work well in unit/sys/uat environment, as it is less probably all the batch interfaces will be tested simultaneously and thus server load is minimum.

Is this “5 min” works at the production environment too where we expect multiple batch interfaces running parallely in a WL domain? If the content of the file is business critical like shipment details, quote info, pricing details, asset maintenance – no business user afford to leave these contents in the middle-ware layer as a rejected message.

(2) Is business afford to wait for 5 min, even if file got created in 1st minute itself ?

This is again customer’s decision on how the data is important for the enterprise.

Assuming the data is critical and the destination end system cannot afford to wait for 5 min, the other approach can be proposed is creating a addition TriggerFile with actual data-file. The interface should pickup data-file only when the source system creates the “TriggerFile”.

The below are some of the JCA property that you should set in file adaper JCA file – TriggerFilePhysicalDirectory, TriggerFile.

Oracle’s Definition:

TriggerFilePhysicalDirectory- The directory path where the Oracle File or FTP Adapter looks for the trigger files.

TriggerFile-The name of the trigger file that activates the inbound Oracle File or FTP Adapter

By this approach, we can always ensure the data-file will be pickedup not only when it is complete but also as soon as it got created.

Hope this helps!

Oracle SOA Foundation Practitioner Certification Completed!

Tags

Having our new born daughter @ home and busy days targeting Aug’s Go-Live @ office, its been challenging to get time to prepare for this exam.

Though,I am truly believe that Certifications does not and will not replace the real life work experience; its a feel-good-factor to earn the title “Oracle Certified Expert” and “Oracle Partner Network Certified Specialist in Oracle SOA”. Glad that i completed it..

Here is my 2 cents to those who want to pursue this:

(1) As always Oracle SOA 11g Developer Guide is the Bible.
(2) Develop some composite applications with different service components like BPEL, Mediator, Business Rules etc and understand their interaction patterns. This include their different integration approaches like sync/async/oneway etc.
(3) Remember the granular details of the service components and their properties/behaviors. Example, how the fault handling framework works across service components, how the dynamic routing handled in mediator using business rules, human task working principles..
Check the Exam Topics are here
http://www.oracle.com/partners/en/knowledge-zone/middleware/oracle-service-oriented-architecture-soa/soa-exam-page-170307.html#et
(4) Apart from SOA Suite, it is expected to know Oracle Service Bus and Business Activity Monitoring architecture/concepts as well.
(5) If you are OPN member, you can avail the trainings from Oracle competency center’s Guided Learning Path presentations.
(6) Last but not least, this is theoretical exam and thus beware of “distractors”. Especially when multiple answers need to be selected.

Best of Luck!

New Beta Certification Exam – Oracle WebLogic Server 11g System Administrator

Tags

This beta certification exam in Oracle WebLogic Server 11g Release 1 (10.3.5) will help to horn the basic skills need to build, deploy, and manage efficiently. This is Beta Exam available July 23, 2011.

Oracle Certification Page
http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=41&p_exam_id=1Z0_102&p_org_id=1001&lang=US