Deploying Oracle Service Bus (OSB) Projects with Configuration Files in FlexDeploy by Greg Draheim

image

OSB Configuration files allow the developer to manage environment specific values during deployment.  FlexDeploy supports the use of these configuration files and extends them to using tokens in the configuration file that will get replaced with configured properties from FlexDeploy.   This way we do not need to generate a customization file for every environment where we are going to deploy the project.  We can have one configuration file that will work across environments.

My example is built using JDeveloper and SOA 12.2.1.  I have an OSB project named ValidatePayment that is acting as a proxy service for a SOA service:

The ValidateBS when I run locally, refers to localhost:

When I deploy this to our shared development environment, I want to replace http://localhost.flexagon:7001/ with http://soalt05.flexagon:7001/.  When I deploy to production, I want the URL to be http://soa.flexagon.com/.  To accomplish this I add a property to my OSB Deploy workflow in FlexDeploy.  First, I will show the full workflow for the OSB deploy.  Since FlexDeploy has smart plugins, the deploy workflow is a simple 1 step process to import the OSB 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

Oracle Service Bus Internals: Delivered by A-team from SOA Blackbelt Training–Webcast December 15th 2016

Resultado de imagem


Presented by Oracle A-team, Integration Cloud team and Middleworks
Thurs, December 15, 2016
9:00 am  |  Pacific Standard Time (San Francisco, GMT-08:00)  |  1 hr

REGISTER NOW

This session will be delivered by Mike Muller of the Oracle A-team, with many years of deep expertise in the Oracle Service Bus. The content comes from the “SOA Blackbelt Training” which was previously used within Oracle to provide deep internal and architectural understanding of components within the SOA Suite, and applies to OSB versions 11g and 12c as well as both cloud and on-premise installations.
Attendees will receive a highly advanced and deeply technical presentation on some of the nitty-gritty internal details of the Oracle Service Bus and is intended for developers and architects who already have a good understanding of OSB. Trust us, if you are looking for an intro or overview of OSB, this session will not be a good use of your time. But if you want to go from being an experienced OSB developer to the next level, we think this content will be perfect and is only available here. The session is presented by Mike Muller from the  Oracle A-team, with many years of deep expertise with OSB, troubleshooting, putting out customer’s fires and answering technical and architectural questions. Key topics on the agenda include:

  • the service bus threading model
  • weblogic thread management
  • work managers
  • throttling
  • transactions

Planned participants in this session include:

  • Mike Muller from the Oracle A-team, with some of the deepest working knowledge of Oracle Service Bus in the world, delivering OSB internals information from the Oracle internal "SOA Blackbelt Training"
  • David Shaffer of Middleworks, moderating and providing additional resources
  • Kathryn Lustenberger of the Oracle Cloud Integration prod mgmt team
  • We hope to also have OSB engineering representation on the line to help with Q&A

This session will be especially fast, focused and highly technical, when compared against others in this series. All who register will receive invitations to future related events and the ability to access a recording of the webinar and the slides. To access this information for previous webinars, and see the schedule for future webinars, go to http://www.middleworks.com/soa-expert/

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

Bug: Typed One Way Pipeline in Oracle Service Bus / OSB 12.2.1 by Frank Munz

clip_image002

 

When creating a Service Bus pipeline in JDeveloper 12.2.1 for Oracle Service Bus 12.2.1, based on a typed, one-way business service (either one way WSDL based, or Messaging Service with XML request and XSD type with reply NONE business service) the pipeline won’t correctly use the request message type. It’s annoying because you cannot easily create expressions based on the request type, such as drilling open the $body variable, e.g. for an Order containing a shipping ID. All that is displayed within the pipeline is $body.

This happens although the pipeline configuration displays the correct XSD, eg. OrderType.xsd and the correct Type, eg. OrderType.

I am quite surprised because this is not a very unusual use case. Anyway I couldn’t find a work around for JDeveloper 12.2.1 (let me know if you know one!). Interestingly, testing a proxy service based on the business service works all right (so maybe the bug slipped in when the pipeline construct was separated from the proxy service? just guessing.)

