Thursday, April 9, 2015

SOA12cFeatures

Oracle SOA Suite 12c has following  New features:

1. Quick Single Installer :

 Oracle SOA12c suite comes as single installer , this installer has SOA12c setup file , we have to run this setup file once and it will install weblogic ,DB/SOA/OSB etc. default DB is Java DB.

2. Java DB - Apache Derby 

Oracle SOA 12c uses the Java DB also known as Apache Derby for the SOA Dehydration store

3. JDeveloper IDE for OSB:

Eclipse IDE is no longer required for OSB Development. Jdeveloper is the IDE used for designing all major components like Oracle SOA Suite, Oracle Service Bus and Oracle Event Processing.  

4. SOA Debugger: 

SOADebugger is introduced to debug SOA and OSB applications. We can debug our code before deploying it; this saves lot of development efforts.

5. New Adapters:

Coherence, REST, LDAP adapters have been introduced to support Cloud and Application .

6. Enterprise Service Scheduler:

No need to use other schedulers to invoke soa services ,SOA12c provides Enterprise Service Scheduler (ESS) to schedule SOA services for processing of messages

7. Templates: 

As part of code share and reuse which reduces developers effort templates can be created. for SOA/OSB ,three types of templates supported are:

   a. Project Templates
   b. Component Templates
   c. Custom Activity Templates

8. BPEL Subprocesses: 

BPEL Sub process not a complete process but is a fragment that consists of reusable code of business logic. This sub process is invoked from a parent process using a "call" activity.
Types of BPEL Subprocesses are:

    a. Inline Subprocess
    b. Standalone Subprocess

9. MDS support for OSB: 

In 11g version MDS support was not there for OSB but in 12c MDS support is provided for OSB.

10. Translate Activity: 

 Translate activity is also introduced which is used for Native to XML and XML to Native transformation.


11. Xquery Mapper: 

In this release Xquery mapper is introduced which provide XQuery support.


12. Re-sequencing in OSB: 

Oracle SOA 12c  allows Re-Sequencing feature to OSB also, with the help of this feature we able to process the request message in proper sequence.

13. MFT :

      Oracle SOA 12c supports Manage File Transfers .

Wednesday, April 8, 2015

SOA12c Quick Installation

 This is post explains you step by step installation process of Oracle SOA 12c .

  Pre-requisites :
 You computer should fulfill all following requirements .
 http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html

 Installation Setps :
  1.     SOA12c Installation 
  2.     DB Installation
  3.     RCU to create required schemas
  4.     Domain Creation.
 SOA12c Installation :

Sept 1 :

Download Oracle SOA 12c installer from oracle site .

Accept the agreement and  click on download button  on the above oracle site .
It will download two jar files 
  1. fmw_12.1.3.0.0_soa_quickstart
  2. fmw_12.1.3.0.0_soa_quickstart2

Sept 2 :

Java Download:

You also need to download supported JDK, you will not be able to run Oracle SOA 12c installer if you don’t have supported JDK. for window 7 you can download Jdk1.7.0_75.

Sept 3 :

Run SOA12c Jars :

    1. Open the cmd prompt, right-click on it and run it as administrator.

    2. Go to java bin folder where you have installed latest JDK. [ C:\Program Files\Java\Jdk1.7.0_75\bin]
    
    3. Run below command in command prompt.

         Java -jar  C:\SOA12c\downloads\fmw_12.1.3.0.0_soa_quickstart.jar


   4.This will extract  the all files and  it will launch the installer.

     5. Click " Next" and it will ask to provide ORACLE_HOME  path and click Next.


   6. SOA12c installer checks system certification and Java Version. click next.

  7. You see installation summary page,click on “Install”  to start the actual installation process.



8 . Once installation completed click on Finish ,Jdeveloper will start .


     9. Now we will add SOA extension to the JDeveloper. To do this go to Help --> Check for Updates.


10.  Then you will see next window and in that window you see IDE folder and under that you see "Extension SDK".


11. Click next and it will ask for restart of Jdev , and do restart and you all set to start developing SOA12c composites.

12 . Install Oracle XE database in you system .

In the next post i will explain 

  1. RCU to create required schemas
  2. Domain Creation.



RCU Installation - SOA12c



Before start this step you should have installed the Oracle XE Database in your system .

RCU comes with Oracle SOA 12c installer, so you need not to download it separately.  You can find rcu file at below location.

ORACLE_HOME\oracle_commom\bin\rcu.bat



This will launch the RCU wizard click on next


Choose "System Load and Product Load"  and click Next.


 Provide your database details and click Next .


 It will check Prerequisites, once completed click "ok" and next 


Create new prefix and select the components like below.

It will check for Prerequisites ,Once it is completed click on "OK" and then next .


    set password for schemas and click next.






