SOA Suite 12c: Topology Suggestions by Jay Kasi

In this article, I make some suggestions and provide opinions on topologies for SOA Suite 12c that is commonly used and supported. Only the EDG topology is thoroughly tested by Oracle though.
  • One consideration when deciding on topologies is that Upgrade is always domain wide. All products deployed to the domain must release in the same release train and you should be willing to upgrade all of them at the same time.
  • Centralized administration is one factor but should not be the only reason to put two different products in the same domain. EM Cloud Control could be used as a solution for that.
  • Typically Service Bus and SOA Suite belong in different tiers in an end to end architecture so they would be in separate domains. This is true if Service Bus is being used on an enterprise scale routing to multiple SOA domains and other services. However if Service Bus is used primarily for mediating and providing routing for SOA Suite Composites in a domain, it would be in the same domain, but typically in separate clusters for optimum performance and scalability. However it  is possible starting in 12c to have Service Bus and SOA Suite in the same cluster.  The only possible reason for this is reducing memory and is uncommon.
  • Governance products like OER and UDDI should not be in a SOA Suite or Service Bus domain. They should be in a separate domain. OER should be in a separate domain from UDDI. UDDI is a third party product and putting it in the same domain may cause upgrade issues.
  • You can target multiple products to the same cluster by targeting the appropriate user extensible server group to  the servers in the cluster.
    1. SOA Suite is targeted to a server by targeting either the user extensible server group SOA-MGD-SVRS or SOA-MGD-SVRS-ONLY.
    2. Service Bus is targeted to a server by targeting either the user extensible server group OSB-MGD-SVRS-COMBINED or OSB-MGD-SVRS-ONLY.
    3. BAM is targeted to a server by targeting either the user extensible server group BAM12-MGD-SVRS or BAM12-MGD-SVRS-ONLY.
    4. MFT is targeted to a server by targeting either the user extensible server group MFT-MGD-SVRS or MFT-MGD-SVRS-ONLY.
    5. ESS is targeted to a server by targeting the user extensible server group ESS-MGD-SVRS. .
  • BAM sometimes is used outside of SOA Suite and in this case it is typically in a separate domain from SOA Suite. However BAM should be in a separate cluster in the same domain as SOA Suite if it is primarily used with that SOA Suite instance. In BAM 12c, integration between SOA Suite and BAM is a tight integration and is best done in the same domain. BAM and SOA Suite should not be co-located in the same cluster because BAM uses Automatic Service Migration for HA while SOA Suite uses Whole Server Migration.
  • OWSM Policy Manager must be deployed to only one cluster in a domain. However SOA Suite, OSB, BAM and MFT templates target OWSM PM by default to their own clusters. 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

Autumn SOA Suite 12c and BPM Suite 12c free on-demand Bootcamps October 2016

image

Training On-Demand: Oracle Business Process Management 12c

This boot camp is an ideal starting point for an implementer who is planning to learn Oracle BPM Suite 12c and use it on BPM projects. The course provides a combination of lecture segments that present conceptual and feature background and hands-on labs that provide practice with the tooling.

It introduces process developers to Oracle BPM Suite 12c. It covers the key concepts, features and processes needed to begin using the design-time and run-time capabilities on BPM projects. Throughout the training, you will benefit from hands-on exercises based upon two case studies. At the conclusion of the course, you should feel comfortable to start using BPM Suite 12c for process modeling, simulation, analytics, business rules and human workflow.

For details please visit the registration page here.

Training On-demand: Oracle SOA Suite 12c Implementation Specialists

Oracle SOA Suite 12c is the latest version of the industry’s most complete and unified application integration and SOA solution. With simplified cloud, mobile, on premises and Internet of Things (IoT) integration capabilities, all within a single platform, Oracle SOA Suite 12c delivers faster time to integration, increased productivity and lower TCO.

The Oracle SOA Suite 12c Implementation Boot Camp provides relevant insight to current and prospective SOA implementers and for those companies interested on becoming Oracle SOA Suite 12c Specialized. Participants will learn how to develop and implement solutions using SOA Suite 12c that will drive their customer organizations run more effectively and efficiently.

For details please visit the registration page 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 VirtualBox Image available for download

clip_image002

Thanks to the product management team the latest SOA Suite 12.2.1 VirtualBox image is available for download here.

Overview

Please note that this appliance is for testing purposes only, as such it is unsupported and should not to be used in a production environment.

This VirtualBox appliance contains a fully-configured, ready-to-use SOA Suite 12.2.1 installation.

