Friday, July 25, 2014

SOA 12c - Get Started with SOA Composite - Hello World Example

In the previous post we saw how to install SOA 12c. In this post lets get started with SOA 12c with basic Hello world example and testing the composite from the Jdeveloper, which is one of the new features in SOA 12c as discussed in post

Before proceeding any further make sure you have default domain configured as described in the previous post and start the server from Jdeveloper either as shown below or by selecting Run -> Start Integratedweblogicserver
It takes several minutes for the server to be up and running, meanwhile lets build our first SOA Composite in 12c.

First create a new SOA Application from the gallery. If SOA Application is not seen, then you need to install extension SDK as shown in the earlier installation post
Name your application, project and provide the directory location to save your project. 




Choose the standard composite and select composite with BPEL Process and click finish

A pop up will appear to name your BPEL process and select synchronous operation and leave the rest with default values and click Ok.

Now Jdeveloper creates the SOA Composite with the BPEL Process as shown

 Drag and drop the assign activity in between Receive input and reply output in the HelloWorldBPELProcess from the BPEL Constructs as shown

Double click on the assign activity, in the copy rules tab, provide the mapping from input to result as shown and click ok and save.

Now your final BPEL process is as shown


Deploy your composite to the server by following the steps as shown:




You can confirm the deployment by checking your SOA Log and Deployment Log for any error and issues in deployment. If successful, you will see the below results 


Now you are ready to test your first SOA Composite. SOA Application can be tested either from the EM Console or from Jdeveloper (new feature in 12c)

1. Testing from Jdeveloper: follow the below steps














2. Testing from EM Console:

login into EM console http://<hostname>:<port>/em using the domain credentials and navigate as shown: 


SOA 12c - Deinstall Oracle SOA 12c

This post shows the steps for deinstalling Oracle SOA 12c. Below are the steps to follow.

Step 1: Navigate to the Oracle_home/oui/bin directory in the command prompt and execute deinstall.cmd as shown.




Step 2: Oracle Deinstaller window pops up


Step 3: Welcome screen appears. Click Next


Step 4: Deinstallation Summary appears. Click deinstall


Step 5: click finish once done.



Step 6: Remove Oracle Home directory manually. If Oracle_Home was C:\Oracle\Middleware\Oracle_Home. Navigate to C:\Oracle\Middleware, right click on Oracle_home and click on delete.


Step 7: Remove program shortcuts 
Go to C:\Program Data\Microsoft\Windows\Start Menu\Programs\Oracle and remove Oracle_Home Directory

Step 8: Remove Domain and Application Data
To remove Domain data, if  Domain home directory is C:\Oracle\Config\domains\soa_domain, use a file manager window and Navigate to the C:\Oracle\Config\domains directory, then right-click on the soa_domain folder and select Delete.

To remove app data, if application home directory is C:\Oracle\Config\applications\soa_domain, use a file manager window and navigate to the C:\Oracle\Config\applications directory, then right-click on the soa_domain folder and select Delete.

For more details, you can refer to Oracle docs.

Thursday, July 24, 2014

SOA 12c - Installing Oracle SOA 12c on Windows 7

This post shows you the step by step installation of SOA 12c. Below are the steps to follow.

Step 1: Download oracle SOA12c installer from the below link by accepting the license agreement

http://www.oracle.com/technetwork/middleware/soasuite/downloads/index.html?ssSourceSiteId=opn

Step 2: fmw_12.1.3.0.0_soaqs_Disk1_1of1.zip file is downloaded. Extract the zip and you will see 2 jar files 

          fmw_12.1.3.0.0_soa_quickstart.jar
          fmw_12.1.3.0.0_soa_quickstart2.jar


These jar files need to be run from the command prompt to install.

Step 3:   Open Command Prompt in administrator mode 
Step 4: We need JDK to install SOA 12c. SOA 12c supports JDK 7 version. Using JDK 8 might throw the below error when starting Jdeveloper post installation.

Proceeding with JDK 8 at this time might cause issues while deploying the SOA Applications to the server. 

Step5:  Navigate to the bin location of where JDK 7 is installed and run the following command

java -jar Oracle_SOA_12c_installer_file_location



This will start extracting the files and will launch the installer once done

Step 6: Welcome screen is shown. click Next


Step 7: Browse the location where you want the middleware home to be installed and click Next


Step 8: It checks for the JDK version and the Operating system. click Next


Step 9: This step shows the features that will be installed. click Install



 Step 10: This step might take several minutes as it needs to generate libraries and proceed with the installation. once done click Next or Finish



Step 11: Click finish. This will launch the Jdeveloper if start jdeveloper box is checked.


Step 12: Once Jdeveloper is open, we need to create domain for integrated weblogic server as shown. go to Windows -> Application Servers

Step 13: Expand Application Servers , right click on Integrated weblogic server and create default domain


Step 14: Enter the domain details and click ok. Password and the port numbers. By default port numbers will be populated.


Step 15: Now add the SOA extension in the JDeveloper. To add, go to Help -> check for updates 


Step 16: Check the checkboxes as shown in the image and click next.



Step 17: Under IDE folder -> check Extension SDK and click Install.



Installation done!!.. You are now ready to explore SOA 12c.


SOA 12c - New features in Oracle SOA 12c

Oracle SOA Suite 12c has lot of new features to support the three new integration challenges. They are mainly :

a. Cloud Integration - Rapidly integrate a growing list of cloud applications with existing applications

b. Mobile Integration - Mobile enable enterprise applications and services
c. IoT Integration - Connect Internet of Things (IoT) devices to existing systems.

However, in this post I will be listing only few new features from a developer's perspective.


1. Quick Start Installer: The installation and configuring of SOA development environment including IDE and the SOA run-time and infrastructure database has been simplified with the download of a single file.


Refer to this post for step by step installation.

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


3. Single IDE: Jdeveloper is the IDE used for designing all major components like Oracle SOA Suite, Oracle Service Bus and Oracle Event Processing. 

   Eclipse IDE is no longer required for OSB Development.

4. Templates: As part of code share and reuse which reduces developers effort templates can be created.  Three types of templates supported are:


   a. Project Templates

   b. Component Templates
   c. Custom Activity Templates
    Similarly in OSB we have Pipeline Templates.

5. 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

6. Debugging and Testing: SOA Suite 12c has a visual debugger in Jdeveloper that allows setting of breakpoints within a composite, a BPEL Process and a Service Bus pipeline.

   Testing of the SOA Application and OSB applications can be done from within the Jdeveloper instead of accessing the EM Console and SB Console.

Refer to this post for testing the SOA Composite from Jdeveloper and EM Console.
Refer to this post for testing the OSB Application from Jdeveloper and SB Console.

7. Adapters: Cloud and Application adapters have been introduced along with Technology adapters like Coherence, REST ...


8. Schedulers: Enterprise Service Scheduler (ESS) to schedule SOA services for processing of messages.


9. Data Transformations: Xquery Mapper is introduced in Jdeveloper.