Tuesday Dec 22, 2015

MTOM using SoapUI and OSB by Martien van den Akker

clip_image001MTOM (Message Transmission Optimization Mechanism) is incredibly hard... to find practical information about, on SoapUI and OSB. There are loads of articles. Like:

But I need to process documents that are send using MTOM to my service. And to be able to test it, I need to create a working example of a SoapUI project to do exactly that. Also about SoapUI and MTOM there are loads of examples, and it is quite simple really. But I had a more complex wsdl that I was able to use for Soap with Attachments (SwA) wich is also simple really. But how to connect those two in a simple working example? Well, actually, it turns out not so hard either... So bottom-line, MTOM with SoapUI and OSB is not so hard. If you know how, that is.
So let's work this out on a step-by-step basis.

XSD/WSDL

I'll start with a simple XSD: Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Friday Dec 18, 2015

How to customize your Service Bus 12c pipeline templates by Jan van Zoggel

clip_image001One of the new features in Service Bus 12c is the ability to use pipeline templates. Usually the Oracle Service Bus pipelines in an environment have many common steps. Think of the re-use of logging, error handling, alerts and pattern + naming convention for your stages. In practice with OSB 11g we often used a “template” or existing OSB project which we then copied and modified. With the “clone” option of 12c this task is already easier, but the use of pipeline templates is even better. Since templates and concrete pipelines (generated pipelines from a template) remain linked we can update our services easier with new insights. For example, when you want to change your default logging or fault handling behavior.

Index:

To use pipeline templates to their fullest potential we can customize them to our own needs. For this we have multiple options.

Generic configuration

The essential configuration of most actions can be left empty in the template without any problem. As soon as they are implemented in concrete pipelines the actions there will come into an ERROR state. The example below shows the Routing which is empty in the pipeline template. When developing the concrete pipelines we can then easily set the correct business service. Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Wednesday Nov 11, 2015

OSB – Comparing Transformation Performance by Over de Auteur

clip_image001Introduction

In this post, I am looking into the relative performance of the transformation technologies in Service Bus 12c. Having searched the internet, I could not find a lot of specific information regarding the performance in Oracle Service Bus, but only qualitative opinions like “XSLT performs better for large documents”, or “Service Bus is optimized for XQuery”, without any supporting data [ORAFORUM].

Background

In an attempt to offload some of the production load from the SOA clusters, a migration project has been initiated to migrate services implemented in SOA Suite 11g (as BPEL processes) to the Oracle Service Bus cluster.

Although these services are not directly exposed to consumers, the intention is to reuse – without modification- as much artefacts as possible, including WSDL, JCA adapter definitons and the transformation logic – currently implemented in XSLT. Fortunately, the XSLT is version 1.0 since our Service Bus 11.1.1.6 does not yet support version 2.0.

Environment Setup

Although the environment where the question originates currently runs SOA/OSB 11g, migration to 12c is being planned. Liking life on the bleeding edge of technology, I decided to setup a test for 12c.

To quickly create a (reproducible) SOA 12c installation, I have used the scripts [BIEMOND] provided by Edwin Biemond to leverage Vagrant for the creation of two virtual machines (one for the DB and one for the middleware) (). Since my laptop has enough memory available, I have assigned 8 GB to the middleware virtual machine. Furthermore, the memory settings for the OSB-server have been increased to 1536 MB (initial = maximum memory).

On my laptop, I have also installed SoapUI [SOAPUI] (for functional testing – verifying that the testcase using different technologies yields the same result) and Apache Jmeter 2.13[JMeter] (for the actual performance testing).

Scenario Setup

For the time being I want to primarily focus on the relative performance of XQuery when compared to XSLT, over multiple transformations with varying payloads. So, the only metric I am interested in is the response time of the service, assuming that -with all other things being equal- equal actions will add equal overhead: the total response time of the service will be taken as the main indicator.