All you need is to install Oracle VM VirtualBox on your desktop/laptop and import the SOA Suite appliance and you are ready to try out SOA Suite 12.2.1 — no installation and configuration required!

The following software is installed in this VirtualBox image:

  • Oracle Enterprise Linux (64-bit) EL 6 Update 7
  • Oracle Database, Enterprise Edition 12.1.0.2
  • Oracle SOA Suite 12.2.1 (includes Service Bus, B2B, Oracle Enterprise Scheduler (ESS) and Business Activity Monitoring)
  • Oracle Managed File Transfer 12.2.1
  • Oracle Stream Explorer 12.2.1
  • Oracle JDeveloper 12.2.1
  • Sun Java 1.8.0_51-b16 (64-bit)

Please check the Introduction and Readme document for detailed instructions on downloading and importing the VirtualBox image. Get the VirtualBox image 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 12c Administrator’s Guide Released

 

clip_image002Your blogger, for the past few years have piled up more things that he can chew.  As a result the blog posts have dried up a little as blogging involves both time and novelty and I have been a little short on the first lately. Of that may activities that consumed me, none was more time taking, challenging and difficult as writing the Oracle SOA Suite 12c Administrator’s Guide . The book was announced a month ago and is finally out and available. Here is a sneak peak a the cover.

Oracle SOA Suite 12c is the most comprehensive and integrated infrastructure on the market today that is used for building applications based on service-oriented architecture. With the vast number of features and capabilities that Oracle SOA Suite 12c has to offer comes numerous complexities and challenges for administration. Oracle SOA Suite 12c Administrator’s Guide covers all the core areas of administration needed for you to effectively manage and monitor the Oracle SOA Suite environment and its transactions, from deployments, to monitoring, to performance tuning, and much, much more.

Manage, monitor, and troubleshoot SOA composites and OSB services from a single product set. Understand core administrative activities such as deployments, purging, startup and shutdown, configuration, backup, and recovery. Also learn about new features such as Oracle Enterprise Scheduler, lazy loading, work manager groups, high availability, and more. Get the SOA Administrator’s Guide here. For additional SOA books visit our wiki 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 12c QuickTip: Enable Servicebus message tracing in DefaultDomain by Sven Bernhardt

 

clip_image001Messsage or execution tracing in Servicebus (SB) allows insight into the message exchange between Servicebus and it’s communication partners (Client applications and Service providers) as well as the message processing within  a pipeline. Informations about incoming and outgoing messages, the corresponding headers, the course of variable manipulations and other things are written to the diagnostic logs and can be inspected there, when the tracing is active. By default the message and execution tracing are disabled, due to performance reasons and so it should only be enabled in development environments for debugging purposes.

Enablement of message tracing for proxy or business service or execution tracing on the pipeline level, can be done using Fusion Middleware Control (Enterprise Manager).Under a specific SB project, the corresponding services and pipelines can be found. Enabling the tracing can be simply done by checking the options for message tracing respectively execution tracing in the Operations tab. 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 terminate an instance after transaction rollback and return response to caller by Rajeev Misra

clip_image002We have seen in several customer scenarios where a Parent BPEL process calls a child BPEL process asynchronously.  If child process runs into any kind of business or system fault,  fault handler sends callback to parent process with failure information.   Please note, since parent had invoked child process asynchronously,  child can’t throw fault back to parent.  Callback is only mechanism to inform parent about the failure in child process execution during asynchronous interaction.   This pattern works fine if transaction of child process is not getting rolled back.   If child process encounters some error where underlying JTA transaction is marked for rollback,  callback may not reach parent process if parent and child are collocated.   This is because,  callback invoke from child to parent will use the child’s JTA transaction to save callback in dehydration store, but since child’s transaction is in rollback state,  callback message information would be rolled back from dehydration store after JTA transaction rolls back.

Second issue is while trying to terminate an instance after it has encountered error which results into transaction rollback.  Since terminate state update of instance in dehydration store will be rolled back with transaction, any attempt to execute terminate in fault handler will be futile.

We are recommending a pattern that could help resolve both of above problems. Please look at the flow: 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

Consume JSON based OData Service using SOA 12c by Krishna Hanumantharao

clip_image002

Please refer Consume OData using SOA 11g post for SOA 11g version.

As part of this post, we will see how to consume JSON based OData Service using SOA 12c.

OData

OData (Open Data Protocol), promoted by Microsoft, now an OASIS Standard,  helps service providers to expose their data using RESTful APIs. OData supports, exposing of data in two Formats, Atom and JSON. Please refer OData WebSite for information about OData.

Public OData Services

