Complete Overview of Oracle Fusion Middleware Setup

Oracle Fusion Middleware Setup from Developers’ Perspective Intro Having taken part in large Oracle Fusion Middleware projects (several in banking and aeroflight), I always see people struggling to setup and interlink the different OFM pieces, usually SOA, BPM, Webcenter and  ADF. Usually the start of the project takes a lot of time and any decision […]

by Todor Gigilev

March 22, 2016

4 min read

oracle soa suite setup - Complete Overview of Oracle Fusion Middleware Setup

Oracle Fusion Middleware Setup from Developers’ Perspective

Intro
Having taken part in large Oracle Fusion Middleware projects (several in banking and aeroflight), I always see people struggling to setup and interlink the different OFM pieces, usually SOA, BPM, Webcenter and  ADF.
Usually the start of the project takes a lot of time and any decision here may impact the development on later stage. So I decided to write this article, which will hopefully decrease the setup time and give you some good ideas on how to do the proper architecture.

Oracle SOA Suite – SOA Composites
I start with this, as it is the “backend” or the core of the Oracle Fusion Middleware solution. We will have all the business logic here and later we will expose it through ADF.

First we need to setup our SOA application in JDeveloper (of course we need to download the required JDeveloper SOA and BPM plugins). Usually under the SOA project we create multiple Composite projects, each of which is different module, that provides a number of services to be consumed by the business processes.

Each composite will have its BPELs calling different web services, JCA (DB) adapters or SDO (services exposed by ADF Application Module). Here you might want to take into consideration:

  • Storage of WSDL files (you don’t want to stop your development if external WSDLs are not accessible or you are offline)
  • Management of different WSDL and xsd versions
  • Deployment profiles – create different deployment configurations for each environment.

You can also add Java logic using the Spring Beans component.

Oracle Fusion Middleware Setup - SOA Suite

 

Oracle SOA Suite – BPMN Processes
In most of the cases you will have a separate SOA Application that contains your BPM related processes in an Oracle Fusion Middleware aolution. In a composite project you create a BPMN process that will keep the process logic. The BPMN will be calling WebServices (either the ones you’ve created or external ones for your organization).

The main complexity of a BPM project comes in the integration of the so-called Human Tasks. These represent human interaction in a form, usually located in the Oracle BPM Workspace. The other option is to implement a custom BPM workspace – we have already developed such for clients of ours as an outsourced project.

In order to create customized task you now proceed to the ADF layer.

Oracle Fusion Middleware - BPMN Processes

 

ADF Implementation of Oracle BPM Human Task
The most time-consuming part of the implementations in an Oracle Fusion Middleware project is usually the ADF part. This is because you usually want really functional and at the same time user friendly interface. ADF is also quite sophisticated technology with a steep learning curve. Maybe that is why we are contacted by companies for outsourcing their ADF development work.

When you want to customize a human task, you create a separate ADF UI project. In the project you create a new “Task Flow from Human Task”. It will ask you to point to the task file located in your BPM project. Once you create the taskflow, you will see:

  • Generated JSPX page and corresponding PageDefinition
  • Generated Data Control

Oracle Fusion Middlewarea -  BPM Human Task

 

The page generated by default is a great start for creating your customized ADF page. With some development effort and use of the generated Data Controls you can create a really good page, that suits your exquisite user needs.

Finally, once created you can deploy the ADF Application (note you need to deploy the application, not the project). Now when you open the Task in the Oracle BPM Workspace you will see your customized page, instead of the default one.

ADF Implementation of web pages, consuming Oracle SOA Suite web services
You might need to create separate ADF pages (not BPM based) that consume your REST services, created in SOA Suite. Then you have 2 approaches, 1 of which is really more efficient:

  • Data Control based on REST service – this is really inflexible approach, which I do not recommend unless it is for a WS that you know will never change or you will never need to modify its output
  • Java Proxy – this is the method that I would usually use

You will almost always go for the Java Proxy. To do so you create a separate Proxy project. There you create “Web Service Client and Proxy”, which will point to the url of your REST web service.

Oracle Fusion Middleware - ADF Implementation of web pages

 

Don’t forget that you need to be able to adjust the WS endpoint url for each environment you deploy to. This is usually done with some custom Java code and a static config file.

Additionally in ADF 12c you can consume REST services.

Webcenter Portal and ADF
Finally you might have Webcenter in the big mix of technologies in an Oracle Fusion Middleware project. What many people don’t get is that Webcenter Portal is a wrapper for ADF Taskflows (or other containers).

It provides security, navigation and pre-built features (such as BPM worklist inside the portal). It also has the great feature to create pages during runtime – unfortunately I have not taken part in project that makes good use of this.

The standard architecture includes a separate Webcenter application with Webcenter Portal project. This project then consumes other ADF projects published as ADF Shared libraries. To do that you deploy your ADF application to Shared Library and include it in the Webcenter Portal dependencies. Then you can reuse the taskflows by drag and dropping them in a page, directly making a link through the Webcenter Navigation or add them during runtime.

Conclusion
The Oracle Fusion Middleware stack is very powerful, but at the same time quite complex. It requires many different skillsets in order to develop a fully working enterprise solution. Last but not least, you need to establish a good development process in order to coordinate the output of different teams/experts and deliver a fully-working Oracle Fusion Middleware enterprise solution.

if you have any questions or need any help contact me at todor.gigilev@dreamix.eu

Having entrepreneurial and business knowledge, I am eager to help innovative companies and startups to build their sales strategy and business model, improve their value proposition and design and develop their product. If you want a software project delivered, you can message me and I will make sure to do my best to propose the best solution. My main expertise is in the Oracle Fusion Middleware stack - I have been heavily involved in actual development, consulting and delivery of Webcenter, ADF, SOA Suite, BPM and Java EE solutions.