RCU needs table space , so once you see this dialog box , please click ok and Click next







RCU set up is done.

Domain Creation for SOA12c


Oracle SOA 12c comes as standalone installer ,which means no Database, RCU, Weblogic , SOA and OSB installer separately.  By default Oracle SOA 12c use Java DB . We can also have other DB install and use it

Configure Domains :

 We can create  following domains  , in this post  will see  how to configure different  domains.

  1.      Default domain
  2.      Standalone domain
  3.      Compact domain

Default domain:

Default domain is created on Integrated weblogic server. This is also called Integrated WebLogic Server's default domain . Integrated weblogic server uses "Java DB"  by default .
      So when u are creating Default domain it uses "JavaDB".

      This is domain is Light weight  but this domain not supported MFT , ESS ,B2B,BAM,Healthcare. Integrated Weblogic server start along with JDeveloper session start and stops when JDeveloper closed . So if you want to restart the server  you should close and start Jdeveloper every time. 
         
         Open Jdeveloper --> Windows-->ApplicationServers.

          Right click on IntegratedWebLogicServer --> createDomain




Provide the default domain details and click Ok .


Standalone domain :

We can also create standalone domain which use Java DB. In case of standalone domain server and domain run independently of JDeveloper.

Steps:

1. Open the command prompt and run below commands to run the domain wizard.
2. Navigate  to ORACLE_HOME\soa\common\bin
3. Set path like below


set QS_TEMPLATES=ORACLE_HOME\soa\common\templates\wls\oracle.soa_template_12.1.3.jar, ORACLE_HOME\osb\common\templates\wls\oracle.osb_template_12.1.3.jar


4.




5 . Provide the details of the domain and click on create , it will create the standalone domain.


Compact domain :

Compact domain ,we need this domain when we want implement Enterprise Scheduler, Managed File Transfer, B2B, Heathcare, or BAM components .As i already said in the begging of the post  these components are not supported for Java DB.

Steps:

1. Open the command prompt and run below commands to run the domain wizard.
2. run this command


        ORACLE_HOME\oracle_common\common\bin > SET CONFIG_JVM_ARGS=-            Dcom.oracle.cie.config.showProfile=true 


       ORACLE_HOME\oracle_common\common\bin > config.cmd



3. To create the compact domain, choose "Create a new compact domain" option and then click next


 4. Select required templates 

5. Provide password  and click next 

6. select Development and  Oracle hot spot.


7 .Provide DB details and by selecting the component name 


8. Then click on Next , Next , until it finish the Domain creation wizard.




Friday, April 3, 2015

Best Practices BAM 11g to_12c Migration


The Migration process of BAM 11g Projects to  SOA 12c (12.1.3)


Oracle BAM 12c. Oracle Business Activity Monitoring (BAM) 12c has been completely redesigned for use with Oracle SOA Suite 12c, so there is no direct upgrade path. The schemas, binaries, and directory structure used in Oracle BAM 12c are different than those used with Oracle BAM 11g. Therefore, upgrading from Oracle BAM 11g to BAM 12c cannot be handled with the standard upgrade procedures. You will need to perform several manual configuration tasks to complete the upgrade. unfortunately you won't be able to migrate your 11g  reports on 12c because  "Reports have become dashboards” , “ Columnar reports are no longer supported, replaced by tabbed dashboards”.


         Pre-Requisite


    1.  Oracle SOA12c BAM server should be installed. 
    2. Apply  Patch 19705170 to run BamCommands.