One of the publicly available OData Service can be accessed at Public OData Service

URI Notations

Let us create a SOA 12c composite to  consume the service for the following scenarios.

Following are the URI notations for

  • List All Categories in JSON Format

http://services.odata.org/V3/OData/OData.svc/Categories?$format=json

Integration Workload Statistics (IWS) on untyped JSON and JavaScript in Composites by Maarten Smeets

 

clip_image001SOA Suite 12.2.1 introduces Integration Workload Statistics. This is a powerful new feature which can be used to do performance measures. Oracle SOA Suite 12.2.1 also introduces untyped JSON support and JavaScript support in composites and Service Bus. What better way to take a good look at both features by doing some performance measures using IWS on composites using untyped JSON and JavaScript!

I created 4 HelloWorld BPEL processes. Two of them are SOAP services and two of them are JSON services (not REST since they do not conform to REST architecture style). Two of these processes contain an assign activity using a JavaScript expression and one of them uses XPATH. I used SOAPUI to fire lots of messages on all services and measured responses. At the same time I had IWS activated to collect data on my processes. The results are quite interesting!

IWS + SOAPUI vs untyped JSON and JavaScript support in SOA Suite 12.2.1

Integration Workload Statistics

Introduction

Integration Workload Statistics provides valuable performance related information on your SOA Suite environment. This ranges from JVM memory usage to duration of BPEL activities. It even provides insight in the functioning of the SOA Suite by providing information on the transfer of messages over composite wires. You can not use it on the integrated WebLogic server provided with the quickstart of JDeveloper though.

Using IWS is simple. First you have to activate it (it’s off by default) by right-clicking the soa-infra application, Monitoring, IWS Reports. Here you can click configure and set the level of detail. After you have applied this setting, you can run reports on the collected data. Report formats supported are CVS, XML and HTML. HTML provides a readable format which also contains some explanation on specific 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

12c XSLT Editor – XSLT View Overview

 

clip_image002XSLT View is one of two graphical views provided by the new 12c XSLT Editor. 

(For a quick introduction to the graphical views in the 12c XSLT Editor see here.)

XSLT View provides the ability to edit any XSLT file graphically. It is intended for XSLT developers who have a general understanding of XSLT and have written XSLT source code in a text editor.

XSLT View is effectively a graphical source view. It has many advantages over editing XSLT source in a text editor.  Many of these are listed in the XSLT Editor Overview at the link above.  I think the best way to show these advantages is through specific examples.  In this post I will use an identity template to create a complex XSLT map.

For our example we will work with a PurchaseOrder to PurchaseOrder map.

Our goal for this map is to copy the source tree to the target tree, and while we are doing the copy, we want to copy the ShipTo CustomerName value into the BillTo Address, so that when we are done, the ShipTo and BillTo elements will both use the same CustomerName.

We could do this by explicitly mapping each node, however, we can also use an identity template to copy the source.  Identity templates are often used to copy an input document to the output document, but make some modification while the copy is being done. If the source input at runtime is small compared to the number of elements defined in the source schema, it can be significantly faster to copy the tree using an identity template, compared to creating explicit XSLT statements for every node in the schema. 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

Monitor SOA Suite service response times with Splunk by Maarten Smeets

 

clip_image001Measuring performance of services can be done in various ways. In this blog article I will describe a method of measuring Oracle SOA service response times with Splunk a popular monitoring tool. In order to monitor service response times with Splunk, Splunk needs to obtain its data from somewhere. In this example I’ll use the HTTP access log which I expand with a time-taken field. Disclaimer; my experience with Splunk is something like 2 hours. This might also be an indication of what can quickly be achieved with Splunk with little knowledge.

Making service response times available

log_policy

At first I thought about using the OWSM policy oracle/log_policy. This policy can be applied to an endpoint. The policy logs request and response messages. There is however not (without alteration of the policy) a way to correlate the request with the response message. See the image below. An ECID is logged, but the ECID can differ for a request and response. The ECID can also be the same for different requests in a call chain. Several HTTP or SOAP headers could potentially be used for this, but they have to be present in the request and in the response. This can require some work, especially if you want to add them in the request, since all consumers need to use these headers.

Correlation of request and response messages is not possible OOTB with the log_policy

access.log

The access.log file stores by default some data on HTTP requests such as timestamp, HTTP status code, url and the size of the request. This can easily be expanded with the time which is required to process a request. You can configure this from the WebLogic Console. Go to your server, Logging, HTTP and click the Advanced button. Here you can add time-taken as a field to log in the Extended Logging Format Fields. 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