SOA & Oracle Fusion Middleware
Sending an email with attachment from Oracle BPEL
Feb 5th
In my previous post I described how to create a PDF file/report in Oracle BPEL (Create a JasperReport from Oracle BPEL).
Now I will describe how to sent this PDF file as attachment in an email.
Create a JasperReport from Oracle BPEL
Feb 5th
In my previous post I described how to create a Report (CDBooklet) with JasperReport in Java.
Follow this link to take a look at the post ‘Using Java to create a report with the JasperReport java API’
For this new post I created a webservice wrapper around this reporting functionality and deployed it to a Weblogic application server.
Here I will describe how to create a CDBooklet report with the Oracle SOA Suite 11g.
First we have to determine the in- and output payload for the service. You can find a detailed description of this service in my previous post.
Read the rest of this entry »
Introduction of BPEL 2.0 forEach activity – valuable loop and standard based successor to FlowN
Jan 10th
BPEL 2.0 introduced the forEach activity – similar to for [-loop] found in many programming languages. Oracle SOA Suite 11g adopted BPEL 2.0, first in run time (PS2) and later in Design Time (JDeveloper) as well (PS3 an beyond). For BPEL processes created using BPEL 2.0, forEach is a looping mechanism – similar to repeatUntil and while – and also the successor to the proprietary Oracle extension to BPEL 1.x called FlowN. In that latter capacity, forEach is the activity that enables parallelism in BPEL processes to a dynamic degree.
The well known Flow activity also supports parallelism – but only for a static number of branches, known at design time. FlowN (1.x) and forEach (2.0) add the ability to execute a scope a dynamic number of times, determined at run time. 
For example when an operation needs to be performed on multiple elements in a collection, such as all order lines in an order or all persons in a travel booking, forEach is valuable – especially when it makes sense to perform the operation on multiple elements at the same time.
Note however that parallelism in BPEL is a relative concept: a single BPEL process instance is never operated on in more than one JVM thread, so there is no real parallel execution at CPU level.
However – when asynchronous activities are ‘waiting other activities can be performed ‘in the mean time’. Examples of asynchronous activities are Wait, Receive (for a reply to the invoke of an asynchronous service, Pick (onMessage and/or onAlarm).

When the forEach scope contains such asynchronous actions, it can provide parallel execution by executing the scope for the next element in the for-loop while the previous element’s iteration is waiting for an activity to continue or complete.
Business Validation in Oracle SOA Suite 11g using Schematron
Jan 5th
In a previous post I’ve explained the Schematron standard, how it works and how to use it. In the Oracle SOA Suite you can ‘Validate Semantic’ on the input (request) of a routing rule in a Mediator component by selecting a Schematron file. This is the Schemtron xml file in which you define your validation rules. The SOA Suite takes care of applying them on the request by executing the double transformation.
However, to be able to get the Schematron file working you need to declare the namespaces of the input message and rewrite a report rule to an assert rule. In this post I will show you how to do this with the same business rules (so the same Schematron rules and Schematron file) as the last example in a previous blog explaining Schematron.
Read the rest of this entry »
Difficulties with a more complex Business Rule Engine in Oracle SOA Suite
Dec 23rd
In my previous post I’ve shown how to create a composite in the Oracle SOA Suite with a simple decision table in a Business Rule Engine component. For that post I had used quite a simple data model resulting in a small xml/xsd tree. For our project I wanted to repeat the exercise with the real data model, so a larger xml tree defined by multiple imported xsd files. Unfortunately it wasn’t as easy as I hoped for. In this second blog post about the Business Rule Engine I’ll show you about the difficulties I had and how I’ve solved them. Read the rest of this entry »
Cookbook creating Business Rule Engine with a simple Decision Table in Oracle SOA Suite
Dec 13th
For educational purposes I’ve created a cookbook in powerpoint format on how to create a simple decision table in Oracle SOA Suite with a Business Rule engine.
To share this I’ve uploaded it to slideshare and post it here in the Amis blog as well. Read the rest of this entry »
WebLogic 12c released!
Dec 2nd
At December the 1st, 2011, Oracle announced it’s new major release, the 12c release. As Oracle added the i (internet) at its 8 release, the g(gridcomputing) at its 10 release, now the focus will be on the c(cloudcomputing).
Many new features come out of the fact that Oracle has made its key application server ready for the cloud, that is, ready for to run on enigineered systems, in fact its own Exalogic machine, Oracle’s solution for implementing the cloud.
So let’s take a look what this new release brings us, in this blogpost. There are several new features available in the 12c
New or enhanced WebLogic 12c features
- JAVA EE 6 support all kinds of JEE6 specifications are implemented like :
- JSF 2.0,Java Servlets 3.0 JPA 2.0 and EJB 3.1.
- Managed Beans 1.0
- WebLogic 12c also supports supports Java SE 7 (and Java SE 6).
- Java language optimizations and Internationalization
- Client and server support
- SSL/TLS 1.2 in JSSE to support JAVA Socket Transport security
- Converged Java VM:JRockit and HotSpot are incorporated with the best features from both.The JVM convergence will be a multi-year process, which was confirmed during my presence at Oracle’s Publisher Seminar 2011 during OOW
I won’t discuss the full list in this blog because there’s more about WebLogic than only (although very important of course!) the JAVA EE 6 specifications.
- Support for IDE’s. WebLogic already supported JDeveloper 11.1.1.5, but will come out with the 11.1.1.6 later on. Also suported are Eclipse and NetBeans 7.1 IDE. As said, the JDeveloper 11.1.1.6 and IntelliJIdea IDE will be supported in a later timeframe.
- New enhanced WebLogic Maven Plug-in See the various new options below in this scheme


I revisited the BPEL activity Java Embedding that allows us to enrich a BPEL process with custom, Java based functionality. I tried to determine how best to explain, present and demonstrate this activity to my colleagues. This article is a brief summary of what I will tell them. It may help you to quickly get up to speed with this activity in BPEL using Oracle SOA Suite 11g.
