SOA Suite 12c: First look at Service Bus features SOASuite12c sb blog

SOA Suite 12c: First look at Service Bus features

Oracle released SOA Suite 12c (12.1.3) bringing a further integration between components and a bunch of new features. This blog is one in a series of new features summaries about SOA Suite 12c to view them all check this blog.

This blog will summaries the features specific to Service Bus and the Enterprise Manager Dashboards. The features are summarised, but most will get an own blog that tells about the full details. Oracle renamed the product from OSB (Oracle Service Bus) to SB (Service Bus), apparently it also stands for Oracle Secure Backup.

Disclamer: Screenshots are made in Beta version of SOA Suite 12c, so may differ in final version!

Integrated with JDeveloper

Service Bus is now integrated in JDeveloper, so no Eclipse anymore as default IDE. Since I mentioned the integration in the Developer Productivity blog of this series I won’t go into the details again, but there are still some things to mention. The development of a Service Bus application uses its own Application workspace and it is not possible to combine SOA and Service Bus projects in one application workspace. When creating a SB project you can create it together with a Service Bus Application or on its own.

Service Bus 12c: Own Application Workspace

Service Bus 12c: Own Application Workspace

Service Bus 12: Project OverviewAfter creating a SB project you will notice the new overview.xml. The overview of a SB project is similar to a SCA Composite, but is not, it is just a placeholder file to open the Project overview edit.

Splitting Proxy from Pipeline

Because a SB project is more like a SCA Composite (same overview) the Proxy is split from the Pipeline. This means that the Proxy and the Pipeline are two individual things. With this concept multiple Proxies can be wired to one Pipeline. Say you have a “Any XML” Pipeline, you can process the data from both Proxies (i.g. File adapter and JMS Queue). It is also possible in the IDE to wire a pipeline to a pipeline directly or create a business service from a proxy.

Service Bus 12c: Two proxies on pipeline

Service Bus 12c: Two proxies on pipeline

Create a REST service based on a Pipeline

One of SOA Suite 12c’s pillar is Mobile Enablement. You can expose a Pipeline as a REST service. When doing it creates a REST binding just like in a SCA Composite. In the wizard you can assign specific Resource Paths and Operation for the operations of the Pipeline. Downside is that you can only expose Pipelines that have a WSDL interface.

Service Bus 12c: Expose as REST

Service Bus 12c: Expose as REST

Kick-start an Service Bus (SB) project using templates

Just like SOA Suite’s SCA Composites the SB also supports the use of templates. But it works a little different. Templates are Pipeline-based, this means that you can select a template when creating a new Pipeline. There are two types of templates; Unlinked, which is a copy of the template, and Linked, Pipeline stays connected to template. In the template you can use Placeholders so permit changes to that part of the Pipeline. If the Pipeline is linked to a template and the template is changed the linked Pipeline will inherent these changes. You create a template pipeline, instead of a normal Pipeline and place it in a centralized project or in the MDS for re-use.

12c SB Templates

SB template with placeholder

Service Bus uses new Component and Properties palettes

Just like SOA (SCA Composite) Service Bus uses the new Component and Properties Palette. It displays as it were, all the steps in the wizard or tabs of the dialog window of a component. Instead of editing the component using the wizard you can now use the Properties palette to make changes.

Service Bus 12c: Properties Palette

Service Bus 12c: Properties Palette

MDS support for importing shared resources (limited)

Service Bus has now Design-Time support for MDS (MetaData Services). In my opinion it is the reason why it is limited. You can select resources from the MDS that you want to import into your SB project. Service Bus can’t connect to a Remote MDS on runtime. This choice is made, because SB can be installed separate from SOA and SB doesn’t have there own DB repository for saving MDS artifacts.

Service Bus 12c: MDS Support

Service Bus 12c: MDS Support

Dynamic Validation Activity

SB 12c updates the Validation Activity. It is now possible to Dynamically validate a variable. Using Expressions you should return a fully qualified type or element reference (i.g. {http://www.example.com}inventoryRequest). Besides the Dynamic validation you also have the option to save the validation result to a variable or to raise an error (behavior in 11g).

SOA Suite 12c: First look at Service Bus features Servicebus dynamic validation

Service Bus 12c: Dynamic Validation

Disable Activities

In SB 12c it is possible to disable activities. This can be handy if you want to skip activities, but do not want to remove them. Every activity can be disabled in Design-Time, but also on Run-Time using the Service Bus composer. In JDeveloper you can disable activities by right-clicking on the activity and selecting Disable or by clicking on the disable icon in the Properties palette (see image above).

Service Bus 12c: Disable Activity

Service Bus 12c: Disable Activity

Test expressions on Design-Time

An other Developer feature in 12c is the possibility to test expression on Design-Time. When working in the Expression Builder you can click on the Test Expression icon to test the expression. JDeveloper will deploy a small artifact to the Design-Time environment of SB and start a small browser window where you can test the expression.

Servicebus 12c: Expression Builder

Service Bus 12c: Expression Builder

SB Debugger

Just like SOA (SCA Composite) Service Bus has a debugger. It works the same as the SOA debugger. There will be coming a separate blog about the SOA and SB debugger, but below a first impression how it looks.

Service Bus 12c: SB debugger

Service Bus 12c: SB debugger

Service Bus 12c: Activity Variable Values

Service Bus 12c: Activity Variable Values

Enterprise Manager

The Service Bus console has found a new home with the switch to JDeveloper. Most functionality is moved to the Enterprise manager. Because it is a lot of information there will be separate blogs to discuss all the features and because it is just to much to summaries hereby a short impression below.

Service Bus 12c: EM Integration

Service Bus 12c: EM Integration

Service Bus 12c: EM Dashboard (Alerts)

Service Bus 12c: EM Dashboard (Alerts)

Service Bus 12c: EM Alert History

Service Bus 12c: EM Alert History

Service Bus 12c: EM Message Reports

Service Bus 12c: EM Message Reports

More more more

There are a lot more features in Service Bus. My esteemed colleague Lucas Jellema (Oracle ACEd, CTO AMIS) has written a series of Service Bus blogs which will be published in coming day(s).

  • Using Domain Value Map (DVM) in Service Bus projects
  • Sharing resources between SOA composites and Service Bus projects with Design Time MDS
  • Where to find Service Bus Message Reports
  • Where to find Service Bus Pipeline Alerts
  • Disable/Enable Activity to ease development
  • Native Format Translation in Service Bus Pipeline

This blog may be updated if other cool features are discovered.
For full coverage check the other first look blogs.

2 Comments

  1. Jaleeluddin Mohammed April 23, 2016
  2. Sandeep Rudra January 20, 2015