Professional Documents
Culture Documents
Oracle Service Bus and 12c
Oracle Service Bus and 12c
Oracle Service Bus and 12c
Introduction
TCS Confidential
3
•
SOA Overview
•
Key Concepts
•
SOA Suite Architecture
•
Design patterns
•
SOA Adapters
•
Polling in Oracle SOA
•
Error handling
•
Encryption and Decryption
•
Oracle WSM Policy Manager
•
Steps to create BPEL process
TCS Confidential
4
Introduction to OSB
“OSB presents a communication backbone for transport and routing of messages
across an enterprise. It is designed for high-throughput and reliable message delivery
to a variety of service providers and consumers.”
TCS Confidential
5
Key difference between 11g and 12c
• Pluggable Database
The main difference between Oracle 11g and 12c is that the Oracle 11g has no pluggable databases while Oracle
12c has pluggable databases. Moreover, Oracle 12c allows running multiple databases on the same hardware
while maintaining the security and isolation among the databases.
• Multitenant Architecture
Another important difference between Oracle 11g and 12c is that, in Oracle 11g, there is no multitenant
architecture. But, in contrast, there is multitenant architecture in Oracle 12c.
• Cloud Service
Cloud service is also a major difference between Oracle 11g and 12c. Oracle 11g does not have cloud support
while Oracle 12c provides Oracle database cloud service.
• In-memory Capability
Moreover, Oracle 11g does not provide in-memory capabilities. However, Oracle 12c provides in-memory
capabilities.
• JSON Support
JSON support is another difference between Oracle 11g and 12c. Oracle 11g has no JSON support whereas Oracle
12c
supports the JSON.
TCS Confidential
6
OSB Diagram
TCS Confidential
Service Bus 12c Architecture 7
TCS Confidential
8
Synchronous and Asynchronous
TCS Confidential
9
Maximum availability architecture (MAA) solutions that can be used to provide continuous availability to protect an
Oracle WebLogic Server system against downtime across multiple data centers. It also describes how the Continuous
Availability features can be used with each architecture.
•
• Active-Active Application Tier with an Active-Passive Database Tier
• Active-Passive Application Tier with an Active-Passive Database Tier
• Active-Active Stretch Cluster with an Active-Passive Database Tier
TCS Confidential
10
Work Manager
Work Manager when configured on Proxy service is used to limit the number of threads running a proxy Service and
Work Manager when configured for a Business service used to limit the number of threads that process response from
the back end system. It is important to understand that work managers are used to prioritize work unlike throttling
which is used to restricts the number of records. So there is a chance that you might loose some data when you have
enabled throttling but with work manager you will not loose the data, it will be just the prioritization of service will
change.
TCS Confidential
11
Error handling
Error handling in OSB is fairly straight forward but can seem more complex than needed.
Error handling can be configured at 4 different areas in and OSB Proxy Service.
• Proxy Service
• Route Node
• Pipeline
• Stage Node
If an error is not handled in any of these areas then it will be caught in the System error handler.
An error will be handled by the inner-most encompassing error handler. In other words, if there is no error handler
configured at the level the error occurred then the error will be processed by the next level error handler. Below is an
outline of how the error handlers are nested.
Stage Node -> Pipeline -> Proxy Service -> System Error Handler
Route Node -> Proxy Service -> System Error Handler
TCS Confidential
12
Implementation of REST adapter in Oracle Service Bus (12C). REST adapter allows an easy way of calling/exposing REST
services based on a Web Application Description Language (WADL).
TCS Confidential
14
TCS Confidential
15
Adapters
• AQ Adapter
• Coherence Adapter
• Database Adapter
• File Adapter
• FTP Adapter
• JDE World Adapter
• JMS Adapter
• LDAP Adapter
• LDAP Adapter
• MQ Series Adapter
• MSMQ Adapter
• Oracle E-Business Suite Adapter
• Salesforce Cloud Adapter
• SAP Adapter
• Socket Adapter
• Third Party Adapter
• User Messaging Service Adapter
TCS Confidential
16
The WebLogic Scripting Tool is a command-line scripting environment for creating, managing, and monitoring Oracle
WebLogic Server domains. It is based on the Java scripting interpreter, Jython. In addition to supporting standard Jython
features such as local variables, conditional variables, and flow control statements, the WebLogic Scripting Tool provides a
set of scripting functions (commands) that are specific to Oracle WebLogic Server instances
TCS Confidential
17
OWSM policies and Auth/Identity
Security is one of the main aspects while developing any service and is no different from our regular web applications.
Service Bus supports open industry standards for ensuring the integrity and privacy of communications and to ensure
that only authorized users can access resources in a Service Bus domain. It uses the underlying WebLogic security
framework as building blocks for its security services.
Service Bus uses Oracle Platform Security Services (OPSS) and Oracle Web Services Manager (OWSM) as the building
blocks for higher-level security services including authentication, identity assertion, authorization, role mapping,
auditing, and credential mapping. In order to configure Service Bus access security, you must first configure Oracle
WebLogic Server security. Service Bus uses OWSM to provide a policy framework to manage and secure web services
consistently across your organization.
• Create http based proxy and assign owsm policy to created proxy.
• Create relevant user and group in server.
• Assign particular group to particular user.
• Assign group created in server with proxy service.
• Test the proxy service from soap UI, by passing username and password in soap-header.
TCS Confidential
18
Jenkins and CI-CD
Jenkins is an open source automation server. With Jenkins, organizations can accelerate the software development
process by automating it. Jenkins manages and controls software delivery processes throughout the entire lifecycle,
including build, document, test, package, stage, deployment, static code analysis and much more.
You can set up Jenkins to watch for any code changes in places like GitHub, Bitbucket or GitLab and automatically do a
build a with tools like Maven and Gradle. You can utilize container technology such as Docker and Kubernetes, initiate
tests and then take actions like rolling back or rolling forward in production.
Continuous integration
In modern application development, the goal is to have multiple developers working simultaneously on different features
of the same app. However, if an organization is set up to merge all branching source code together on one day (known as
"merge day"), the resulting work can be tedious, manual, and time-intensive. That’s because when a developer working in
isolation makes a change to an application, there’s a chance it will conflict with different changes being simultaneously
made by other developers. This problem can be further compounded if each developer has customized their own
local rather than the team agreeing on one cloud-based IDE.
Continuous integration (CI) helps developers merge their code changes back to a shared branch, or "trunk," more
frequently—sometimes even daily. Once a developer’s changes to an application are merged, those changes are validated
by automatically building the application and running different levels of automated testing, typically unit and integration
tests, to ensure the changes haven’t broken the app. This means testing everything from classes and function to the
different modules that comprise the entire app. If automated testing discovers a conflict between new and existing code,
CI makes it easier to fix those bugs quickly and often.
TCS Confidential
19
Continuous delivery
Following the automation of builds and unit and integration testing in CI, continuous delivery automates the release of that
validated code to a repository. So, in order to have an effective continuous delivery process, it’s important that CI is already
built into your development pipeline. The goal of continuous delivery is to have a codebase that is always ready for
deployment to a production environment.
In continuous delivery, every stage—from the merger of code changes to the delivery of production-ready builds—involves
test automation and code release automation. At the end of that process, the operations team is able to deploy an app to
production quickly and easily.
TCS Confidential
20
Creating an Oracle Service Bus Application with Oracle
JDeveloper 12c
TCS Confidential
21
SOA Overview
An architectural style whose goal is to achieve loose coupling among interacting
software agents Protocol Independence Interoperability. Oracle SOA Suite is a
comprehensive, hot-pluggable software suite that enables you to build, deploy, and
manage integration using service-oriented architecture (SOA). A single deployment and
management model. End-to-end security. Unified metadata management. Oracle
SOA Suite enables you to transform complex application integration into agile and
reusable service-based applications to shorten the time to market, respond faster to
business requirements, and lower costs. Critical business services, such as customer,
financial, ordering information, and others that were previously accessible only in
packaged application user interfaces can now be rapidly modeled for mobile devices
such as smart phones and tablets.
TCS Confidential
22
Key Concepts
TCS Confidential
23
SOA Suite Architecture
The basic life cycle of an SOA composite application is as follows:
• Use Oracle JDeveloper to design an SOA composite application with various SOA components.
• Package the composite application for deployment.
• Deploy the SOA composite application to the SOA Infrastructure. The SOA Infrastructure is a Java EE-compliant
application running in Oracle WebLogic Server. The application manages composites and their life cycle, service
engines, and binding components.
• Use Oracle Enterprise Manager Fusion Middleware Control to monitor and manage the composite application for a
farm's SOA infrastructure.
TCS Confidential
24
Design patterns
• One-Way Messages
• Synchronous Interactions
• Asynchronous Interactions
• Asynchronous Interactions with a Timeout
• Asynchronous Interactions with a Notification Timer
• One Request, Multiple Responses
• One Request, One of Two Possible Responses
• One Request, a Mandatory Response, and an Optional Response
• Partial Processing
• Multiple Application Interactions
TCS Confidential
25
SOA Adapters
Oracle Adapters use JCA technology to connect external systems to the Oracle SOA Suite.
Oracle SOA Suite provides the following technology adapters to integrate with transport protocols, data stores, and
messaging middleware:
• BAM
• FTP
• Java Messaging Service (JMS)
• Advanced Queuing (AQ)
• Files
• Message Queuing (MQ) Series
TCS Confidential
26
Polling in Oracle SOA
Oracle SOA Database Adapters provide a polling mechanism that will periodically query a table to see if a there is a
new or changed record. If so, it can trigger a BPEL process.
When deciding to use the Oracle SOA Database Adapter the use of a good poller friendly staging table makes life a bit
easier. It is also good to know a few things about how the database adapter works.
• The adapter only invokes wizard generated SQL for polling purposes, no externally created SQL or PL/SQL can be
leveraged.
• The adapter builds the pre-polling, polling, and post-polling queries automatically based on fields and values
chosen in the polling setup wizard.
• In a clustered environment there will be a SOA DBAdapter application running and polling on each managed server
in the cluster. With multiple adapter polling, duplicate record processing and other problematic record
processing scenarios can easily occur.
• When using the Reserved Value feature/setting in a logical delete scenario, the database adapter must update
source table that is being polled, with system specific data for a short period of time. This means the column
updated will need to be able to accommodate the system value used for the update.
TCS Confidential
27
Error handling
Oracle SOA Suite provides a generic fault management framework for handling faults in BPEL processes. If a fault
occurs during runtime in an invoke activity in a process, the framework catches the fault and performs a user-specified
action defined in a fault policy file associated with the composite or component. Fault policies are applicable to the
faults that result from the invoke activity. Faults can occur because of preassertion, postassertion, invocation, or actual
business failures in the target service.
If a fault results in a condition in which human intervention is the prescribed action, you perform recovery actions
from Oracle Enterprise Manager Fusion Middleware Control. The fault management framework provides an
alternative to designing a BPEL process with catch activities in scope activities.
This section provides an overview of the components that comprise the fault management framework.
•
• The fault management framework catches all faults (business and runtime) for an invoke activity.
•
• A fault policy file defines fault conditions and their corresponding fault recovery actions. Each fault condition
specifies a particular fault or group of faults, which it attempts to handle, and the corresponding action for it. A
set of actions is identified by an ID in the fault policy file.
TCS Confidential
28
• A fault policy bindings file associates the policies defined in the fault policy file with the following:
• SOA composite applications
• BPEL process and Oracle Mediator service components
• Reference binding components for BPEL processes and Oracle Mediator service components
The framework looks for fault policy bindings in the same directory as the composite.xml file of the SOA composite
application or in a remote location identified by two properties that you set. The remote location is in the MDS
Repository.
• The fault policy file (fault-policies.xml) and fault policy bindings file (fault-bindings.xml) are placed in either of the
following locations:
• In the same directory as the composite.xml file of the SOA composite application.
• In a different location that is specified with two properties that you add to the composite.xml file. This
option is useful if a fault policy must be used by multiple SOA composite applications. This option
overrides any fault policy files that are included in the same directory as the composite.xml file. The
following example provides details about these two properties. In this example, the fault policy files are
placed into the SOA part of the Oracle Metadata Services (MDS) Repository shared area.
•
TCS Confidential
29
TCS Confidential
30
In Oracle SOA 12c, encryption policy is used to encrypt and decrypt the message, message encryption happens at
component binding that means message get encrypted before it come to component (BPEL or Mediator) and we see only
encrypted message in audit trail. Message decryption happens at reference binding level that means message fields get
decrypted before it is sent to target service/system.
TCS Confidential
31
Steps to create BPEL process
In a new application:
• From the Applications window, select File > New > Application.
• Under General in the Categories list, select Applications.
• In the Items list, select SOA Application, and click OK. This starts the Create SOA Application wizard.
• In the Application Name dialog, enter an application name in the Application Name field.
• In the Directory field, accept the default location or enter a new directory path in which to create the SOA composite
application.
• Click Next.
• In the Project Name dialog, enter a name in the Project Name field.
• In the Directory field, accept the default location or enter a new directory path in which to create the project.
• Click Next.
• In the Start from section, ensure that Standard Composite is selected. The other selection, SOA Template, enables you
to create a reusable part of a SOA project to bootstrap new projects. For more information, see Oracle SOA Suite
Templates and Reusable Subprocesses .
• In the Project SOA Settings dialog, select Composite With BPEL Process.
• Click Finish.
TCS Confidential
32
After completion of the above steps, it invokes the Create BPEL Process dialog shown here below
TCS Confidential
33
TCS Confidential
34
THANK YOU
TCS Confidential