To support different transformations for testing, there should both be XQuery and XSLT versions of the transformation. Ideally, we should have different proxies per scenario and transformation technology, but actually I am too lazy to set up this scenario. Initially, I was thinking about setting up different testcases in the same proxy and switching between these testcases based on a value in the payload or operation, this has the suspicion that it works like a case statement (or nested if-then-else): evaluating the conditions for the fourth case might take more time than for the first case.

Fortunately, Service Bus also supports “Dynamic Transformations”[OSBDYNTRANS] for both XQuery and XSLT: this lets you dynamically assign the name of a transformation resource to apply, and also dynamically assign the payload to this transformation (see the Dynamic XQuery example below):

OSB Dynamic Assign Operation

The project I have come up with consists of a single proxy exposing a single operation and five pipelines: Read the whole article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Saturday Oct 31, 2015

Provisioning Oracle Service Bus on Oracle Java Cloud Service – free online training

clip_image002Creating an Oracle Java Cloud Service instance and extending the Oracle WebLogic Server domain with Oracle Service Bus. To get information about licensing, see Leveraging On-Premises Licenses in the Oracle Public Cloud. To Learn more about Java Cloud Service, see the documentation. Get the free online trainings here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Wednesday Sep 16, 2015

OSB Release Management Utility by Joao Moura

clip_image002Agile methodologies have increased radically the numbers of release events in organisations where it has been adopted.  Both development and operations teams need to collaborate more closely during production release events requiring more than ever the right supporting tools.

How many times have you been asked what has been deployed in environment X?

If you are using CI tools and doing release management properly it should be a straightforward answer. However, software deployment comprises a set of steps involving multiple parties. As a result, the process isn't entirely automated requiring human intervention which is susceptible to errors.

Imagine you have just delivered an OSB Production bundle to the operations guys (DBAs, Weblogic Admins…).

How can you prove that the expected jar has been deployed without looking at the source code or running any tests ?

We are using a custom Release Management Utility that saves us a lot of time and headaches ☺

· No third-party software required; It uses Hudson, SVN, Maven and OSB

· Allows users without technical knowledge to view what’s deployed

· Identifies project changes between sprints

· Track back to source code based on SVN revision

· Displays build date and version for each individual project

Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Tuesday Sep 15, 2015

Searching Service Bus Pipeline Alert contents by Maarten Smeets

clip_image001There are several ways monitor messages passing through the Service Bus. Using pipeline alerts is one of them. Pipeline alerts can be searched in the Enterprise Manager based on several parameters such as summary or when they have occurred. Usually an important part of the message payload is saved in the content of the alert. This content can not be searched from the Enterprise Manager. In this post I will provide an example for logging Service Bus request and response messages using pipeline alerts and a means to search alert contents for a specific occurrence. The example provided has been created in SOA Suite 12.1.3 but the script also works in SOA Suite 11.1.1.6.
Service Bus Pipeline Alerts

The Oracle Service Bus provides several monitoring mechanisms. These can be tweaked in the Enterprise Manager.

In this example I’m going to use Pipeline Alerts. Where you can find them in the Enterprise Manager has been described on: https://technology.amis.nl/2014/06/27/soa-suite-12c-where-to-find-service-bus-pipeline-alerts-in-enterprise-manager-fusion-middleware-control/. I’ve created a small sample process called HelloWorld. This process can be called with a name and returns ‘Hello name’ as a response. The process itself has a single AlertDestination and has two pipeline alerts. One for the request and one for the response. These pipeline alerts write the content of the header en body variables to the content field of the alert.

When I call this service with ‘Maarten’ and with ‘John’, I can see the created pipeline alerts in the Enterprise Manager. Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Monday Jul 20, 2015

CI using Oracle Fusion Middleware 12C: Part 2. Building a SB and SOA project using maven and the MDS by Hugo Hendriks

clip_image001In the part 1 I have shown how to setup a simple CI environment and how to build a Service Bus project using Maven. In this part I will try to make a release pipeline which builds, deploys, tests, packages and release a whole service using Jenkins and if all successful and finally install the artifact in Nexus.

