Category: SOA

Mule ESB runtime is light weight java based Enterprise Service Bus, which can be integrated between different platforms and languages that can connect fast and communicate between each other.Mule ESB can be deployed anywhere and can orchestrate real time events.

Mule ESB has got below capabilities.

Service creation and hosting — expose and host reusable services, using the ESB as a lightweight service container

Service mediation — shield services from message formats and protocols, separate
business logic from messaging, and enable location-independent service calls

Mule and other ESBs offer real value in scenarios where there are at least a few integration points or at least 3 applications to integrate. They are also well suited to scenarios where loose coupling, scalability and robustness are required.

Below is a quick ESB selection checklist. To read a much more comprehensive take on when to select an ESB, read this article written by MuleSoft founder and VP of Product Strategy Ross Mason: To ESB or not to ESB.

1. Are you integrating 3 or more applications/services?
2. Will you need to plug in more applications in the future?
3. Do you need to use more than one type of communication protocol?
4. Do you need message routing capabilities such as forking and aggregating message flows, or content-based routing?
5. Do you need to publish services for consumption by other applications?

Why Mule?

Mule is lightweight but highly scalable, allowing you to start small and connect more applications over time. The ESB manages all the interactions between applications and components transparently, regardless of whether they exist in the same virtual machine or over the Internet, and regardless of the underlying transport protocol used.

There are currently several commercial ESB implementations on the market. However, many of these provide limited functionality or are built on top of an existing application server or messaging server, locking you into that specific vendor. Mule is vendor-neutral, so different vendor implementations can plug in to it. You are never locked in to a specific vendor when you use Mule.

Note: the above two paras are directly taken from Mule website because i feel thats most apt content than i can describe.

In the next comming blog posts i will teach you how to start with mulesoft ESB.
Happy Mule 🙂

Querying in Oracle Coherence is obtained by set of Filters that the Coherence has provided us. Please be noted that queries apply only to currently cached data thus, the data set should be loaded entirely into cache before queries are performed(go through my preLoading concept in the previous post).

The concept of querying is based on the ValueExtractor interface. A value extractor is used to extract an attribute from a given object for querying Most developers need only the ReflectionExtractor implementation of this interface. The implementation uses reflection to extract an attribute from a value object by referring to a method name which is typically a getter method

Hi guys, here is my 80th blog post which talks about calling Restful service using Spring’s “RestTemplate”. This codebase is executed under Spring 3.1 and 4.0 dependencies. The project structure looks as shown below.

let me explain one scenario here, the calling REST service can return JSON Object or an XML Document back to consumer. it si up to the implementation how to convert JSON back to Java Object or convert Xml Back to Java.
We have many Marshallers and UnMarshallers available some of them are Jaxb2Marshaller,Jibx Marshaller, XStreamMarshaller,XmlBeanMarshaller..etc, i personally used Jaxb2Marshaller in this project. let us now dive into the code, there is no much explanation needed in the code, please follow the comments over the code blocks.

Hi all,In my last post we have seen how to orchestrate BPEL process,but today we are going to see how we can develop a BPMN workflow using Camunda.This is also part of SOA stack,in my upcoming posts we will discuss about SOA technologies .

once done we need to decide the conditional flow for the exclusive gateway. this is shown below.

once the request is forwarded to human task based on the condition. Here the condition is the loan approval for a particular department(dept1,dept2) based on this the manager will approve the request for the respective department. lets write the task form for manager to approve the request as below.

please run mvn clean install package, now a war gets generated. Please deploy this war into JBoss Application server deployments folder and now start the camunda cockpit application and camunda tasklist application as shown below.

create an instance by logging with demo/demo into camunda/tasklist application as shown below, since the entered details are for dept1 the approval goes to “john”(manager of dept1).

now go and see the camunda/cockpit it shows the present status of the BPM work flow as shown below.

Now john needs to login into task list to approve his assigned tasks, once he approves a automated mai is triggered to the applicant as shown below.

Hi All, its long time i wrote on SOA technologies so this week end decided to write on BPEL again. In this post i will start explaining on how to create BPEL process programmatically rather using GUI tool (Drag and Drop).

First lets create BPEl project and process as explained below.

1. Create a new BPEL project named “BpelTest” by selecting File→New→Others→BPEL 2.0→BPEL Project. Select Next. Type the project name as “BpelTest”. Click Finish.
2. Create a new BPEL process file named “BpelTestProcess” by right clicking on the BpelTest/bpelContent folder, select New→Others→BPEL 2.0→New BPEL Process File. Click Next. Fill in BPEL Process Name the string “BpelTestProcess”, and in the Namespace the string “http://spark.bpel.test.process&#8221;. Select the Template as Synchronous BPEL Process. Click Finish.

Note : Please rename the WSDL that is create as shown in the screen shot below.

now Zip only the source files, wsdl and deploy.xml and then upload the zip archieve to BPS server. in “Main->Process->add”, when the process gets successfully uploaded it will be shown under “Main -> Process -> list”
once the deployment is complete its time for us to test our BPEL process. BPS provice a tool internally to test the process or we can use SOAP UI to test it(I prefer to use BPS Tool ‘TryIt’)

click on the process name this will take us to the process specific page and there we can find TryIt tool. please follow the screens as below.

once we click on the try it. this will open a testing tool where we can send request and response will be shown.

In my next write up we will see how to call Java Code from BPEL Process.
Happy BPEL coding 🙂

When you drag the component to the visual editor, you should see a target rectangle with the name Form on the page; this means the component you are dragging will be inserted inside that target component.

9. click save all icon to save the work.

Step 6: Bind an ADF Faces Table Component to the Service Bean
1. In the Data Controls panel, expand AddressBook, then expand findAllContacts().

2. Click and drag Contact to the center facet on the page in the visual editor. From the Create context menu, choose Table > ADF Read-only Table.

3. In the Edit Table Columns dialog, select Enable Sorting.

4. Accept the default values and click OK.
The page in the visual editor should look similar to this:

Hi All, in past i have written one article regarding oracle coherence cache and its simple implementation. from past couple of months we are implementing coherence in our project and i thought to put its implementation here, so lets start with the topic. lets create a database table as below

Once we are done with the insertion of data to database and cache, now its time to fetch the data either from database or cache. here the logic is if data is available in cache the controller pull data from cache if not it will pull from database and also update cache with the latest data so that next time it will from cache but not from database.