Patch details :[ https://support.oracle.com/epmos/faces/ui/patch/PatchDetail.jspx?parent=DOCUMENT&sourceId=1952000.1&patchId=19705170 ]

Note : With out Patch bamcommand will not import 11g DO,EMS objects to BAM12c
       

         Bam Command Utility

SOA12c the “ICommand “is replaced  with “BAMCommand”. This BAM command Utility  helps us to migrate the  DO,EMS  from SOA11g to SOA12c from back end. This is like ICommand in the SOA11gBAM .   BAMCommand command-line utility can be executed locally or remotely, and it uses  to export, import, migrate, clear, and delete BAM metadata, data, and project artifacts.


        Where to execute BamCommand

Windows  : BAMCommand can be executed from the FMW_HOME\soa\bam\bin
 Unix        : BAM Command can be executed from the FMW_HOME/soa/bam/bin 

        Syntax 


windows  :  bamcommand [-host host] [-port port] [-username username] [-logfile filename] [-logmode [overwrite|append]] -cmd operation -param value

Unix :  ./bamcommand [-host host] [-port port] [-username username] [-logfile filename] [-logmode [overwrite|append]] -cmd operation -param value

Note : [-host host] [-port port] [-username username]  are  read from the BAMCommandConfig.xml

BAMCommand Configuration File

BAMCommand configuration file  is used to  preset BAMCommand parameters . this will help us  not have to type the parameters on the command line each time you use BAMCommand. Command-line parameters override parameters in the configuration file.
This file is located at FMW_HOME/soa/bam/bin/BAMCommandConfig.xml.


Sample BAMCommandConfig.xml 

<host>www.kbace.com</host>
<port>4001</port>
<username>weblogic</username>
<password>welcome1</password>
<dbusername>SOAINFRA</dbusername>
<dbpassword>welcome1</dbpassword>
<dburl>jdbc:oracle:thin:@localhost:1521:orcl</dburl>


Lets start migration now .

DO Migration


 I have 11g DO [UL_OrdersOnHold_DO.xml],  I want to migrate this to 12c , to migrate this you have to follow this steps

1.       Export  BAM11g DO to any folder  [ex: c:\soa11g\bam\ OrdersOnHold_DO.xml]
2.       Start SOA12c  server
3.       Navigate to the following path through command prompt
      $Oracle_Home\soa\bam\bin

4.       Execute following BAMcommand  through command prompt
             
       bamcommand –cmd import –file C:\kbace\ bam \OrdersOnHold_DO.xml -UPGRADE 1
 


5       Once you see the above  message , log into the BAM console using following url

6       Navigate to Administrator à Data Objects  , you will see UL_Order_Hold_DO created .



After migrating the Object , we will find following changes to the 12c Data Objects :


1     Data Object’s Name (UL_Order_Hold_DO) is changed by removing leading underscores from
11g Data Object ID (_UL_Order_Hold_DO) .

2     11g Data Object Column ID (_StringField) is changed to StringField.

3     The 11g Data Object XML has “AutoIncrementingIntegerField”, which is of column type “auto-incrinteger”,which is why no new column is created corresponding to this 11g column in 12c. This column gets mapped to the 12c BEAM_ID column

4     The 11g Data Object XML has “TimestampField”, which is of column type “timestamp”. Again, no new column is created corresponding to this 11g column in 12c. This column gets mapped to the 12c DATAOBJCET_CREATED column.

5     If the length of the 11g Data Object XML column “LongStringField” is specified as 10000, in 12c it is truncated to 2000 because that’s the most that Varchar can support.

You can view the changes in the following screenshots.




Data Object Data Migration:

               
The BAMCommand utility is used to migrate the 11g Data Object data to 12c. The “-migrate” option of BAMCommand is used to migrate the 11g Data Object data to 12c.

Syntax :  bamcommand  -cmd import -file <11g DO XML file> -migrate 1

 Verify BAMCommandConfig.xml


Before migrating 11g data, you must ensure that the DB details such as dbusername and dburl, mentioned in the BAMCommandConfig.xml, are valid.


  Execute BAM Command:

Run following command under  $Oracle\Middleware\Oracle_Home\soa\bam\bin through cmd prompt.
           
  bamcommand  -cmd import  -file C:\bam\UL_OrdersOnHold_DO.xml  -migrate 1
       
       provide the details like  weblogic server username ,password and DB password details.



1.       Once you see the above  message , log into the BAM Composer

2.       Navigate to Administrator à Data Objectsà UL_Order_Hold_DOà Data   , you will see UL_Order_Hold_DO having data like below screenshot.


Note :

You can perform different data operations such as update and overwrite, for that we can  using the “-datamode” option. syntax is below .

Update :
bamcommand -cmd import -file <BAM11gDO>.xml -migrate 1 -datamode update

Overwrite:
bamcommand -cmd import -file BAM11gSimpleDOWithData.xml -migrate 1 -datamode overwrite

EMS Migration

Run following command under  $Oracle\Middleware\Oracle_Home\soa\bam\bin through cmd prompt.

     bamcommand  -cmd import  -file C:\bam\ UL_OrdersOnHold_JMS.xml  -upgrade 1


      
1. Once you see the above  message , log into the BAM console using following url

2.       Navigate to Administrator à Enterprise Message Sources à UL_Order_Hold_JMS  , you will see UL_Order_Hold_JMS appers  like below screenshot.




Manual setup

 When you migrate the 11g EMS to 12c following things are not going to happen and these things  should be done by manually .

          Connection Factory details are not retained. The Outbound Connection JNDI is mapped to NONE.




You must create these details manually and choose the 12c JNDI name.

1     EMS field “Start when BAM Server starts” is not mapped as part of upgrade process. So the “Auto-start” field is set to “false” in 12c .You will have to start the EMS manually.




Report Migration

Unfortunately you won't be able to import your reports on 12c. 
  1.       Reports have become dashboards
  2.       Columnar reports are no longer supported, replaced by tabbed dashboards.

So you have to re-design the BAM11g reports from scratch in BAM12c .