Wednesday, September 16, 2009

JDeveloper Connection to Weblogic Server


Problem

When Creating Application Sever Connection from JDeveloper to Weblogic you get an exception that "Cannot instantiate class: weblogic.jndi.WLInitialContextFactory" while testing connection.















Resolution

The problem is that JDeveloper is not able find the WLInitialContextFactory in the weblogic.jar you pointed at the time of setup.

Copy the weblogic.jar to \jdev\lib\ext and restart your JDeveloper and retest the connection



Thursday, June 04, 2009

BPEL Process for HA


Purpose

In a HA Deployments, when a bpel process is executed you cannot identify which server is currently executing of a given instance. It's often a requirement to test a BPEL Process in HA Environment and prove that which server is actually executing. As you may be aware when you execute a BPEL Process you cannot tell which node has executed that at any given time.

The following example helps you identifying which server is executing so that you can do some HA testing.


Step 1

Create a Simple Synchronous BPEL Process and name it as "HAHelloWorld"


Step 2

Drag and Drop "Java Embedding" Activity between "receive" and "reply".


Step 3

Drag and Drop "Assign" Activity and Initialize the Variable "result" with some text (Note: anything it doesn't matter all you are doing here is initializing the result variable)


Step 4

Double click on "Java Embedding"Activity and copy the following details


/*Set Title*/
String prop = System.getProperty("server.id");
setVariableData("outputVariable", "payload", "/client:HAHelloWorldProcessResponse/client:result", prop);
setTitle("Server:"+prop);



Step 5

Make sure your BPEL Process looks like below





Step 6

Goto opmn.xml in SOA Installation under opmn\conf directory on Node1 and peform the following.
Edit opmn.xml and add "-Dserver.id=vm104" in the "java-options" of process-type "OC4J_SOA"

It should look like below see the highlighted in red




Perform the same above operations in opmn.xml in SOA Installation under opmn\conf directory on Node2 just make the servier.id=vm105


Step 7

Restart both nodes


Step 8

Deploy the BPEL Process & Test.
When you run the BPEL Test and go to Instances tab you will see below





Download

You can download the complete code Here

Thursday, May 07, 2009

New JDeveloper Plugin for Visual Schema Print


Need

In Jdeveloper we can create schemas using Schema Designer, but there is no option to print the schema. Visual Schema Print will help in design discussions with functional/technical folks as they see the structure in visual rather than looking at source. This will be good for documentation purpose as well..

This Plugin adds this capability.


How to use

Follow the Instructions on
How Install Plugin from Update Center

or

Follow the Instructions on
How Install Plugin Manually


How Install Plugin From Update Center

Install the plugin as you would normally install any plugin in Jdeveloper. If you do not know or this is the first time follow the instruction below.

Steps


Click on "Check For Updates" on Help Toolbar



Select "Open Source adn Partner Extensions" and click on "Next"





Scroll down to find "Print/Save XML Schema", select checkbox and click Next.





Click on "Finish"





Click on "Yes" and restart JDeveloper





How Install Plugin Manually

Download the plugin from below link and save.
http://kalyan.bitra.googlepages.com/com.kalyan.ide.jdev.schema.zip

Steps


Click on "Check For Updates" on Help Toolbar



Click on "Next" on the following page





Select "Install From Local Files" and browse to where you saved the plugin.





Click on "Finish"





Click on "Yes" and restart JDeveloper





How to Use

Open any schema and right click on the designer you will see the "As PDF, As JPG" pr
"As Print" that's it.


Sunday, April 12, 2009

How-To Reload Fault Policy in 10.1.3.4

In 10.1.3.4 you can reload the fault polcies that are changed and does not need a system restart simply access the following JSP page and all the fualt-policies are reloaded.


http://<YourHost>:<YourPort>/BPELConsole/<YourDomainName>/doReloadFaultPolicy.jsp

Wednesday, March 04, 2009

How to Setup AQ With Examples


Create User

Login to SQLPLUS using sys as sysdba
In the following code you are creating user called "fusiondev" and password "fusiondev"

create user fusiondev identified by fusiondev


Setting Up basic Privileges

grant resource, connect, create view to fusion dev


Setting Up AQ Privileges

In the following code you are giving both administrator and user roles to the fusiondev user

grant aq_administrator_role and aq_user_role to fusiondev.


Setting Up Message Type ( Or Object)

In the following code you are setting up an object with a message strcture of
MessageType, and actual Message. This message type can be used further to query the queue to see what message are there etc., but it's not mandatory.

create or replace type OrderMsgType as object (
MessageType VARCHAR2(10),
Message CLOB
);


Create Queue Table

In the following code you are creating a Queue Table called "ORDER_QUEUE_TBL" that there are multiple consumers and the message structure is of "OrderMsgType" which you creaated above.

BEGIN
DBMS_AQADM.CREATE_QUEUE_TABLE(
queue_table => 'fusiondev.ORDER_QUEUE_TBL',
multiple_consumers => TRUE,
queue_payload_type => 'OrderMsgType'
);


Create Queue

In the following code you are creating a Queue Table called "ORDER_QUEUE" and it's tied to ORDER_QUEUE_TBL which you creaated above.

DBMS_AQADM.CREATE_QUEUE (
queue_name => 'FUSIONDEV.ORDER_QUEUE',
queue_table => 'fusiondev.ORDER_QUEUE_TBL'
);
END;


Starting Queue

Here you are starting the queue and ready to be consumed.

BEGIN
DBMS_AQADM.START_QUEUE('fusiondev.ORDER_QUEUE');
END;

Now your AQ is Ready to be published/consumed

Stopping Queue

Here you are Stopping the queue and ready to be consumed.

BEGIN
DBMS_AQADM.STOP_QUEUE('fusiondev.ORDER_QUEUE');
END;


Browse the Queue

Here you are Stopping the queue and ready to be consumed.

select * from AQ$ORDER_QUEUE_TBL


State of the Message

At any given time the message have different states. We will talk about those in detail later.

select MSG_STATE from AQ$ORDER_QUEUE_TBL


BPEL Process - PublishAQOnDemand

This process creates a message and publishes it to AQ. This message is consumed by two recepients identified as ConsumeAQMessage1 & ConsumeAQMessage2.
Download Link


BPEL Process - ConsumeAQMessage1 & ConsumeAQMessage2

These processes consumes the message.
Download Link
Download Link


WoW Factor



Step 1

Now that you have the processes spoon fed to you.. Now create a bpel process consume the message. While defined the adapter in the BPEL Process Designer set the consumer name to "MyAQLearningProcess" and deploy.


Step 2

Then go to BPEL Console and click on the Process "PublishAQOnDemand" go to the Descriptor Page you will see something like below.





Step 3

Now Add your "MyAQLearningProcess" to the end of the recepientList and click on update descriptor button. So it should look like ConsumeAQMessage1, ConsumeAQMessage2, MyAQLearningProcess


Step 4

Then when you execute "PublishAQOnDemand" Process you will see 3 new instances created.

Wednesday, February 11, 2009

Oracle SOA Suite 10.1.3.4


Download Oracle SOA Suite 10.1.3.1 from otn Link


Download Oracle SOA Suite 10.1.3.4 from otn Link


Download Oracle JDeveloper 10.1.3.4 from otn Link


Download the latest MLR Patches from Metalink:
Login to http://metalink.oracle.comand search for the following patch numbers
8589928 CUMULATIVE MLR#9 04-Sep-2009
8372150 CUMULATIVE MLR#8 17-Jun-2009
8372141 CUMULATIVE MLR#7 20-JAN-2009
8279781 CUMULATIVE MLR#6 06-May-2009
7714967 CUMULATIVE MLR#5 21-Feb-2009
7586067 CUMULATIVE MLR#4 15-Jan-2009
7586063 CUMULATIVE MLR#3 10-Dec-2008
7408340 CUMULATIVE MLR#3 05-Nov-2008
7375086 CUMULATIVE MLR#1 04-Oct-2008


Documentation :
10.1.3.4 Documentation Main Page

Addendum
727068.1 Oracle Application Server Patch Set Notes Addendum 10g Release 3 (10.1.3) Patch Set 4 (10.1.3.4.0)