Mythics Blog

Oracle SOA Suite 12c:  Enhanced Developer Productivity

Posted on September 24, 2014 by Shawn Ruff

Tags: Fusion Middleware, Oracle, Cloud Computing

Oracle has announced the General Availability release of its long anticipated Oracle SOA Suite 12c. This release includes a number of enhancements and features over the reliable and stalwart 11g version. The new features cover the entire spectrum from user experience, integration, performance, scalability, management, mobile, cloud and many more impressive and very useful features for developers and administrators alike.

In this article we'll discuss a few of the new features related to enhanced developer productivity.

SOA Quick Start – a complete integrated out-of-the-box developer package, which includes the following tools in a single installation package:

This developer-centric package will dramatically reduce ramp-up time for those new to Oracle SOA Suite 12c, by allowing them to focus on development tasks and not installation and integration tasks. This installation should not be used for anything more than a stand-alone developer environment. While it provides the typical features and capabilities a developer would need to develop composite applications, it is not an Enterprise deployment. Furthermore, JDeveloper, SOA Suite, and Oracle Service Bus are fully functional; however, the Integrated WebLogic Server instance has limited capabilities compared to a full WebLogic Server instance. In addition, the JavaDB for the Metadata Repository will not provide the scale and performance comparable to an Oracle database. Installation of the package is straight-forward.

1.  Download the package from OTN

2.  Ensure you have a supported JDK installed (Review the FMW 12c Certification Matrix for supported configurations)

3.  Unzip the SOA Suite download package and execute the following command from the extracted directory using the command line

a.  %JAVA_HOME%\bin\java -jar fmw_12.1.3.0.0_soa_quickstart.jar

4.  Follow the installation wizard

Integration of the Oracle Service Bus development into JDeveloper. JDeveloper 12c replaces the Eclipse OEPE (used with OSB 11g) as the IDE for OSB 12c development. OSB development now also uses similar terminology and layout as the SOA Suite SCA composite application development. The following terminology changes have been made in the updated OSB development environment:

  • Proxy has been renamed to Proxy Services
    • The left swim lane in JDeveloper
    • This is analogous to Exposed Services in SOA Suite SCA terminology.
  • Business Service has been renamed to External References
    • The right swim lane in JDeveloper
    • This is also the same name in SOA Suite SCA terminology.

This will provide a more consistent & standardized development environment between SOA Suite and OSB and reduce confusion with terminology and development tools.

SOA Suite SCA Composite templates provide a jump-start for developing a SCA composite application and will allow you to easily add reusable components or activities to an existing composite application. You can create and apply templates at three levels within a composite application:

  1. SOA Project
  2. Component
  3. Custom Activity in BPEL

A template contains all the configurations and dependencies, including PartnerLinks, and can be easily edited before or after being applied. Once the template is applied to the composite application or BPEL component, it becomes part of the composite or component. The template will be packaged and deployed along with the composite or component. Creating a template is as easy as right-clicking the project, component or activity and selecting the ‘Create Template’ button.

Oracle Service Bus templates are also supported in Oracle SOA Suite 12c. They are similar to SOA Suite SCA composite templates but with minor differences. OSB templates are created at the pipeline level and can be either linked or unlined. Unlinked templates (similar to SOA Suite SCA templates) are copied into the OSB project. With a Linked template, the pipeline stays connected to the centralized template. OSB templates employ the concept of placeholders to allow for changes to the pipeline - if a linked template is used and the template is changed, the pipeline will inherit the change from the template. This provides a great opportunity to create and store templates in the MDS or a centralized project for reuse across your OSB projects.

BPEL sub-processes provide a mechanism for reusing BPEL code within a BPEL process. A BPEL sub-process can be described as a unit of encapsulated logic that can be called zero to many times within a BPEL process. It is analogous to a private member function in Java or a procedure in a PL/SQL package. BPEL sub-processes can be considered a callable scope, though not part of the normal process flow as a typical scope would be. BPEL sub-processes will improve performance by rendering only the entity being called at the time and also enable a modular approach to managing BPEL processes. The two types of BPEL sub-processes are:

  1. Inline
    • An inline BPEL sub-process is created within a single BPEL process and has access to global variables of the parent process. It accepts arguments to be passed in by-reference and altered as need. A single copy of the Inline BPEL sub-process is stored in memory at run-time and reused each time it is called, although a new private scope is created for every iteration to store local and passed-in variables.
  2. Standalone
    • A standalone sub-process is defined in a separate file (.sbpel extension) and displays as a separate component in the composite application. A standalone sub-process cannot access global variables. This is because it acts as if it is merged into the calling process, instead of part of the process. This allows the standalone sub-process to be reused across multiple BPEL processes. Since it is defined by an external definition file, it can be worked on by multiple developers in parallel.

As you can see from this article, Oracle SOA Suite 12c introduces some very useful features to support productivity, reuse, and modularity across the development environment. This article is meant to provide a high-level summary of some of the more important features in this area and just scratches the surface. You can refer to the Oracle Fusion Middleware 12c Developer documentation for more detailed information on each of the topics covered in this article. Look for upcoming articles highlighting additional new and enhanced features of Oracle SOA Suite 12c, including:

  • Performance and optimization
  • Management and administration
  • New and updated products
  • Integration adapters

Comments

  • ! No comments yet

Leave a Comment