It is possible to work with the good old Service Bus web console /sbconsole. There everything is fine, i.e. the correct structure of the request message is displayed. The working Service Bus console is another indication that the way JDeveloper does it is broken. 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

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

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

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

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

Mobile Suite Service Bus REST and ADF BC SOAP by Andrejus Baranovskis

clip_image002One of the key parts of Oracle Mobile Suite 12c offering is Service Bus product. This is logical choice – Service Bus allows to transform complex SOAP Web Service data into simplified REST format, preferred by mobile client. I think it is essential to use Service Bus, when implementing enterprise mobile applications. It makes sense to learn how Oracle Service Bus works. I would recommend to start from Steven Davelaar excellent tutorial article, available here – Creating a Mobile-Optimized REST API Using Oracle Service Bus – Part 2.
I have created my own ADF BC application with SOAP WS – findEmployees method (filters by first and last name). Here you can download both applications – MobileServiceBusApp_v1.zip. Keep in mind, for some reason Service Bus server doesn’t start with JDEV 12c BPM Default Domain, it works only with JDEV 12c SOA Default Domain. Make sure to check, which JDEV you are using, you can check the list features installed: ADF BC SOAP service is implemented to support Master-Detail (Employee – Department Managed by Employee) structure: 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

XSLT and DVMs – Design Time Execution in Oracle Service Bus 12c by Jennie DeRosa

 

clip_image002Within Oracle Service Bus 11g, there is not an easy way to reference Domain Value Maps (DVM), like there is in Oracle SOA Suite 11g Composites. Typically, a kluge solution is implemented as a workaround in a Service Bus 11g project. With Oracle Service Bus 12c, this has changed, DVMs are now accessible in XQuery and XSL maps.

While this is good news, the even better news is that XSL maps which contain references to DVMs can now be successfully executed at design time, allowing for testing within JDeveloper. Testing of XSL maps at design time is always a good practice, it allows for catching bugs early in the development process.

Within this article, I will provide an overview of the configurations required to enable testing an XSL map at design time, which references a DVM within an Oracle Service Bus 12c project.

Overview of creation of a DVM along with publishing to the MDS repository can be found here: http://technology.amis.nl/2014/06/27/soa-suite-12c-using-domain-value-map-dvm-in-service-bus-projects/

One prerequisite step necessary when referencing a DVM outside of the current Service Bus project is to import the resource from the Meta Data Storage (MDS).  OSB 12c cannot contain references to resources, like a DVM, within the MDS repository. Rather, the resource needs to be imported into the Service Bus project, as shown below.

Select the DVM within the MDS repository and select ‘Import Resource’: 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

Caching in OSB 12c without Out-Of-Process Coherence Servers by Ricardo Ferreira

 

clip_image002Introduction

One of the most popular use cases for Oracle Service Bus (OSB) is the mediation of synchronous service interactions. In this scenario, a client invokes the service through a proxy instead of the actual service endpoint, guaranteeing that the consumer is decoupled from the producer. This type of architecture allows producers to be changed without impacting the consumers, allowing greater agility for projects with volatile requirements.

Synchronous services that return results that do not change often are good candidates to have their results cached by OSB, through a feature called Result Caching. This improves performance by reducing network overhead to access the back-end service. Result caching can help to improve scalability by reducing the load on the back-end servers that host the service. Figure 1 illustrates a client invoking a synchronous service with Result Caching enabled.

Although using the Result Caching feature may seem to always be a good idea, it is important to evaluate its side effects. When this feature is activated, all results are cached in the JVM heap. That means that heap can rapidly become full after a number of service invocations occur. This could lead to serious garbage collection (GC) issues once the JVM starts to reclaim the used space when it hits the high water-mark of 80% of the heap size. Eventually, full GC pauses will start to occur and jeopardize OSB performance.

To avoid using too much heap space with Result Caching, out-of-process Coherence servers can be set up to run in their own JVMs to hold the cached results. They are termed “out-of-process” because they execute in a JVM different from the OSB JVM. The technique here is to allocate data off the OSB JVM letting the Coherence servers use their own heap space without affecting the heap space OSB uses to process messages. This technique is also called off-heap caching. Figure 2 shows an OSB domain using out-of-process Coherence servers to hold the cached results. 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