Asynchronous interaction in Oracle BPEL and BPM. WS-Addressing and Correlation sets by Maarten Smeets

clip_image002

 

There are different ways to achieve asynchronous interaction in Oracle SOA Suite. In this blog article, I’ll explain some differences between WS-Addressing and using correlation sets (in BPEL but also mostly valid for BPM). I’ll cover topics like how to put the Service Bus between calls, possible integration patterns and technical challenges.

I will also shortly describe recovery options. You can of course depend on the fault management framework. This framework however does not catch for example a BPEL Assign activity gone wrong or a failed transformation. Developer defined error handling can sometimes leave holes if not thoroughly checked. If a process which should have performed a callback, terminates because of unexpected reasons, you might be able to manually perform recovery actions to achieve the same result as when the process was successful. This usually implies manually executing a callback to a calling service. Depending on your choice of implementation for asynchronous interaction, this callback can be easy or hard.

WS-Addressing

The below part describes a WS-Addressing implementation based on BPEL templates. There are alternatives possible (requiring more manual work) such as using the OWSM WS-Addressing policy and explicitly defining a callback port. This has slightly different characteristics (benefits, drawbacks) which can be abstracted from the below description. BPM has similar characteristics but also slightly different templates.

When creating a BPEL process, you get several choices for templates to base a new process on. The Synchronous BPEL template creates a port which contains a reply (output message) in the WSDL. When you want to reply, you can use the ‘Reply’ activity in your BPEL process. The activity is present when opening your BPEL process after generation by the template, but you can use it in other locations, such as for example in exception handlers to reply with a SOAP fault. If you want to call a synchronous service, you only need a single ‘Invoke’ activity.

The output message is not created in the WSDL when using the One Way or Asynchronous templates. Also when sending an asynchronous ‘reply’, you have to use the Invoke activity in your BPEL process instead of the ‘Reply’ activity. One Way BPEL process and Asynchronous BPEL process templates are quite similar. The Asynchronous template creates a callback port and message. The ‘Invoke’ activity to actually do the asynchronous callback is already present in the BPEL process after it has been generated based on the template. The One Way template does not create a callback port in the WSDL and callback invoke in the BPEL process. If you want to call an Asynchronous service and want to do something with an asynchronous callback, you should first use an ‘Invoke’ activity to call the service and then wait with a ‘Receive’ activity for the callback. 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

Managed File Transfer for SOA Customers: Overview, Demo, Q&A with Product Mgmt, Engineering and Partners – November 15th, 2016

imageRegister Now! (all registrants will receive a link after the session to the presentation, session recording and Q&A)

This session provides a basic product introduction to Oracle MFT from the product management team, along with real-world implementation experience and advice from an experienced SOA partner doing a cloud MFT implementation. Nearly all SOA Suite customers have needs for moving files around using managed file transfer approaches and now that Oracle has a SOA Suite component offering this functionality, we want to answer the typical questions SOA customers have around MFT, such as: what does it do and how does it work? When should I use MFT vs the SOA Suite file capabilities? What are other SOA customers doing with Oracle MFT today? Etc.

Participants in this session include:

  • Dave Berry from the Oracle Service and Cloud Integration prod mgmt team, responsible for the MFT product, providing a product overview, release timeline and demo
  • Ben Kothari of Ampliflex, talking about lessons learned and best practices from implementing MFT in the cloud for a SOA Suite 12c transportation services customer, including integrating with MFT to HR systems (e.g. Fusion HCM, Taleo, payroll, benefit providers)
  • David Shaffer of Middleworks, moderating and providing additional resources

Register Now!

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

Podcast Show Notes: Author Roundtable: SOA Suite 12c Administration by Bob Rhubart

clip_image001

 

What is the role of the SOA Suite Administrator? What are the key responsibilities and challenges? These and other questions are addressed in the latest OTN ArchBeat Podcast in a wide-ranging discussion with the authors of the Oracle SOA Suite 12c Administrator’s Guide (2015, Packt Publishing).

Listen to the podcast.

The Panelists

clip_image002

Arun Pareek, Principal Consultant, Rubicon Red

clip_image003clip_image004clip_image005

clip_image006

Ahmed Aboulnaga, Oracle ACE, Technical Director, Raastech Inc.

clip_image003[1]clip_image004[1]clip_image005[1]clip_image007

clip_image009

Harold Dost, Oracle ACE Associate, Principal Consultant, Raastech Inc.

clip_image003[2]clip_image004[2]clip_image005[2]clip_image010

Additional Resources

  • Oracle SOA Suite 12c: Startup and Shutdown
    This 18-page sample chapter from the Oracle SOA Suite 12c Administrator’s Guide focuses exclusively on the startup and shutdown of the Oracle SOA Suite infrastructure and how to verify the completion of each component.
  • Community Discussion: Oracle SOA Suite
    Have a technical question about SOA Suite? Have insight to share? The Oracle SOA Suite community space includes nearly 20,000 discussions about all aspects of SOA Suite. Jump in!

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