Lets start where we left of. Startup Tomcat and log into Jenkins. We need some sort of plugin to be able to run multiple actions in a sequence. Jenkins has alot of plugins but the one which I am going to use is the MultiJob one. Go to Manage Jenkins->Manage plugins, choose the available tab, check the Multijob plugin and click Install without restart.

The multi-job plugin can chain jobs together and share variables and artifact between jobs. You can make very intricate jobs but for now I will keep it simple. I will make 1 job that will:

  1. Build the service bus component which also refers to a SharedObjects project and deploy it to my server
  2. Build the soa component which also refers to the MDS and deploy it to my server
  3. Run the matching soap ui test
  4. If succesfull, install the artifact to nexus

I have created a simple HelloService which first goes to the SB and then routes to a SOA component. The SB component makes use of a SharedObjects SB project which holds the WSDL and XSD. This project is setup so you don’t have to sync between this project and the MDS. This because the SB isn’t able yet to access the MDS. The SOA component does nothing else the return a string response. So the setup will look like this: Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Saturday Jul 18, 2015

How to use the Domain Value Map (DVM) in Oracle Service Bus 12c by Jan van Zoggel

Introduction

clip_image002Due to the tighter integration of Oracle Service Bus 12c in the whole Oracle SOA Suite product it’s now much easier for developers to use general SOA Suite components like the Domain Value Map (DVM).

Getting Started

First I use the OSB 12c clone project ability to copy th earlier created/blogged OSB 12c Database adapter project and create a project named GetCaseServiceDVM. In the new project we add a Domain Value Map (DVM):

The file name and description speak for themself. The Initial DVM Entries forces us to define the minimum amount of 2 domain names (source and target of our value) and if we want we can inmediately configure the 1st record here.

The result is a DVM file in our project which we can easily edit within JDeveloper 12c.
For this blogpost we will add 2 records which will allow us to translate the value “1” and “2” which we receive from the database to a basic description of that value. Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Sunday Jun 07, 2015

Service Bus 12c: Retrieving Username from HTTP Basic authentication token by Sven Bernhardt

clip_image001Using HTTP Basic authentication is a common mechanism to check user’s authenticity, when creating REST-enabled API’s to prevent applications and it’s functionalities from unathorized access. Service Bus 12c (SB) supports this authentication method by using a OWSM security policy. The corresponding authentication information are transported in the HTTP header.

In some cases, for example when only user-relevant data should be determined when querying information from Enterprise Information Systems (EIS), the information about the current user that are available  in the HTTP header might be helpful. As an alternative the username information could be transported in the payload of each Service Call, e.g. as a query parameter.

In the following I will describe, which steps are needed to extract the username from the HTTP header, so transporting the same information twice, in the header and the payload, can be avoided.

Starting point is a simple HelloWorld service, which expects a valid HTTP Basic authentication token. In the example a corresponding OWSM policy is used to realize this. The service as such has an operation “greet” that takes no parameter. As result, it returns a personalized salution based on the passed authorization header. Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Saturday Jun 06, 2015

OSB 12c – Pipeline Template by Vivek Garg

clip_image002As we know Oracle SOA 12c comes with lot of new features, one of that is service bus is merged with SOA Suite i.e. we need not to use separate IDE to build service bus projects. In 12c we use Jdeveloper to build service bus projects.

In previous post we discuss about SOA templates which helps to improve developer productivity, similarly in service bus we have pipeline template. We will discuss about pipeline template in this post, we see how to create pipeline template and how to use pipeline template.

A pipeline template depicts the general message flow and we can generate concrete message flow using this pipeline template.

One point which we need to keep in mind that we cannot create a pipeline template in Oracle Service Bus Console.

How to create pipeline template

Now we see how to create pipeline template from Jdeveloper. To create pipeline template, create a new project and choose “Service Bus project” option. Also provide the project name and click on finish. Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

About





Search

Archives
« May 2016
SunMonTueWedThuFriSat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
    
       
Today