Sep 27, 2017

SOA-BPM 12c domain with Oracle Database XE



Once you are done with the BPM Suite Quick Start Installation 12c step you will end up with all the binaries you need to have a 100% "ready to use " Dev environment.

Based on the Oracle BPM Suite Downloads page we can see that this installer allows you to install a development or evaluation environment quickly on a single host computer. It includes Oracle BPMN Suite, Oracle SOA Suite, Oracle Service Bus, Oracle JDeveloper, and integrated WebLogic Server and Evaluation Database [aka Java DB].

The 12c pattern is to go very fast from the install step to  actually having  a run-time environment and  test the composites very fast.

Now,  for people going with the 11g patterns there might be the old question: what about using the Oracle Database XE as the RCU repository for the future domain.... And the answer is yes 😉

Note: The below details should be used only for a future  DEV domain and never for a PROD domain ! In addition, even if Oracle XE DB can be used the recommendation is to use an Oracle Database 12c. The best is to use an Oracle Database 12c even as an RCU repository for the future custom BPM Suite Quick Start domain.

Long story short we will need the below:
  1.  Oracle BPM Suite: BPM Suite 12.2.1.3
  2.  Oracle Database 11g Express Edition  
We will skip the "Next-> Next" steps for the BPM Suite Quick Start; this step is  a very straightforward one once you  click Enter for the
"java -jar fmw_12.2.1.3.0_bpm_quickstart.jar".

 

Note: For details related with the BPM Suite Quick Start 12c binaries, please check the "Installing Oracle BPM Quick Start 12.2.1.3 & Configuring a Standalone Domain" -> "Install BPM Suite 12.2.1.3" .

In addition, you will need the Oracle DB for the BPMN itself; not so much for the SOA projects but more for the BPMN projects. The reason  is the below error you will have it when deploying a BPMN project on a domain using the default Java DB:

<Oct 12, 2017 > <Error> <oracle.soa.services.workflow.persistency> <BEA-000000>  exception.code:30257
exception.type: ERROR
exception.severity: 2
exception.name: Error while Querying workflow task metadata.
exception.description: Error while Querying workflow task metadata....
Caused By: java.sql.SQLSyntaxErrorException: Column 'WFTM.PACKAGENAME' is either not in any table in the FROM list or appears within a join specification and is outside the scope of the join specification or appears in a HAVING clause and is not in the GROUP BY list. If this is a CREATE or ALTER TABLE  statement then 'WFTM.PACKAGENAME' is not a column in the target table.

The below steps will target a very simple DEV domain: 1 server only with BPM and SOA. We  will ignore for now the OSB. 
 

Create the RCU schemas

Make sure that Oracle XE is up and running.
Note: If you already have an  Oracle 12c Database instance then you can follow the same below steps to create the RCU repository.

Go into the "Jdev_BPM_Binaries_Home\oracle_common\bin" and click on the "rcu.bat".







 

Note: My port is "1522" for the Oracle XE since the default "1521" is already used by my Oracle Enterprise Edition DB.

 


Note: We will "Ignore" all such messages since by default the Oracle XE Database should not be used for a BPM-SOA 12c domain.







Note: We can use  the "BPM12213" or "DEV" or "TEST". The idea is not to end up using an already defined "prefix".




Go with "welcome1" for all schemas:























Note: We will "Ignore" all other future error messages.







All done !

Now that we have the RCU repository we can go and define/create the BPM 12c domain.

Create the BPM 12c domain

Go into the "Jdev_BPM_Binaries_Home\oracle_common\common\bin" and run the config.cmd.

Once more, we will keep it as simple as possible: 1 server only and only SOA-BPM.

Define a new root location/ folder   for the future domain. It can be for example: "BPM_Domains\XE_TEST_DOMAIN".
Keep the new folder far from the FMW Binaries location !

In this new root folder create 3 new folders:

  1. test_domain  -> this will be used in "Page 1"
  2. test_application  -> this will be used in "Page 4"
  3. test_nm [or test_nodeManager] -> this will be used in "Page 13"
You will understand all the above 3 folders rule idea after less than 1 minute 😉

 Back to the wizard now....

 

The location is the above "test_domain" one.

Note: This "Domain Location" will also define the new domain name so if you want a different name then go with a different name for the last folder: "X_domain" or "BPM_domain" and so on...



Select only the "Oracle BPM Suite" - all other options will be automatically selected. Next






As  we can see the "_application" folder is now used.



You can always go with "welcome1".



Keep it on development and you can use the already defined JDK or you can even select a new JDK8.



Make  sure you update here the DB host, service name, port and password. For the schema use your own prefix but keep the "_STB" !  Get RCU Configuration and Next.





Double check that all fine - no need to go with updates here since this is why the previuse "_STB" test was done.



There should be no errors here and Next....







Select the above 3  options.




Define a port for the "http" and "https" options and use "localhost".

Since we want only 1 single server we will select the above "SOA-MGD-SVRS" option !




We can go again with the "welcome1" password and use the "_nm" folder.



Remove the current "soa_server" and keep this list empty. Next



Next







You can use the default Coherence port or change the number to something new...Next.





Since is 1 single server no real need for this step but you can keep the Machine and use "localhost" + the default port or a new one... Next





Place the "AdminServer"  below the Machine.
Next -> Next from here:







Create !









DO NOT  "Start Admin Server" !

Go inside the DOMAIN_HOME\bin folder [XE_TEST_DOMAIN\test_domain\bin] and  open the "setDomainEnv.cmd" text file in Notepad++ and add the below:


set USER_MEM_ARGS=-Xms4096m -Xmx4096m %MEM_DEV_ARGS% %MEM_MAX_PERM_SIZE%

This will define a 4 GB heap size for the server. If you want less or even more then go with a different value. Make sure both Xms and Xmx have the same value.

Where to add the above ? You can place the new details below the "set EXTRA_JAVA_PROPERTIES=-Djavax.management.builder.initial" row.

Now run the "startWebLogic.cmd" and you will have the server up and running.

Once the server is up then go into the main 2 Consoles:

  • http://localhost:7321/console
  • http://localhost:7321/em
Note: Of course the host and port will be based on your own values defined.

What if you do not remember them ?

 Open the "config.xml" file from the test_domain\config folder and check for the "<listen-port>" and "<listen-address>".

Note: make sure you check the <listen-port> defined outside the "<ssl>" element.

Username & password: weblogic+ welcome1 [or whatever the password you defined].

Now that you have the new domain you can link it with the JDeveloper tool per the details from the "Installing Oracle BPM Quick Start 12.2.1.3 & Configuring a Standalone Domain" -> "Link the JDeveloper with the new domain".