BAM 12c Security Concept by Carsten Wiesbaum

clip_image002

 

Oracle’s BI application Oracle Business Activity Monitoring (BAM) is the choice to provide Oracle Fusion Middleware (FMW) users with business insights of all running processes and applications. Due to the fact that in a standard Oracle FMW infrastructure multiple applications are hosted on which different user groups are operating one can imagine that not all information should be accessible by all users. At this point user roles and permissions become an important topic within enterprise applications. This article will provide an overview of Oracle BAM Security Concept which can be used to restrict user access to different data and dashboard categories.

Introduction to Oracle BAM Security Concept

BAM is a standard Java EE application. Therefore the same role and access right concepts apply to BAM as to any other Java EE application. When BAM is installed five standard BAM user groups are created in WebLogic standard security realm.

Each group grants a specific set of functionality to its members. The minimum requirement for a user in order to login to BAM is provided by BAMUsers group. All additional groups add more BAM functions for its users:

  • BAMContentViewer – Members can view dashboards in a project
  • BAMContentCreator – Members can create dashboards and other BAM artifacts in a project
  • BAMArchitect – Members can create new BAM Data Objects and Enterprise Message Sources
  • BAMAdministrator – Members can view and modify all resources in any project

Users can be added to user groups accord ing to the required access rights.

Adding additional BAM users

In order to add a new user to BAM one has to add the user to BAMUsers group. Afterwards the user can login. However he is not able to see any projects or access dashboards. 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

Performance by using patterns in service implementations by Maarten Smeets

clip_image001

 

Performance in service oriented environments is often an issue. This is usually caused by a combination of infrastructure, configuration and service efficiency. In this blog article I provide several suggestions to improve performance by using patterns in service implementations. The patterns are described globally since implementations can differ across specific use cases. Also I provide some suggestions on things to consider when implementing such a pattern. They are technology independent however the technology does of course play a role in the implementation options you have. This blog article was inspired by a session at AMIS by Lucas Jellema and additionally flavored by personal experience.
Patterns

Asynchronous services

Suppose a synchronous call is made and the system takes a while to process the information. In the mean time the end-user might be waiting for the processing to be completed while the end-user might not (immediately) be interested in the response. Why not make the process asynchronous?

Making a process asynchronous has some drawbacks. The result of the processing of the request will not be available immediately in the front- and back-end so you cannot use this information yet and often you do not know when (and if) the information will become available. If something goes wrong during processing, who will be informed to take measures? (How) does the back-end inform the front-end when it’s done? You can think of server push mechanisms.

Claim-check

This is of course a famous pattern. The claim-check pattern is often used when large objects are used such as large binary files, which you do not want to pull through your entire middleware layer. Often the data is labelled and saved somewhere. The middleware can get a reference to the data. This reference can be send to the place it needs to be and the data can be fetched and processed there.

Set processing

Service calls are expensive since they often traverse several layers of hard- and software. For example I need to fetch data on a lot of persons and I have a service to fetch me person information. I can call this service for every individual person. This can mean a Service Bus instance, a SOA composite instance, a SOA component instance,a database adapter instance, a database connection and fetching of a single item all the way back (not even talking about hard- and software load-balancers). Every instance and connection (e.g. HTTP, database) takes some time. If you can minimize the instances and connections, you obviously can gain a lot of performance. How to do this is more easy than it might seem. Just fetch more than one person in a single request. 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

VirtualBox with SOA 12cR2 and StreameXplorer in 33 minutes by Peter van Nes

clip_image002

 

In a previous article, VirtualBox with SOA, BPM, OSB and BAM in 33 minutes, i described how you could quickly create a new Oracle VirtualBox image from scratch with SOA 12cR1. When following the instructions in this article you get almost the same result, only differences are that you will have SOA 12cR2 installed with Oracle StreameXplorer.

Because the preparation is almost the same, follow the instructions in the VirtualBox with SOA, BPM, OSB and BAM in 33 minutes, till the step “Install Oracle Linux”. Only use the Github repository reddipped/soa12cR2install instead of reddipped/soa12cR1install. Continue from there with the following steps to complete the installation.

Install Oracle Db 12c SE2

Now Linux is up and running, logon as Oracle and run the installation script for Oracle DB Standard Edition 2 from the shared folder soa12cR1install/Db12cSE2.

1

2

cd /media/sf_soa12cR2_install/Db12cSE2

./install

Install JDK 8u65

Install Java 8u65 by executing the following commands as Oracle.

1

2

3

sudo -s

rpm -ivh /media/sf_soa12cR2_install/JDK8U65/jdk-8u65-linux-x64.rpm

exit

Create the oraInst.loc

When installing oracle products silently the location of the oracle inventory location should be created. This file specifies the location of the Oracle Inventory directory where the Installer creates the inventory of Oracle products installed on the system. Just cut-and-paste the following instructions as user Oracle. 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

SOA Suite 12.2.1 New Features by Sandra Flores

clip_image002

 

I recently had the opportunity to see version 12.2.1 of Oracle’s SOA Suite in action–and I can say it offers some very nice features that we developers have been waiting for. These features will make our lives much easier, especially when working with Cloud integrations, using REST and locating failures in BPEL instances.

These are some of the new features:

  1. JavaScript support for SOA Composites and OSB Pipelines. Besides REST support for OSB and BPEL (which comes from a previous version), now we have a JavaScript activity for BPEL flows and another one for OSB Pipeline components. With this activity it is possible to handle payload with native and custom functions of this language without converting from JSON to XML (i.e., we are able to create REST BPEL orchestrations and OSB flows using JSON and work with this structure in a natural way with JavaScript). You can read more about using JavaScript in SOA Composites in the well-explained and complete article found here: https://technology.amis.nl/2015/11/02/soa-suite-12-2-1-a-first-look-at-end-to-end-json-and-javascript-support-in-soa-composites/.
  2. XSLT Mapping Debug. XSLT transformations now have debug functionality. We can set breakpoints to check a function’s input and output data at runtime. This feature is available for applications deployed in local and remote servers, and for BPEL and Mediator components as well as for OSB projects.
  3. Oracle Integration Continuous Availability. This complete solution comprises a set of SOA Suite operative functionality, including diagnosis, performance, availability, scalability among other operative aspects. Its main purpose is to provide tools and capabilities to solve issues arising from failures and improve our implementations. The following are part of this group:

In-Memory SOA. When we create a BPEL in JDev, a new tab called In-Memory SOA lets us choose from three persistence options: immediate, deferred and faulted. This functionality uses Coherence cache associated with WebLogic Server to run non-transactional short-running BPEL processes in-memory. This helps improve performance, lighten the DB job and make its maintenance easier. State data is stored and read from Coherence cache according to the option we choose: 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

PaaS & Middleware Partner YouTube Update November 2016

The November edition of the PaaS & Middleware Partner Update contains three key topics:

  • Community Resources
  • Managed Service Provider Partner Program
  • SOA & BPM Partner Community Webcasts November 29th 2016

For regular updates please subscribe to our YouTube channel here. For the latest SOA & BPM Partner Community information please visit our Community update wiki here (Community membership required)

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

Where Is SOA Going? By Bob Rhubart

clip_image001

 

SOA principles drive new focus.

Service-oriented architecture (SOA) has been a topic of conversation among IT professionals since before phones got smart and the word cloud referred to something other than airborne water vapor. While the basic concept of SOA hasn’t really changed, perceptions and practices around implementing SOA continue to evolve.

Services are everywhere, and with this burst of cloud, mobile, and API initiatives, SOA couldn’t be in better shape.

Rolando Carrasco,
SOA Principal Architect and Co-Owner, S&P Solutions

To get a sense of how that evolution is playing out among people who work in SOA, I put the following question to the community via an Oracle Technology Network discussion forum: Where is SOA going?

As it happens, three of the most detailed responses came from the authors of the book Oracle API Management 12c Implementation. That’s particularly fitting, given that their book’s general subject matter, API management—always a factor in SOA—has taken on even greater significance as the use of cloud-based services becomes increasingly prevalent in enterprise IT.

Oracle ACE Director Luis Weir, the book’s lead author and the principal architect at HCL Industries, is confident of a solid and rosy future for SOA as an architectural concept. But he thinks how we talk about it is changing.

“SOA has been reborn in the form of ‘digital technologies’ such as IoT [Internet of Things], API management, microservices, and cloud integration solutions,” Weir says.

Among those digital technologies, API management looms large as a connecting thread. In a post on his blog, Weir defines the term API management as “the discipline that governs the software development lifecycle of APIs. It defines the tools and processes needed to build, publish, and operate APIs.” Given that APIs provide the means for connection and interaction between services—in the cloud and elsewhere—the elevated role API management plays in today’s SOA is understandable. 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

REST enabled Oracle Database Cloud Service – my first experiences by Niall Commiskey

clip_image001

I have heard that APEX supports REST so I decided to try this out on my SOA CS environment’s
DB CS instance. AS per usual, I studiously avoided reading any documentation.
This should be simple, right?
I created a simple table Customers

Now, as luck would have it I locked my ADMIN APEX user out.
This I fixed as follows –
ssh into the DB CS machine
start sqlplus

conn system/yourPwd@yourSOADB;

alter session set current_schema = APEX_050000;

select user_id, substr(user_name, 1,10), account_locked from wwv_flow_fnd_user;

update APEX_050000.WWV_FLOW_FND_USER

set web_password = ‘yourNewPassword’

where user_name = ‘ADMIN’

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