Вы находитесь на странице: 1из 442

Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens
a r n le l
K ulk ferab
p a k ans
e tr
De non-
Oracle SOA Suite 12c: New
Features and Capabilities
Student Guide
D93509GC10
Edition 1.0 | March 2016 | D95083

Learn more from Oracle University at oracle.com/education/


Author Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

David Mills Disclaimer

This document contains proprietary information and is protected by copyright and


Technical Contributors other intellectual property laws. You may copy and print this document solely for your
own use in an Oracle training course. The document may not be modified or altered
and Reviewers in any way. Except where your use constitutes "fair use" under copyright law, you
Jeff Picchione may not use, share, download, upload, copy, print, display, perform, reproduce,
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

publish, license, post, transmit, or distribute this document in whole or in part without
Takyiu Liu the express authorization of Oracle.
Bill Albert
The information contained in this document is subject to change without notice. If you
find any problems in the document, please report them in writing to: Oracle University,
Editors 500 Oracle Parkway, Redwood Shores, California 94065 USA. This document is not
warranted to be error-free.
Aju Kumar
Restricted Rights Notice
Aishwarya Menon
Nikita Abraham If this documentation is delivered to the United States Government or anyone using
the documentation on behalf of the United States Government, the following notice is
applicable: a
Graphic Editor
U.S. GOVERNMENT RIGHTS
) has
Prakash Dharmalingam
ฺ c om ฺ
The U.S. Government’s rights to use, modify, reproduce, release, perform, display, or
disclose these training materials are restricted by the terms of the applicable Oracle

t i o n ide
license agreement and/or the applicable U.S. Government contract.
Publishers
Trademark Notice t e lla t Gu
Jobi Varghese
o n s den
Michael Sebastian Almeida c Stu
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names
@
i
may be trademarks of their respective owners.

l k arn e this
k ฺ ku o us
e p a et
i ( de icens
a r n le l
K ulk ferab
p a k ans
e tr
De non-
Contents
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

I Introduction and Agenda


Goals I-2
Audience I-3
Prerequisites I-4
Class Introductions I-5
Course Schedule I-6
Where to Go for More Information I-7 a
) has
1 Overview
ฺ c om ฺ
Objectives 1-2
t i o n ide
Oracle SOA Suite 12c: New Features 1-3
t e lla t Gu
SOA Suite 12c: Four Themes: Industrial SOA 1-4 ons d e n
@ c Stu
Managed File Transfer and B2B 1-6 i
Cloud Integration: Salesforce Adapter k1-7
l arn e this
Cloud Adapter SDK 1-8
k ฺ ku o us
e
SOA Suite 12c: Four Themes: p a Mobilee 1-9
t
de icen s
REST Bindings i1-10 ( l Productivity 1-11
nFour Themes:
a r l e
ulkInstallation
rab 1-12
SOA Suite 12c:
QuickK Start f e
k ans Interface for SOA and OSB 1-13
p a
tr Debugger and Testing Enhancements 1-14
Unified Design
e n-SOA
De nNew
o
New Adapters for On-Premise Integration 1-15
Oracle Adapter for LDAP 1-16
SOA Composite Templates – Component Templates – BPEL
Scope Templates 1-17
BPEL Stand-Alone and Inline Subprocesses 1-18
Encryption and Decryption of Personally-Identifiable Info (PII) 1-19
Fault Policy Wizard Editor for SOA Composites 1-20
Continuous Integration: Maven Plug-In 1-21
EM FMWC: New Dashboards, Instance Tracking, and Error Hospital 1-22
SOA Suite 12c: Four Themes Review 1-23
SOA Suite 12c: New Features 1-24
Course Scope 1-25
Course Objectives: Review 1 1-26
Course Objectives: Review 2 1-27

iii
Course Objectives: Review 3 1-28
Summary 1-29

2 Quick Start for Developers


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Objectives 2-2
Developer and Production Distributions 2-3
Downloading the Software from OTN 2-4
Unzipping the FMW Archive 2-5
Running the Quick Start Installer 2-6
Choosing the Location for Middleware Home 2-7
Starting Installation 2-8
Installation Complete 2-9
a
Starting JDeveloper if Desired 2-10
) has
Starting JDeveloper from the File Browser 2-11
ฺ c om ฺ
JDeveloper Startup Screens 2-12
t i o n ide
Installation Options 2-13
t e lla t Gu
n s den
Domain Configuration with Quick Start Installation 2-14
o
Quick Start Domain Options 2-15
@ c Stu
i
l k arn e this
Starting the Integrated WebLogic Server 2-16

ฺ ku o us
Configuring the Default Domain 2-17
k
p a et
Quick Start Installation Choices 2-18
e
( de icens
Installing the Stand-Alone Domain 2-19
i
a r n le l
Starting the Stand-Alone Domain Configuration 2-20

K ulk ferab
Configuring the Domain 2-21

p a k ans
Domain Configuration Complete 2-22
e tr
De non- Starting the Domain After Configuration 2-23
Stand-Alone Domain Is Running 2-24
Creating a New Application Server Connection 2-25
App Server Connection Configuration Wizard 2-26
Testing the Connection 2-27
Installation Summary 2-28
Summary 2-29
Course Environment 2-30
Practice 2 Overview: Quick Start Configuration 2-31

3 Getting Familiar with Oracle SOA Suite 12c


Objectives 3-2
Enterprise Manager Fusion Middleware Control 12c 3-3
Viewing Deployed Composite in EM FMWC 3-4
New Composite and Component Dashboard Layouts 3-5
New Flow Instances Tab Layout 3-6

iv
Error Hospital 3-7
Managing Faults in the Error Hospital 3-8
Specifying and Saving Fault Search Criteria 3-9
Viewing Aggregated Fault Statistics 3-10
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Performing Bulk Fault Recoveries and Terminations 3-11


Defining Fault Notification Alerts 3-12
Sensors: Review 3-13
Enabling and Disabling Sensors 3-14
Composite Partitions: Review 3-15
Creating Partitions and Managing Composites 3-16
Securing Access to Partitions (New in 12c) 3-17
Securing with Partition Roles 3-18
a
Work Managers and Work Manager Groups 3-19
) has
Work Manager Groups and SOA Partitions 3-20
ฺ c om ฺ
Configuring Work Manager Groups 3-21
t i o n ide
t e lla t Gu
Associating a Work Manager Group with a Partition 3-22
n s den
Migrating a Composite Application Across Environments: Review 3-23
o
@ c Stu
Managing Global Token Variables for Multiple SOA Composite Applications 3-24
i
Global Tokens: Example 3-25
l k arn e this
ฺ ku o us
Steps to Migrate an 11g Composite to 12c 3-26
k
p a et
Migrating 11g Composite to 12c 3-27
e
( de icens
Viewing the Migrated Composite in JDeveloper 3-28
i
a r n le l
Direct Migration: Deploying Via the Fusion Middleware Control 3-29

K ulk ferab
Summary 3-30

p a k ans
Practice 3 Overview: Getting Familiar with Oracle SOA Suite 12c 3-31
e tr
De non-
4 JDeveloper: New Features
Objectives 4-2
What’s Next? 4-3
Maven Support for SOA 12c 4-4
Reorganization of SOA Composite Application Directories and Files 4-5
Choosing a Directory for Component Artifacts 4-6
Structure Window 4-8
Refactoring 4-9
Reorganization of SOA Composite Application Directories and Files 4-11
Composite Name Displayed 4-12
Components Window List 4-13
TODO Lists 4-17
TODO Tasks 4-18
TODO List 4-19
Design-Time MDS 4-20

v
Design-Time Metadata Services (MDS) Repository 4-21
Managing Shared Data with File-Based MDS 4-22
Design-Time MDS Repository Default Location 4-23
Sharing Artifacts with Design-Time MDS 4-24
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

SOA-MDS Transfer Wizard 4-25


Resources Window Operations 4-26
Import and Export 4-27
Transfer to Another MDS Repository 4-28
Browsing for WSDL and XSD in Design-Time MDS 4-29
Component, Service, and Artifact Dependencies 4-30
Exploring Dependencies 4-31
Summary 4-33
a
Practice 4 Overview: New Features of JDeveloper 4-34
) has
ฺ c om ฺ
5 Testing and Debugging
t i o n ide
Objectives 5-2
t e lla t Gu
SOA Suite 12c Testing and Debugging 5-3
o n s den
Agenda 5-4
@ c Stu
Debugging SOA Composite Applicationsar5-5
i
n this
l k
u withusthee SOA Debugger 5-6
ฺ k
Debugging SOA Composite Applications
Starting the Debugger 5-7pak to
Setting Breakpoints(d
e
oneServices
e
norsReferences 5-8
i
n in BPEL c e
li 5-9
a r
Setting Breakpoints
k rab5-10 l e
K ulDebugging
Initiating
fe 5-11
a k
Examining n s
Values
ep n-traData for BPEL Activities 5-12
De nViewing
o
Viewing and Modifying Variable Values 5-13
Frames 5-14
Stepping Through the Application 5-15
Ending a Debugging Session 5-16
Agenda 5-17
Creating a Test Suite in JDeveloper: Review 5-18
New Test Case Configuration Wizard 5-19
Defining the Input Message 5-20
Viewing the Test Case in the Properties Window 5-21
Running the Test Suite 5-22
Viewing Test Results 5-23
Querying for Test Runs 5-24
Viewing Test Results 5-25
Testing BPEL Service Components or Activities 5-26
Specifying Activity Assert Test Data 5-27

vi
Specifying Assertion Execution Count 5-28
Bypassing a Wait Activity 5-29
Debugging and Test Suite Summary 5-30
Using SOA Composer to Create, Update, or Delete Composite Sensors
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

at Run Time 5-31


Summary 5-32
Practice 5 Overview: Testing and Debugging 5-33

6 BPEL Editor: New Features


What’s Next? 6-2
Objectives 6-3
BPEL: New Features 6-4
a
Agenda 6-5
) has
Editing BPEL Activities 6-6
ฺ c om ฺ
Editing Activities by Using the Properties Window 6-8
t i o n ide
Edit Assignment Window 6-9
t e lla t Gu
Editing BPEL Activities 6-10
o n s den
@
Viewing Warnings About Activities 6-11 c Stu
i
l k arn e this
Additional Capabilities of the Toolbar 6-12

ฺ ku o us
Cut, Copy, and Paste Activities 6-13
k
p a et
Editing BPEL Designer Settings 6-14
e
Agenda 6-15
i ( de icens
a r n le l
Invoking an Oracle Enterprise Scheduler Job in BPEL 6-16

K ulk ferab
Oracle Enterprise Scheduler Service 6-17

p a k ans
Creating a Database Connection to the ESS Schema 6-18
e tr
De non- Creating a Database-Based SOA MDS Connection 6-19
Adding a Schedule Job Activity to the BPEL Process 6-20
Editing the Schedule Job Activity 6-21
Viewing the Scheduler Reference 6-22
OESS Summary 6-23
Agenda 6-24
What Is a Correlation Set? – Review 6-25
Correlation Set Contents and Concepts: Review 6-26
Creating Correlation Sets in Oracle JDeveloper 6-27
Creating a Correlation Set with the Correlation Wizard 6-28
Correlation Wizard: Initiate and Define Property Aliases 6-29
Mapping the Variable Message Part to a Property: Alias Editor 6-30
Mapping the Variable Message Part to a Property: Alias Drag and Drop Editor 6-31
Correlation Wizard: Activities and Activity Browser 6-32
Activity Correlation Editor: Initiate and Aliases Tabs 6-33
Correlation Wizard: Summary Review 6-34

vii
Viewing Correlation Sets in the Properties Window 6-35
Manually Creating Correlation Sets 6-36
Creating Correlation Sets 6-37
Searching for Correlation Sets 6-38
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Summary 6-39
Practice 6 Overview: BPEL Editor: New Features 6-40

7 Transformations
Objectives 7-2
Native XSD to XML Format 7-3
Agenda 7-4
Native Data Transformation: Review 7-5
a
Translating Native Format Data: Adapters and Mediator 7-6
) has
Translating Native Format Data: BPEL Translate Activity 7-7
ฺ c om ฺ
Building the nXSD Schema in Advance 7-8
t i o n ide
t e lla t Gu
Selecting an nXSD Schema to Use: Browse or Build with the Native
Format Builder 7-9
o n s den
@
Starting the Native Format Builder 7-10c Stu
i
l k arn e this
Specifying File Name and Native Data Format 7-11

ฺ ku o us
Specifying a Sample File 7-12
k
p a et
Defining a Schema for a Native Format 7-13
e
( de icens
Defining the Input (or Output) XML Data: XPath Builder or Expression Builder 7-14
i
a r n le l
Translating Inbound Native Data to XML Stored as an Attachment 7-15

K ulk ferab
Native XSD to XML Summary 7-16

p a k ans
Agenda 7-17
e tr
De non- Transforming XML Data 7-18
XPath Functions: Review 7-19
XSL Transformations (XSLT): Review 7-20
XQuery: Introduction 7-21
XQuery Concepts 7-22
XSLT Versus XQuery 7-23
BPEL: XQuery Transform Activity 7-24
Mediator: XQuery Transformation Type 7-25
XQuery Mapper: Graphical View 7-26
XQuery Mapper: Source Editor 7-27
Additional Options in the XQuery Mapper 7-28
Summary 7-29
Practice 7 Overview: Use Case 7-30

viii
8 Protecting PII Data
Objectives 8-2
Protecting Personally Identifiable Information 8-3
Encrypting and Decrypting Specific Fields of Messages 8-4
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Message Encryption and Decryption in a SOA Composite Application 8-5


Encrypting Sensitive Data 8-6
Selecting Request Message Fields to Encrypt 8-7
Selecting the Credential Store Framework (CSF) Key 8-8
Decrypting Specific Fields 8-9
Adding the Policy Credential to the WebLogic Domain 8-10
Summary 8-11
Practice 8 Overview: Protecting PII Data 8-12
a
) has
9 Fault Policy Wizard
ฺ c om ฺ
Objectives 9-2
t i o n ide
Fault Policy Wizard 9-3
t e lla t Gu
Fault Management Framework: Overview 9-4
o n s den
Fault Management Framework: BPEL 9-5
@ c Stu
Fault Management Framework: Mediatorar9-6
i
n this
Creating a Fault Policy Documentku l k s e

ak e to
9-7
u
Defining Alerts 9-8
e p
(
Configuring JMS Alerts
i de 9-9icens
a r
Defining Actionsn 9-10le l
K ulkthe Fault
Choosing
f e
b 9-11
raName
p a k athe
Choosing n sAction 9-12
r
e n-t Fault Bindings 9-13
De nDefining
o
Defining the Fault Policy Bindings for the Fault Policy 9-14
Recovering Faults with Enterprise Manager Fusion Middleware Control 9-15
Accessing a Recoverable Fault 9-16
Recovering a Fault Condition 9-17
Summary 9-19
Practice 9-1: Overview 9-20
Practice 9 Overview: Fault Policy Wizard 9-22

10 REST Binding Wizard


Objectives 10-2
REST Web Services 10-3
REST: Overview 10-4
REST Queries 10-5
Comparing REST and SOAP: Two Ways to Access Web Services 10-6
Example Use Cases for REST and SOAP 10-7

ix
Supported Features in Oracle SOA Suite 10-8
Exposing Composites as RESTful Services 10-9
REST Support in SOA Composite Applications 10-10
REST Adapter 10-11
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Creating a REST Binding 10-12


Adding an Operation Binding 10-13
The Finished Binding Component 10-14
Testing the Component 10-15
Examining the Results 10-16
Configuring the REST Adapter as a Reference Binding Component 10-17
Choosing WADL 10-18
Adding Operation Binding 10-19
a
Shortcut to Configuring REST Adapter 10-20
) has
REST Adapter Summary 10-21
ฺ c om ฺ
Summary 10-22
t i o n ide
Practice 10-1 to 10-4: Overview 10-23
t e lla t Gu
Practice 10 Overview: REST Binding Wizard 10-24
o n s den
@ c Stu
i
11 New Adapters and MFT
l k arn e this
Objectives 11-2
k ฺ ku o us
Agenda 11-3
e p a et
(
Managed File Transfer
i ns 11-4
de(MFT)icAdapter
e
a
Oracle Managedr l e l (MFT) 11-5
n File Transfer
K uoflkMFTfer11-6
Benefits ab
p a k Architecture
MFT
a n s 11-7
r
e n-t a File-Delivery Structure in the MFT Console 11-8
De nDesigning
o
MFT Functional Use Case Patterns 11-9
Oracle MFT and SOA Integration 11-10
Why Use MFT to Enhance Composite Applications? 11-11
MFT/SOA Use Case: Order Processing with Encryption 11-12
MFT Configured as an Inbound and Outbound Adapter 11-13
MFT Configuration Wizard 11-14
Agenda 11-15
LDAP Adapter: Introduction 11-16
LDAP Adapter: Supported Features 11-17
LDAP Adapter Configuration Wizard 11-18
LDAP Adapter Wizard: Add Page 11-19
Agenda 11-20
Coherence Data Grid 11-21
Coherence Adapter: Introduction 11-22
Coherence Adapter Configuration Wizard 11-23

x
Oracle SOA Suite Cloud Connectivity 11-24
Salesforce Integration via Salesforce Adapter 11-25
Adapter Summary 11-26
Summary 11-27
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

12 Templates and BPEL Subprocesses


What’s Next? 12-2
Objectives 12-3
Agenda 12-4
Templates: Overview 12-5
Creating and Using Templates 12-7
SOA Project Templates 12-8
a
Creating SOA Project Templates 12-9
) has
Using Project Templates 12-10
ฺ c om ฺ
Project Used as a Basis for Template 12-11
t i o n ide
Specifying Template Information 12-12
t e lla t Gu
n
Selecting Files to Bundle into Template 12-13
o s den
@ c Stu
Creating a New Composite from a Template 12-14
i
l k arn e this
Naming the Project/Choosing the Template 12-15

ฺ ku o us
New Composite Based on Template 12-16
k
p a et
Service Component Template 12-17
e
( de icens
Creating Service Component Templates 12-18
i
a r n le l
Choosing Files to Include in the Bundle 12-19

K ulk ferab
Adding Service Component Templates 12-20

p a k ans
Resolving Conflicts 12-21
e tr
De non-Service Component Added to Composite 12-22
BPEL Scope Activity Template 12-23
Creating a Template from a BPEL Scope 12-24
Custom Activity Template: Variables and Partner Links 12-25
Custom Activity Template: Files to Bundle 12-26
Using a BPEL Scope Activity Template 12-27
Resolving Conflicts 12-28
Variables Page 12-29
Partner Links 12-30
New Scope is Created 12-31
Managing Templates 12-32
Managing SOA Templates 12-33
Storing Templates in SOA MDS 12-34
Saving a Template to SOA MDS 12-35
Agenda 12-36
Stand-Alone and Inline BPEL Subprocesses 12-37

xi
BPEL Subprocess 12-38
Inline Subprocess 12-39
Stand-Alone Subprocess 12-40
Inline Subprocess: Example 12-41
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Stand-Alone Subprocess: Example 12-42


Creating an Inline Subprocess 12-43
Calling an Inline Subprocess 12-44
Creating a Stand-Alone Subprocess 12-45
Calling a Stand-Alone Subprocess from BPEL 12-47
Stand-Alone Versus Inline Subprocesses 12-48
Differences Between Templates and Subprocesses 12-49
Summary 12-50
a
Practice 12 Overview: Templates and Subprocesses 12-51
) has
ฺ c om ฺ
13 Additional Enhancements
t i o n ide
Objectives 13-2
t e lla t Gu
s den
Event Delivery Network and Business Events: Review n13-3
o
EDN Integration with Oracle SOA Suite 13-4
@ c Stu
i
Oracle SOA Suite 12c: EDN Features 13-5
l k arn e this

Local and Remote Event Connections
k ku 13-7 o us
BPEL Process Analytics 13-8
e a
p se t
e
d icen 13-9
Analytics View of a(BPEL Process
r i
n Businessl Indicators 13-10
a
Adding User-Defined
lk Business l e
Editingu
K Custom
f e rab Indicators 13-11
p a k Composer:
BAM
a n s Designer View 13-12
r
e n-Composer:
t
De nBAM
o Business Friendly, Rich DVT 13-13
Configuring Default Analytic Sampling Points 13-14
Out-of-the-Box BAM Dashboards to Monitor Processes 13-15
Example: Process Summary 13-16
Business Analytics Summary 13-17
Course Summary 13-18
How Can I Learn More? 13-19
Additional Oracle University Training 13-20

A Appendix A: Oracle Enterprise Scheduler Service


Objectives A-2
Agenda A-3
Enterprise Scheduler Service: Introduction A-4
What the Enterprise Scheduler Service Provides A-5
Job Modeling A-6
Schedule and Resource Modeling A-8

xii
Integration with SOA A-9
Job Security A-10
Agenda A-11
Basic Tasks for Configuring and Managing ESS A-12
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Extending a Domain with ESS A-14


Configuring a Job Request Dispatcher A-15
Starting the Instance A-16
Agenda A-17
Creating a Web Service Job Definition A-18
Creating Schedules A-19
Creating and Submitting Job Requests A-20
Creating Job Sets A-21
a
Defining Restrictions with Incompatibilities A-22
) has
Binding a Work Assignment to a Request Processor A-23
ฺ c om ฺ
Agenda A-24
t i o n ide
Creating a Purge Policy A-25
t e lla t Gu
n s den
Monitoring Oracle Enterprise Scheduler Service: Overview A-26
o
Summary A-27
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens
a r n le l
K ulk ferab
p a k ans
e tr
De non-

xiii
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens
a r n le l
K ulk ferab
p a k ans
e tr
De non-
I
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Introduction and Agenda a


) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-
Goals

The main goals of this course are to:


• Become familiar with the new features of SOA Suite 12c; how
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

and when to use them, and why


• Practice using the new features of SOA Suite 12c to be more
productive as a developer and gain more experience in using
SOA Suite 12c

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities I - 2


Audience

The target audience includes existing users of Oracle SOA Suite


11g who want to learn about and practice using the new features
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

and capabilities.

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k is designed
This course
p a n s for experienced developers who have taken the SOA Suite 11g
ee onor-Build
Essentials r
t Composite Applications course, or have experience using the product.
D n

Oracle SOA Suite 12c: New Features and Capabilities I - 3


Prerequisites

To successfully complete this course, you should have previous


experience with Oracle SOA Suite 11g through formal training
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

and/or experience at work.

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities I - 4


Class Introductions

Briefly introduce yourself:


• Name
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Title/position
• Company
• Your experience with Oracle SOA Suite 11g
• How you expect to use Oracle SOA Suite 12c
a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities I - 5


Course Schedule
Session Module
1: Overview
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

AM 2: Quick Start for Developers


3: Getting Familiar with 12c
Day
1 4: JDeveloper: New Features
5. Testing and Debugging
PM
6. BPEL Editor: New Features
7. Transformations

8. Protecting PII Data a


AM 9: Fault Policy Wizard ) has
c o m
Day 10: REST Binding Wizard
o ฺ
n ideฺ
t i
2 11: New Adapters and MFT t e lla t Gu
o n s den
PM c Stu
12: Templates and BPEL Subprocesses
@
i
13: Additional Enhancements
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities I - 6


Where to Go for More Information

Topic Website

Education and Training http://education.oracle.com


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Oracle Learning Library http://www.oracle.com/goto/oll

Product Documentation http://www.oracle.com/technetwork/indexes/documentation

Product Downloads http://www.oracle.com/technetwork/indexes/downloads

Product Articles http://www.oracle.com/technetwork/articles


a
Product Support http://www.oracle.com/support
) has
ฺ c om ฺ
Product Forums http://forums.oracle.com
t i o n ide
Product Tutorials t e lla t Gu
http://www.oracle.com/technetwork/tutorials
o n s den
@ c Stu
Sample Code i
https://www.samplecode.oracle.com

l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
This slide
p klists the
a n s websites for Education and Training, documentation, software
Oracle
ee onarticles,
downloads, -t r support, forums, tutorials, and sample code.
D n

Oracle SOA Suite 12c: New Features and Capabilities I - 7


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens
a r n le l
K ulk ferab
p a k ans
e tr
De non-
1
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Overview a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-
Objectives

After completing this lesson, you should be able to describe:


• The new features of Oracle SOA Suite 12c
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• The four themes of Oracle SOA Suite 12c

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k discusses
This lesson
p a n s the new features and themes of Oracle SOA Suite 12c.
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 1 - 2


Oracle SOA Suite 12c: New Features

I’ve been using Oracle SOA Suite 11g for


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

some time now. I like it, but I have been


really looking forward to some new features!

Me too. The new version of SOA Suite was


just released – 12c. It focuses on four key
themes: Industrial SOA, Developer
Productivity, Mobile usages, and integration
a
has
with the Cloud.
)
ฺ c om ฺ
t i o n ide
t e lla t Gu
Hmmm, that sounds like a lot of words. What
does all that mean?
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 1 - 3


SOA Suite 12c: Four Themes: Industrial SOA

Industrial Cloud Mobile Developer


SOA Productivity
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Memory footprint reduction


a
• Startup acceleration
) has
• Pretuned database profiles
ฺ c om ฺ
• Active-active support t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k Suite
OraclepSOA a n s speeds up your integration time-to-market with features such as
12c
ee oncloud
templates, r
-t integration adapters, and mobile-ready integration. The new seamless
D n
integration of Oracle Service Bus into Oracle SOA Suite, a new managed file transfer offering,
and significantly improved management capabilities enable you to respond to new business
requests more quickly. Your total costs for integration should be reduced as a result of many
new productivity enhancements including a quick installation capability, advanced new
business activity monitoring features, and more.
Oracle SOA Suite 12c introduces a REST binding within JDeveloper to simplify mobile
enablement by exposing traditional SOAP services, Enterprise JavaBeans (EJB), JCA
adapters connecting back-end applications,or just about any other underlying implementation
through JSON/REST. The REST binding is available for SOA composites and Service Bus
services and allows the configuration of REST interactions as exposed interfaces and the
invocation of externally available REST services.

Oracle SOA Suite 12c: New Features and Capabilities 1 - 4


SOA Suite 12c: Four Themes: Industrial SOA

Industrial Cloud Mobile Developer


SOA Productivity
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Cloud adapters to simplify


a
on-premise to cloud integration
) has
• Managed File Transfer (MFT) for
ฺ c om ฺ
file-based integration
t i o n ide
e lla t Gu
• Certifications on Oracle Public tCloud
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 1 - 5


Managed File Transfer and B2B
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
With all
p a k
the n about Cloud computing, it may be tempting to lose track of the core
discussions
a
e
needs - t r
e andonrequirements for a fully integrated file transfer solution. Organizations still make
D n
heavy use of files utilizing bulk, batch, and real-time updates for application integration. If
anything, file integrations look to increase in both size and volume as you incorporate cloud
Software as a Service (SaaS) into your IT landscape. You will find that the general approach
for on-premise and partner file integrations using Managed File Transfer (MFT) will not be
much different than any other IT infrastructure: plan, scope, and deliver incrementally.
Oracle Managed File Transfer (Oracle MFT) is a new product, released with Oracle SOA
Suite 12c, which enables secure file exchange and management between internal
departments and external partners. It protects against inadvertent access to unsecured files at
every step in the end-to-end transfer of files. It is easy to use especially for
nontechnical staff, so you can leverage more resources to manage the transfer of files. The
extensive reporting capabilities enable you to get a quick status of a file transfer and resubmit
it as required. You can protect data in your DMZ by using the SSH/FTP reverse proxy.

Oracle SOA Suite 12c: New Features and Capabilities 1 - 6


Cloud Integration: Salesforce Adapter
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
a
OraclepSOAkK Suite
a n s feto simplify, accelerate, and optimize integrations with various cloud
aims
ee onby
applications
D -trproviding a standard-based platform for integration that not only enables
n
connectivity, but also lays a strong foundation to address aspects of audits, compliance,
security, and governance. In early 2014, Oracle began to offer native connectivity and
enhanced developer productivity while integrating with SaaS applications through its newly
introduced Cloud Adapters. Oracle Cloud Adapter for Salesforce.com is the first of its kind in
this portfolio, and more are coming soon, including Cloud Adapters for RightNow (Oracle
Service Cloud), Oracle Sales Cloud, Eloqua (Oracle Marketing Cloud), and Big Machines
(Oracle CPQ Cloud). These cloud adapters build on the SOA integration platform to enable
standards-based connectivity to cloud-based applications from on-premise, legacy, and other
cloud applications, while significantly simplifying the overall life cycle and user experience.
They shield the integration modeler from hand-coding and configuring dedicated logic for
handling connectivity, security, and session management individually for each cloud
application being integrated with. They also avoid the need for in-depth expertise on the
complex, functional, and technical knowledge of the applications. Thus, with these adapters
addressing all the requisites for managing integration with the applications, developers can
focus on building the business logic for the integration and business processes.

Oracle SOA Suite 12c: New Features and Capabilities 1 - 7


Cloud Adapter SDK
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
Alongp a kthe
with n adapter for Salesforce.com, Oracle SOA Suite 12c also includes a new
cloud
a
e
e Adapter
Cloud t r
- SDK. This SDK allows customers and partners to rapidly add new SaaS
D non
applications into their enterprise business processes. The Salesforce adapter and all other
upcoming adapters from Oracle are developed using the Cloud Adapter SDK. This SDK is
available to partners and customers to develop connectivity and accelerate integration with
SaaS applications of interest in a consistent and simplified manner. The SDK provides a
design-time and a runtime component. Design-time components provide various capabilities,
including the following:
• Connection API: Defines the connectivity to the SaaS application as required by the
application
• Metadata Browser: Enables the design-time component to browse the metadata within
the application
• Query Support: Provides support for creating queries (for example, SOQL for
Salesforce.com, ROQL for RightNow, and so on)
• Artifact Generation: Generates the required JCA and WSDL files for adapter
interaction

Oracle SOA Suite 12c: New Features and Capabilities 1 - 8


SOA Suite 12c: Four Themes: Mobile

Industrial Cloud Mobile Developer


SOA Productivity
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• First class support for


a
mobile-friendly standards
) has
(REST, JSON, and so on)
ฺ c om ฺ
• Automated conversions t i o n ide
REST/SOAP t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 1 - 9


REST Bindings
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k Suite
OraclepSOA a n s introduces a REST binding within JDeveloper to simplify mobile
12c
ee onby
enablement r
-t exposing traditional SOAP services, Enterprise JavaBeans (EJBs), JCA
D n
adapters connecting back-end applications, or just about any other underlying implementation
through JSON/REST. The REST binding is available for SOA composites and Service Bus
services, and it enables the configuration of REST interactions as exposed interfaces and the
invocation of externally available REST services. Multiple ways to define a REST binding
using a simple wizard are included: the definition can be on an existing WSDL, or the binding
can even create the WSDL for you. When using the REST binding, a Web Application
Description Language (WADL) file is created automatically to define the REST interaction and
to allow interaction with the REST binding throughout the integration layer. Oracle SOA Suite
12c practices a “REST on the edges” approach where a REST/XML, REST/JSON, or URL-
encoded payload is translated to and from SOAP/XML in the integration wire.
You can expose back-end applications as RESTful APIs through your existing SOA
composite or Service Bus, which then connects to back-end services and applications. This
enables developers to leverage existing application and integration infrastructure as part of a
highly reusable and scalable development and integration platform for mobile applications,
which communicate through Oracle Service Bus as a standardized mediation and
virtualization layer.

Oracle SOA Suite 12c: New Features and Capabilities 1 - 10


SOA Suite 12c: Four Themes: Productivity

Industrial Cloud Mobile Developer


SOA Productivity
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• One-click installation
a
• Everything in JDeveloper
) has
• Debugger and tester
ฺ c om ฺ
• Templates t i o n ide
t e l la t Gu
o n s den
• New wizards for creating artifacts
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 1 - 11


Quick Start Installation
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
p a k
In addition to adding
a n new features supporting emerging industry trends such as cloud and
e
e Oracle
mobile, t r
- SOA Suite 12c also provides many new features and enhancements around
D non
developer tooling, administration, and operations and, of course, performance.
Rapid Installation
Crucial first steps in every SOA development cycle are the installation and configuration of a
SOA development environment, including the Integrated Development Environment (IDE) and
the SOA runtime and infrastructure database. For pre-12c versions of Oracle SOA Suite,
these steps were challenging, starting with the download of several components and a
complicated installation and configuration process.
With Oracle SOA Suite 12c, this process has been dramatically simplified with the
introduction of the new Quick Start installer. The download consists of a single file that can be
obtained from the Oracle Technology Network (OTN). The user needs to answer only a few
questions, such as defining the location for Oracle Home, and the installation usually
completes in less than 30 minutes.

Oracle SOA Suite 12c: New Features and Capabilities 1 - 12


Unified Design Interface for SOA and OSB
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
A key p a k K anofsfOracle
differentiator
e
SOA Suite 11g relative to other integration platforms has always
e t r
- design interface across most of the components for Oracle SOA Suite.
e theounified
been
D n n
Oracle SOA Suite 12c takes this differentiator a big step forward by integrating the remaining
major components for Oracle SOA Suite, Oracle Service Bus, and Oracle Event Processing
into a single unified experience. This feature simplifies integration by eliminating the need to
train developers, administrators, architects, and others on separate components for every
aspect of integration, which lowers cost and provides a faster time to integrate.
After the installation completes, you only need to create and then start the
preconfigured development domain—in this case, an integrated WebLogic Server domain in
Oracle JDeveloper, which uses Java DB, also known as Apache Derby, for the SOA
dehydration store.
At this point, everything is ready to go and you can either download the provided SOA tutorial
or start with your first Oracle SOA Suite 12c application.

Oracle SOA Suite 12c: New Features and Capabilities 1 - 13


New SOA Debugger and Testing Enhancements
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
p a k
A successful n
development
a process requires simple tools for debugging and testing. Oracle
e t r
- includes a visual debugger in Oracle JDeveloper that allows the setting of
e Suiteon12c
SOA
D n
breakpoints within a SOA composite, a BPEL process, and a Service Bus pipeline. For
composite breakpoints, you have a choice between request and reply breakpoints or a
breakpoint pair. The graphic in the slide shows a BPEL process with a SOAP interface and
two breakpoint pairs. The debugger will stop four times: after the SOAP requests are
received, before the BPEL process starts, after the BPEL process completes, and before the
SOAP response is returned.
The debugger provides stepping into, out, and over just like a Java debugger, and provides
you with a data window that shows all currently visible variables and their values. Variable
values can be changed during the debug process. Debugging is allowed only in development
environments, on local or remote servers, but not in production systems.
The SOA Suite test framework, which is available in earlier releases, has been enhanced in
Oracle SOA Suite 12c. As part of a test definition, input and output messages can be
autogenerated or loaded from an existing sample file. Request and response messages, as
well as faults, can be asserted and external services and faults can be emulated to avoid
testing of back-end systems. The actual test can be run directly in JDeveloper, which also
shows detailed reports of every test run. There is no need anymore to switch between
JDeveloper and Enterprise Manager Fusion Middleware Control to define, run, and analyze
tests.
Oracle SOA Suite 12c: New Features and Capabilities 1 - 14
New Adapters for On-Premise Integration
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
Adapters
p a k
are n last-mile components that simplify integration across enterprise
theacritical
e t r
e on-and legacy and homegrown systems. They now also allow integration with cloud
applications,
D n
applications. Several new on-premise Application and Technology Adapters are available for
Oracle SOA Suite 12c.
Oracle Adapter for SAP R/3
Along with Oracle SOA Suite 12c, Oracle introduces the new SAP Adapter that provides
native bidirectional integration with SAP R/3. It supports invocation of BAPI/RFC and IDOCs
to send data to and receive data from the SAP R/3 application. The Adapter is natively
integrated into JDeveloper and communicates with the SAP Business Object Repository to
provide a graphical browser of the objects in SAP for the user to discover, search, and select
for the integration. In addition to browsing the objects in the repository, the adapter design
time allows searching for the objects by name or wildcard expressions. The design-time
wizard provides detail on each of the objects, such as the detailed view of the definition and
the corresponding XML Schema. Most importantly, it enables users to test the APIs in SAP
R/3 at design time, without needing to deploy the SOA application to the application server.

Oracle SOA Suite 12c: New Features and Capabilities 1 - 15


Oracle Adapter for LDAP
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
a k K for
OraclepAdapter n s fe provides bidirectional integration with several LDAP V3 directory
LDAP
ee and
servers n - tra users to perform real-time query, CRUD, compare, search, and also
enables
D no
issue DSML requests to the server (outbound). It also enables business processes to be
triggered on changes to data in the directory server (inbound). The LDAP Adapter supports
the following operations:
• Inbound: Change log notification and Entry change notification
• Outbound: Add, Delete, Modify, Modify DN, Compare, Search, and Execute a DSML
Request
It also has a rich LDAP Browser built in at design time, which enables users to configure the
search requests accordingly at design time.

Oracle SOA Suite 12c: New Features and Capabilities 1 - 16


SOA Composite Templates – Component
Templates – BPEL Scope Templates
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k reuse”
“Sharepand a nhas always been one of the pillars of a service-oriented architecture.
e
e SOA
Oracle t r
-Suite 12c introduces several new features to boost the ability to share and reuse
D non
services and components, while at the same time enabling best practices and improving
manageability. The new SOA starter templates provide an easy way to package SOA
composites, components, or fragments of a BPEL process and distribute them to other
departments, partners, or customers. This enables the sharing of frequently used patterns and
speeds up development for template users. Three types of SOA starter templates are
supported: Project, Component, and Custom Activity.
Project templates are a new way of creating a SOA project instead of starting with an empty
composite. The template can include predefined components, as well as services and
references. For example, frequently used adapters and transformations can be
preconfigured in a template to eliminate the need to re-create the same components every
time a new project is created.
Component templates package one main component, for example, a BPEL process, including
all references (adapters and bindings) invoked by the process. You can enforce best practices
by packaging a BPEL process with a predefined fault handler and several mandatory
variables as a component template and sharing it across departments. By providing this
template to all developers, you ensure a consistent way of handling faults and naming
variables.

Oracle SOA Suite 12c: New Features and Capabilities 1 - 17


BPEL Stand-Alone and Inline Subprocesses
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
p a
Both typeskof n
templates—SOA
a starter templates and pipeline templates—accelerate
e t r
e on- reduce the chance of errors when duplicating patterns, and still provide enough
development,
D n
freedom for customization. At the same time, there is no difference at run time between
services or components generated from scratch or those derived from templates.
BPEL subprocesses also promote reuse and sharing, but work slightly differently. Do not be
fooled by the name; this is not just a fancy new way of calling one BPEL process from
another. A BPEL subprocess is actually not a complete process, but a fragment that
modularizes a reusable piece of business logic. This fragment can include partner links and
references and can be invoked from other “parent” BPEL processes through a new “call”
activity. A subprocess does not have an interface, like a standard BPEL process does. You
can best compare it to a subroutine in an object-oriented programming language. At run time,
it executes completely in the context of the parent process, permitting access to process
variables and inheriting fault handling and compensation logic.
Oracle SOA Suite 12c provides two types of BPEL subprocesses:
• An inline subprocess is implemented as part of a parent BPEL process and only visible
to this one process. It can be invoked anywhere within the parent.
• A stand-alone subprocess can be invoked by all BPEL processes within the same
composite and has a visual representation in the composite editor.

Oracle SOA Suite 12c: New Features and Capabilities 1 - 18


Encryption and Decryption of
Personally-Identifiable Info (PII)
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
Instance
p a k
tracking a n Enterprise Manager Fusion Middleware Control often exposes message
in
e
payloads - t r
e otonadministrators. In most cases that is not a problem, unless the message includes
D n
sensitive data, such as a social security number. The new PII feature enables the encryption
and decryption of specific fields in your message to protect such sensitive data directly in
Oracle JDeveloper by applying Oracle Web Services Manager (OWSM) policies.

Oracle SOA Suite 12c: New Features and Capabilities 1 - 19


Fault Policy Wizard Editor for SOA Composites
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
a kK
OraclepSOA Suiten s fe a fault management framework for handling faults in BPEL
provides
a occurs during run time in an invoke activity in a process, the framework
ee onIf-atrfault
processes.
D n
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. A fault policy bindings file (fault-bindings.xml) associates the
policies defined in a fault policy file (fault-policies) with the SOA composite application
or the component. In the fault policies file, you can define what actions should be taken when
a specific fault occurs. In Oracle SOA Suite 12c, fault policies can be configured using the
new Fault Policy Editor instead of editing the XML file source.
With the editor, you can also configure alerts to notify an administrator, or enqueue the fault to
a JMS queue or publish it to a JMS topic.

Oracle SOA Suite 12c: New Features and Capabilities 1 - 20


Continuous Integration: Maven Plug-In
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
Continuous
p n brings agility to the systems development life cycle (SDLC) by
Integration
a
e
completing - t
e onpackaging,r testing, and deployment of every change to the code. To accelerate
D n
development and to reduce the time-to-production of new features, development teams seek
ways to automate the build, test, and deploy processes. Many development teams have
selected Maven for standardizing their projects choosing convention over configuration.
Oracle SOA Suite 12c provides a Maven plug-in that enables development teams to use
Maven to create, build, package, and deploy SOA projects. Through the SOA application and
project archetypes, development teams can automate the instantiation of a developer’s
working environment. Through the Maven plug-in goals, a Continuous Integration server such
as Hudson can be used to manage SOA projects through the complete life cycle. Using
Maven, teams can increase their agility and accelerate solutions to production with lower cost
and higher confidence.
The screenshot in the slide shows a graphical editor to edit Maven POM files. POM stands for
Project Object Model. It is an XML representation of a Maven project held in a file named
pom.xml. A project contains configuration files, as well as the developers involved and the
roles they play, the defect tracking system, the organization and licenses, the URL of where
the project lives, the project’s dependencies, and all of the other little pieces that come into
play to give code life. It is a one-stop-shop for all things concerning the project. The
screenshot shows how the running of Maven phases has been integrated into JDeveloper.

Oracle SOA Suite 12c: New Features and Capabilities 1 - 21


EM FMWC: New Dashboards, Instance Tracking,
and Error Hospital
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
The main
p a k
tool n SOA Suite administrators is Enterprise Manager Fusion Middleware
foraOracle
e
e (EM
Control t r
-FMWC). In Oracle SOA Suite 12c, this now also includes the management of
D non
Oracle Service Bus projects. The Service Bus 11g console has been divided into two parts:
configuration of services through browser-based console and through JDeveloper IDE. All
operations and management tasks have been moved into Enterprise Manager Fusion
Middleware Control to provide a single administration console for the core SOA components.
Enterprise Manager Fusion Middleware Control itself has undergone several changes to
improve responsiveness and simplify day-to-day administration and troubleshooting.
The main SOA dashboard has been redesigned to focus on system health and a consolidated
view of faults and issues.
The screenshot in the slide shows five summary sections in one view.
• Key Configuration shows the modularity profile, instance tracking value, default query
duration, and auto purge state with links for more information and ability to change these
configuration parameters.
• SOA Runtime Health and System Backlogs show a quick overview of your composites.
The system backlogs are not populated by default. This is a new feature of Oracle SOA
Suite 12c to improve performance and responsiveness of Enterprise Manager. The
Refresh icon populates the backlogs.

Oracle SOA Suite 12c: New Features and Capabilities 1 - 22


SOA Suite 12c: Four Themes Review

• Memory footprint reduction • First class support for


mobile-friendly standards
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Startup acceleration
(REST, JSON, and so on)
Industrial • Pretuned database profiles Mobile
SOA • Automated conversions
• Active-active support REST/SOAP

• One-click installation • Cloud adapters to simplify


a
• Everything in JDeveloper
integration) h as
on-premise to cloud
• Debugger and tester
Developer Cloud

• Managed File Transfer c om (MFT)
Productivity
• Templates
t i
for file-based o nintegration
i d eฺ
• New wizards for creating e lla on G u
artifacts n s t
• Certifications
e n t Oracle Public

@ co Stud
Cloud
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 1 - 23


SOA Suite 12c: New Features

WOW! That’s quite an impressive list


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

of new features.

It is! And that’s not everything. Coherence


and MSMQ adapters have been added,
and the UMS adapter is enhanced.
Changes have been made to B2B;
a
has
performance tuning has been improved
using WebLogic Server work managers. A )
new design-time MDS repository has been
ฺ c om ฺ
added, server startup is accelerated, and
t i o n ide
t e lla t Gu
healthcare integration is enhanced.

o n s den
And that is not including the new Oracle
c Stu
Service Bus (OSB) integration!
@
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
OtherpNewk KeyaFeatures
n s in Adapters
r
ee on-t Support
D
Cross-Platform
n
Starting with Oracle SOA Suite 12c, all adapters will be supported in SOA Suite, Service Bus,
and BPM projects.
Scheduled Activation and Deactivation
With the addition of the new Enterprise Scheduler Service, polling adapters can now be
restricted to certain times of the day (for example, outside of business hours to avoid resource
overload). Users can associate an inbound adapter for a SOA Service with OESS schedules
to customize timings for processing of messages.
Debugger Integration
Users can enable debugging in the adapter binding components to troubleshoot issues. The
debugger enables users to view native and translated data from the adapter for inbound and
outbound interactions.

Oracle SOA Suite 12c: New Features and Capabilities 1 - 24


Course Scope

That’s a lot to learn. Do we have time to learn


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

all of this?

No, we don’t. But we will take a subset of the


most important and key features, and work
with those.
a
) has
ฺ c om ฺ
t i o n ide
OK. First thing to do is to set up our newlla
e G u
development environment. Let’s get n t
sstarted!den t
o
c Stu
i @
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 1 - 25


Course Objectives: Review 1

After completing this course, you should be able to:


• Install Oracle SOA Suite 12c using the Quick Start Installer
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

and stand-alone domain installation


• Migrate 11g composite applications to SOA Suite 12c, and
deploy and test
• Use the new features in Application Navigator to better
organize the composite application source files
a
• Use the Property Inspector to more easily edit BPEL activities
) has
and descriptions
ฺ c om ฺ
• Integrate Representational State Transfer (REST) t i o noperations
i de
l a
el nt G u
in SOA composite applications s t
c on tude
• Describe how to use a standard JMS-based
i@ is S messaging
r n
a e thNetwork (EDN)
infrastructure with the EventlkDelivery
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 1 - 26


Course Objectives: Review 2

After completing this course, you should be able to:


• Invoke an Oracle Enterprise Scheduler job in a BPEL process
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Encrypt and decrypt fields of a message to protect sensitive


data flowing in web services and JCA adapters
• Use the BPEL Translation activity to translate messages
between native XSD format and XML format
• Describe how to use Oracle MFT Adapter to transfer files to
and from different endpoint types s a
)h a
• Describe how to send requests to and receive responses m
co efrom
o n ฺ ฺ
LDAP directory servers by using the LDAP Adapter t i i d
t e lla t Gu
• Design a fault policy for Automated Fault
o n sRecovery
d e n by using
the Fault Policy Wizard c Stu
i@
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 1 - 27


Course Objectives: Review 3

After completing this course, you should be able to:


• Create reusable subprocesses and templates in your
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

composites, service, and BPEL components


• Create custom BPEL process correlations
• Debug SOA composite applications with the SOA debugger
directly in Oracle JDeveloper
• Describe how to create, update, and delete composite
a
sensors during run time without redeploying
) has
• Create and edit XSD schemas using the Native Format ฺ c om ฺ
Builder outside of adapter creation t i o n ide
t e lla t Gu
• Use the file-based SOA MDS Repository
o n sto share
d e n design-time
artifacts, such as XSD and WSDLi@ c Stu
files
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 1 - 28


Summary

In this lesson, you should have learned how to describe:


• The new features of Oracle SOA Suite 12c
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• The four themes of Oracle SOA Suite 12c

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 1 - 29


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens
a r n le l
K ulk ferab
p a k ans
e tr
De non-
2
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Quick Start for Developers a


) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-
Objectives

After completing this lesson, you should be able to:


• Describe the differences between the three Quick Start
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Domain options
• Create the Integrated WebLogic Server Default Domain
• Use the Quick Start installer to create a stand-alone domain

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 2 - 2


Developer and Production Distributions
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Developer/Quick Start Production Distribution

A single package of an integrated Modularity:


server includes: • Oracle SOA Suite Foundation
• JDeveloper • SOA Foundation with B2B
• WebLogic Server • Oracle Managed File Transfer
• SOA Suite (incl. Service Bus) • Oracle Event Processing
• JavaDB • Oracle Enterprise Repository * s a
• Enterprise Manager )ha
*Does not contain database, m
WebLogic Server, and IDE
n ฺ co eฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
a kK
OraclepSOA Suite n s
12c
feprovides two types of distributions that customers can choose based on
eneed
the - traorganizations.
e ofntheir
D no
The SOA Suite Quick Start distribution allows you to quickly install a development or
evaluation environment on a single host computer. By default, the Oracle SOA Suite Quick
Start installation contains Oracle JDeveloper and an Integrated WebLogic Server.
• JDeveloper is preconfigured with some JDeveloper IDE extensions so that you can
create various kinds of applications immediately. These preinstalled IDE extensions
include the following:
- Oracle BPEL Process Manager
- Oracle Human Workflow
- Oracle Business Rules
- Oracle Mediator
- Oracle Service Bus
- Oracle Enterprise Scheduler
- SOA Spring Component Design Time
- Oracle Event Processing Design Time

Oracle SOA Suite 12c: New Features and Capabilities 2 - 3


Downloading the Software from OTN
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
The generic
p SOA a nSuite Quick Start installer for developers is used on all platforms. It enables
e t r
- install a development or evaluation environment on a single host computer. It
e to quickly
you
D non
includes Oracle BPEL Process Manager, Oracle Human Workflow, Oracle Business Rules,
Oracle Mediator, Oracle Service Bus, Technology Adapters, Oracle Enterprise Scheduler,
SOA Spring Component, Enterprise Manager Fusion Middleware Control, Oracle JDeveloper
with SOA IDE extensions, and an integrated WebLogic Server and Java DB.

Oracle SOA Suite 12c: New Features and Capabilities 2 - 4


Unzipping the FMW Archive
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
To begin
p a k the
with, a n s archive is unzipped to extract the quick start JARs.
FMW
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 2 - 5


Running the Quick Start Installer
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K package fe is extracted using the java -jar command.
a k
The installation n s
Ae
ep appears
n -tra to specify the inventory location. Click OK to accept the default location.
D screeno
n
The installer will start.

Oracle SOA Suite 12c: New Features and Capabilities 2 - 6


Choosing the Location for Middleware Home
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
Click Next
p kto advance
a n s to the Installation Location.
r
eeNextonto-accept
t
D
Click
n the default location and advance to prerequisite checks.

Oracle SOA Suite 12c: New Features and Capabilities 2 - 7


Starting Installation
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
Click Next
p kto advance
a n s to Installation Summary. Review all the components that will be
ee oClick
installed. n r
-t Install to begin the installation.
D n

Oracle SOA Suite 12c: New Features and Capabilities 2 - 8


Installation Complete
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a
This step
p k
involves a ninstalling, linking, and configuring all the software. It will take approximately
e
eminutes.
6-7 - t r
D non
When this is done, click Next.

Oracle SOA Suite 12c: New Features and Capabilities 2 - 9


Starting JDeveloper if Desired
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
Therep k option
isaan a tosstart JDeveloper. Deselect the Start JDeveloper check box and click
n
ee on-t
Finish. r
D n

Oracle SOA Suite 12c: New Features and Capabilities 2 - 10


Starting JDeveloper from the File Browser
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
You can
p a k
start n
JDeveloper
a by navigating to
e
e on- t r
/home/oracle/Oracle/Middleware/Oracle_Home/jdeveloper/jdev/bin/jdev.
D n

Oracle SOA Suite 12c: New Features and Capabilities 2 - 11


JDeveloper Startup Screens
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
Deselect
p k “Always
the a n s prompt for role selection on startup” check box.
e the r
-tStudio Developer (default) role, click OK.
Toeaccept
D o n
n

Oracle SOA Suite 12c: New Features and Capabilities 2 - 12


Installation Options

I’d like to try the new features, but I don’t have


time to set up the database, configure domains,
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

and so on. Setting up an 11g development


environment was challenging and time consuming.

Well as you’ve seen so far, in 12c, the new Quick


Start Installer Wizard installs all the binaries
quickly and easily. In addition, there are now three
different domain configurations available. s a
)ha
m
co eฺ
n ฺ
l a t io uid
Three choices? What are they?ste
l t G
on tude n
c
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
Crucial
p a k
first steps a nin every SOA development cycle are the installation and configuration of a
e
e development
SOA t r
- environment, including the Integrated Development Environment (IDE) and
D non
the SOA runtime and infrastructure database. For pre-12c versions of Oracle SOA Suite,
these steps were challenging, starting with the download of several components and a
complicated installation and configuration process.
With Oracle SOA Suite 12c, this process has been dramatically simplified with the introduction
of the new Quick Start installer. The download consists of a single file that can be obtained
from the Oracle Technology Network (OTN). The user needs to only answer a few questions,
such as defining the location for Oracle home, and the installation usually completes in less
than 30 minutes.
The Quick Start installation provides the foundation for a single-user development
environment, which includes all Oracle SOA Suite core components (Oracle BPEL Process
Manager, Oracle Human Workflow, Oracle Business Rules, Oracle Mediator, Oracle Service
Bus, Oracle Technology Adapters, Oracle Enterprise Scheduler, SOA Spring Component, and
Enterprise Manager Fusion Middleware Control). In addition, Oracle JDeveloper is installed
with all SOA IDE extensions and an integrated WebLogic Server.

Oracle SOA Suite 12c: New Features and Capabilities 2 - 13


Domain Configuration with Quick Start Installation

Domain configuration options:


• Oracle JDeveloper’s Integrated WebLogic Server’s Default
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Domain
• A stand-alone instance of an Integrated WebLogic Server to
create a domain with features identical to the Default Domain
• A compact domain that uses an external Oracle database

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
p a k
With Quick Start a n
installation, you have the following three options to configure a domain:
e t r
- use Oracle JDeveloper’s Integrated WebLogic Server’s default domain. This
D•e You
non
can
domain is preconfigured with Oracle SOA Suite or Oracle Business Process
Management runtime components and works with an instance of Java DB that is
preconfigured with the required schemas.
• You can use a stand-alone instance of the Integrated WebLogic Server to create a
domain with features identical to the default domain. The only difference is that, once
launched, the stand-alone domain will run continuously even when JDeveloper is not in
use.
• You can create a compact domain that uses an external Oracle database. This option
allows you to install those Oracle SOA Suite components that are not included with the
Quick Start distributions, and some are not supported to run with the included Java DB
database. Configuring a compact domain requires extra steps after exiting the Quick
Start installation wizard.

Oracle SOA Suite 12c: New Features and Capabilities 2 - 14


Quick Start Domain Options

Default Stand-Alone Compact


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Includes SOA Suite • Includes SOA Suite • Is configured by the user


runtime components runtime components • Works with an Oracle
• Works with a • Works with a database that you must
preconfigured Java DB preconfigured Java DB install and then configure
• Launches Integrated WLS • Can be accessed from with RCU
from JDeveloper. JDeveloper by configuring
Integrated WLS is shut an Application Server
down every time you end a connection
JDeveloper session.
s a
• Easiest option for • Used by developers in •
)ha
Can be used if you want to
developers who will be shared development add SOA components that
m
co eฺ
using their own WebLogic scenarios
n ฺ are incompatible with
Server instance • Used by OSB developers
l a t io uid JavaDB, such as
• Is best for demos or who prefer to create
s t el nt G Enterprise Scheduler, MFT,
B2B, Healthcare, or BAM
evaluation
on tude
services using the Service
c
Bus Console instead of
JDeveloper
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
p a
After you k
have n a Quick Start distribution, you need to configure a domain to test
installed
a
e
e onduring
applications t r
- development. JDeveloper is bundled with an integrated application server
D n
called the Integrated WebLogic Server. The integrated application server is a Java EE runtime
for services that are optimized for the iterative code development cycle.
Launching the Integrated WebLogic Server from JDeveloper generates a domain, which is
designated as the default domain. However, you also have the option of launching a
JDeveloper-independent version of the WebLogic Server to configure a stand-alone domain.
The three possible domain types are described and compared in the table in the slide.

Oracle SOA Suite 12c: New Features and Capabilities 2 - 15


Starting the Integrated WebLogic Server
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
p a
JDeveloperk is n with an integrated application server called the Integrated WebLogic
bundled
a
e
e The
Server. - t r
integrated application server is a Java EE runtime for services that are optimized
D non
for the iterative code development cycle.
Launch the Integrated WebLogic Server by selecting Run from the menu bar at the top. Select
Start Server Instance from the drop-down menu, as shown in the slide.

Oracle SOA Suite 12c: New Features and Capabilities 2 - 16


Configuring the Default Domain
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
p a
The first k
time that a nyou launch the server instance, you are prompted to enter a password for
e
e default
your - t r
domain, as shown in the screenshot in the slide. The Administrator ID, Listen
D non
Address, Listen Port, and SSL Listen Port fields should already have values. Review them and
make any appropriate changes.
Launching the integrated server will take several minutes. You can track the server’s launch in
the Messages window pane at the bottom of the JDeveloper screen. When the following
messages appear in the log, the Integrated WebLogic Server has launched successfully.
• <Notice> <WebLogicServer> <BEA-000360> <The server started in
RUNNING mode.>
• <Notice> <WebLogicServer> <BEA-000365> <Server state changed to
RUNNING.>
• SOA Platform is running and accepting requests

Oracle SOA Suite 12c: New Features and Capabilities 2 - 17


Quick Start Installation Choices

Oh I see. That’s easy. But how do I know which domain


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

option to choose?

We just need an environment to explore and


demonstrate JDeveloper and the 12c features, so the
Default Domain is the easiest choice.

However, in the future, we could choose the stand-


alone domain option so that we can restart JDeveloper
s a
without having to restart WebLogic each time or
)ha
perhaps even share that server instance. m
n ฺ co eฺ
l a t io uid
el the
I understand. So, what are the steps for configuring
s t n t G
stand-alone domain?
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
Quickp a k installer
Start a n is available for Oracle SOA Suite and Oracle Business Process
e t r
e on-Suite. A Quick Start installation differs from a full installation in setup speed and
Management
D
limited n
uses. When you use a Quick Start installer, you create a new Oracle home that
contains all the software required for a development or evaluation environment on a single
host. After running the installation wizard, you can quickly start developing and testing your
SOA applications by running Oracle JDeveloper from the Oracle home. However, Quick Start
installations are limited to one Administration server with no option to add Managed servers.
You also cannot upgrade your Quick Start distribution to a production environment. If you want
a production environment with additional Managed servers or clusters, you should not use
Quick Start. Instead, see “Planning the Oracle SOA Suite and Business Process Management
Installation” in Installing and Configuring Oracle SOA Suite and Business Process
Management to install a full-scale development environment that can be scaled into a
production environment.

Oracle SOA Suite 12c: New Features and Capabilities 2 - 18


Installing the Stand-Alone Domain

1. Define and export the QS_TEMPLATES environment variable


to use appropriate templates: SOA, OSB.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

2. Run the Quick Start script to configure the domain.


3. When prompted, specify the password, domain name, and
other configuration details as needed. When the wizard
finishes, the domain setup is complete.
4. Optionally, start the Administration server.
s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
The stand-alone
p a n is independent from JDeveloper; therefore, you will have to manually
domain
e
e a new
create t r
-application server connection in JDeveloper before you can deploy applications
D
to it. non
Your stand-alone domain is already configured with Oracle SOA Suite and Oracle Service Bus
runtime components.
However, if you want to deploy JDeveloper applications to your stand-alone domain, you need
to create a new application connection in JDeveloper first. This process is covered in the
following tasks.

Oracle SOA Suite 12c: New Features and Capabilities 2 - 19


Starting the Stand-Alone Domain Configuration
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k domain
A stand-alone
p a n s can be configured using the Quick Start Configuration Wizard.
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 2 - 20


Configuring the Domain
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K swelcome1
fe
p a
Enter the k
password
a n and confirm it. Leave the other settings as they are and click
e
e on-
Create. t r
D n
This configuration wizard enables you to create a stand-alone domain and choose your own
directories for the files and ports for the servers.

Oracle SOA Suite 12c: New Features and Capabilities 2 - 21


Domain Configuration Complete
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
Whenp a
the kdomainanisscreated successfully, click Next.
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 2 - 22


Starting the Domain After Configuration
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
You can
p a k atonstart
choose s the domain automatically, and then click Finish.
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 2 - 23


Stand-Alone Domain Is Running
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
This slide
p kshowsathat
n s the stand-alone domain is up and running.
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 2 - 24


Creating a New Application Server Connection
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
In thisp a k ayou
example, n sinstalled a stand-alone domain. Therefore, you must create an
ee onServer
Application r
-t connection to the stand-alone server.
D n

Oracle SOA Suite 12c: New Features and Capabilities 2 - 25


App Server Connection Configuration Wizard
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
p a
To create k
an n Server connection to the stand-alone server, perform the following
Application
a
e
e on-
steps: t r
D n
1. Specify soa_server as Connection Name.
2. Specify WebLogic 12.x Connection Type.
3. Click Next.
4. Enter weblogic as the username and welcome1 as the password.
5. Click Next.
6. Specify the host name and port of the server and the name of the domain.

Oracle SOA Suite 12c: New Features and Capabilities 2 - 26


Testing the Connection
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
Test the
p a k ansYou should see “success” for all tests. Click Finish.
connection.
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 2 - 27


Installation Summary
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

That was easy! Just install the binaries and


configure the domain.

Yes. And the Default Domain is even easier


to set up because it uses the preconfigured
Integrated WebLogic Server in JDeveloper. a
Just run the installation and start
JDeveloper. The first time you run the ) has
Integrated server, the domain is built and ฺ c om ฺ
extended. t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 2 - 28


Summary

In this lesson, you should have learned how to:


• Describe the differences between the different Quick Start
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Domain options
• Start the Integrated WebLogic Server Default Domain from
JDeveloper
• Use the Quick Start installer to create a stand-alone domain
a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 2 - 29


Course Environment
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Integrated WebLogic Server

Domain (DefaultDomain) Enterprise


Manager
SOA Suite 12c

JavaDB

JDK 1.7.0_40 s a
ha
FMW )
OL6U3 x86_64
c m
o ฺ
n ฺ Console
host: soa12c.example.com
l a t io uide
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
Your environment
p a nconsists of a server configured with Linux and Java already installed. In this
e t r
- practices, you first install Oracle SOA Suite. You then use JDeveloper, Oracle
e subsequent
and
D non
Enterprise Manager, and Fusion Middleware Console to develop, deploy, monitor, and
manage several sample applications.

Oracle SOA Suite 12c: New Features and Capabilities 2 - 30


Practice 2 Overview:
Quick Start Configuration
This practice covers the following topics:
• Start up JDeveloper
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Configure the Integrated WebLogic Server


• Start the domain and connect with Enterprise Manager Fusion
Middleware Control
• Configure an additional stand-alone domain
• Configure a connection from JDeveloper to the domain a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 2 - 31


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens
a r n le l
K ulk ferab
p a k ans
e tr
De non-
3
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Getting Familiar with Oracle


SOA Suite 12c a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-
Objectives

After completing this lesson, you should be able to:


• Describe the new features of Enterprise Manager Fusion
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Middleware Control
• Describe the capabilities of the new Error Hospital
• Explain the new security features for SOA Partitions
• Migrate SOA 11g Composite Applications to 12c
a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 3 - 2


Enterprise Manager Fusion Middleware Control 12c
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
The screenshot
p inn
a the slide shows that the server is up and running via Enterprise Manager
e
Fusion - t
e Middleware r Control (EM FMWC).
D non

Oracle SOA Suite 12c: New Features and Capabilities 3 - 3


Viewing Deployed Composite in EM FMWC
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k application
The deployed
p a n s can be viewed and tested in EM FMWC.
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 3 - 4


New Composite and Component Dashboard Layouts
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
This slide
p kshowsathe
n snew composite dashboard.
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 3 - 5


New Flow Instances Tab Layout
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
In the p a k retrieval
past, a n of large amounts of data has caused performance problems. To improve
e
e searches
this, t r
- have been enhanced to allow for fine-grained queries, including composite
D non
sensor values, to track specific business cases. Searches can also be saved and bookmarked
for quicker access.
To prevent initial overload of a page, the user has to actively choose a search before a list of
items is displayed.
The instance tracking experience in Oracle SOA Suite 12c is highly enhanced and not just on
usability but also in the underlying architecture to improve performance, visibility, and
traceability of your end-to-end transactions, which now also include Service Bus, B2B, and
MFT. The screenshot in the slide shows a list of flow instances and the search pane that
allows the creation, saving, and bookmarking of fine-grained searches.

Oracle SOA Suite 12c: New Features and Capabilities 3 - 6


Error Hospital
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
The new
p a k
Error n in Oracle SOA Suite 12c is used to aggregate flow instances that have
Hospital
a
e
e on
generated t r
- and perform actions on instances with common faults collectively. The
faults
D n
aggregations can be based on various criteria based on fault types, names, or composite-level
aggregations.
Some faults can be recovered after the reason for the fault has been fixed. For example, if a
database was unavailable, the administrator can recover the faulted instances after the
database has been restarted. This recovery can be done one by one, or a group of instances
can be recovered together in a bulk operation, either immediately or at a later point in time to
optimize on resources. The screenshot in the slide shows the dashboard populated with faults.
Clicking the fault area opens the new Oracle SOA Suite 12c Error Hospital with faults, which
can be grouped by composite.

Oracle SOA Suite 12c: New Features and Capabilities 3 - 7


Managing Faults in the Error Hospital

View and manage faults


aggregated by SOA
Infrastructure or partition. • Error notification rules
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Fault filtering
• Bulk recovery

SOA Infrastructure
Partition 1 Partition N
a
) has
Service Engines Service Engines
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
rn this Binding
l k a e Components
k u s
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
You canp a k
manage a n faults that occur within Oracle SOA Suite and view the aggregated
all
e
statistics -
e oassociated t r with faults data on the Error Hospital page. The Error Hospital page
D n n
provides the following benefits:
• A single location for managing and recovering from all aggregated faults that occur
within Oracle SOA Suite (including rejected message recovery and BPEL message
recovery). Regardless of the service engine or binding component in which the fault
occurred, you manage faults from the Error Hospital page at the following levels:
- At the SOA Infrastructure level, where all systemwide faults data is aggregated for
each business flow instance
- At the individual partition level, where only faults data for the business flow
instances associated with that specific partition is aggregated
• Configuration of error notification rules for triggering an alert when specific fault criteria
are met. For example, you define a rule to trigger an alert if more than 10 errors occur in
a 48-hour period.
• Fault filtering and searching capabilities, and the ability to aggregate fault statistics by
name, code, type, owner, and other grouping criteria
• Bulk fault recovery and termination capabilities
• Details of flow instances associated with the aggregated faults for examining fault trends

Oracle SOA Suite 12c: New Features and Capabilities 3 - 8


Specifying and Saving Fault Search Criteria

1
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
The Report
p a k Filters
a n s enables you to specify and save comprehensive fault search
section
ee Search
criteria. n r
-t results are displayed in the Fault Statistics table.
D n o
Searches are constrained by a predefined time period. (The default time period is 24 hours,
but you can change this by modifying the Default Query Duration property on the SOA
Infrastructure Common Properties page.) You can view all Instances With Faults, or you can
display the custom searches that you have created and saved.
The Report Filters toolbar enables you to perform search-related tasks, such as resetting
displayed fault search filter criteria, saving fault search filter criteria, and bookmarking
searches. You can save your current search criteria as a named search. This saves the
selected search fields and their values, enabling you to run an identical search at a later time
and view a fresh set of results. Searches are saved per user. You can also bookmark your
current search criteria. In this case, a message is displayed with a URL that contains the
search parameters. Copy the URL to a browser bookmark window, email, or chat. The
generated URL includes information about both the selected search fields and their values.
You can configure parameters for each search filter to create a fault search query. You can
further customize fault search criteria by using the Fault filter to display additional
configuration fields, such as fault owner, recovery type, fault type, and fault details (error
message contents, fault name, fault code, HTTP host, and JNDI name).

Oracle SOA Suite 12c: New Features and Capabilities 3 - 9


Viewing Aggregated Fault Statistics
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
l
teStatistics t Gtable
The legend above the n s
Fault
o used n
dein the columns
c
displays the color symbols t u
Sstate of the faults.
r
of the tableato i@ ithe
nidentify s
lk se t h
k u
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
The Fault
p a k
Statistics
a ntable displays a report on the faults data that was specified and created,
e
e in the
either - t r
Report Filters section of the Error Hospital page or in the Search Options section
D non
and displayed in the Search Results table of the Flow Instances page. The data is always
aggregated by one of the primary fault attributes selected from the Group By list, such as Fault
Name, Fault Code, and so on. The default aggregation is by Fault Name.
The Fault Statistics table enables you to examine fault trends (such as for diagnostic
purposes). For example, aggregate by Fault Code to see which code has the most faults. You
can also perform bulk actions (recovery or abort) on a selected group of similar faults in a
single operation.

Oracle SOA Suite 12c: New Features and Capabilities 3 - 10


Performing Bulk Fault Recoveries and Terminations
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
You canp a k
perform a n fault recoveries and bulk fault terminations on any aggregated fault row
bulk
in e e - t r
the FaultnStatistics table that has recoverable faults. Options for performing these actions
D no
are displayed above the Fault Statistics table.
To perform bulk fault recoveries and terminations, perform the following steps:
1. Specify search criteria in the Report Filters section and click Search. The Fault Statistics
table is populated with details about faults.
2. Select a row in the table in which the Recovery Required column has a value of more
than one. (Note that you can also recover single instances through this option.)
3. Click an appropriate action above the table. (For this example, Bulk Recovery is
selected.) You can also right-click a row to display the same actions.
This example attempts a recovery on all recoverable faults associated with that aggregated
row. For this example, the selected row includes three faults that require recovery in the
Recovery Required column.
Note: Only rows with faults that are identified as recoverable can be recovered in bulk. Rows
with faults that are identified as recoverable and rows with faults in the System Auto Retries
column can be terminated in bulk.

Oracle SOA Suite 12c: New Features and Capabilities 3 - 11


Defining Fault Notification Alerts
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
Although
p a k
dashboards
a n provide an overview of the system and application health, administrators
e t r
- automatically when something goes wrong in the system. Fault alerts can
e to beonalerted
need
D n
be routed to communication channels, such as email, SMS, and IM, while at the same time
being posted to the dashboards. Instead of always sending the alerts immediately, they can
be scheduled to trigger an alert based on a predefined error notification rule.

Oracle SOA Suite 12c: New Features and Capabilities 3 - 12


Sensors: Review
Composite Application
Composite Sensors enable
you to monitor incoming and
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

outgoing messages.

BPEL Process
catch

s a
)h a catchAll
m
co eฺ
n ฺ
l a t io uid
BPEL Sensors enable you to nst
el nt G
collect data in BPEL faults, c o tude
activities, and variables.
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
You can
p a k
enable n disable collection of data for sensors in SOA composite applications or in
and
a
e n- t
e processes.
BPEL r
D n o
Composite sensors enable you to collect composite sensor data, including the monitoring of
incoming and outgoing messages. You can then specify composite sensor details in the
search utility of the Flow Instances pages for the SOA Infrastructure, partition, and SOA
composite application in Oracle Enterprise Manager Fusion Middleware Control. This enables
you to display details of a particular instance with a composite sensor.
BPEL sensors enable you to collect sensor data in BPEL faults, activities, and variables.
When a sensor is triggered, a specific sensor value is created. For example, if a sensor
declares interest in the completion of a BPEL scope, the sensor value consists of the name of
the BPEL scope and a time stamp value of when the activity was completed. If a sensor value
declares interest in a BPEL process variable, the sensor value consists of the following:
• The value of the variable at the moment it was modified
• A time stamp when the variable was modified
• The activity name and type that modified the BPEL variable
A BPEL sensor action typically persists the sensor value in a database or sends the
normalized sensor value data to a JMS queue or topic.

Oracle SOA Suite 12c: New Features and Capabilities 3 - 13


Enabling and Disabling Sensors

Enable or disable sensors at the


soa-infra level from the
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Common Properties page.

s a
)h a
m
co eฺ
n ฺ
Enable or disable
l a t io uid
sensors at the composite
s t el nt G
level from the home page
c on tude
for the composite.
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
You canp a k
globally a n and disable the collection of sensor data at the SOA Infrastructure
enable
e
e or you
level t r
- individually disable the collection of sensor data at the composite level. The
ncan
D noorder
following of precedence occurs when disabling or enabling a selection on the SOA
Infrastructure Common Properties page or the individual SOA composite application page:
• Disabling a selection on the Common Properties page disables the collection of data for
that selection for all SOA composite applications. For example, if you disable composite
sensors on the Common Properties page, composite sensor details are not collected for
any flow instances created after this change.
• Enabling a selection on the Common Properties page enables you to disable that setting
at the individual SOA composite application level. For example, if you enable composite
sensors on the Common Properties page and disable composite sensors for an
individual SOA composite application on its home page under Settings > Enable/Disable
Analytics & Sensors, composite sensor details are not collected for any instance of that
composite application after this change. However, all other flow instances continue to
collect composite sensor details.
You cannot selectively enable or disable sensors that are defined for a specific type of service
component for just one composite. However, you can globally disable specific service
component–type sensors for all composites on the SOA Infrastructure Common Properties
page.

Oracle SOA Suite 12c: New Features and Capabilities 3 - 14


Composite Partitions: Review

Partitions are separate sections


of your SOA Infrastructure that
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

enable you to logically group


SOA composites and perform
bulk lifecycle management tasks
on large numbers of composites.

s a
SOA Infrastructure )ha
m
co2 eฺ
Partition 1 ฺ
Partition
n
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
You can
p a k
deploy n composite applications into separate sections of SOA Infrastructure that
SOA
a
e t r
eknownonas- partitions. Partitions enable you to logically group SOA composites and perform
are
D n
bulk lifecycle management tasks (start, shut down, retire, activate, undeploy, and secure
access) on large numbers of composites.
At least one partition is required for deploying SOA composite applications. A default partition
named default is automatically included with Oracle SOA Suite.
Note: After it is deployed, a composite cannot be transferred to a different partition.

Oracle SOA Suite 12c: New Features and Capabilities 3 - 15


Creating Partitions and Managing Composites
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
You can
p a k
create n
partitions
a from the Manage Partitions page of Enterprise Manager.
e - t r
e new opartition
D
The
n n is displayed in the navigator under soa-infra and also in the SOA Partition
column of the Manage Partitions page. You can now deploy composites to this partition by
selecting “Deploy to This Partition” from the Deployment drop-down list or by right-clicking a
specific partition in the navigator and selecting “Deploy to This Partition.”
Deploying composites to partitions enables you to perform bulk lifecycle management tasks
on all the SOA composite applications within a specific partition:
• Start all composites.
• Shut down all composites.
• Retire all composites.
• Activate all composites.
• Undeploy all composites
Note: Partitions themselves are not associated with a particular state such as started,
stopped, activated, or retired. Only the composites within the partition are associated with a
particular state. Therefore, you cannot start, stop, activate, or retire a partition.

Oracle SOA Suite 12c: New Features and Capabilities 3 - 16


Securing Access to Partitions (New in 12c)

SOA Infrastructure
Partition 1 Partition 2
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
Partitions are secured with application roles on de
l a t i u i
and partition roles, which provide:
• Administrative access control s t el nt G
c on tude
• Striping of instance data by partitions
• Partition-level resourcer i@ is S
nmanagement
u l k se th
a
a k ฺk to u
e e p se
i ( d icen Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k areaautomatically
All partitions
p n s secured with application roles and partition roles.
e t r
e on- security provides the following benefits:
Partition-based
D n
• Administrative access control
- Access control of information is provided at the partition level. You can view only
the partition and composites to which you have access. For example, a user with
access to only Partition1 can see only Partition1 and its deployed composites. This
user cannot see any other partitions.
- Different users are associated to separate roles for each partition.
• Striping of instance data by partitions
- Oracle Enterprise Manager Fusion Middleware Control pages such as Flow
Instances and Error Hospital show instance data filtered by partition.
- The Audit Trail is displayed based on access control.
• Partition-level resource management
- Separate thread pools and work managers are configured per partition. For more
information, see Section 7.2 titled “Managing Work Manager Groups” in the Oracle
Fusion Middleware Administering Oracle SOA Suite and Oracle Business Process
Management Suite documentation.

Oracle SOA Suite 12c: New Features and Capabilities 3 - 17


Securing with Partition Roles

Partition roles are prefixed with the partition name and an


underscore. For example: default_Deployer.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Partition Role Description


Composer Makes changes to SOA composite application artifacts, such as
business rules, security policies, and fault policies

Deployer Deploys and upgrades SOA composite applications, and manages


continuous integration and build processes

Tester Performs testing on preproduction systems by using a combination of a


command line, web-based UI, and custom tools
) has
Monitors operation of deployed SOA composite applicationsoinm
Monitor
partition n ฺ c theeฺ
l a t io uid
ApplicationOperator Handles user complaints and makes decisions
s t el on faults
n t Gthe
in
automated process. Administrators o
c receive
t u de of decisions
n notifications
ni@the
and take steps to recover or terminate
Note: This role does notrinclude i S and Tester roles.
the fault.
s
a
lk se t hDeployer
k u
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
e ep n-tran
D no

Oracle SOA Suite 12c: New Features and Capabilities 3 - 18


Work Managers and Work Manager Groups

• A Work Manager is an Oracle WebLogic Server entity that


represents a logical thread pool.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• A Work Manager assigns priorities for the work to be


processed by defining one or more of the following
components: Work Manager

– Fair Share Request Class


Work Manager Components
– Response Time Request Class
Request Class
– Min Threads Constraint s a
Thread Constrainth
) a
– Max Threads Constraint m
o
ฺc eฺ
– Capacity Constraint
ti o n id
l l aCapacity
G u
Constraint
– Context Request Class Configures
ste nt n e
• A Work Manager Group consists @
i of Work tud
co SManagers dedicated
n is
kar workthfor a specific partition.
to processing Oracle SOA Suite
ul use
ฺ k
e p ak e to
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
Starting
p a k Oracle
with a n sWebLogic Server 12c, a thread pool is used for execution of all types of
ee which
work, n is r
-tprioritized based on the rules you define, the runtime metrics, the actual time it
D n o
takes to execute a request, and the rate at which requests are entering and leaving the pool.
Oracle WebLogic Server manages the thread pool on behalf of Oracle SOA Suite. It
automatically controls the number of threads required based on defined criteria. You define
the priority and Oracle WebLogic Server determines if more threads are required.
Note: A thread pool is similar to a queue of work items lined up for processing. Work requests
from all Work Managers are executed by a single thread pool; separate thread pools are not
created for each Work Manager. The Work Manager components are called a Request Class
or Constraint, which define the characteristics of how the Work Manager utilizes the thread
pool. Work Managers manage thread pools internally and automatically, providing for optimal
scheduling. Work Managers provide the following capabilities:
• A single internal global pool
• A multiple, priority-based, work request queue. The priority is computed internally based
on the Work Manager constraints.
• New threads that are automatically added and removed based on workload

Oracle SOA Suite 12c: New Features and Capabilities 3 - 19


Work Manager Groups and SOA Partitions

• A Work Manager Group is:


– A SOA concept that defines a group of Work Managers
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

– Associated with one or more SOA partitions


• A SOA partition is:
– A way to group applications for providing metadata isolation
and optional thread isolation
– Associated with one and only one Work Manager Group
Service Engine thread pool a
Partitions Work Manager
Group
has
(assigned to one Work Manager)
)
default Work Manager 1 om
o n ฺc eฺ
Standard
l a
Work Manager
l ti 2 uid
HR s t e nt G
c on tude
:

r n i@ isWorkS Manager n
Sales ka se th
High Priority
u l
ak ฺk to u
e e p se
i ( d icen Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
A Workp a k aGroup
Manager n s consists of Work Managers dedicated to processing Oracle SOA
eebackground
Suite n r
-t work for a given partition. Work Manager Groups isolate partition
D n o
configuration and request processing. Multiple partitions can share a single Work Manager
Group. A Work Manager Group consists of all the logical thread pools, which are utilized for
background processing tasks in a given partition.
In the example in the slide:
• The default and HR partitions are associated with a standard Work Manager Group
• The sales partition is associated with a high priority Work Manager Group

Oracle SOA Suite 12c: New Features and Capabilities 3 - 20


Configuring Work Manager Groups

Configuring a Work Manager Group is done in Oracle Enterprise


Manager Fusion Middleware Control.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Select Metrics from the Show drop-


down list to monitor performance.
2

s a
)ha
1
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
p a
The slide k
shows n steps to configure a Work Manager Group by using Oracle Enterprise
the
a
e
e oFusion
Manager t r
- Middleware Control.
D n n
1. On the SOA Infrastructure page, select SOA Infrastructure > Work Manager Groups to
open the Work Manager Groups page.
2. On the Work Manager Groups page, you can click Create to create a new Work
Manager Group instance.
Note: After creating the new Work Manager Group, the Work Managers (for the partition)
are automatically included in the Work Manager Group. Work Managers for the Work
Manager Group are visible below the expanded Work Manager Group name on the
Work Manager Groups page.
Note: The Show drop-down menu provides a choice of viewing Constraints (the default view)
or Metrics to view performance data related to the list of Work Manager Groups that are
available. A Work Manager Group cannot be changed while a server is running.

Oracle SOA Suite 12c: New Features and Capabilities 3 - 21


Associating a Work Manager Group with a Partition

Associating a Work Manager Group with a partition is done when


you create the partition or manage the partition configuration in
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Oracle Enterprise Manager Fusion Middleware Control.

1 s a
)h a
m
co eฺ
n ฺ
2
l a t ioto createuaidWork
Select a Work Manager st
el Manager
Click
n t GGroup.
Group from thec on tude
list.

a r ni@ this S
Click Edit to modify a lk
ฺ k u use
e p ak e to
selected partition.

i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k a Work
Associating
p a n sManager Group with a partition is done when you create the partition or
ee the
manage n -t r
partition configuration in Oracle Enterprise Manager Fusion Middleware Control,
D o
n in the slide.
as shown
1. On the SOA Infrastructure page, select SOA Infrastructure > Manage Partitions.
2. On the Manage Partitions page, click Create to create a new partition where you can
select an existing Work Manager Group to be associated with the partition, or create a
new Work Manager Group.
Note: Alternatively, on the Manage Partitions page, you can select a SOA Partition entry and
click Edit to change the Work Manager Group that is assigned to the partition. However,
whereas the association of a partition with a new Work Manager Group can be updated, a
server restart is required. Updates to an association between a partition and a Work Manager
Group do not affect the work items that are already submitted.

Oracle SOA Suite 12c: New Features and Capabilities 3 - 22


Migrating a Composite Application Across
Environments: Review
check in check out check in check out Source
Code
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Control

MDS

Config
Plans

WSIL s a
)ha
c m
o ฺ
n ฺ
deploy deploy
l a t io deploy
u i de
s t el nt G
c on tude
a r ni@ this S
DEVELOPMENT u k se
lTEST PRODUCTION
ฺ k u
e p ak e to
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
The slide
p killustrates
a n sone possible scenario for migrating an application from development to
test n r
eeand production
-t environments. Each phase of migration can use any of the following tools:
D o
n JDeveloper 12c is typically used during the development phase. With
• Oracle
JDeveloper, you use a source code control system (SCCS) for version control of the
composite application source code and its configuration plan.
• Ant is a command-line tool that can be used to deploy a composite application with the
deployment plan modified for the test environment. After successful testing, the
composite application and test deployment plan are checked in to the SCCS.
• Oracle Enterprise Manager Fusion Middleware Control can deploy the composite
application with the deployment plan modified for the production environment.
The deployment configuration plan simplifies the process of migrating a composite application
across environments.
Note: You can use the Oracle SOA Suite 12c Metadata Services (MDS) Repository to store
reusable artifacts, which can be accessed through JDeveloper during the development phase.

Oracle SOA Suite 12c: New Features and Capabilities 3 - 23


Managing Global Token Variables for Multiple SOA
Composite Applications
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

One config plan


per composite
application

a
) has
m
Globalotokens
c
o ฺ
n idalleฺ
apply to
t i u
t e lla tcomposite
deployed
G
o n s denapplications.
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k plans
Configuration
p a n sare composite specific. Therefore, when you move a SOA composite
ee onfrom
application r
-t one environment to another, some values require substitution in each
D n
configuration plan. To avoid substituting values in each plan, you can define global token
variables for specific URIs in SOA composite applications in Oracle Enterprise Manager
Fusion Middleware Control.
Global token variables provide the following benefits:
• If multiple SOA composite applications invoke different services hosted on a specific
server, you can use a single global token variable to reference this server across the
composites. Individual configuration plans are not required; only a single set of token
values must be updated. For example, instead of updating the host name of the server in
10 different configuration plans, you set the name globally with global token variables.
The value is retrieved and replaces the value of the global token variable for the host
name in the binding.ws element of the composite.xml file of the deployed SOA
composite application.
• Use of global token variables means that the Oracle SOA Suite metadata that is
deployed on the runtime server does not include any environment-specific values.
• In a clustered environment, global token variable changes are made on the
Administration Server and propagated to all Managed Servers. Applications do not need
to be redeployed to leverage the changed values.

Oracle SOA Suite 12c: New Features and Capabilities 3 - 24


Global Tokens: Example
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

MyDomain/config/fmwconfig/mdm-url-resolver.xml

<?xml version="1.0" encoding="UTF-8"?>


<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment> URL Resolver file used by the Metadata manager to resolve
s a
$<variable> in URLs </comment>
<entry key="host">mymachine.us.example.com</entry> )ha
<entry key="port">8001</entry> m
co eฺ
n ฺ
<entry key="protocol">http</entry>
</properties>
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
Whenp a
youkdeploy a na SOA composite application in Oracle Enterprise Manager Fusion
e
e onControl
Middleware - t r that uses global token variables, a warning message is displayed asking
D n that all tokens are configured in the system’s mdm-url-resolver.xml file.
you to verify
The token names and the replacement values that you specified on the Token Configuration
page are added to the system’s mdm-url-resolver.xml file in the following directory:
$MIDDLEWARE_HOME/user_projects/domains/domain_name/config/fmwconfi
g/mdm-url-resolver.xml

Oracle SOA Suite 12c: New Features and Capabilities 3 - 25


Steps to Migrate an 11g Composite to 12c

Now that we have a working 12c domain, it’s


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

easy to migrate an 11g composite to 12c.

1. Start JDeveloper.
2. Create an Application Server connection (if needed).
3. Open the 11g composite in JDeveloper. a
) has
4. Migrate the composite from 11g to 12c.
ฺ c om ฺ
5. Deploy and test the composite. ion de
l a t u i
l
te ent G
n s
@ co Stud
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
If you p a k the aDefault
install n s Domain, an Application Server connection to the Integrated server is
ee for
created nyou r
-t automatically.
D n o
If you install using the Standalone Domain or Compact Domain, or perform a Production
installation, you must create an Application Server connection yourself.

Oracle SOA Suite 12c: New Features and Capabilities 3 - 26


Migrating 11g Composite to 12c
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
Whenp a k atonmigrate,
prompted s click Yes and accept the defaults.
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 3 - 27


Viewing the Migrated Composite in JDeveloper
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
You can
p a k theamigrated
view n s composite in JDeveloper and deploy the application.
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 3 - 28


Direct Migration: Deploying Via the Fusion Middleware
Control
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
Browse for the
11g SOA Archive. )ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c o n uapply
Optionally, e
dplan.
t
ni@ this S
a configuration
a r
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
p a k
SOA composite n
applications
a can be deployed through the Enterprise Manager console. This
e t r
- used for deploying applications to the production environment. Because
e isotypically
method
D n n
Enterprise Manager can deploy only packaged applications, you need to obtain the SOA
Archive file before the deployment, and then use the Deploy SOA Composite Wizard in Oracle
Enterprise Manager 12c Fusion Middleware Control to deploy the archive. The wizard will
guide you through a three-step process that includes:
• Selecting the archive to deploy
• Specifying the target servers and partition to deploy the composite applications to
• Reviewing and confirming your deployment selections

Oracle SOA Suite 12c: New Features and Capabilities 3 - 29


Summary

In this lesson, you should have learned how to:


• Describe the new features of Enterprise Manager Fusion
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Middleware Control
• Describe the capabilities of the new Error Hospital
• Explain the new security features for SOA Partitions
• Migrate SOA 11g Composite Applications to 12c
a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 3 - 30


Practice 3 Overview:
Getting Familiar with Oracle SOA Suite 12c
This practice covers the following topics:
• Use JDeveloper to open, migrate, and deploy an 11g
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

composite
• Test the composite in Enterprise Manager Fusion Middleware
Control
• View and test the new features in Fusion Middleware Control
a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 3 - 31


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens
a r n le l
K ulk ferab
p a k ans
e tr
De non-
4
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

JDeveloper: New Features a


) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-
Objectives

After completing this lesson, you should be able to:


• Locate the components of your composite in the new
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Application Navigator project folders


• View the detailed structure of your composite in the Structure
window
• Configure the Component Palette List and Icon views to suit
your work
a
• Create TODO tasks to help organize your work
) has
• Refactor components and their artifacts to better organize ฺ c om ฺ
your composite structure t i o n ide
t e lla t Gu
• Choose the directory for your BPEL artifacts
o n s den
@ c Stu
• Manage shared design-time artifacts
r i
n thbyisusing the design-time
a
MDS repository ulk se
ฺk to u
ak
p se
e e
d icen
i (
n le l
Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 4 - 2


What’s Next?
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

When I looked at the composite in JDeveloper


12c, I thought I noticed some new folders in the
Application Navigator.

That’s correct. The Navigator has been updated


and has a new refactoring functionality. Also, did
you notice the design-time MDS Repository in the
File Browser? a
) has
I did. I’m curious about that and Maven ฺ c om ฺ
integration as well. That seems a great placetio
n ide
to start for this lesson. t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 4 - 3


Maven Support for SOA 12c

• Maven POMs for Oracle-supplied JARs


– Needed for deploying SOA/BPM (sar, mar, zip)
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Maven POM editors in JDeveloper


• Ability to run Maven goals in JDeveloper or on the command
line (or plug into Hudson, and so on)
• Maven archetypes for SOA Application and SOA Project
• SOA Maven plug-in allows you to:
– Compile (really validate, run scac) a
a s
– Package (into a sar)
m )h
– Deploy and undeploy to a SOA Server
n ฺ co eฺ
– Run SCA Test suites on the SOA Server
l a t io uid
• Maven plug-in supports all kinds of SCAscomponents: t el nt G BPEL,
BPMN, Human Task, Rules, Adapters, c onMediators.
t u de
r ni@interface
i s S
– When you generate an ADF a user t h project for a human
u l k e
task, a Maven POM is
ak us to that build.
ฺkalsotoadded
e e p se
i ( d icen Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
Mavenpisa ka buildaautomation
n s tool that enables you to create and manage run-time projects.
e
e theoOracle
Using t r
- SOA Suite Maven plug-in, you can build and manage a SOA composite
D n nMaven relies on an artifact repository for all of its dependencies. All the installed
application.
Oracle libraries are propagated into the Maven repository. This enables Maven to recognize
them as artifacts and address them in the Project Object Model (POM) file.
Maven projects are configured using a POM file. The POM file describes dependencies such
as the SOA Infrastructure tools that are required to build the composites.
An archetype is a template for creating a project. Archetypes are provided to create a new
SOA application containing a single SOA project, or to add an additional SOA project to an
existing SOA application. These archetypes provide for the ability to compile, package,
deploy, test, and undeploy a SOA composite application.

Oracle SOA Suite 12c: New Features and Capabilities 4 - 4


Reorganization of SOA Composite Application
Directories and Files Project Object Model file
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
Whenp a
youkcreate aanSOA application, Oracle JDeveloper creates a project that contains all the
e
e files
source - t r
related to your application. You can then use Oracle JDeveloper to create
D non
additional projects needed for your application.
The Application Navigator (upper left) displays the key directories and files for the specific
service components included in the SOA project. You can change the structure as necessary
for your environment. The only limitation is that all files must be located in the SOA directory.
• Service_component_directory: Displays a directory for the artifacts of each
service component you add:
- A BPEL directory is created for BPEL processes.
- A Mediators directory is created for Oracle Mediators.
- A HumanTasks directory is created for human tasks.
- An oracle/rules directory is created for business rules.
• Events: Displays the business event files (.edn)
• Schemas: Displays all schema files (.xsd)

Oracle SOA Suite 12c: New Features and Capabilities 4 - 5


Choosing a Directory for Component Artifacts
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
In the p a k BPEL
Create a n sProcess window, you choose directory for component artifacts.
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 4 - 6


Choosing a Directory for Component Artifacts
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
Similarly,
p kyou cana n s the directory while creating Human Task and Mediator.
choose
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 4 - 7


Structure Window
The Structure window shows the composite structure.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k window
The Structure
p a n s provides a structural view of the data in the document currently
ee oinnthe
selected r
-t active window.
D n

Oracle SOA Suite 12c: New Features and Capabilities 4 - 8


Refactoring

Nice! I like how the artifacts are organized into


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

folders and we can choose the directory or folder


for the component artifacts when we create a new
BPEL, Mediator, and Human Task.

It certainly makes it easier to find things and


there’s less visual distractions. And the Structure
window helps too because it is synchronized with
the application. But what if you happen to put an
a
has
artifact in the wrong folder? How do we move or
rename it? )
ฺ c om ฺ
t i o n ide
Simple. Refactor!
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 4 - 9


Refactoring
Application Navigator
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Composite Editor

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
You canp a k andelete,
rename, s and move some components (also known as refactoring) and
r
ee inonthe-tfollowing sections of Oracle JDeveloper.
artifacts
D n
• SOA Composite Editor: Enables you to rename and delete components. These
actions impact Oracle SOA Suite metadata (and not necessarily specific artifacts).
• Applications window: Enables you to rename, delete, and move artifacts, such as
WSDLs, schemas, and so on. These actions impact Oracle JDeveloper artifacts.
Warning: Do not perform refactoring tasks with Oracle BPEL Designer, Human Task Editor,
and other editors open. If you do, ensure that you close and reopen the editors after
refactoring. For example, assume you have a BPEL process open. Then rename the BPEL
process WSDL file in the Applications window. This changes the underlying BPEL file, but
Oracle BPEL Designer does not reflect this change and becomes unsynchronized unless you
completely exit it. Close and then reopen Oracle BPEL Designer. The changes are then
synchronized.

Oracle SOA Suite 12c: New Features and Capabilities 4 - 10


Reorganization of SOA Composite Application
Directories and Files
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

This works for both folders and artifacts.

Yes it does! Did I notice that the composite.xml


file itself is now named the same as the project?
a
) has
Good question. Let’s take a look… ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 4 - 11


Composite Name Displayed
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
The composite
p n is displayed as the title instead of the standard title – composite.xml.
name
a
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 4 - 12


Components Window List
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

That helps so much. Seeing composite.xml on


every tab when I had multiple composites open in
11g was confusing.

It sure was. Speaking of confusing, I wish I could


better organize the Components window that
shows all the SOA components and adapters.
a
) has
Me too. And sometimes I would prefer an icon
ฺ c om ฺ
instead of all the names. I think that would be on de
l a t i u i
easier to use…
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
e ep n-tran
D no

Oracle SOA Suite 12c: New Features and Capabilities 4 - 13


Components Window List
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k canabe
Components
p n sdisplayed in different views in the Components window.
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 4 - 14


Components Window List
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k canabe
Components
p n sviewed as icons or as list.
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 4 - 15


Components Window List
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k canaalso
Components
p n s be added to favorites.
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 4 - 16


TODO Lists

I like that I can use My Favorites for the


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

components I use a lot. By the way, do you still


have a copy of the TODO items we needed to
finish on the composite for HR? My dog chewed
up my copy.

Uhm…no. That’s not good. It would be nice to


actually add a TODO list to the composite itself
a
has
like an annotation.
)
ฺ c om ฺ
i
Wait one second, I thought I saw a new icon in ttheo n ide
Composite Editor window… t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 4 - 17


TODO Tasks
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
You can
p a k
add n
a description
a of the SOA composite application that is displayed when you place
e t r
- the TODO Tasks icon above the composite. The description can describe the
ecursoroover
the
D n n
actions of the services, references, and service components in the SOA composite
application.

Oracle SOA Suite 12c: New Features and Capabilities 4 - 18


TODO List

I like that. And the text of the TODOs are


comments in the composite.xml source code.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Easy to edit and print.

Yes I saw that. Did you notice that we can add


TODO items to components and service and
binding components?
a
) has
I did. I can think of many uses for that. A great ฺ c om ฺ
way to share knowledge and comments among t i o n ide
the team, and direct specific comments e
t la t Gu
tolteam
members responsible for configuring
o n sa specific
d e n
component. Much easier than our
@ c Wiki.Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 4 - 19


Design-Time MDS
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Speaking of sharing, I need to go fix my scripts for


creating the JAR files from the file-based MDS
and upload it to the database-based MDS, so
others can share my WSDL and XSD artifacts.

Not anymore; you don’t! The design-time, file-


s a
based MDS is automated. You can now browse,
)ha
delete, export, import, and transfer using m
JDeveloper. No more scripts required…
n ฺ co eฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
A file-based
p SOA a nDesign-Time MDS Repository is automatically created when you create a
e
e composite
SOA t r
- application. You cannot modify the MDS Repository name, but you can
D non
modify it to point to an existing file-based repository. You typically point it to the version
control system (MDS) location. Sharing operations are done against the design-time
repository. You cannot perform these operations against a database-backed MDS Repository.

Oracle SOA Suite 12c: New Features and Capabilities 4 - 20


Design-Time Metadata Services (MDS) Repository
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Share WSDL, XSD,


WADL, and XQuery. Transfer to or from
other repositories.

Export to and import from JAR files.


s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
p a
In additionkto n
thearun-time Metadata Services Repository, Oracle SOA Suite includes a
e
e oSOA
file-based t r
- Design-Time MDS Repository for use during design time. The repository is
D n n
automatically created when you create a SOA composite application. The default directory
location is $JDEV_USER_DIR/soamds, but the repository location can be modified to point to
another folder or version control location.
The SOA-MDS Transfer Wizard enables you to share WSDL (Web Services Description
Language), XSD (XML Schema Definition), WADL (Web Application Description Language),
and XQuery files with the SOA Design-Time MDS Repository. This eliminates the need to
duplicate these resources across projects and applications. When artifacts are moved into the
repository, all dependencies are included and references to the transferred artifacts are
updated with the correct MDS URLs on transfer.

Oracle SOA Suite 12c: New Features and Capabilities 4 - 21


Managing Shared Data with File-Based MDS

• Problem to be addressed: Share design-time artifacts such as


WSDL, XSD, and XQuery files across composites.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• How does it work:


– A file-based, design-time MDS repository connection is
automatically included when you create a SOA composite
application.
– /apps is the folder recognized by SOA
for shared data. a
s
– Operations supported: ) ha
Export (JAR file) ฺ c om ฺ

t i o n ide
— Import (JAR file)
t e lla t Gu
— Transfer
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
Whenp a
youkcreateaanSOA
s composite application, the default SOA-MDS connection named
ee on-t r
SOA_DesignTimeRepository is automatically included. The /apps folder in the design-
D n
time MDS repository is automatically created. The connection name cannot be changed, but
the default repository location can be modified to point to another folder or source control
location.
You can perform the following operations against the design-time MDS repository:
• Export selected contents of the /apps folder to a JAR file. The /apps folder itself is not
included in the JAR file.
• Import the contents of a JAR file into the /apps folder. If the JAR file includes /apps as
the root folder, it is created below the /apps folder of the design-time MDS repository,
which gives you a top-level directory structure of /apps/apps.
• Transfer the contents of the /apps folder of one MDS repository to another MDS
repository.

Oracle SOA Suite 12c: New Features and Capabilities 4 - 22


Design-Time MDS Repository Default Location
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
The Design-Time
p a nMDS Repository connection provides the following capabilities:
e t r
on- a file-based MDS Repository for use during design time. A database-based,
D•e Itnprovides
design-time MDS repository is not supported.
• Any MDS repository can be browsed.
• The default repository location can be modified to point to another folder or version
control location.
• All SOA-MDS operations use this SOA Design-Time MDS Repository.
• A wizard enables you to share design-time artifacts, such as WSDL and schema files,
from your SOA project with this MDS repository.
Note
• If you add shared data into the SOA Design-Time MDS Repository, and the repository is
backed by a version control system, then Oracle SOA Suite does not provide any
operations to add this data to the version control system. You must add this shared data
to the version control system.
• If you have a Release 11g SOA composite application with a preconfigured SOA-MDS
Repository (/apps namespace) in the adf-config.xml file, all sharing and
consumption operations are performed against the existing repository defined in
adf-config.xml.

Oracle SOA Suite 12c: New Features and Capabilities 4 - 23


Sharing Artifacts with Design-Time MDS

Choose the
artifact to share.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
The SOA-MDS
p n Wizard enables you to share WSDL, XSD, WADL, and XQuery files
Transfer
a
e
e the SOA
with t r
-Design-Time MDS Repository. These files can then be shared with other SOA
D non
composite applications.
The wizard first attempts to share files with any existing design-time MDS Repository defined
in the current application’s adf-config.xml file. If no MDS Repository is defined in the
adf-config.xml file, artifacts are shared using SOA_DesignTimeRepository.
Note
• You can share only XSD, WSDL, WADL, and XQuery files. In addition, only these file
types can be transferred from a design-time MDS repository to a run-time MDS
repository.
• If you right-click an XSD file in the Applications window that was created with the Native
Format Builder Wizard, then the “Share using SOA Design-Time MDS Repository”
option is not available.
The Welcome page of the SOA-MDS Transfer Wizard is displayed. It indicates that the
file you selected is to be transferred to the SOA Design-Time MDS Repository.

Oracle SOA Suite 12c: New Features and Capabilities 4 - 24


SOA-MDS Transfer Wizard
Step through the
Transfer Wizard.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
Browsep a k
the n MDS Repository and select the target folder in which to share the
design-time
a
e t r
- Then click Next. You can also create a subfolder in which to share the file or
e oartifact.
selected
D n n
search for an existing folder.
Review the files to transfer to the target oramds URL location in the design-time MDS
repository.
Additional dependent files can also be displayed. For example, assume you select a WSDL
file. Because the WSDL file can have dependencies on schema files (potentially more than
one file), those XSD files are also displayed.
View the files to be modified after the transfer with the appropriate oramds URL, and click
Finish, as shown in the slide. This list includes files that are dependent on the files being
moved. All dependent files are modified to reflect the oramds URL of the file being moved.

Oracle SOA Suite 12c: New Features and Capabilities 4 - 25


Resources Window Operations
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Create new folders.

Refresh after any


external updates.

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
ni@ this S
Delete artifacts.
a r
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
You can
p a k
refresh tonsee the transferred artifact.
a
e
e can oalso- t r
D
You
n n create and delete subfolders in the /apps folder in the SOA Design-Time MDS
Repository. You cannot delete the /apps folder.

Oracle SOA Suite 12c: New Features and Capabilities 4 - 26


Import and Export
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
Choose all or a subset
ฺ c om ฺ
of artifacts to export.
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p k the
You canaexport
a n s
selected contents of the /apps folder in the SOA Design-Time MDS
e t r
e onto- a JAR file. The /apps folder itself is not exported to the JAR.
Repository
D n import the contents of a JAR file to the /apps folder of a SOA Design-Time or
You can
database-backed MDS Repository. If you import a JAR file that includes /apps as the root
folder, it is created below the /apps folder of the design-time MDS Repository, which gives
you a top-level directory structure of /apps/apps.

Oracle SOA Suite 12c: New Features and Capabilities 4 - 27


Transfer to Another MDS Repository

2
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

1 a
) has
ฺ c om ฺ
3 t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
k athe
You canatransfer
p n sselected contents of the /apps folder of one MDS repository to the
ee folder
/apps n r
-oft another MDS repository. There are no limitations on the type of MDS
D n o
repository to which to transfer. For example, you can transfer the selected contents of a
file-based repository to a database-based MDS Repository, and vice versa.
Warning: Do not transfer the contents of the /apps folder to another MDS repository with
Oracle BPEL Designer, Human Task Editor, or other editors open. If you do, ensure that you
close and reopen the editors after the transfer completes. An open editor does not reflect the
transfer changes and becomes unsynchronized unless you completely exit it.

Oracle SOA Suite 12c: New Features and Capabilities 4 - 28


Browsing for WSDL and XSD in Design-Time MDS
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
You can
p a k
browse a n and select files in the SOA Design-Time MDS Repository. For example,
for
the e - t
eWSDLonChooserr dialog box that you access from the Create Web Service dialog box
D n
includes a selection for the SOA Design-Time MDS Repository.
The Type Chooser dialog box includes a Recent Files folder in which information is kept for
the duration of the Oracle JDeveloper session. For example, if you create a new BPEL
process and want to define the input variable from a schema in the SOA Design-Time MDS
Repository, you access the dialog box once. When you want to define the output variable
from the same schema, the schema remains visible in the Recent Files folder.

Oracle SOA Suite 12c: New Features and Capabilities 4 - 29


Component, Service, and Artifact Dependencies

That is wonderful. It should make sharing and


reusing our artifacts so much easier. And,
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

especially, I like the way you can transfer to


another design-time MDS or the database-based
MDS.

And I just read that you can import an 11g MDS


JAR file into it as well.

s a
)h a
Great. Anyway, looking at the SOA MDS has me m
co eฺ
wondering how to see the interdependencies tio n ฺ
l l a u id
between components, services, and artifacts
s te ent in G
our project. n
co Stud
i @
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
You can
p a k aaRelease
export n s 11g MDS Repository to a JAR file that can then be imported into a
ee o12c
Release n t r
-design-time MDS Repository. The adf-config.xml file is updated with /apps
D n information. Release 12c repositories can also be exported if you have an adf-
and store
config.xml file with /apps defined (which means that you have an existing shared
repository).

Oracle SOA Suite 12c: New Features and Capabilities 4 - 30


Exploring Dependencies
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
p a k
The Exploring n
Dependencies
a feature will work for any artifact in the project, such as BPEL,
e
e oHuman
Mediator, t r
- Task, Business Rule, and so on.
D n n

Oracle SOA Suite 12c: New Features and Capabilities 4 - 31


Exploring Dependencies

This will work for any


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

artifact in the project, such


as BPEL, Mediator,
Human Task, Business
Rule, Spring, XSD,
WSDL, and so on.

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 4 - 32


Summary

In this lesson, you should have learned how to:


• Locate components of your composite in the new Applications
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Navigator project folders


• View the detailed structure of your composite in the Structure
window
• Configure the Component Palette List and Icon views to suit
your work
s a
• Create TODO tasks to help organize your work a
m )h
• Refactor components and their artifacts to better organize
n ฺ co eฺ
your composite structure
l a t io uid
s
• Choose the directory for your BPEL artifacts t el nt G
c on tude
• Manage shared design-time artifacts
a r is S the design-time
ni@ thusing
MDS repository ulk se
ฺk to u
ak
p se
e e
d icen
i (
n le l
Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 4 - 33


Practice 4 Overview:
New Features of JDeveloper
This practice covers the following topics:
• Create TODO tasks
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Refactor components and their artifacts


• Choose the directory for BPEL artifacts
• Manage shared design-time artifacts using the SOA
Design-Time MDS Repository
• Export and transfer artifacts a
• Explore dependencies ) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 4 - 34


5
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Testing and Debugging a


) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-
Objectives

After completing this lesson, you should be able to:


• Debug SOA composite applications with the SOA debugger
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Create test suites and their test cases with the Create
Composite Test Wizard
• Run test suites from Oracle JDeveloper
• Debug BPEL processes from within JDeveloper

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
a k Kyou
In thisplesson, n s felearn about debugging composites and BPEL, and running test suites.
will
e tra
De non-

Oracle SOA Suite 12c: New Features and Capabilities 5 - 2


SOA Suite 12c Testing and Debugging
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

We’ve always seen that the development cycles for SOA


Suite are not exactly like Java. We have to code, deploy,
and then test in Oracle Enterprise Manager Fusion
Middleware Control (EM FMWC) to view audit trails and flow
traces, and then return to Oracle JDeveloper to edit.

Agreed. However, with the new debugging features of SOA a


Suite 12c, we can debug from within the troubleshooting
) has

make the debugging process more seamless. In addition,c om ฺ
environment in JDeveloper. This will save time and effort and

t i o n ide
test suites can now execute from within JDeveloper as well.
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
You can
p a k andadebug
test n s SOA composite applications with the SOA debugger in Oracle
ee on-The
JDeveloper. r
t SOA debugger reduces the development cycle for a SOA composite
D n
application by providing a troubleshooting environment within Oracle JDeveloper. This
eliminates the lengthy process of building a SOA composite application in Oracle JDeveloper,
deploying it to the SOA Infrastructure, starting Oracle Enterprise Manager Fusion Middleware
Control to test or view audit trails and flow traces, and then returning to Oracle JDeveloper to
repeat the exercise.

Oracle SOA Suite 12c: New Features and Capabilities 5 - 3


Agenda

• SOA Debugger
• Test Cases in JDeveloper
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 5 - 4


Debugging SOA Composite Applications

The SOA debugger provides a troubleshooting environment within


JDeveloper.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Debugging
process

SOA
Composite A
a
SOA ) has
Debugger Composite B om
Configurations
o n ฺc eฺ
JDeveloper stored in Project
l l
WebLogic a ti Serveruid
Properties
s t e nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
JDeveloper
p provides
a n a comprehensive debugger to help you assess and repair your SOA
e
Composite - t r
e onapplication. The debugger reduces the development cycle by providing a
D n
troubleshooting environment directly in the development environment. You can set
breakpoints directly in JDeveloper for troubleshooting on pipelines and split-joins.
You are able to stop at breakpoints, look at the data, step into, step out, and so on.

Oracle SOA Suite 12c: New Features and Capabilities 5 - 5


Debugging SOA Composite Applications with the SOA
Debugger

The SOA debugger provides a


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

troubleshooting environment
within Oracle JDeveloper.

s a
)ha
m
co eฺ
n ฺ
l a t io uid
Set breakpoints on binding components,tel t G
s
on tude
service components, and synchronous and n
c
asynchronous BPEL processes.

a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
The SOA
p a k
debuggera n provides a troubleshooting environment within Oracle JDeveloper. You
can e - t r
e set breakpoints for troubleshooting on binding components, service components, and
D non
synchronous and asynchronous BPEL processes.
The features include:
• Local or remote debugging
• Setting breakpoints and tracing message flow
• Viewing raw messages (SOAP and Non-XML) entering or leaving
• Changing variables while debugging
• Viewing transaction boundaries

Oracle SOA Suite 12c: New Features and Capabilities 5 - 6


Starting the Debugger
By default, the name of the
local host is displayed. You can
also enter a remote server.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
Specify in minutes how
Enter the port on ha
long the client should
)
which the debugging m
wait while attempting to
co eฺ
agent listens. n ฺ
establish a debugging

l a t io uid
session before stopping.

s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
p a
Both localkand n applications can be debugged. When the debugger is started, the
remote
a
e
Connection -
e onSettings t r window prompts for the server to use for debugging, the debug port, and
D n
the timeout for the debugger when it is inactive. The debugger properties are stored per
project. If you have imported a project from a different machine, the host will probably have to
be changed. These values can be stored in JDeveloper properties, which enables you to skip
the Connection Settings window if you always want to use the same options.
• Host: Select the debugging server to which to connect. By default, the name of the local
host is displayed. This is the embedded Integrated WebLogic Server in Oracle
JDeveloper. You can also enter a remote server. When a project is imported from a
different host, the host that was used there is displayed here.
• Port: Enter the port on which the debugging agent listens. The default value is 5004.
Debugging is automatically enabled in development environments when you install the
Oracle SOA Suite Developer Quick Install. The debugger cannot be enabled in
production mode or when the server is part of a cluster. For development environments,
the debugger can be overridden by adding the following property settings in the
setDomainEnv.sh file:
export SOA_DEBUG_FLAG="true" export SOA_DEBUG_PORT="5004"

Oracle SOA Suite 12c: New Features and Capabilities 5 - 7


Setting Breakpoints on Services or References

Choose whether the request, the


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

reply, or both the request and


reply are important.

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a
Breakpoints
p k area n intentional pausing locations in a SOA composite application that you set
the
e
foredebugging t r
- purposes. You can set breakpoints on a request, on a reply, or on both.
D
• non
Create Breakpoints Pair: Set for a request-reply (outbound-inbound) interaction. This
is useful for scenarios in which both the request and reply are important.
• Create Request Breakpoint: Set for a request (outbound) interaction. This is useful for
scenarios in which only the request is important.
• Create Reply Breakpoint: Set for a reply (inbound) interaction. This is useful for
scenarios in which only the reply is important.
Components on which breakpoints are set are designated with red request (outbound) icons,
reply (inbound) icons, or request-reply (outbound-inbound) icons.

Oracle SOA Suite 12c: New Features and Capabilities 5 - 8


Setting Breakpoints in BPEL

To set a breakpoint
on a service
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

component,
select Edit.

Right-click the BPEL


activity on which to set a
breakpoint, and select
Toggle Breakpoint.
s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
k K ansonfea BPEL process, select Edit. This opens the BPEL process in Oracle
To setpaabreakpoint
ee Designer.
BPEL n - tr Right-click the BPEL activity on which to set a breakpoint and select Toggle
D no
Breakpoint.
An icon is added to the activity. This breakpoint icon is only a red dot because the flow is
always in one direction. It is recommended that you always set a breakpoint on the first
activity within an asynchronous BPEL process.
To disable the breakpoint, right-click and select Toggle Breakpoint again. The red dot is
removed. To display a list of all breakpoints set in the BPEL process, right-click the activity
and select Breakpoints. A dialog box appears. You can also enable and disable breakpoints
from this dialog box.

Oracle SOA Suite 12c: New Features and Capabilities 5 - 9


Initiating Debugging
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Right-click the right handle of the


.
service binding component and
select Initiate WS Debugging. This
invokes the HTTP Analyzer.

s a
Enter the request message ) h a
data to send, or click
cand m
o paste
HTTP
Content to copy
o n ฺ e ฺthe
t i
la Send
contents from anu i d
XML file.
t e lClick t G
o n s den Request.

@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
To begin
p a k ansof the SOA composite application, right-click the right handle of the
debugging
ee binding
service n - trcomponent and select Initiate WS Debugging from the shortcut menu. This
D no
invokes the HTTP Analyzer. Enter the request message data to send and click Send Request,
or click HTTP Content to copy and paste the contents from an XML file. You can either enter
data field-by-field or copy and paste an XML document.

Oracle SOA Suite 12c: New Features and Capabilities 5 - 10


Examining Values

The first breakpoint turns


blue and begins pulsing.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

In the Log window at the bottom of


Oracle JDeveloper, click Data.
Expand the message contents. You
can double-click a value to change it.

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
The debugger
p stops
a n at the first breakpoint that you set (for example, on the service binding
e t r
e on-In the Log window at the bottom of Oracle JDeveloper, click Data. Expand the
component).
D n
message contents. You can double-click a value to change it. For non-XML variables,
right-click and select “View value” (for example, the return message from a Database
adapter).

Oracle SOA Suite 12c: New Features and Capabilities 5 - 11


Viewing Data for BPEL Activities
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Step Into

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
The Step
p kInto command
a n s steps to the next BPEL activity.
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 5 - 12


Viewing and Modifying Variable Values
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a
The Data
p k
window a ndisplays the context variables and their values for the current breakpoint.
e t r
- request or response data throughout the debugging process, and modify their
e can oview
You
D n n
values for further debugging. Only values of simple-type variables can be modified.
A watch lets you monitor the changing values of variables or expressions as your program
runs. After you enter a watch expression, the Watches window displays the current value of
the expression. As your program runs, the value of the watch changes as your program
updates the values of the variables in the watch expression.

Oracle SOA Suite 12c: New Features and Capabilities 5 - 13


Frames
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

When you create a breakpoint,


A stack of frames is a breadcrumb
a corresponding frame is
trail of the locations that lead you
created in the Structure window.
A frame is a location.
s a
to your current location.

)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
Whenp a
youkcreate aanbreakpoint, a corresponding frame is created in the Structure window. A
e
frame - t r
e is aolocation. A stack of frames is a breadcrumb trail of the locations that lead you to
D n n
your current location. This is equivalent to a stack trace. It shows you where you are and how
you got there. Frames are created independent of breakpoints. When you stop at a
breakpoint, all frames that have been created in the Structure window are displayed. A stack
frame also contains the data that existed at that point of time. Clicking a different stack frame
in the Structure window also updates the Data tab.
You can step over or skip the frame and begin debugging at a different location, such as a
different breakpoint. As you proceed with debugging, additional frames are created.

Oracle SOA Suite 12c: New Features and Capabilities 5 - 14


Stepping Through the Application
F7: Step Into
Shift-F7: Step Out Of
Shift-F8: Step Over
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

F9: Resume Step

s a
The debugger steps )h a
through the copy m
co eฺ
n ฺ
rules in an Assign
l a t io uid
activity one at a time.
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
To step p a k
through an
a napplication, use the following function keys or the corresponding toolbar
e
e on-
icons: t r
D n
• F8 steps over a frame: This places you at the next breakpoint. If there are no
breakpoints, it steps over all the frames and goes back to the first frame.
• F7 steps into the next valid location: This can be a new frame or the same frame, but
in a different location.
• Shift-F7 steps out of a frame: This option is used to process only a BPEL scope or
sequence activity. After completion of scope processing, it pauses at the next scope or
activity in the process.
• F9 resumes a step operation.
Note: The debugger steps through the copy rules in a BPEL Assign activity one at a time.

Oracle SOA Suite 12c: New Features and Capabilities 5 - 15


Ending a Debugging Session
Click the Terminate icon to end
a debug session. As long as the
debugger is running, the project
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

cannot be edited.

Terminate

s a
)h a
SOA m
Composite ฺAco
t i o n ideฺ
t e llaSOA t Gu
Debugger o n s Composite
d e n B
Detach
@ c Stu
i
JDeveloper
l k arn e this Weblogic Server
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
To end
p a
orkdetachafrom
n s a debugging session, click the Terminate icon in the Tools menu. The
ee onDebugger
Terminate -t r Process dialog box is displayed. Select an option:
D n
• Detach removes the debugger without ending the debugging process.
• Terminate ends the debugging process.
Note
• If you selected Detach, click the Debugger icon above the SOA Composite Editor to
resume debugging.
• If you selected Terminate, right-click and select Initiate WS Debugging to reinitiate the
debugger and start a new debugging session.

Oracle SOA Suite 12c: New Features and Capabilities 5 - 16


Agenda

• SOA Debugger
• Test Cases in JDeveloper
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 5 - 17


Creating a Test Suite in JDeveloper: Review
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
You can
p a k test
create a n ssuites and test cases in either of two ways:
r
e nApplications
t
o -
D•e Innthe window
• From the Oracle JDeveloper main menu

Oracle SOA Suite 12c: New Features and Capabilities 5 - 18


New Test Case Configuration Wizard
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
Both options
p (froma nthe Applications window or the JDeveloper main menu) invoke the Create
e
e onTest
Composite t r
- Wizard, which enables you to define the initiating operation, callback
D n
operation, and input and output messages.
Note: Do not enter a multibyte character string as a test suite name or test case name. Doing
so causes an error to occur when the test is executed from Oracle Enterprise Manager Fusion
Middleware Control.
After creating a test suite of test cases, you deploy the suite as part of a SOA composite
application.
You then run the test suites from Oracle JDeveloper, Oracle Enterprise Manager Fusion
Middleware Control, an Oracle WebLogic Scripting Tool (WLST) script, or an Ant command.

Oracle SOA Suite 12c: New Features and Capabilities 5 - 19


Defining the Input Message
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k youadefine
In thispstep, n s the input and output messages.
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 5 - 20


Viewing the Test Case in the Properties Window
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
You can
p a k theantests case created in the Properties window.
view
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 5 - 21


Running the Test Suite
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
You can
p a k
run a test
a nsuite from Oracle JDeveloper. After test suites are created, you can select
e
e test
multiple t r
-suites to run, an individual test suite to run, or an individual test in a test suite to
D
run. non
A check is made to see if the SOA composite application (including the tests) has ever been
deployed on the test server. You must first deploy the composite before you can run tests on
the test server.
If the SOA Composite Application has never been deployed on the test server, the “Confirm to
Deploy Composite” dialog box is displayed.
If the SOA Composite Application has been deployed on the test server, but the composite
(including the tests) has been changed since the last deployment, perform the following steps:
1. Click OK to deploy the SOA composite application. The Deployment Action page of the
Deploy Project_Name Wizard is displayed.
2. Select “Deploy to Application Server.”
3. Follow the pages of the wizard to deploy the SOA composite application to an
application server.
After the deployment has completed, the tests run on the test server.

Oracle SOA Suite 12c: New Features and Capabilities 5 - 22


Viewing Test Results

Query for Test Runs


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
View the
p a k
test n The Test Results dialog box is per test server and composite DN. The
results.
a
e t r
- (the SOA server host name and port number) and composite DN are
e serveronURL
test
D n
displayed in the top-right corner to indicate the context. You can run tests as many times as
you want, and can select different test combinations to run on the same test server or different
test servers.

Oracle SOA Suite 12c: New Features and Capabilities 5 - 23


Querying for Test Runs
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
You can
p a k for
query a n s runs.
test
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 5 - 24


Viewing Test Results
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
You can
p a k for
query a n s runs and view the test results.
test
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 5 - 25


Testing BPEL Service Components or Activities
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
p a k
After creating the a n contents of test suites and test cases with the Create Composite Test
basic
e
e you
Wizard, t r
- automate the testing of an individual BPEL process service component
can
D non
included in a new or an existing SOA composite application test suite. These test cases
enable you to simulate the interaction between a BPEL process and its web service partners
before deployment in a production environment. This helps to ensure that a BPEL process
interacts with web service partners as expected by the time it is ready for deployment to a
production environment.
You can create variable and fault assertions on BPEL process activities.
In the lower-left section, the Structure window displays the Asserts, Fast Forwards, and
Assert Execution Counts folders. You can right-click these folders to create assertions, fast
forwards (to bypass executions of wait activities), and assertion execution counts,
respectively.

Oracle SOA Suite 12c: New Features and Capabilities 5 - 26


Specifying Activity Assert Test Data
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
You can
p a k athe
specify n sactivity test data.
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 5 - 27


Specifying Assertion Execution Count
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
You can
p a k
specify tonexecute an activity a specified number of times. This provides a method for
a
e
e othat
verifying t r
-an activity executes the correct number of times in a process flow (for example,
D n n
ensuring that a while activity executes the correct number of times).
To specify the number of times an activity is executed, perform the following steps:
1. Select the activity to execute through one of the following methods:
a. In the Structure window, right-click the Assert Execution Counts folder and select
Create, or select the Assert Execution Counts folder and click the Add button.
The Assert Execution Count dialog box is displayed.
b. In the Activity Name field, click the Browse icon to select the activity to execute.
OR
a. Right-click a specific BPEL activity in the designer, and select Edit Activity Test
Data.
b. Click the Assert Execution Count tab.
c. Click the Add icon.
The activity you selected is displayed in the Activity Name field.
2. In the Count list, select a value.
3. Click OK.

Oracle SOA Suite 12c: New Features and Capabilities 5 - 28


Bypassing a Wait Activity
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
a k Kallows
A waitpactivity n s feprocess to wait for a given time period or until a time limit has been
a
ee oWhen
reached.
D n -tratesting a BPEL process service component, you may want to bypass the wait
n
activity to continue with testing. A fast forward action enables you to specify the amount of
time for which to bypass a wait activity and move forward in the test scenario.
You can specify the amount of time for which to bypass a wait activity and move forward in
the test scenario. When the time limit expires, the wait activity is processed.

Oracle SOA Suite 12c: New Features and Capabilities 5 - 29


Debugging and Test Suite Summary
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

I like the new SOA debugger as well as the ability


to run test cases in JDeveloper. That should save
a lot of time!

I agree. I also saw that you can create composite


sensors at run time using the SOA Composer. But
this works only for a data-based MDS, not the
developer file-based MDS that we use. a
) has
ฺ c om ฺ
Still, I can see how useful that would be for other on de
l a t i u i
environments. What does the SOA Composer
interface look like for creating sensors?s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
e ep n-tran
D no

Oracle SOA Suite 12c: New Features and Capabilities 5 - 30


Using SOA Composer to Create, Update, or Delete
Composite Sensors at Run Time
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
Alongp a kthe
with n to define composite sensors in JDeveloper, new to Oracle Suite 12c is
ability
a
e t r
-to create, update, and delete composite sensors within the SOA Composer. In
ecapability
the
D non
previous versions, this functionality required changes to be made in the composite in
JDeveloper, and then a deployment of the updated composite. With this new capability,
managing sensors in the SOA Composer can be done at run time, without the need for
redeployment.
To manage sensors in the SOA Composer, select the desired composite in the Deployment
View. As shown in the slide, the tab in the middle of the screen displays composite sensors
for the selected composite. To add, update or delete a sensor, select Create Session.
Note: This works only with a data-based MDS. Making changes with SOA Composer is not
supported with the file-based MDS.

Oracle SOA Suite 12c: New Features and Capabilities 5 - 31


Summary

In this lesson, you should have learned how to:


• Debug SOA composite applications with the SOA debugger
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Create test suites and their test cases with the Create
Composite Test Wizard
• Run test suites from Oracle JDeveloper
• Debug BPEL processes from within JDeveloper
a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 5 - 32


Practice 5 Overview:
Testing and Debugging
This practice covers the following topics:
• Debugging SOA composite applications with the SOA
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

debugger
• Creating test suites and their test cases with the Create
Composite Test Wizard
• Running test suites from within Oracle JDeveloper
• Debugging BPEL processes from within JDeveloper
a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 5 - 33


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens
a r n le l
K ulk ferab
p a k ans
e tr
De non-
6
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

BPEL Editor: New Features a


) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-
What’s Next?
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

What do we have next?

Next up are the BPEL new features. I’m going to


ask our lead BPEL developers to take us through
that. OK?
a
) has
c o m
Sure! We can use the break.
o ฺ
n ideฺ
t i
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 6 - 2


Objectives

After completing this lesson, you should be able to:


• Edit BPEL activities in the Properties Window
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Create a BPEL correlation set with the Correlation Wizard


• Create and invoke an Enterprise Scheduler job in a BPEL
process

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 6 - 3


BPEL: New Features
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

I’m looking forward to exploring the changes to


BPEL in SOA Suite 12c.

Me too. I’m most interested in easier editing of a


BPEL activities, creating custom correlation sets,
and scheduling jobs to run at certain times. ) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 6 - 4


Agenda

• BPEL Editor Enhancements


• Oracle Enterprise Scheduler Service
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Correlation Set Wizard

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 6 - 5


Editing BPEL Activities
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

I’ve been getting tired of having to open a BPEL


activity to see or edit its properties. I’d like to be
able to just select it and see the properties
displayed.

Agreed. Also, I’d like to know more clearly and a


directly where there are possible errors in my
) has
BPEL activities.
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 6 - 6


Editing BPEL Activities
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
You can
p a k
edit n
theaproperty fields of activities in BPEL 1.1 and 2.0 processes by using the
e t r
- of Oracle BPEL Designer in Oracle JDeveloper. This action is the same as
e oInspector
Property
D n n
double-clicking an activity or right-clicking an activity and selecting Edit, making changes, and
clicking Apply or OK.

Oracle SOA Suite 12c: New Features and Capabilities 6 - 7


Editing Activities by Using the Properties Window
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
You can
p a k toanthes same Editor tool by clicking the Launch Assign Editor button.
return
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 6 - 8


Edit Assignment Window
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
Click the
p k aAssign
Launch n s Editor button to open the Edit Assignment window.
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 6 - 9


Editing BPEL Activities
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
The slide
p kshowsathe
n sedit window of the BPEL activity.
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 6 - 10


Viewing Warnings About Activities
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k symbol
The warning
p a n scan be used to view the warnings associated with the activities.
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 6 - 11


Additional Capabilities of the Toolbar
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
You can
p a k
add n
a description
a of actions to a BPEL process activity. This creates a TODO Tasks
e
e on the
icon - t r
activity. When you place the cursor over this icon, it displays the description of
D non
actions, which describes the actions performed by the activity in the BPEL process service
component.
You can syntactically and semantically (for example, the partner links or variables are not
defined in an invoke activity) validate a BPEL process. If validation fails, information is
displayed in the Log window.
Select Information from the Property Structure list above the Oracle BPEL Designer to view
the BPEL project version (either 1.1 or 2.0).

Oracle SOA Suite 12c: New Features and Capabilities 6 - 12


Cut, Copy, and Paste Activities
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
You can
p a k
copy anda npaste activities in the same BPEL project or between BPEL projects. This
e t r
e onthe- need to create similar activities from start to finish multiple times. You can
eliminates
D n
design an activity once and use it in multiple places, editing it as necessary.
Note: You can copy an individual OnAlarm activity from one scope activity and paste it into
another scope activity. You can also copy an individual OnAlarm activity from one pick activity
and paste it into another pick activity.
Note the following restrictions:
• You cannot copy activities from a BPEL 1.1 project to a BPEL 2.0 project or from a
BPEL 2.0 project to a BPEL 1.1 project.
• In BPEL 2.0 projects, you cannot copy an individual OnAlarm activity from a pick activity
into a scope activity, or vice versa. However, this type of copying and pasting is
supported in BPEL 1.1 projects.
• When you copy and paste a scope activity, the variables referenced in the first scope
activity are not copied.

Oracle SOA Suite 12c: New Features and Capabilities 6 - 13


Editing BPEL Designer Settings
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

We’ll explore many of


these new editing features
a
has
in the practices for this
lesson. )
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
You can
p a k editanthes BPEL designer settings.
also
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 6 - 14


Agenda

• BPEL Editor Enhancements


• Oracle Enterprise Scheduler Service
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Correlation Set Wizard

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 6 - 15


Invoking an Oracle Enterprise Scheduler Job in BPEL
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

I was looking to have my BPEL process start a job


at a later date. But there’s nothing like that in 11g.
Can I do this in SOA Suite 12c?

Yes, you can. BPEL can now call an Oracle


Enterprise Scheduler Service (OESS) job as a
BPEL activity. You can schedule the job, as well a
as have the job call your BPEL process back a s
when complete. But, to use OESS requires extra
m )h
database setup. So we can’t test it with our
n ฺ co eฺ
t io uid
developer installation as it is; but we can look at
l a
its capabilities.
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
You can
p a k
invoke annOracle Enterprise Scheduler job in a BPEL process. An Oracle Enterprise
a
e t r
e onjob- is a unit of work in the form of Java, a database stored procedure, or any
Scheduler
D n
executable. A job definition is associated with Oracle Enterprise Scheduler, which describes
how to execute the job. An Oracle Enterprise Scheduler web service submits the job from
within a BPEL process and associates a schedule with that job request.
The scheduled Oracle Enterprise Scheduler job resides in a runtime environment and is
accessible with an Oracle Metadata Services Repository (MDS Repository) connection, using
database-based access.
Note: This section describes how to submit a job from a BPEL process, and not how to wait
for the job to complete. If you want the BPEL process to wait for the job to complete, you must
invoke the web service to request a callback when the job completes, and then perform a
receive activity to get the callback. For more information, see the chapter titled “Using the
Oracle Enterprise Scheduler Web Service” in Developing Applications for Oracle Enterprise
Scheduler.

Oracle SOA Suite 12c: New Features and Capabilities 6 - 16


Oracle Enterprise Scheduler Service

Oracle Enterprise Scheduler Service (OESS) is used to perform various


maintenance and management functions:
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Scheduling sync or async web service composites or OSB proxy


services
• Scheduling user-created scripts, PLSQL, and sync or async EJB jobs
• Activating and deactivating
adapters
• Scheduling bulk instance
recovery a
• Scheduling bulk error ) has
notifications in SOA ฺ c om ฺ
t i o n ide
• Scheduling OESS jobs from
t e lla t Gu
BPEL
o n s den
• Managing file transfers with @ c Stu
i
MFT from the MFT user
l k arn e this
interface ฺku us
ak e to
e p
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k aa nscheduling
OESSpprovides s interface that is integrated with the SOA suite and is used to
e t r
n- maintenance and management functions. The scheduler component is used
e ovarious
schedule
D
acrossn
SOA, B2B, and MFT. Enterprise Manager has scheduling screens for SOA and OSB
components, and you can schedule file transfers by using the MFT console.
You can use OESS for:
• Scheduling sync or async web service composites or OSB proxy services from ESS EM
• Scheduling user-created scripts, PLSQL, sync or async web services, and sync or async
EJB jobs from ESS EM
• Activating and deactivating adapters from SOA EM
• Scheduling bulk instance recovery from SOA EM
• Scheduling bulk error notifications in SOA from SOA EM
• Scheduling OESS jobs from BPEL (JDeveloper support to make it easy)
• Managing file transfers with MFT from the MFT user interface
OESS also supports sophisticated management of scheduled jobs.

Oracle SOA Suite 12c: New Features and Capabilities 6 - 17


Creating a Database Connection to the ESS Schema
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
CreatepankOracleandatabase
s connection. This is required for querying Oracle Enterprise
e
e onjobs.
Scheduler - t r
D n
1. From the File menu, select New > Application.
2. Invoke an Oracle Enterprise Scheduler Job in a BPEL process.
3. From the Categories list, select IDE Connection.
4. Select Database connection. The Create Database Connection Wizard is displayed.
5. Complete the dialog boxes of the Create Database Connection Wizard to create the
connection to the Scheduler Oracle Metadata Services Repository database for the
runtime server where Oracle Enterprise Scheduler is deployed, and click Finish.

Oracle SOA Suite 12c: New Features and Capabilities 6 - 18


Creating a Database-Based SOA MDS Connection
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
k K ansconnection.
CreatepaaSOA-MDS
fe A database-based MDS Repository is used for retrieving the
e -
e to select.
jobs t r
D non
1. From the File main menu, select New > Application.
2. From the Categories list, select IDE Connection.
3. Select the SOA-MDS connection. The Create SOA-MDS Connection dialog box is
displayed.
4. From the Connection Type drop-down list, select DB Based MDS.
5. In the Connection list, ensure that the database connection created in Step 4 is
displayed.
6. From the “Select MDS partition” drop-down list, select the partition that includes Oracle
Enterprise Scheduler jobs. For jobs defined in the Oracle Enterprise Scheduler
predeployed native hosting application, the MDS partition name is “essUserMetadata.”
7. Complete the remaining fields in the dialog box to create the SOA-MDS connection, and
then click OK.

Oracle SOA Suite 12c: New Features and Capabilities 6 - 19


Adding a Schedule Job Activity to the BPEL Process
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
Double-click
p n to invoke the Edit Schedule Job dialog box. You can use this dialog
theaactivity
e t r
- the application, the description, the Oracle Enterprise Scheduler job, the job
e to specify
box
D non
schedule, and the job start time.
The following fields can be specified on the General Tab of the “Edit Schedule Job” dialog
box:
• Application
• Name of the Job
• Description
• The Oracle Enterprise Scheduler job
• The job schedule
The Job Start and End Time can also be specified in this dialog box.

Oracle SOA Suite 12c: New Features and Capabilities 6 - 20


Editing the Schedule Job Activity
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k properties
Application
p a n s are unique to a specific job. When you select an Oracle Enterprise
r
ee onjob-ton the General tab in the Edit Schedule Job dialog box, the application
Scheduler
D n
properties defined in the job are displayed in this dialog box. You can also specify your own
application properties in the User Defined Properties section.
Job Properties and User-Defined Properties can be specified via the Edit Schedule Job dialog
box.
The message shown is displayed because the Oracle Enterprise Scheduler web service
includes an abstract WSDL.
When you click Yes, in the Invalid WSDL dialog box, a concrete wrapper WSDL is created for
the abstract WSDL. The wrapper WSDL includes an Oracle Enterprise Scheduler partner link
that is added to the BPEL process.

Oracle SOA Suite 12c: New Features and Capabilities 6 - 21


Viewing the Scheduler Reference
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
The expanded
p k schedule
a n s job activity consists of the following automatically configured
ee on-t
activities: r
D n
• EssAssign: Contains copy rules operations for the system and application properties
and other job information
• EssInvoke: Invokes the Oracle Enterprise Scheduler partner link
• EssService: Contains the Oracle Enterprise Scheduler web service partner link
Note: By default, the Oracle Enterprise Scheduler web service is not secure. You must first
secure it with an Oracle Web Services Manager policy by using a WLST command or Oracle
Enterprise Manager Fusion Middleware Control before using that web service to submit a job
from a BPEL process.

Oracle SOA Suite 12c: New Features and Capabilities 6 - 22


OESS Summary

That looks easy enough to set up. We just need to


get the administrator to set up the database for
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

OESS.

Another feature is to set up an ESS job to call


back to the BPEL process when complete.

There is a lot more I’d like to learn about OESS! a


a s
m )h
ฺ c o ฺ
Because we don’t have the time orio
t n i de
the environment to explore this l a
el nt G
any u
s t
further, we’ve included an
Appendix at the end c
OESS
t u de
oofnthis course.
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a
Remember:
p k If you
a nwant the BPEL process to wait for the job to complete, you must invoke
e t r
- to request a callback when the job completes, and then perform a receive
eweb service
the
D non
activity to get the callback.

Oracle SOA Suite 12c: New Features and Capabilities 6 - 23


Agenda

• BPEL Editor Enhancements


• Oracle Enterprise Scheduler Service
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Correlation Set Wizard

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 6 - 24


What Is a Correlation Set? – Review

Correlation sets in BPEL:


• Provide a method for directing web service responses to the
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

correct BPEL process service component instance


• Are used to identify asynchronous messages to ensure that
asynchronous callbacks locate the appropriate client
• Are defined when interactions are not simple invoke-receive
activities
a
• Enable you to associate asynchronous messages based on
) has
message body contents
ฺ c om ฺ
i
Note: Not all business scenarios require correlations.
t o n ide
a uell nt G
s t
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
p a k
Correlation sets n a BPEL mechanism that provides for the correlation of asynchronous
are
a
e
e onbased
messages t r
- on message body contents. To use this method, define the correlation sets
D n
in your BPEL process. This method is designed for services that do not support WS-
Addressing or for certain sophisticated conversation patterns, for example, when the
conversation is in the form A > B > C > A instead of A > B > A.
Correlations enable you to associate asynchronous messages based on message body
contents. Note that not all business scenarios require correlations:
• Synchronous calls do not require correlations because the conversation context is
maintained in the stack or across a TCP connection.
• Consenting BPEL processes typically correlate messages using WS-Addressing
headers to pass tokens that act like session cookies in a web application.
Correlation is required in the following scenarios. In these cases, a BPEL process must be
configured to view some content of the message to select the correct process instance to
receive the message.
• When using an asynchronous service that does not support WS-Addressing
• When receiving unsolicited messages from another system
• When the message travels through several services and the response is solicited by the
initial service from the last service directly
• When communicating through files

Oracle SOA Suite 12c: New Features and Capabilities 6 - 25


Correlation Set Contents and Concepts: Review

The correct BPEL instance is obtained as follows:


• A BPEL process provides a construct called a correlation set
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

to allow for custom correlation.


• A correlation set is a collection of properties used by the
BPEL process service engine to identify the correct process to
receive a message.
• Each property in the correlation set can be mapped to an
element in one or more message types through property as a
h
aliases. m) co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
The following
p are a nthe key correlation concept attributes. You set these attributes in Oracle
e
e onwhen
JDeveloper t r
- designing a correlation set with the Correlation Wizard:
D n
• An initiate attribute is set as follows:
- yes: The correlation set is initiated with the values of the properties available in
the message being transferred.
- no: The correlation set validates the value of the property available in the
message.
• A pattern attribute is set as follows:
- in (for BPEL 1.1) or response (for BPEL 2.0): The correlation property is set and
validated on the incoming message.
- out (for BPEL 1.1) or request (for BPEL 2.0): The correlation property is set and
validated on the outgoing BPEL message.
- out-in (for BPEL 1.1) or request-response (for BPEL 2.0): The correlation
property is set and validated on both incoming and outgoing messages.
• Property aliases map a global property to a field in a specific message part. This action
enables the property name to become an alias for the message part and location. The
alias can be used in XPath expressions.

Oracle SOA Suite 12c: New Features and Capabilities 6 - 26


Creating Correlation Sets in Oracle JDeveloper

• You can create correlation sets on the following resources:


– Receive activity
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

– Reply activity
– Invoke activity
– onMessage branch
– onEvent branch
• There are two methods for creating correlations sets in
a
JDeveloper:
) has
– Automatically by using the Correlation Wizard in an activity
ฺ c om ฺ
– Manually by using the Structure window t i o n ide
t e lla t Gu
o
Let’sn s at the
look d e n
new
@ c StuWizard!
Correlation
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 6 - 27


Creating a Correlation Set with the Correlation Wizard
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k aannsapplicable activity (such as a receive activity) and select Setup
1. Right-click
p
e n-tr
De Correlation.
no
The Correlation Wizard: Define Correlation Set page is displayed.
2. Provide responses appropriate to your environment, and then click Next.

Oracle SOA Suite 12c: New Features and Capabilities 6 - 28


Correlation Wizard: Initiate and Define Property Aliases
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
a k K this
Selectpwhether n s fe is the initiator in the correlation set.
activity
tra the correlation set is initiated with the values of the properties occurring in
ee setoton-yes,
D
When
n
the message being sent or received.
The Correlation Wizard: Property Aliases page is displayed for mapping properties to values.
The properties defined previously on the Define Correlation Set page of the wizard are
displayed in the Property Aliases table.
Property aliases enable you to map a property to a field in a specific message part of a
variable. This action enables the property to become an alias for the message part and
location.
Click a property in the table and select a method for mapping the message part of the variable
to the property.

Oracle SOA Suite 12c: New Features and Capabilities 6 - 29


Mapping the Variable Message Part to a Property:
Alias Editor
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
Click the
p k (first)
Edit a n s to invoke the Alias Editor dialog box.
icon
r
e n-tthe variable.
Da.e Expand
no
b. Select the message part to represent the property, and click OK.

Oracle SOA Suite 12c: New Features and Capabilities 6 - 30


Mapping the Variable Message Part to a Property:
Alias Drag and Drop Editor
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
p a
Click the k
Alias Drag
a n and Drop Editor (second) icon to invoke the Alias Drag and Drop Editor
e
e box.
dialog - t r
D non
a. Expand the variable.
b. Select the message part to represent the property.
c. Drag the message part to the property row on the Correlation Wizard: Property Aliases
page.

Oracle SOA Suite 12c: New Features and Capabilities 6 - 31


Correlation Wizard: Activities and Activity Browser
Click the Add icon to
add more activities to
this correlation set.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
has
Multiple activities can
)
ฺ c om ฺ
correlate on the same
correlation set.
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
Click the
p k icon
Add a ntosadd more activities to this correlation set. (Multiple activities can
ee oonnthe
correlate r
-t correlation set.)
D n
The Activity Browser dialog box is displayed.

Oracle SOA Suite 12c: New Features and Capabilities 6 - 32


Activity Correlation Editor: Initiate and Aliases Tabs
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• request
• response
• request-response

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
In the p a k K anActivities
Correlation sfe field, select the activity and click Edit to invoke the Initiate tab of
eActivity
the tr
e nCorrelation
- Editor dialog box.
D no
Select appropriate values from the Initiate and Pattern drop-down lists. For this example:
• Select “no” from the Initiate drop-down list (because the correlation set validates the
value of the property available in the message).
• Select “request” from the Pattern drop-down list (because the correlation property is set
and validated on the outgoing BPEL message).
For BPEL 2.0, you can select “response” if the correlation applies to an inbound message,
“request” if the correlation applies to an outbound message, or “request-response” if the
correlation applies to both outbound and inbound messages.
For BPEL 1.1, you can select “in” if the correlation applies to an inbound message (response),
“out” if the correlation applies to an outbound message (request), or “out-in” if the correlation
applies to both inbound and outbound messages. (response and request).
Click the Aliases tab.
Map the message part of the variable to the property.

Oracle SOA Suite 12c: New Features and Capabilities 6 - 33


Correlation Wizard: Summary Review
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
Review
p a k correlation
the a n s set details on the Activities, Correlation Set, and Aliases tabs.
r
e n-t Displays the activities involved in the correlation and their roles (For
D•e Activities:
no
example, the receive activity is the initiator and the invoke activity is the responder.)
• Correlation Set: Displays the name of the correlation set
• Aliases: Displays the property aliases defined for the activities in the correlation set

Oracle SOA Suite 12c: New Features and Capabilities 6 - 34


Viewing Correlation Sets in the Properties Window
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
In the p a k K awindow,
Structure n sfe view the correlation set, properties, and property aliases you defined
in e
the n tr Wizard.
e Correlation
-
D no
In Oracle BPEL Designer, click the Correlations tab of one of the participating activities to
view the details you defined (for example, the receive activity).

Oracle SOA Suite 12c: New Features and Capabilities 6 - 35


Manually Creating Correlation Sets
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

That is much easier than we have been doing it.


Didn’t you mention a new manual way as well?

Yes, you can do it through the Structure or


Property window, but it is a more manual process. a
If necessary, we can look it up in the a s
documentation. It’s described there step by step. m )h
n ฺ co eฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
You will
p a k
also wanta nto know more about:
e t r
- IDs and different composite revisions, setting correlations for an IMA using a
D•e Conversion
non
fromParts element with multiple parts, routing messages to the same instance
• How to use the same operation in entry and midprocess receive activities
• How to route a message to a new or existing instance when using correlation sets

Oracle SOA Suite 12c: New Features and Capabilities 6 - 36


Creating Correlation Sets
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
Creating
p k anssets are now much easier.
correlation
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 6 - 37


Searching for Correlation Sets
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
Searching
p a k an existing
for a n s correlation set is now much easier.
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 6 - 38


Summary

In this lesson, you should have learned how to:


• Edit BPEL activities in the Properties Window
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Create a BPEL correlation set with the Correlation Wizard


• Create and invoke an Enterprise Scheduler job in a BPEL
process

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 6 - 39


Practice 6 Overview:
BPEL Editor: New Features
This practice covers the following topics:
• Editing BPEL activities in the Properties Window
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Creating a Correlation Set with the Correlation Wizard

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 6 - 40


7
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Transformations a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-
Objectives

After completing this lesson, you should be able to:


• Transform external, native format data to XML data that is
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

usable in Oracle SOA Suite 12c


• Describe the new options for executing an nXSD translation in
Mediator and BPEL
• Describe how XQuery Mapper can be used to create XQuery
transformations in a Mediator or BPEL component
a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 7 - 2


Native XSD to XML Format
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

I’ve liked using the Native XSD builder with JCA


Adapters to translate between native XSD format,
such as strings, CSV, and XML. I wish I could do
that inside Mediator or BPEL.

That feature has been added in 12c. It supports


Native to XML, Opaque to XML, and attachment to
a directory.
s a
)ha
m
co eฺ
So now I can save my large messages as
n ฺ
attachments to a file. I’d like to see that. tio id
l l a G u
n s te ent
@ co Stud
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
The BPEL
p a kprocessa n s
translate activity enables you to translate messages between native XSD
e
e and
format t r
- format. The following types of translation are supported:
XML
D
• non
Inbound translation:
- Native format to XML
- Opaque to XML
- Native to an attachment in a directory
• Outbound translation:
- XML to native format
- XML to an attachment in a directory
Inbound and outbound translations are supported in both BPEL 1.1 and 2.0 projects.
Inbound message translation automatically uses the doTranslateFromNative function.
Outbound message translation automatically uses the doTranslateToNative function.
You do not need to create an assign activity and invoke the Expression Builder dialog box to
configure these functions. The translate activity automatically generates the assign activity.

Oracle SOA Suite 12c: New Features and Capabilities 7 - 3


Agenda

• Native XSD Translations


• XQuery Transformations
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 7 - 4


Native Data Transformation: Review

2,100,credit,two_day,initial,VISTA,1234-1234-1234-1234
SKU301|Music Player 1Gb|45|3
SKU305|Music Player 160Gb|250|20
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Header Transformation
Information Order Detail

<customer>
<custID>2</custID>
<ID>100</ID>
s a
***
)ha
<itemlist>
m
co eฺ
<item>
n ฺ
<prodID>SKU301</prodID>

l a t io uid
el nt G
<prodName>Music Player 1Gb</prodName>
<price>45</price>
s t
<quantity>3</quantity>
</item> c on tude
***
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
The example
p in a n slide shows incoming delimited data passed into the adapter, and that
the
e
e passed
data t r
-out of the adapter in XML format, which is suitable for processing in Oracle SOA
D non
Suite 12c. An outbound adapter can be configured to perform the opposite transformation,
passing XML data out in a delimited (or other) format.

Oracle SOA Suite 12c: New Features and Capabilities 7 - 5


Translating Native Format Data: Adapters and Mediator
Mediator can now process native
format data within routing rules.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Adapter Mediator Adapter

s a
)ha
Exposed Services Components External References
m
co eฺ
n ฺ
File, FTP, and JMS adapters can
l a t io uid
convert data from native format to XML,
and from XML to native format. n s
This
tel ent G
allows the data values to bec o tud
accessed
n
by XPath transformationsi @ i
within theS
s
a r h
k u lk se t
application.

p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
a k K aand
OraclepMediator, n
e
sfFile, FTP, and JMS adapters accept native messages in XML or
e
e oformat
non-XML t r
- and publish them as XML messages. They can also accept XML messages
D n nthem back to native EIS format. This translation from native data format to XML
and convert
and back is performed by using a definition file (non-XML schema definition), which itself is
defined in the XML schema format. The Native Format Builder Wizard enables you to sample
native data and create the native XSD (nXSD) grammar for translation of native data.

Oracle SOA Suite 12c: New Features and Capabilities 7 - 6


Translating Native Format Data: BPEL Translate Activity
BPEL now has a new Translate activity.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k activity
A translation
p a n scan be edited from native to XML and XML to native.
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 7 - 7


Building the nXSD Schema in Advance

In 12c, you can launch the


Native Format Builder to
create the nXSD Schema
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

file ahead of time.

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 7 - 8


Selecting an nXSD Schema to Use:
Browse or Build with the Native Format Builder
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
a k ofKtheannXSD
To thepright sfe Schema field, select the schema to use:
e -tr already exists, click the Search (first) icon to invoke the Type Chooser
D•e Ifntheonschema
dialog box.
• If the schema does not exist, click the second icon to invoke the Native Format Builder
Wizard to create the schema.
The following example describes how to use the Native Format Builder Wizard to create a
new schema from a text file that uses a comma-separated delimiter.
a. In the File Name field of the “File Name and Directory” dialog box, enter a name, and
then click Next.
b. In the Choose Type dialog box, select Delimited (contains records whose fields are
delimited by a special character), and click Next.
c. In the File Description dialog box, click Browse to select the text file that uses the
comma-separated delimiter. The Select sample file dialog box is displayed.
d. Select the file to use, and click OK.

Oracle SOA Suite 12c: New Features and Capabilities 7 - 9


Starting the Native Format Builder
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Invoke the Native Format


Builder from either the
Adapter Wizard, the Mediator
a
Translate to Native option, or
s
)ha
the BPEL Translate Activity.
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
The Native
p Formata nBuilder is accessible from the configuration wizard for any adapter that
e
e onative
supports t r
- format translation, or via the “Translate to Native” option in the Mediator
D n n
Configuration dialog box.

Oracle SOA Suite 12c: New Features and Capabilities 7 - 10


Specifying File Name and Native Data Format
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Specify the name of the file to create,


and the type of native data to process.

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sthe fename of the file (.xsd) that will describe the native format, and by
k
Begin byaspecifyingn
eep othe
selecting
D n tra of data it will represent.
-type
n
The Native Format Builder Wizard supports file formats such as delimited, fixed-length,
complex type, data type description (DTD), and COBOL Copybook.
• The Delimited option enables you to create native schemas for records, where fields are
separated by a value, such as a comma or number sign (#).
• The Fixed Length (Positional) option enables you to create native schemas for records
where all fields are of fixed length.
• The Complex Type option enables you to create native schema for records where the
fields may themselves be records having multiple delimiter types.
• The DTD option enables you to generate native schema from the user-supplied DTD,
which contains information about the structure of an XML document.
• The COBOL Copybook option enables you to generate native schema from the
user-supplied COBOL Copybook definition.

Oracle SOA Suite 12c: New Features and Capabilities 7 - 11


Specifying a Sample File
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
Specify a sample file and specifyh
) a
o m
how it should be interpreted.

o n ฺc eฺ
l l a ti u id
s te ent G
n
co Stud
i @
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k Format
The Native
p a n s reads a sample native file to initiate the definition process. On the
Builder
ee shown
screen n r
-tin the slide, specify the sample file and provide additional instructions on how
D n o
to interpret the contents of that file.

Oracle SOA Suite 12c: New Features and Capabilities 7 - 12


Defining a Schema for a Native Format

Icons provide access to tools to


define XML schema elements
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

and complex types.

s a
)h a
A sample native format
file is displayed.
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
After reading
p n file, the wizard provides features that enable you to fully define the
theasample
e
e oXML
resultant t r
- schema file.
D n n

Oracle SOA Suite 12c: New Features and Capabilities 7 - 13


Defining the Input (or Output) XML Data:
XPath Builder or Expression Builder
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
Input can
p kbe specified
a n s using the XPath Builder.
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 7 - 14


Translating Inbound Native Data to XML Stored as an
Attachment
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k areauseful
Attachments
p n s for scenarios in which incoming data is very large.
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 7 - 15


Native XSD to XML Summary
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

That is so easy. Also, native translation uses the


same editor I have been using in 11g.

Yes. Also, new MFL and JSON types were added.


When searching for an input, we can browse to
the SOA MDS, of course.
s a
)ha
Using SOA MDS becomes more and more m
co eฺ
convenient. n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
Note:p a k K aFormat
Message n sfeLanguage (MFL) is an Oracle proprietary mechanism used to convert
non-XML
D -tr or XML to non-XML.
ee otonXML
n

Oracle SOA Suite 12c: New Features and Capabilities 7 - 16


Agenda

• Native XSD Translations


• XQuery Transformations
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 7 - 17


Transforming XML Data

In SOA Suite 11g, options for transforming data included:


• Mediator
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

– Using an XSL transformation mapping (Routing Rule)


• BPEL
– Transform activity (using XSLT)
– Copy rules in an Assign activity (using Simple Expressions,
XPath expressions, or XPath functions)
a
In SOA Suite 12c, additional options now include: ) has
• Mediator ฺ c om ฺ
t i o n ide
– Using an XQuery transformation mapping (Routing
e lla t G u
Rule)
n t
s den
• BPEL o
c Stu
i @
– New XQuery Transform activity
l k arn e this

k ฺ ku in o11gusis now called “XSLT Transform.”
The “Transform” activity
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 7 - 18


XPath Functions: Review
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Functions appear
s a
as icons.
)ha
m
co eฺ
n ฺ
l a t io uPalette
id
l
The Component
G
te offersedrag-and-drop
t
n s
o tud the XPath
access
nto
c
r n i@ is S function library.
u l ka se th
a k ฺk to u
e e p se
i ( d icen Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k aprovide
XPathpfunctions n s the means to evaluate and manipulate data in an XSL transformation.
r
ee onof-tfunctions include type conversion, date, logical, mathematical, string, and
Categories
D n
others. Text literals can also be added in a similar manner. The functions are accessed from
the Component Palette, and added to mappings by dragging and dropping the appropriate
function onto the center of the canvas, or directly onto an existing mapping.
Functions are displayed as icons. Nested functions are displayed with the innermost function
to the left, and the subsequent outer functions to the right. Execution of the functions is also
performed from left to right.

Oracle SOA Suite 12c: New Features and Capabilities 7 - 19


XSL Transformations (XSLT): Review
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k Suite
OraclepSOA a n s always provided a graphical XSLT Mapper. In the 12c release, this
has
ee has
mapper n r
-t enhanced to support large and complex stylesheets in the design view
been
D n o
without the need to switch to source view through the introduction of two views:
• Map View: This is the traditional view of the XSLT Mapper that was available in
previous releases and can be used for simpler maps. In Map View, the user sees a
simple single template rule that contains all the XSLT instructions to be executed.
Possible output nodes from the target schema are displayed under the template for easy
drag-and-drop mapping. The user may also add simple XSLT instructions to create
loops and conditional statements.
• XSLT View: This view is a more advanced mode that supports several new features,
including Named Templates, Template Rules, Execution View, Completion Status, and
Testing.
The XSLT View is intended for the advanced user who would normally edit XSLT in source
view. The XSLT View includes the same panes as the Map View, except that the right target
pane is divided into two panes: the top pane called the XSLT pane and the lower pane called
the target pane. If no target schema is defined, the lower pane is not shown. If no source
schema is defined, the source pane is still displayed to enable you to add parameters and
variables, whose values can be referenced by the XSLT. The XSLT View enables you to
graphically display and edit any XSLT stylesheet, irrespective of the complexity involved.

Oracle SOA Suite 12c: New Features and Capabilities 7 - 20


XQuery: Introduction

According to the W3C standards body that oversees the


development of the XQuery standard:
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• XQuery is a standardized language for combining documents,


databases, webpages, and almost anything else.
• XQuery replaces proprietary middleware languages and web
application development languages. XQuery is simpler to work with
and easier to maintain than many other alternatives.
s a
)ha
m
co eฺ
n ฺ
XQuery is designed to work with the XML
l a t io uid
data model and be a comprehensive query
s t el nt G
language for data that is expressed in XML. on
c t u de
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
XQueryp a
iskdesigned
a n to query XML data from both XML files and relational databases. Just as
e t r
- language for structured data that is expressed as relational tables, XQuery
e is theonquery
SQL
D n to work with the XML data model and be a comprehensive query language for
is designed
data that is expressed in XML. You can use a single XQuery on multiple and heterogeneous
data sources to transform the query result into new XML data.

Oracle SOA Suite 12c: New Features and Capabilities 7 - 21


XQuery Concepts
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
ha
• XQuery is built on XPath XQuery also provides a )
c m
o ฺ
expressions. ฺ
mechanism for extracting
n
• Applications of XQuery io relational
information from
l a t u i de
include querying, generation,
and transformation of XML. s t el services.
databases, files,
n t G
and web

c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
XQuery
p a iskbuilt on
a nXPath expressions. It is used to query, generate, and transform XML
e
e on-
content. t r
D n querying: XML can map a large number of different data models. XQuery thus
• XML
provides a mechanism for extracting information from relational databases, files, and
web services simultaneously.
• XML generation: XQuery enables you to construct XML data by using the result of a
query.
• XML transformation: XQuery can construct XML as a result of evaluating a query
expression—in many cases, more expressively and efficiently than XSL
Transformations (XSLT). XQuery enables you to scan a hierarchy of elements. You can
use it to apply transformations at each level of the hierarchy by defining a recursive
function.

Oracle SOA Suite 12c: New Features and Capabilities 7 - 22


XSLT Versus XQuery

• Similarities:
– XPath
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

– Data model
– Functions and operators
• Differences:
– Syntax
— XQuery is similar to SQL.
XSLT stylesheets use XML syntax. s a

)h a
– Performance m
XSLT loads the entire input document in memory. n ฺ co eฺ

l a t io uid
— XQuery loads only the objects that are needed
s t el bynthe t Gcurrent
statement.
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
XSLT p a
andkXQuery a nare languages designed to query and manipulate XML documents. Their
e
e and
features t r
-capabilities have several overlaps.
D non

Oracle SOA Suite 12c: New Features and Capabilities 7 - 23


BPEL: XQuery Transform Activity
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
BPEL now has a new
XQuery Transform )ha
activity. m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
This activity
p enables
a n you to create an XQuery transformation that maps source elements to
e
e elements
target t r
- (for example, incoming purchase order data into outgoing purchase order
D non
acknowledgment data).
The Edit XQuery dialog box enables you to perform the following tasks:
• Define the source and target variables and parts to map.
• Specify the XQuery Mapper file.
• Click the second icon (the Add icon) to the right of the Mapper File field to access the
XQuery Mapper for creating a new XQuery file for graphically mapping source and
target elements. Click the Edit icon (third icon) to edit an existing XQuery file.

Oracle SOA Suite 12c: New Features and Capabilities 7 - 24


Mediator: XQuery Transformation Type
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Mediator now has


a new XQuery
transformation
Type option.

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
A routing
p krule within
a n sMediator can now use an XSLT or an XQuery transformation.
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 7 - 25


XQuery Mapper: Graphical View
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
Data is
p a
at k
the heart
a nof every integration project. It can be received and transmitted through a
e
number - t
e ofondifferentr protocols and many different shapes (for example XML, JSON,
D n
comma-separated lists, and so on).
XQuery
The new XQuery Mapper provides a bidirectional view to construct XQuery 1.0 modules and
libraries. The left pane of the XQuery Mapper shows the source tree, and the right pane
shows the target tree. Tree nodes can be XML elements, attributes, and some other XQuery
constructs. In addition to the mapper design view and the source view, expressions can also
be edited in the properties window. The properties window can also be used to create more
complex XQuery expressions either from predefined functions or by defining your own.

Oracle SOA Suite 12c: New Features and Capabilities 7 - 26


XQuery Mapper: Source Editor
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
Some tasks cannot be directly
)ha
m
co eฺ
performed in the graphical view.
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a
The source
p k editora nenables you to edit the XQuery map directly, and also allows you to perform
e t r
- be directly performed in the graphical view.
e thatocannot
tasks
D n n
Click the XQuery Source tab at the bottom left of the XQuery Mapper graphical view to display
the source editor.

Oracle SOA Suite 12c: New Features and Capabilities 7 - 27


Additional Options in the XQuery Mapper

Zones identify conditional


construct areas.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
Adding an XQuery
function to the center )ha
pane of the XQuery m
co eฺ
n ฺ
Mapper.
l a t io uid
s t el nt G
c on tude
FLWOR:a r ni@ his SOrder By, Return)
(For, Let,tWhere,
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
You can
p a k
create n (For, Let, Where, Order By, Return) expressions in the Source View.
FLWOR
a
e
FLWOR - t r
e oexpressions are represented as zones in the XQuery Mapper target tree.
D n n
Zones identify areas in the target tree that are associated with FLOWR constructs or
If-Then-Else conditional constructs. Zones are represented by yellow brackets to the left of
the target tree.
If you move the cursor over a yellow line representing a zone, the line turns blue. For FLWOR
zones, additional buttons appear, corresponding to the For-Let, Where, and Order By clauses.

Oracle SOA Suite 12c: New Features and Capabilities 7 - 28


Summary

In this lesson, you should have learned how to:


• Transform external, native format data to XML data that is
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

usable in Oracle SOA Suite 12c


• Describe the new options for executing an nXSD translation in
Mediator and BPEL
• Describe how XQuery Mapper can be used to create XQuery
transformations in a Mediator or BPEL component
a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 7 - 29


Practice 7 Overview: Use Case
The Mediator will perform an
XQuery transformation of
data for one File Adapter, and
an XSL transformation for the
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

second File Adapter.

The inbound File adapter


will convert the delimited
data to XML format.

s a
)ha
m
co eฺ
n ฺ
The outboundl a t io uid
t el will nt G
File adapters
s
write
c nthe datautode
ofile
i @ the S t
system.

l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k you
In thisppractice, a n screate, deploy, and run a composite application that receives delimited
eefromoanFile
data r
-t adapter. This data is transformed to XML format and passed to a Mediator.
D n
The Mediator then transforms the data to the XML format that is desired by the receiving
application. In this practice, this application is an outbound File adapter that writes the data
from the composite application to the file system.

Oracle SOA Suite 12c: New Features and Capabilities 7 - 30


Practice 7 Overview:
Use Case
This practice covers the following topics:
• Using the XQuery Mapper
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Using the XSLT Mapper

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 7 - 31


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens
a r n le l
K ulk ferab
p a k ans
e tr
De non-
8
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Protecting PII Data a


) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-
Objectives

After completing this lesson, you should be able to encrypt


sensitive data in composite applications.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 8 - 2


Protecting Personally Identifiable Information
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

We have had security concerns because


administrators can view message contents in the
EM FMWC console. If the message is not
encrypted, they can see the contents in clear text.

SOA Suite 12c now allows us to encrypt and


decrypt specific fields in messages to solve that
very issue.
s a
)ha
m
co eฺ
Let’s take a look at how this works and how to
n ฺ
configure it.
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
You can
p a k
encrypt a n decrypt fields of a message to protect sensitive data (known as
and
e
personally - t r
e onidentifiable information [PII]) flowing in web services and JCA adapters in Oracle
D n
SOA Suite and Oracle Service Bus. This feature provides for the obfuscation of certain fields
(for example, SSNs) to prevent this data from appearing in administration consoles in clear
text.

Oracle SOA Suite 12c: New Features and Capabilities 8 - 3


Encrypting and Decrypting Specific Fields of Messages

The following are the main tasks involved in protecting PII data:
• Determine what PII data to protect.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Compose the XPath expressions to protect the PII data.


– Determine which fields are encrypted and then decrypted.
• Configure the PII encryption key credential.
• Create the pii_security_policy credential and add it to
the WebLogic domain. a
• Attach the pii_security_policy credential to the SOA
) has
m
Composite. ฺco ฺ o n ide
t i
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k describes
This lesson
p a n s a solution for protecting Personally Identifiable Information (PII) when
ee the
outside n r
-t of a security policy. PII refers to social security numbers, addresses, bank
control
D n o
account numbers, and other similar information that is typically associated with one specific
user and must generally be protected.

Oracle SOA Suite 12c: New Features and Capabilities 8 - 4


Message Encryption and Decryption in a SOA
Composite Application
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Unencrypted

s a
)ha
Encrypted m
n ฺ co eฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
The example
p in a n slide shows an incoming message being encrypted when entering the
the
e t r
- application in a service binding component and an outgoing message being
e composite
SOA
D non
decrypted when exiting the SOA composite application in a reference binding component.
Messages outside the composite can be protected with other message protection policies
(WS-Security/SSL).
Note: If both a PII policy and an authorization policy are attached to a SOA composite
application, the authorization policy is executed before the PII policy. This is because the PII
policy may encrypt the field used for authorization.
If the authorization policy is attached to a component and it requires an already-encrypted
field, authorization fails.

Oracle SOA Suite 12c: New Features and Capabilities 8 - 5


Encrypting Sensitive Data
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Click the pencil icon to edit.

s a
)ha
m
co eฺ
n ฺ
l a t io uid
The only choice will be
s t el nt G
on tude
oracle/pii_security_policy.
c
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
p a
To encryptk and n specific fields of messages, right-click a service binding component,
decrypt
a
e t r
- Sensitive Data > Encrypt Sensitive Data.
e selectonProtect
and
D n
The PII Configuration dialog box is displayed. You must now perform the initial encryption on
the incoming message.
Encryption can be enabled and disabled.

Oracle SOA Suite 12c: New Features and Capabilities 8 - 6


Selecting Request Message Fields to Encrypt

Add one or
more fields to
be encrypted.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Optionally (if
needed), apply
a
has
decryption to the
response data. )
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
Click the
p k icon
Edit a tosidentify the elements in the schema to encrypt. The Input tab of the
n
ee fields
“Select n r
-tot encrypt” dialog box is displayed.
D n o
Click the Add icon to create an XPath expression that identifies the fields of the request
message to encrypt (for example, a user’s name, credit card number, or social security
number).
Click the CSF tab.
Note: Output allows you to choose what field to copy the encrypted data to.

Oracle SOA Suite 12c: New Features and Capabilities 8 - 7


Selecting the Credential Store Framework (CSF) Key
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a
Selectpthekcredential
a n store framework (CSF) key to use. The credential store is used for the
e
e storage
secure t r
- of credential keys.
D non
After encryption is complete, the message proceeds through the service components of the
SOA composite application.

Oracle SOA Suite 12c: New Features and Capabilities 8 - 8


Decrypting Specific Fields

When the message reaches a reference


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

binding component and is ready to exit


the SOA composite application, you must
decrypt the encrypted message.

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
The Input
p ktab ofathens“Select fields to decrypt” dialog box is displayed. For asynchronous
ee onthere
processes,
D -tr are two steps: one for the input message and the other for the output
n
message.
Click the Add icon to invoke the Expression Builder dialog box for creating an XPath
expression that identifies the fields to decrypt (for example, a credit card number or driver’s
license field).
Click OK when complete.

Oracle SOA Suite 12c: New Features and Capabilities 8 - 9


Adding the Policy Credential to the WebLogic Domain

The Administrator will need to do the following:


• Launch WLST and connect with the Admin role to the Admin
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Server for the WebLogic domain.


• Execute the createCred() WLST method. Syntax is:
createCred(
map=“oracle.wsm.security”,
key=“pii-csf-key”, s a
)ha
user=“weblogic”, m
n ฺ co eฺ
password=“welcome1”,
l a t io uid
s t el nt G
n
desc=“weblogic key for opii”) de c Stu
i @
Note: The server instances do lnot k arnrequire
e t hisa restart.
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k athe
After configuring
p n scomposites with oracle/pii_security_policy, you must add keys
and n r
eeuserocredentials
-t to the credential store.
D n
Use the createCredWLST command to create entries in the oracle.wsm.security
credential map for any csf-key user credentials.
connect("weblogic","password","t3://myAdminServer.example.com:7001")
wls:/DefaultDomain/serverConfig>
createCred(map="oracle.wsm.security", key="pii-csf-key",
user="weblogic", password="password", desc="Key for
pii_security_policy")
If you do not perform this task, the following error occurs:
oracle.wsm.security.SecurityException: WSM-00016 : The
username/password credentials or certificates pii-csf-key are
missing.

Oracle SOA Suite 12c: New Features and Capabilities 8 - 10


Summary

In this lesson, you should have learned to encrypt sensitive data


in composite applications.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 8 - 11


Practice 8 Overview:
Protecting PII Data
This practice covers the following topics:
• Applying PII data encryption and decryption to a SOA
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Composite
• Creating the PII policy credential
• Deploying and testing the Composite

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 8 - 12


9
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Fault Policy Wizard a


) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-
Objectives

After completing this lesson, you should be able to:


• Create a Fault Policy Document
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Define fault policies by using the Fault Policy Wizard

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 9 - 2


Fault Policy Wizard
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

I like using the fault management framework to


handle generic BPEL and Mediator faults. It saves
time and effort. But coding the needed files
manually is tedious and error prone.

Agreed. SOA Suite 12c adds a new wizard to


design a fault policy and associate the fault policy
with the fault policy binding file. a
) has
We still have to decide what faults to capture, ฺ c om ฺ
where to send alerts, and what actions to take.t i o n ide
However, this is much easier.
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k Suite
OraclepSOA a n s
provides a generic fault management framework for handling faults in
e t r
- If a fault occurs during run time in an Invoke activity in a process, the
e processes.
BPEL
D non
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.
• 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.
A set of conditions invoke an action (known as a fault policy).
Email or JMS notifies users of errors associated with a condition.

Oracle SOA Suite 12c: New Features and Capabilities 9 - 3


Fault Management Framework: Overview
The Fault Management Framework
provides error handling that is external
to the SOA composite, and does not Fault The fault policies file
impact the Mediator, BPEL design, or
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Management defines faults, conditions,


run time.
Framework and actions.
Actions include:
• Retry
• Human Intervention
Composite Application • Terminate
Possible Fault
Faults Policies
Mediator BPEL

s a
)ha
m
co eฺ
n ฺ
l a t io uid
The fault bindings file associates Fault
s t el nt G
fault policies with a composite
application, component, or service c on tude
Bindings

reference.
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
a kK
OraclepSOA Suite n s
12c
feprovides a generic Fault Management Framework for handling faults in
composite
D -tra
ee onapplications that contain Mediator and BPEL components. The purpose of the
n
Fault Management Framework is to provide error handling that is external to SOA and does
not impact the SOA or BPEL design or run time.
The framework is implemented by using policies defined in XML. These policies are reusable
across composites and components, and can catch both runtime and business faults. When a
fault is caught, the policy defines actions (such as retry, human intervention, replay scope,
rethrow fault, abort, and custom Java actions) that can be used for the SOA instance. When
human intervention is used, Enterprise Manager provides a GUI for managing the faulted
instance.
User-defined fault policies are defined in a fault policy file that can be associated with the
component or an activity. The policy file defines faultPolicy entries with conditions and
related actions. The binding file associates a policy with a composite application, a
component, or a reference.
When the policies have been defined and bound to composites and/or components, the
framework intercepts the fault before the standard fault handler comes into play. For example,
if a BPEL process has defined standard BPEL fault handling and a fault policy is defined or
bound to the BPEL process, when a fault occurs, the framework intercepts the fault, allowing
any of the supported actions to be applied to the instance.

Oracle SOA Suite 12c: New Features and Capabilities 9 - 4


Fault Management Framework: BPEL

The Fault Management


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Request Framework catches all faults


Receive
(business and runtime) for
Invoke activities.

Fault returned
client Invoke partner

s a
)ha
The Fault Management m
co eฺ
Reply Framework eliminates the
n
o uidฺ
Reply need to code eachtiInvoke
l a
el possible
activity for each G
s t n t
on tude
fault condition.
c
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
p a
If a fault k
occurs n runtime in an Invoke activity in a process, the framework catches the
during
a
e t r
n- a user-specified action that is defined in a fault policy file that is associated
e andoperforms
fault
D
with thenactivity. If a fault results in a condition in which human intervention is the prescribed
action, you perform recovery actions from the Oracle Enterprise Manager Fusion Middleware
Control Console. The Fault Management Framework provides an alternative to designing a
BPEL process with excessive error handling for Invoke activities.

Oracle SOA Suite 12c: New Features and Capabilities 9 - 5


Fault Management Framework: Mediator
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Mediator

fault
Routing Rule
returned

The Fault a
Fault Management
Management
s
Framework
)h
Framework can a
cancatch
catchfaults
faults
m
returned by services, and those
co eฺ
n ฺ
encountered internally, such
duringas

l a t io uid
message transformation and

s t el nt Gother mediator activities.

c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
a k K aprovides
OraclepMediator n sfe sophisticated error-handling capabilities that enable you to
tr Mediator service component for error occurrences and corresponding
ee oann-Oracle
configure
D n
corrective actions. Error handling enables an Oracle Mediator to handle errors that occur
during the processing of messages and also the exceptions returned by outside web services.
You can handle both business faults and system faults with Oracle Mediator.
Business faults are application-specific and are explicitly defined in the service WSDL file.
You can handle business faults by defining the fault handlers in Oracle JDeveloper at design
time. System faults occur because of some problem in the underlying system, such as a
network not being available. Oracle Mediator provides fault policy–based error handling for
system faults.

Oracle SOA Suite 12c: New Features and Capabilities 9 - 6


Creating a Fault Policy Document

Each Fault Policy can define one or


more Fault Handlers (a specific
fault).
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

You can define and edit:


• Fault Name s a
)h a
• Default Action or m
conditional actions n ฺ co eฺ
l a t io uid
• Alerts
s t el nt G
• Actions c on tude
• Properties a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
You can
p a k
design an
a fault policy with the Fault Policy Wizard and associate the fault policy with
e t r
- binding file.
efault policy
the
D non
To design a fault policy for automated fault recovery by using the Fault Policy Wizard, perform
the following steps:
1. From the Oracle JDeveloper main menu, select File > New > From Gallery.
2. In the Categories list, select SOA Tier > Faults.
3. In the Items list, select Fault Policy Document.
The Fault Policy Editor is displayed

Oracle SOA Suite 12c: New Features and Capabilities 9 - 7


Defining Alerts
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Email Alert Log Alert

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
Click the
p k tab.
Alerts a n sThree types of notification alerts are supported: email, log, and JMS.
ee on-t r
D
Email
n
An email alert enables you to configure email recipients to receive alerts when a fault occurs.
You must also configure the same email recipients on the Mailer tab of the Workflow
Notification Properties page in Oracle Enterprise Manager Fusion Middleware Control. For
information, see the section “Configuring Human Workflow Notification Properties” of
Administering Oracle SOA Suite and Oracle Business Process Management Suite.

Oracle SOA Suite 12c: New Features and Capabilities 9 - 8


Configuring JMS Alerts
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

JMS Alert

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ cA JMSSProperty
tu Set needs to be
i
l k his for each JMS Alert.
arn e tdefined
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
JMS pak a n s
e nenables
-t r
Ae
D JMS alert
o you to enqueue the fault to a JMS queue or publish it to a JMS topic.
n
JMS header values can also be specified. The JMS notification can be integrated with a
third-party resolution system to handle faults. The third-party resolution system dequeues and
subscribes to the targeted queue and topic. Further fine-graining is achieved by consuming
messages based on the header property values. The payload type of the JMS message is a
text message in XML format.
You must also configure JMS queues and topics and connection factories in Oracle WebLogic
Server Administration Console. For information, see the section “Configuring Basic JMS
System Resources” in Administering JMS Resources for Oracle WebLogic Server.
You first define property sets to associate with JMS alerts. You can associate property sets
configuration details such as JMS destinations and connection factories with multiple JMS
alerts. For example, for a JMS alert, the destination and queue information, and connection
factory can be referenced by additional JMS alerts configured in the fault policy.

Oracle SOA Suite 12c: New Features and Capabilities 9 - 9


Defining Actions
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

You can specifically define each


of the default actions, and/or a
choose to create new actions.
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
Click the
p k atab.
Actions n s By default, all types of actions are automatically selected.
r
e n-Terminates
t
D•e Abort:
n o the entire business flow
• Human intervention: Causes the current activity to stop processing. Human
intervention from Oracle Enterprise Manager Fusion Middleware Control is required to
handle the fault. For information, see “Recovering from Faults in a Business Flow
Instance” in Administering Oracle SOA Suite and Oracle Business Process
Management Suite.
• Java action: Enables you to execute an external Java class
• Replay scope: Raises a replay fault
• Rethrow fault: Sends the fault to the BPEL fault handlers (catch activities in scope
activities). If none are available, the fault is sent up.
• Enqueue: Enqueues a rejected message to a JMS queue as a JMS message with the
appropriate context and payload
• Invoke WS: Handles a rejected message by calling a web service
• File action: Creates an error handler for messages by storing a rejected message in a
file
• Retry: Provides the options for retrying the activity

Oracle SOA Suite 12c: New Features and Capabilities 9 - 10


Choosing the Fault Name
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
Select the name of the fault.
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a
Definepthekfault n description, and default action of the fault policy in the upper section of
name,
a
e t r
- Editor.
eFaultoPolicy
the
D n n
You can also add additional fault policies for configuration to a single policy document.
Click the Add Fault Policy icon in the upper-left corner to add an additional fault policy. All
policies are then displayed in the column on the far left of the Fault Policy Editor. You can
click the policy that you want to define.

Oracle SOA Suite 12c: New Features and Capabilities 9 - 11


Choosing the Action

Specify the action to take


in response to the raised
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

fault.

a
) has
1 ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
Edit the properties of
@ c Stu
i
arn e this
the chosen action.
l k
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a kand configure
To specify
p a n s a default action, perform the following steps:
e nthe r
-t desired action from the Default Action drop-down list. This defines what
D1.e Select
o
n or actions the policy will take when activated. On the Actions tab (not shown),
action
highlight default-retry. Click the Pencil icon to edit the action.
2. In the Properties pane for the selected action, configure the parameters for that action.
The fault-policies.xml file is created in the project under the SOA folder.

Oracle SOA Suite 12c: New Features and Capabilities 9 - 12


Defining Fault Bindings
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

2
s a
)ha
m
co eฺ
n ฺ
Associate the policy with
l a t io uid
the desired component,
s t el nt G
reference, or service.
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
To bind
p a k
the policies
a n to a composite application, or a component in a composite application,
e
e the
perform - t r
nfollowing steps:
D n o
1. On the Composite Editor toolbar, click the Edit Composite Fault Policies icon. The
Composite Fault Policies dialog box is displayed. In this dialog box, you can associate
fault policies with the composite or the components therein.
2. In the Composite Fault Policies dialog box, select the policy from the drop-down list to
the right of the desired component.

Oracle SOA Suite 12c: New Features and Capabilities 9 - 13


Defining the Fault Policy Bindings for the Fault Policy
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
a
) hwith
Associate the policy
m
o ฺor to
ccomponent,
the entire composite
n ฺ
l a t i de
io oruservice.
the specific

s t el nt G
reference,

c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
After creating
p aa n policy with the Fault Policy Wizard, you associate the fault policy with a
fault
e
e policy
fault - t r
bindings file. The fault policy bindings file associates the policies defined in the
D non
fault policy file with service components, service binding components, or reference binding
components in the SOA composite application.
1. Open the SOA Composite Editor.
2. Click the icon above the SOA Composite Editor to define the fault policy bindings for this
fault policy.

Oracle SOA Suite 12c: New Features and Capabilities 9 - 14


Recovering Faults with Enterprise Manager Fusion
Middleware Control
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Some faults can be recovered


by using Enterprise Manager
Fusion Middleware Control from
the composite application home
page or a Flow Trace page.

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
a k K anManager
OraclepEnterprise sfe Fusion Middleware Control provides access to fault information
and n tr
eefault-management
- capabilities during runtime operations. Each composite application
D no
home page provides ways for you to search for, view, manage, and act on recoverable faults.
A composite application instance Flow Trace page also provides quick access to fault
information for management when using Enterprise Manager Fusion Middleware Control.
In addition, component-specific home pages (not shown in the slide) also provide ways for
you to search for, view, manage, and act on recoverable faults.
Note: Not all faults are recoverable. For example, in Mediator components, fault policies
apply to parallel routing rules, not sequential routing rules. For sequentially processed routing
rules, a fault is returned to the caller who is responsible for handling the fault. If the caller is an
inbound adapter, rejection handlers can be defined to manage the (rejected) error messages.

Oracle SOA Suite 12c: New Features and Capabilities 9 - 15


Accessing a Recoverable Fault
Scenario: An asynchronous BPEL process
invokes a service that is not available.
Solution: Start up the unavailable service
and retry on the Enterprise Manager
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Fusion Middleware Control pages.

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
The example
p in a n slide shows the Flow Trace for a composite application that executed a
the
e
e process
BPEL t r
- called SimpleBPEL, which encountered a fault condition. In this case, the
D non process attempted to invoke a service that was not available.
SimpleBPEL
After initiating a test of the composite application that contains the SimpleBPEL process, the
fault seen in the screenshot was encountered. Because of the fault policies associated with
the composite application, the human intervention action was applied. This enables the SOA
administrator to recover the fault by using Enterprise Manager Fusion Middleware Control.
The administrator must first locate the composite application instance in which the fault
occurred, and click the instance link to navigate to the Flow Trace page shown in the slide.
If a fault is recoverable, a Recover link is visible in the table containing the list of faults and the
error messages. To proceed with recovery, click the Recover link. This opens the Faults
tabbed page of the component in which the fault occurred (see the following slide titled
“Recovering a Fault Condition,” for an example) where you begin to examine the details of the
cause and take corrective action.
Note: You can also click the SimpleBPEL instance link under the Trace tree, and click the
Faults tab on the SimpleBPEL component instance page.

Oracle SOA Suite 12c: New Features and Capabilities 9 - 16


Recovering a Fault Condition

Select a fault with a Recoverable


1 indication.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Recover.
4

s a
)h a
m
co eฺ
n ฺ
3
l a t io uid
Select recovery
s t el nt G
action details.
c on Take t u de action. 2
ni@ this S
corrective
a r
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
p a
After you k
have n the instance page for a component that has incurred a fault condition,
located
a
e
e can click
you t r
-the Faults tab to view the fault information. The fault information may or may not
D non
provide sufficient details to determine the cause of the fault and help you to make a decision
about what action to take. In the example in the slide, the SimpleBPEL process attempted to
invoke a service that was not available. The fault policy definition included an action that
requested human intervention. Human intervention actions are visible in the page section that
is displayed when you click the recoverable fault in the Faults section. As shown in the slide,
to recover from the service unavailable scenario, perform the following steps:
1. On the Instance for the component page, click the fault entry with the Recoverable
status. This causes the instance page to be split into two sections. The top section
contains the fault information, and the bottom section provides a set of recovery options.
2. Take corrective action to fix the source of the problem. In this case, the unavailable
service is started again.
3. Return to the Instance for the component page. Select and enter appropriate values to
implement the human intervention actions. In the example, the invoke operation is
retried by selecting the Retry option from the Recover Action drop-down list, entering a
suitable payload in a selected variable (inputVariable), and clicking Recover.

Oracle SOA Suite 12c: New Features and Capabilities 9 - 17


4. After clicking Recover, a Confirmation window is displayed. Click Yes to continue.
5. After clicking Yes in the Confirmation window, wait for the action to be performed and for
an Information window to be displayed indicating whether the recovery action was a
success or not. In this example, it is successful.
6. On the Instance for the component page, the recovered fault is removed from the list of
faults.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Note: If the Retry recovery action is successful and you selected a fault policy action derived
from the fault policy file, such as my-java-handler, from the After Successful Retry drop-
down list, the selected fault policy action is executed.
The slide shows the different recovery action options that you can select on the recovery
page. The self-explanatory recovery actions are:
• Retry, to retry the activity
• Abort, to terminate the instance
• Replay, to throw a replay scope exception. All activities in the scope are executed a
again.
) has
ฺ c om ฺ
• Rethrow, to rethrow the exception. In this case, you delegate exception handling back to
the instance.
t i o n ide
e lla t Gu
• Continue, which continues the instance as if normal processing took place by marking
t
the activity as a success o n s den
@ c Stu
i
Note: You can also modify the instance variable information that is available (in scope) to the
k arn e this
faulted activity. This can be useful if data must be corrected subject to operation policies and
l
ฺ ku o us
constraints. Therefore, you have a wide range of options. The choice of action selected
k
p a et
depends on the fault condition, and if appropriate, corrective action can be taken.
e
i ( de icens
a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 9 - 18


Summary

In this lesson, you should have learned how to:


• Create a Fault Policy Document
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Define fault policies using the Fault Policy Wizard

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 9 - 19


Practice 9-1: Overview

callGreeting
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

fault-policies.xml

fault-bindings.xml

sayHello
s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
a k K you
In thisppractice, n s fe a fault policy with the Fault Policy Wizard and associate the fault
design
a policy binding file. You are provided a pair of composite applications that
ee withonthe-trfault
policy
D n
interact, but do not (yet) have any fault policies associated with them.
The SayHello project is the classic “Hello World” project. It concatenates the string “Hello” and
an input string that is received as part of the project invocation. The CallGreeting
[asynchronous] project accepts an input string that you provide, and then passes that string
when it invokes SayHello.

Oracle SOA Suite 12c: New Features and Capabilities 9 - 20


Practice 9-1: Overview
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
You shut
p a k
down the
a nSayHello project. When the CallGreeting project attempts to invoke the
e
e aoremote
service, t r
- fault is raised. To manually recover the fault, in Enterprise Manager, you
D n n
examine the Flow Instances for the CallGreeting project. When the Recovery Required link is
displayed, you are provided the options to Retry or Abort.
After restarting the SayHello project, you select Retry, and observe that the Flow Trace is
updated, indicating the completion of the instance.

Oracle SOA Suite 12c: New Features and Capabilities 9 - 21


Practice 9 Overview:
Fault Policy Wizard
This practice covers the following topics:
• Deploying the “Fault” Test Composite Applications
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Test their behavior without a fault policy


• Use the Fault Policy Wizard to create a fault policy
• Deploy and test the new behavior

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 9 - 22


10
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

REST Binding Wizard a


) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-
Objectives

After completing this lesson, you should be able to:


• Explain the format of REST web services
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• List the differences between REST and SOAP


• Create a REST binding interface to a composite application
and test it
• Configure the REST binding to access RESTful web services
a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 10 - 2


REST Web Services
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

I’ve been using REST services and am familiar


with it. But not all our developers are. Should I
give a brief recap of what it is before we get to
configuring the adapter?

Yes, please. It’s been a while since I’ve used a


RESTful services and could use a brief review.
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k Suite
OraclepSOA a n s
provides the following REST support in SOA composite applications:
e - t r
D•e REST
non
support enabled in new or existing services
• Integrate with external REST APIs
• Orchestrate a set of RESTful state transitions (RPC/Hypermedia as the Engine of
Application State (HATEOAS) approach)
• Support for XML, JavaScript Object Notation (JSON) (with automatic translation to and
from XML), URI sample, and URL-encoded GET/POST data
• Generation of sample URI for REST service operations
• Support for WADL services. The WADL can be provided by a deployed Oracle SOA
Suite or Oracle Service Bus service or a non-Oracle SOA Suite or Oracle Service Bus
service, such as a Jersey REST service.

Oracle SOA Suite 12c: New Features and Capabilities 10 - 3


REST: Overview

• Stands for Representational State Transfer


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Provides an alternative to using SOAP-based


web services
• Incorporates the concept of resources. A resource
is similar to an object instance in an object-
oriented programming language. Resources have
data associated with them.

Data is typically
described with either
s a
XML or JSON.
Each resource has) hitsa
own address m
co or eฺ
n ฺ
XML
resource l a io (URI).
Uniform
t u id
Resource
JSON l
te ent
Identifier
G
n s
@ co Stud
i
l k arn e this
http://<host>:<port>/soa-infra/resources/<partition-name>/relative/resource/path
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
• REST
p a k standsa n s Representational State Transfer.
for
r
e n-t an alternative to using SOAP-based web services.
D•e Itnprovides
o
• It incorporates the concept of resources. A resource is similar to an object instance in an
object-oriented programming language. Resources have data associated with them. The
underlying concept is that when you send a request for a resource, the resource that is
returned shows you the options for the next step. This model is very flexible, and does
not require that the client know in advance what services and service calls are available.
• REST services rely on a stateless, client/server, cacheable communications protocol—
and in virtually all cases, the HTTP protocol. RESTful applications use the HTTP verbs
GET, PUT, POST, and DELETE to create, update, read, and delete data.
• RESTful services do not impose constraints on the data format that is exchanged. Data
can be formatted as XML, HTML, JavaScript Object Notation (JSON), and so on.
• REST services themselves are often described with a Web Application Description
Language (WADL) document.

Oracle SOA Suite 12c: New Features and Capabilities 10 - 4


REST Queries

Example REST query:


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

http://soa12c.example.com/items/123

Action Method URI

Get all the items. GET /items

Get a single item. GET /items/id

Create a new POST /items


s a
item.
)ha
Edit an item. PUT /items/id
m
co eฺ
n ฺ
l a t io uid
Delete an item. DELETE /items/id
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a kREST
Recallpthat a ndescribes resources (reference to data) in terms of URIs and that REST
e
e onearly
services t r
- always use the HTTP protocol. HTTP messages include a header and a body
D n n
(although the body can be empty). HTTP request messages include methods in the header to
specify an action. With this combination, REST queries use HTTP verbs and URIs to specify
actions on resources (or data).
The table in the slide lists some typical actions, and the HTTP methods and URIs that can be
used to accomplish them.

Oracle SOA Suite 12c: New Features and Capabilities 10 - 5


Comparing REST and SOAP:
Two Ways to Access Web Services
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

REST SOAP

Is an architectural style that leverages Is a formal standard for message


web standards exchange
Uses HTTP Is protocol independent

Permits many data formats Uses XML

s a
Uses URI and HTTP verbs to access Uses a WSDL document to access
)h a
resources (data) operations (business logic) m
Is stateless WS* standards provide support n ฺ cofor eฺ
l a t io uid
s t el nt G
stateful transactions.

c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
k architectural
RESTpisaan a n style, whereas SOAP is a message exchange standard. Comparing
e
e is much
them t r
- like comparing apples and oranges, but in practical terms, they describe ways
D non
to access web services. As such, the table in the slide lists some features of each. These
differences in features mean that in some situations, REST offers advantages, and in others,
SOAP is the better choice.

Oracle SOA Suite 12c: New Features and Capabilities 10 - 6


Example Use Cases for REST and SOAP
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

REST SOAP
• Operations with limited • Operations that require
bandwidth and resources contextual information and
- Mobile conversational state
- Series of short, chatty management
conversations • Asynchronous operations
• Stateless operations • Operations that require high s a
)h
levels of security and reliability
a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
For web
p a k
services a n require robust security, transactions, and reliability, SOAP can leverage
that
the e - t r
eWS* ostandards, and would typically be a better choice. However, because of its use of
D n n
URIs and lightweight message formats, such as JSON, REST can offer better performance
and scalability. REST is well-suited for situations such as mobile computing, which are
constrained by limited bandwidth and resources.

Oracle SOA Suite 12c: New Features and Capabilities 10 - 7


Supported Features in Oracle SOA Suite

Oracle SOA Suite provides the following REST support:


• REST support in new or existing services
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Integration with external REST APIs


• Orchestration of a set of RESTful state transitions
• Support for XML and JSON
• Generation of sample URI for REST service operations
• Support for WADL services a
) has
• Support for REST security with the Oracle Web Service
Manager (OWSM) policy ฺ c om ฺ
n e t io uid
l a
el nt G
s t
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
a kK
OraclepSOA Suite n s
12c
feprovides the following REST support:
e n-traexposing an existing SOA SOAP service as a REST service.
D•e Itnsupports
o
• REST APIs are web APIs that conform to the REST architectural style. REST APIs are
basically defined by some web requests (the “methods”) and the data that they return or
need, which is usually JSON or XML.
• REST state transitions occur by following hypermedia (hidden fields, headers, and so
on) to reach the next step at which the client is. SOA Suite 12c allows you to model a
series of REST state transitions as a business process with a sequence of RESTful
invocations.
• For JSON, SOA Suite 12c supports automatic translation to and from XML.
• It supports publishing a REST interface either through WADL or WSDL 2.0. WADL files
provide an XML description of HTTP-based web applications.
• It supports attaching OWSM policies to REST binding components, both Service and
Reference.

Oracle SOA Suite 12c: New Features and Capabilities 10 - 8


Exposing Composites as RESTful Services

To expose composites as RESTful services, you need to:


• Specify a RESTful resource path
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Map the HTTP verb of the resource path to a WSDL operation

SOAP REST

REST resource path:


/paymentvalidation
s a
h a
WSDL HTTP verb: get m)
operation
n ฺ co eฺ
l a t io uid
s t el stringn t G
c on resource
Query
t u de url in REST
a r ni@ this S?CardNum=X&
k u lk se ExpireDate=X…

ak e to u
e p
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
You can
p a k REST
add a n ssupport as a service binding component that connects to an Oracle
ee oBPEL
Mediator, n r
-t process, Human Workflow, Business Rule, and Spring Service component.
D n
The main task of exposing a composite as a RESTful service is to map the composite’s
WSDL operation to the REST resource URI and the HTTP verb of the resource path.
The graphic in the slide shows the example of exposing ValidatePayment as a RESTful
service. The WSDL operation validate is mapped to the resource path
/paymentvalidation and the HTTP verb get.

Oracle SOA Suite 12c: New Features and Capabilities 10 - 9


REST Support in SOA Composite Applications

So a REST service can be selected and exposed to Oracle


SOA Suite components, services, and references?
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

With the REST adapter, you can:


• Add a service binding component interface to an existing SOA
composite application
• Add a reference binding component to a remote RESTful web
service that can be invoked from a SOA composite application
• Configure REST support through shortcuts s a
)ha
• Generate REST schemas m
co eฺ
n ฺ
• Use global token variables for host, port, and tio uvalues.
ll aprotocol id
s t e nt G
c u dewith all of
oninto tdetail
Although we can’t
r @ what
delve
ntoiknow i s S
this, it helps
l k a e t h capabilities exist.
Now
k ฺ kulet’s oseeuhows to configure the adapter.
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
Note pak a n s
e cannot r
-t attach a REST binding to an asynchronous component (for example, an
D•e You
n o n
asynchronous BPEL process). If you attempt this attachment, a message is displayed
indicating that this is not supported. The message suggests a workaround of placing an
Oracle Mediator between the REST adapter and the service that has a one-way
interface and routing the service callback to another (outbound) REST adapter service.
• You cannot connect a REST service binding component to a REST reference binding
component.

Oracle SOA Suite 12c: New Features and Capabilities 10 - 10


REST Adapter

Oracle SOA Suite


composite applications
can consume REST
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

services.

a
) has
ฺ c om ฺ
t i o n ide
Oracle SOA Suite
t e lla t Gu
composite applications
can also be exposed o n s den
@ c Stu
as a REST service. i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
The REST
p kadapter a n s be used to expose and consume REST services.
can
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 10 - 11


Creating a REST Binding

Provide a name and a description,


and identify the binding as a
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

service or a reference.

Define a relative path for


s a
the resources.
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
Name the operation, resource
c on tude
ni@ this S
path, and HTTP verb.
a r
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
To create
p a k
a REST a nbinding, you provide a name and an optional description, and identify it as
e
e a service
either t r
- or a reference. You then provide a relative path (URI) for the resources.
D onbind
Finally,nyou the operation, the resource path, and the HTTP verb.

Oracle SOA Suite 12c: New Features and Capabilities 10 - 12


Adding an Operation Binding
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Add an operation binding.

Specify the HTTP verb.

s a
)ha
m
co eฺ
Describe the request and n ฺ
response messages.
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
Whenp a k Ktheabinding,
adding n sfe the HTTP verb (method) is selected from a drop-down list. You then
tr and response messages by using the Type Chooser dialog box.
ee othen-request
describe
D n

Oracle SOA Suite 12c: New Features and Capabilities 10 - 13


The Finished Binding Component

server application service resource


http://<host>:<port>/soa-infra/resources/<partition-name>/PackAndShipService/packingService/shipping
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
p a
The slide k
shows a n finished binding component, the resource URI, and a sample HTTP
the
e
message, -
e oincludingt r both the header (the method or verb can be found here) and the payload
D n n
(in this example, the XML message).

Oracle SOA Suite 12c: New Features and Capabilities 10 - 14


Testing the Component
A WADL file is generated for
the new REST interface.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

You can test this using the HTTP


Analyzer in JDeveloper.

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k aWADL
The component
p n s can be observed from within JDeveloper.
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 10 - 15


Examining the Results
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
Testing
p a
ofkthe n
component
a can be completed by using the HTTP analyzer in JDeveloper. The
e
e oinnthe
example t r
- slide shows a request message being sent, and the response received. In this
D n
example, the status field of the message was updated by the called operation.

Oracle SOA Suite 12c: New Features and Capabilities 10 - 16


Configuring the REST Adapter as a Reference Binding
Component
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a kBindings:
Operation
p a n s Click Add and select to define the REST operations based on the
ee ofothe
WSDL n t r
-component with which the REST service interfaces. The Operation Bindings
D n
section enables you to define the REST binding operations to use. When defining the
operations, you specify the resource paths and HTTP verbs for each operation to use. An
operation mapping consists of mapping a WSDL operation to the REST resource path and
verb.

Oracle SOA Suite 12c: New Features and Capabilities 10 - 17


Choosing WADL
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k provide
WADLpfiles a n san XML description of HTTP-based web applications.
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 10 - 18


Adding Operation Binding
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
Use this
p a k
wizard n to configure resource URLs, HTTP verbs, and request-response details
page
a
e - t r
forethe Representational State Transfer (REST) binding operation.
D non
The Resource and HTTP Verb drop-down lists enable you to manage the resource URL and
HTTP verb for the selected REST binding operation.
The Request section enables you to manage request details for the REST operation.
The Response section enables you to manage response details for the REST operation. You
can have multiple responses. You can create one success response and map other
responses to WSDL faults. On the inbound side, when a fault is generated, if you have
mapped the response code to a fault in the REST binding, the binding maps the fault to the
corresponding HTTP status code. On the outbound side, if an external service returns a
particular response code that you have configured, that code is mapped to the corresponding
fault in the WSDL and a fault is raised. For example, if you issue a GET request to
/Orders/OrderID and that ID is not there, you can map that fault to a 404 error response.

Oracle SOA Suite 12c: New Features and Capabilities 10 - 19


Shortcut to Configuring REST Adapter
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
You canp a k
configurea nthe REST adapter through several shortcuts based on WSDL or WADL
e
e on-
files. t r
D n
Note: You are prompted to make a local copy of the selected WSDL and its dependent
artifacts. If you select to make a local copy, the binding.ws section for the SOAP reference
binding component contains the original concrete WSDL/endpoint location that was selected
and the copied WSDL is used as the abstract WSDL (in the composite import, and so on).
When configuration is complete, a REST service binding component is wired to a SOAP
reference binding component.

Oracle SOA Suite 12c: New Features and Capabilities 10 - 20


REST Adapter Summary

This should make it much easier to configure


REST services. I like the shortcut for creating a
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

REST service from a web service.


And now I see why I couldn’t find the “Web
Service” adapter. It’s been renamed “SOAP” to
distinguish it from REST.

And there is a shortcut for generating a REST


reference based on an existing REST/WADL
service. a
) has
ฺ c om ฺ
We should also read about How to Generate ion de
l l a t u i
Schemas Manually, How to Generate Schemas
s t ehelp n t G
use the REST adapter correctly. co
n ude
from Samples, and other topics as well, to us

i @ S t
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
Additional
p ktopicsainclude:
n s
e nto-Use r
t Global Token Variables
D•e Hown o
• How to Set REST Header Properties
• REST Fault Binding
• Converting a JSON Interchange Format to a REST Schema
• REST References Calling REST Services in the Same Node
• Testing the REST Adapter with the HTTP Analyzer

Oracle SOA Suite 12c: New Features and Capabilities 10 - 21


Summary

In this lesson, you should have learned how to:


• Explain the format of REST web services
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• List the differences between REST and SOAP


• Create a REST binding interface to a composite application
and test it
• Configure the REST binding to access RESTful web services
a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 10 - 22


Practice 10-1 to 10-4: Overview

3
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
1
) has
ฺ c om ฺ
t i o n ide
2
t e lla t Gu
o n s den
@ c Stu
JDeveloper i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
1. In
p a k practice,
this a n syou modify the HelloBPEL composite application by exposing it as a
e nservice.
-t r
De REST
n o
2. You test the service from JDeveloper.
3. You create a second composite that invokes the REST service, passing the required
resource.
4. You deploy the two composites and verify that they interact as expected.

Oracle SOA Suite 12c: New Features and Capabilities 10 - 23


Practice 10 Overview:
REST Binding Wizard
This practice covers the following topics:
• Creating a REST interface (HTTP POST w/JSON)
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Testing the REST interface


• Invoking a REST service (HTTP POST w/JSON)
• Creating and testing another REST interface
(HTTP GET w/ query string parameters)
a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 10 - 24


11
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

New Adapters and MFT a


) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-
Objectives

After completing this lesson, you should be able to:


• Leverage use cases involving the MFT Adapter for
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

transferring files
• Explain the features of the new LDAP Adapter for connectivity
with LDAP servers
• Describe the other new adapters including Coherence and
Salesforce
a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 11 - 2


Agenda

• Managed File Transfer (MFT) Adapter


• LDAP Adapter
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Other New Adapters

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 11 - 3


Managed File Transfer (MFT) Adapter

Remember a few weeks ago I tried to transfer


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

almost a bazillion records through SOA Suite 11g.


That didn’t work as well as I planned.

Well, I know you tried to send a huge amount.


The new MFT Adapter allows file transfers
between different endpoints, such as Oracle Data
Interchange (ODI).
a
) has
This is a complex component and we’re not set up ฺco
m
t
to test it here. But I found an excellent link below i o n ideฺ
that goes into detail on how to use it. Forte lla t Gu
now,
n s den
we’ll look at an overview of its capabilities.
o
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
The URLp a kfor theaMFT
n s home page is:
ee on-t r
http://www.oracle.com/technetwork/middleware/mft/overview/index.html
D
Oraclen MFT enables you to transfer files to and from many endpoint types, such as the
following:
• Embedded FTP or sFTP server
• Remote FTP or sFTP server
• Directories
• SOAP web service endpoints
• Oracle SOA Suite SOAP web service endpoints
• Oracle Service Bus web service endpoints
• Oracle B2B partners and Oracle Healthcare endpoints
• Oracle Data Integrator web service endpoints

Oracle SOA Suite 12c: New Features and Capabilities 11 - 4


Oracle Managed File Transfer (MFT)

• Centralized file transfer infrastructure


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Auditing
Monitoring • Global visibility into all file
exchanges
Document Temporary • Support for encryption and auditing
Store store
• Tight integration with SOA/BPM/B2B
enterprise for advanced workflows and formats
internet • Highly available/clusterable
a
• Ease of use—no developer required has )
o m
send receive
o n ฺc eฺ
l l a ti u id
s te ent G
n
co Stud
i @
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k aFile
OraclepManaged n s Transfer (MFT) is a simple and secure end-to-end managed file
ee othat
gateway n t r
-supports large file transfer, encryption, auditing, and monitoring.
D n
MFT:
• Shares files between applications. MFT supports event-driven file delivery, batch,
scheduled, and large files.
• Enforces security and policy compliance with partners through built-in auditing and
encryption or decryption
• Provides standards-based middleware integration with SOA, B2B, Service Bus, and so
on
• Provides the capability to define schedules for either inbound or outbound delivery
MFT provides multiple security levels for compliance with partners where features like PGP
encryption is a significant requirement. MFT is tightly integrated with the WebLogic security
layer and Oracle Identity Management.
MFT supports multiple use cases with SOA, B2B, and BPM. Using a new binding component
available in JDeveloper, a developer can drag MFT services and references into a SOA
Composite to leverage MFT source and targets within SOA.

Oracle SOA Suite 12c: New Features and Capabilities 11 - 5


Benefits of MFT

• Drives down overall IT costs through FTP license


consolidation and administration overhead reduction
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Increases compliance, security, and data protection through


the central administration of all file exchanges
• Accelerates strategic business initiatives, such as cloud
adoption, by offering a simple, reliable, and controlled way to
exchange data with external entities
a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k anand
MFT consolidates
p s simplifies file transfer integrations, and avoids custom scripts or
ee otooling.
incorrect n -t r
D n
Cloud adoption is accelerating the need for file transfer solutions. Cloud/SaaS adoption is
growing at a fast pace. In the majority of cases, data is sent to the cloud by using files.

Oracle SOA Suite 12c: New Features and Capabilities 11 - 6


MFT Architecture
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
The diagram
p in the
a nslide shows the main components of Oracle Managed File Transfer, which
e
include - t r
e configuration data, the user interface console, embedded FTP and sFTP servers,
D non
security, and interfaces to various types of file transfer endpoints. Oracle Managed File
Transfer can consist of multiple managed servers that provide high availability.
Embedded FTP and sFTP Servers
FTP and sFTP servers are embedded in Oracle Managed File Transfer. These two
embedded servers can be source artifacts. You can configure various properties of these
embedded servers, such as ports, security, and user access to directories. These servers are
automatically deployed as part of the WebLogic Server Oracle Managed File Transfer
deployment.

Oracle SOA Suite 12c: New Features and Capabilities 11 - 7


Designing a File-Delivery Structure in the MFT Console
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a
MFT includes
p k aa n a web-based designer and monitoring dashboard, which provides
console,
e
e over
visibility t r
-all of the file transfers, as well as auditing and the capability to resubmit files.
D non
MFT is integrated with Enterprise Manager (EM) for monitoring, and includes bidirectional
linking of consoles. All of the design, monitoring, and management takes place through a
browser-based user interface that is easy to use.
When you create a file delivery structure using the Designer page of the Oracle Managed File
Transfer console, you create three types of artifacts:
• A source, which defines the origin of files
• A target, which defines the destination of files
• A transfer, which associates a source with one or more targets
Using various artifact properties, you can define additional file delivery behavior:
• Filters: Files with specific name and extension patterns can be included or excluded.
• Schedules: Transfers can be limited to specific times or time windows.
• Preprocessing actions: Files can be compressed, decompressed, encrypted, or
decrypted.
• Post-processing actions: Files can be decompressed.
• File operations: Files can be archived, renamed, moved, or deleted.

Oracle SOA Suite 12c: New Features and Capabilities 11 - 8


MFT Functional Use Case Patterns

Sources Targets
Transfers
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Local FTP Local FTP


Remote FTP Remote FTP
Local File Local File
SOAP SOAP

Direct Fan Out Pass-By-Reference

s a
)h a
m
co eฺ
Integration (SOA, B2B, Hybrid
n ฺ
OSB, Healthcare)
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
a k K aFile
OraclepManaged n
e
sfTransfer can help integrate applications by transferring files between
e t r
n- use case patterns. This slide shows some common use case patterns:
e in complex
them
D n o
• Standalone (direct or fan-out): A file transfer can have one or more targets. A multiple
target use case pattern is called fan-out. The target of one transfer can also use the
same endpoint as the source of another transfer, creating a chain.
• Integration: A SOA, B2B, or Healthcare application or an OSB interface can be the
source or target of a transfer. The application can also be the common endpoint for the
target of one transfer and the source of another.
• Hybrid integration: Oracle Managed File Transfer can be one participant in a web of
data transfers that includes multiple application types.
• Pass-by-reference: Large files can be passed by reference to avoid parsing payloads
in the DOM. The reference types include File, FTP, sFTP, and Directory.

Oracle SOA Suite 12c: New Features and Capabilities 11 - 9


Oracle MFT and SOA Integration

• Use cases:
– SOA consumes MFT.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

– MFT consumes SOA.


– You can process very large
files by passing an FTP or
file reference.
• JDeveloper support for MFT:
– An MFT binding component a
for composites and BPEL ) has
– The ability to process inline ฺ c om ฺ
t i o n ide
payloads, attachments, or
t e lla t Gu
pass-by-references
o n s den
– Easy header processing: file ni@
c Stu
ar e this
name, size, user, transferlkname
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
• SOA
p a kconsumes
a n s MFT by creating a SOA SCA reference to MFT.
r
e nconsumes
-t
D•e MFT
n o SOA by creating a SOA SCA service from MFT.

Oracle SOA Suite 12c: New Features and Capabilities 11 - 10


Why Use MFT to Enhance Composite Applications?

• Large files passed as an attachment or inline in a message


payload may impact performance and adversely affect the
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

total memory footprint in a SOA environment.


– This is particularly true of longer running stateful or
asynchronous business processes, because the large file is
writing to the dehydration store.
• The composite application will expose a web service
implementing the MFT WSDL contract. a
has
• It also references a File adapter to dynamically read the )file
reference provided by MFT, and it invokes an outbound ฺ c om ฺ
t i o n ide
a
service to create the data from the incomingllRequest.
s Gu
te ent
n
co Stud
i @
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
The BPEL
p kprocess
a n s the MFT header data passed in the SOAP message to determine
uses
eeand owhere
how n r
-t to process the file. The MFT PayloadType attribute can be used with a
D n If statement to support the following MFT payload types:
BPEL 2.0
• FtpRefFile: Reference a file from the MFT embedded FTP server
• FtpRefDir: Reference to a directory in the MFT embedded FTP server
• FileRefFile: Reference to a file in the shared MFT/SOA file system
• FileRefDir: Reference to a directory in the shared MFT/SOA file system
• InlineBinary: Inline encoded payload
• InlineXML: Inline XML payload
MFT headers can be used by the BPEL process to determine whether to process the file
inline (small file) or by reference (large file).

Oracle SOA Suite 12c: New Features and Capabilities 11 - 11


MFT/SOA Use Case: Order Processing with Encryption

NAS
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

sFTP/FTP

Order XML

Any FTP Client

s a
)h a
m
co server.
• Receive the orders file into an embedded sFTP oornฺFTP eฺ
t i u i d
• Compress, encrypt, and then store the filetetolladisk t G
for
o n s den
archiving. c Stu
i @
• Trigger a workflow for review
l k ainrnSOA.
e t his
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
The slide
p kshowsaannsexample of a partner uploading orders through the firewall to the MFT
eeserver
FTP n - tr it is encrypted and forwarded to the file system and a SOA composite for
where
D no integrations.
downstream

Oracle SOA Suite 12c: New Features and Capabilities 11 - 12


MFT Configured as an Inbound and Outbound Adapter
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 11 - 13


MFT Configuration Wizard
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
Use the
p a k Configuration
MFT a n s Wizard to create an MFT binding component for message
e
e on-
delivery. t r
D n
Binding components such as MFT services or references make service-oriented architecture
(SOA) applications accessible to the outside world.
For an inbound MFT service, this is the only page of the MFT Configuration Wizard. Other
pages of the wizard are relevant only to an outbound MFT reference.
If you select the Service option, it creates an inbound MFT service in the Exposed Services
(left) swimlane that provides the outside world with an entry point to the SOA composite
application. This direction is selected by default if you dropped the MFT service into the
Exposed Services swimlane. Moreover, this corresponds to an MFT target of type SOA.

Oracle SOA Suite 12c: New Features and Capabilities 11 - 14


Agenda

• Managed File Transfer (MFT) Adapter


• LDAP Adapter
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Other New Adapters

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 11 - 15


LDAP Adapter: Introduction

LDAP Adapter supports:


• Executing CRUD operations on a target directory server
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

(outbound)
• Publishing events from a directory server (inbound)

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
Information
p n various users, applications, files, printers, and other resources
describing
a
e
e onfrom
accessible t r
- a network is often collected into a special database called an LDAP directory.
D n
Access to LDAP directories is a basic requirement of enterprise workflows. The Oracle LDAP
Adapter enables processes to search, compare, and modify LDAP directories using the LDAP
protocol. Oracle SOA Suite 12c enables you to model the LDAP Adapter as a reference to
perform CRUD (Create, Read, Update, and Delete) operations or as an inbound publication
service on a directory server.
The LDAP Adapter architecture diagram in the slide illustrates how the Oracle LDAP Adapter
exposes synchronous and asynchronous service interfaces that can be used to execute
CRUD operations on a target directory server. It shows how the Oracle LDAP Adapter can
poll for change events from a source directory server and publish these events, thereby acting
as a publication service. The LDAP Adapter also provides a DSML synchronous service,
which takes a Directory Services Markup Language (DSML) v2 request, executes it on the
target directory server, and returns the DSMLv2 response.

Oracle SOA Suite 12c: New Features and Capabilities 11 - 16


LDAP Adapter: Supported Features

• Outbound: Supports the operations Add, Delete, Modify,


ModifyDN, Compare, Search, and DSML
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Inbound: Provides two types of inbound activities:


– Change notifications for entries
– Change log notifications

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a
The LDAP
p kAdapter
a nsupports publishing events from a directory server. Specifically, it supports
e t r
- interactions, asynchronous event publishing from the directory server
e oinbound
one-way
D n n
through the asynchronous notification model.
The LDAP Adapter listens for events such as addition, deletion, or modification of an entry in
the directory information tree and publishes such events. The LDAP event consumer
singleton connects and listens for changes on the directory server according to a chosen
strategy and processes/publishes such events to LDAP Adapter clients.
By default, the LDAP Adapter publishes events in the order they are received from the
directory server.
The LDAP Adapter provides two types of inbound activities:
• LDAP Adapter entry change notification
• LDAP Adapter change log notification
The LDAP Adapter Configuration Wizard provides a graphical and intuitive interface to model
LDAP services to send requests to and receive responses from LDAP servers.

Oracle SOA Suite 12c: New Features and Capabilities 11 - 17


LDAP Adapter Configuration Wizard
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
Use the
p a k
LDAP n Page to show the Directory Information Tree (DIT). The Browser is
Browser
a
e
e from
called t r
- LDAP Configuration Adapter Wizard when you select Browse.
the
D non
You use the LDAP Configuration Wizard to configure the LDAP Adapter, to model LDAP
services through contextual options and browsing on the LDAP directory schema. The LDAP
Adapter Wizard requires a connection to the target LDAP directory server, which you can
configure.

Oracle SOA Suite 12c: New Features and Capabilities 11 - 18


LDAP Adapter Wizard: Add Page
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
The slide
p kshowsaannsexample of the Add Page options.
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 11 - 19


Agenda

• Managed File Transfer (MFT) Adapter


• LDAP Adapter
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Other New Adapters

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 11 - 20


Coherence Data Grid

A Coherence data grid:


• Is a distributed in-memory
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

data management grid


• Provides a reliable data
tier with a single,
consistent view of data
• Enables dynamic data
capacity, including fault s a
)h a
tolerance and load m
balancing n ฺ co eฺ
l a t io uid
• Ensures that data capacity s t el nt G
scales with processing c on tude
capacity a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
p a
Coherence k is aa n
JCache-compliant, in-memory, distributed data grid solution for clustered
e
e onand
applications t r
- application servers. The Java Temporary Caching API (JCache) provides the
D n
API and semantics for temporary, in-memory caching of Java objects, including object
creation, shared access, spooling, and consistency across JVMs. Coherence is a way to
cache objects in the middle tier to improve performance and scalability of high-transaction
applications.
Some benefits of Coherence:
• Helps a specific class of applications that process a large number of transactions—high-
throughput transactional systems that have demanding data-access and throughput
requirements
• Is good for customers looking for Service-Oriented Architecture (SOA) deployments and
those looking for middle-tier scalability
Coherence is written in Java and runs on the application tier (also referred to as the data grid
tier). From the XTP point of view, storing and retrieving data from the database is an issue
because it is much slower to access the disk than it is to access memory. Coherence solves
this problem by caching all Java objects in memory on a data grid, so the application does not
have to access the disk each time. Coherence works by embedding APIs into an existing
application code that caches the Java objects in memory. Thus, applications can minimize the
database round trips to fetch data and to write data as well.

Oracle SOA Suite 12c: New Features and Capabilities 11 - 21


Coherence Adapter: Introduction

• Coherence cache: A collection of data objects that serves as


an intermediary between the database and the client
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

applications.
• Coherence Adapter:
– Allows seamless integration with the Coherence server
– Supports operations:
— Put
Remove a
has

Get )
om ฺ

— Query ฺ c
n ide
t i o
– Cache types:
t e lla t Gu
XML o n s den

@ c Stu
POJO i
arn e this

l k
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k aAdapter
The Coherence
p n s is a JCA 1.5-compliant resource adapter for Oracle Coherence.
ee deployed
When n r
-t in a SOA environment, the Coherence Adapter is used as an integration
D o
vehiclenby SOA composite applications when they integrate with Oracle Coherence.
The Coherence Adapter enables you to perform useful Coherence operations such as adding
an item to a Coherence cache, obtaining an item from a Coherence cache, removing an item,
and querying from a Coherence cache.
You can use the Oracle Coherence Adapter to perform the following activities associated with
Oracle Coherence:
• Add a cache entry: Create a new entry in the Coherence cache.
• Remove cache entries: Identify an item to be removed from the cache, and the system
removes the entry from the cache. You can also remove multiple entries from the cache
by providing a filter or search criteria that match the multiple records in cache.
• Get cache entry value: After specifying an entry to obtain the associated value, the
system returns the value of that entry to you.
• Query cache: After you identify the cache, and specify search criteria, the system
returns the entries that match the search criteria.

Oracle SOA Suite 12c: New Features and Capabilities 11 - 22


Coherence Adapter Configuration Wizard

Supporting both XML and


Java Data Objects
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
p a
Note that k
when n the Coherence adapter in 12.1.3, you will not be able to interact with a
using
a
e t r
- cluster other than version 12.1.3. or a newer version.
e Coherence
remote
D non

Oracle SOA Suite 12c: New Features and Capabilities 11 - 23


Oracle SOA Suite Cloud Connectivity
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Point-and-click modeling
for connectivity to cloud
applications
• Secure connectivity and
session management
• Cloud Adapter SDK
• Reduce development time a
in half
) has
o m
o n ฺc eฺ
l l a ti u id
s te ent G
n
co Stud
i @
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
OraclepSOAk Suite a n s
provides a unified integration platform for both SaaS and on-premise
e t r
e on-The features supported are:
applications.
D n
• Simplified cloud connectivity
• Integrated with Oracle security
• Shielded from SaaS changes
• Unified monitoring and management

Oracle SOA Suite 12c: New Features and Capabilities 11 - 24


Salesforce Integration via Salesforce Adapter
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k anprovides
OraclepJDeveloper s a Salesforce adapter out-of-the-box for integrating with
e
Salesforce - t
e onservices.r The following features make the integration simpler and easier:
D n
• Graphical Business Object Catalog
• Standard and custom object browsing
• Query Editing/Validation and Test
• Design-time capping of query results

Oracle SOA Suite 12c: New Features and Capabilities 11 - 25


Adapter Summary

Are there any other new Adapters for SOA 12c?


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Sure. The other new adapters include SAP R/3,


JD Edwards World, MSMQ, and an enhanced
UMS Adapter.

Plus, all adapters now support OSB and BPM.


s a
)ha
In addition, we can now monitor the adapter m
co eฺ
execution and see diagnostics. n ฺ
l a t io uid
t el nt G
And finally (leveraging OESS), pollingsadapters
c on tude
can be restricted to when they poll.

a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
p -tran
• http://docs.oracle.com/middleware/1213/adapters/develop-soa-adapters/adptr_ldap.htm
e e
non
D• http://technology.amis.nl/2014/08/08/oracle-soa-suite-12c-ldapadapter-
tutorial/?utm_source=rss&utm_medium=rss&utm_campaign=oracle-soa-suite-12c-
ldapadapter-tutorial

Oracle SOA Suite 12c: New Features and Capabilities 11 - 26


Summary

In this lesson, you should have learned to:


• Leverage use cases involving the MFT Adapter for
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

transferring files
• Explain the features of the new LDAP Adapter for connectivity
with LDAP servers
• Describe the other new adapters including Coherence and
Salesforce
a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 11 - 27


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens
a r n le l
K ulk ferab
p a k ans
e tr
De non-
12
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Templates and BPEL


Subprocesses a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-
What’s Next?

I am curious about reuse in the modeling tools:


SOA Composite, service components, and BPEL
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

activities. I have been creating some similar


service composites lately and wanted to look for a
way to “template-ize” them for reuse.

I was peeking ahead and the next lesson has


some pleasant surprises for us: composite
templates, service component templates, BPEL a
scope templates, and reusable subprocesses. ) has
ฺ c om ฺ
t i o n ide
Great! Let us get started. tel
la t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 12 - 2


Objectives

After completing this lesson, you should be able to:


• Create SOA composite templates
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Create service component templates


• Create BPEL scope templates
• Create BPEL inline and stand-alone subprocesses
• Manage BPEL templates
a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 12 - 3


Agenda

• Templates
• BPEL Subprocesses
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 12 - 4


Templates: Overview

A complete SOA project packaged and


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

used to start new projects.

A Service component, such as a BPEL


process, packaged for import into other
projects. All dependent components
and wires are also packaged.
s a
)ha
m
o ฺ
cthat
A Scope activity of a BPEL process o n ฺ ise
t i u i d
packaged as a custom activity
t e llain thet G
Components window, n
o s
and that is
d e n
ready for
import into other c t u
r n i@BPELisprojects.
S
a
lk se t h
k u
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
p a
A templatek is n part of an Oracle SOA Suite project that you can use to create new
a reusable
a
e
e oThere
projects. t r
- are three types of templates, as described in the slide. Use templates to share
D n n
common code (subpart of a process or a scope) between applications, composites, and
processes. You create the template once, and then share it with others. The template can be
reused multiple times.
Project templates are a way of creating a SOA project instead of starting with an empty
composite. The template can include predefined components, as well as services and
references. For example, frequently used adapters and transformations can be preconfigured
in a template to eliminate the need to re-create the same components every time a new
project is created.
Component templates package one main component, for example a BPEL process, including
all references (adapters and bindings) invoked by the process. You can enforce best practices
by packaging a BPEL process with a predefined fault handler and several mandatory
variables as a component template and sharing it across departments. By providing this
template to all developers, you ensure a consistent way of handling faults and naming
variables.

Oracle SOA Suite 12c: New Features and Capabilities 12 - 5


Custom activity templates consist of a group of activities in a BPEL process, which can
include partner links and external services. The templates are available within the BPEL
palette and can be dragged to any BPEL process. You can, for example, package a BPEL
scope, which consists of a complex assign or transformation and the invocation of an external
web service. By sharing this scope, you eliminate the chances of introducing errors and save
development time through reuse.
SOA templates work in a “drag-and-drop” way. After they have been used, they become an
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

integral part of the application and can be customized going forward. When changes are
made to the original template, they are not reflected in the composites and components that
are created through templates.

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens
a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 12 - 6


Creating and Using Templates
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Default Location

Custom Location
Create Template
s a
Wizard
)h a
m
co eฺ
n ฺ
l a t io MDSuRepository
id
l
te ent G
n s
@ co Stud
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
To create
p ka template,
a n s right-click the appropriate object and select Create Template to invoke
e nTemplate
eCreate
the -t r Wizard. You specify a name and location for the template. The location
D n o
can be the design-time MDS Repository, the default location in the file system, or a custom
location that you specify. After completing any additional prompts specific to the template type
selected, the template (with any dependencies) is saved to the specified location.

Oracle SOA Suite 12c: New Features and Capabilities 12 - 7


SOA Project Templates
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

That is an impressive set! But I am not exactly


sure how, when, and why to use each one.

Agreed. Let us look at the SOA Project Template


first. I would use this when I want to create a
starting point for a new SOA composite
a
has
application. I can define BPEL, WSDLs,
Schemas, or any artifact that makes up a )
composite. Then I create a new project and it
ฺ c om ฺ
i o n ide
makes a copy of the contents of the template. I
t
t e lla t Gu
can then edit the new project any way I want.
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 12 - 8


Creating SOA Project Templates

This project will be used as the


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

basis for the new template.


Alternatively, you can select the
composite name.

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
To create
p ka SOAaproject
n s template:
e na-SOA r
t composite application.
D1.e Open
n o
2. In the Applications window, right-click either of the following:
- The composite name
- The project name
3. Select Create SOA Template.

Oracle SOA Suite 12c: New Features and Capabilities 12 - 9


Using Project Templates

Select Start from: SOA


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Template

Specify the
desired template.

s a
)h a
m
co eฺ
n ฺ
The project is
l a t io uid
created from
the template. s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
To use
p a
a k
project a n
template, in the Create SOA Application Wizard, select the start type SOA
e
e oThen
Template. t r
- specify the desired template.
D n n

Oracle SOA Suite 12c: New Features and Capabilities 12 - 10


Project Used as a Basis for Template
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 12 - 11


Specifying Template Information
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

“Save in” allows you to save to the file


system or in the SOA MDS.
s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
Whenp a
youkselect a n desired template in the Create SOA Application Wizard and click Finish,
the
e t r
- Template Wizard is invoked. Default names and the location for saving the
eCreateonSOA
the
D n
template based on the composite name are automatically included.
Change the default values and enter a description, as necessary, and click Next. The Browse
icon for the “Save in” field enables you to save the template in the file system or the Oracle
SOA Suite design-time section of the MDS Repository.

Oracle SOA Suite 12c: New Features and Capabilities 12 - 12


Selecting Files to Bundle into Template
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
p a
The Create k SOA a n
Template Wizard: Files to Bundle page is displayed. This page shows all the
e
e packaged
files t r
- as part of this template.
D non
You can also manually select measurements (business indicators) and test suites to include.
If your composite includes domain value maps (DVMs) (for example, a DVM function
referenced in a BPEL scope activity), they are also included in the template.
View the files to package and select additional files, and click Finish.
Click OK when prompted to acknowledge that the template is successfully created.

Oracle SOA Suite 12c: New Features and Capabilities 12 - 13


Creating a New Composite from a Template
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
k SOA
Createpaanew a n s
composite application in Oracle JDeveloper.
e t r
De non-

Oracle SOA Suite 12c: New Features and Capabilities 12 - 14


Naming the Project/Choosing the Template
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
1. On
p a k Create
the a n sSOA Application Wizard: Configure SOA Settings page, select SOA
r
e n-t The list of available templates is displayed.
De Template.
no
2. Select a template from the list, or click Add to select additional templates.
3. Click Finish.
4. Select the Customizable check box to create a composite that you want to make
customizable by others.
For example, you create a base composite and deliver it to another applications team
that imports it into a SOA project and customizes it for a certain industry (for example,
telecommunications). The customized solution is then sold to a telecommunications
customer that further customizes the composite for their specific geographic business
needs. Essentially, there is a base composite and several layers of customized
composites. At a later time in the composite life cycle, you may deliver the next version
of the base composite, which triggers an upgrade cycle for the other applications team
and the customer.
Note: To use this feature, ensure that you start Oracle JDeveloper in the Default Role
mode.

Oracle SOA Suite 12c: New Features and Capabilities 12 - 15


New Composite Based on Template
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
The SOA
p a k
Composite
a n Editor is displayed with the custom template. The files of the template
e
edisplayed
are t r
- in the Applications window.
D non
You can rename components as necessary, such as renaming the binding components and
process names. Right-click and select Rename.

Oracle SOA Suite 12c: New Features and Capabilities 12 - 16


Service Component Template

So to use it, I just create a new composite based


on the template and edit it. That should save a lot
of time and improve quality and reuse. And the
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Governance folks will like this as well, to support


their standards.

Exactly! But I do not always need to create an


entire composite as a template. It would be nice
to be able to create preconfigured components
that I can reuse across different composites. For a
example, I often have BPEL processes that I
would like to reuse. ) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s deisn
Then creating a Service Component Template
what we need to do next.
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 12 - 17


Creating Service Component Templates

This works for all SCA components:


BPEL, Mediator, Human Task,
Business Rule, and Spring.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
In the p a
SOA k Composite
a n s Editor, right-click the service component from which to create a
ee on-t
template. r
D n
Select Create Component Template. This launches the Create Component Template wizard.
Provide appropriate responses, including optionally selecting an icon for the partner link, and
click Next.

Oracle SOA Suite 12c: New Features and Capabilities 12 - 18


Choosing Files to Include in the Bundle
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
View the
p a k
files n and select additional files (such as adapters and measurements), as
packaged
a
e
e oand
required, t r
- click Finish.
D n n

Oracle SOA Suite 12c: New Features and Capabilities 12 - 19


Adding Service Component Templates

1
Insert a component template.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

2
Select the specific template.

s a
3 )ha
Review the template m
co eฺ
information and click Finish. n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
1. To
p a k
use n
a component
a template, right-click in the Components swimlane of the composite
e t r
n- window. Select Insert > Component Template.
De overview
n o
2. Select the specific template.
3. Click Finish.

Oracle SOA Suite 12c: New Features and Capabilities 12 - 20


Resolving Conflicts
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
If you p a k Ktoaapply
attempt n sfethe service component template a second time to the same SOA
composite
D -tr
ee onapplication, then the “Create SOA Component from Component Template” dialog
n
box is displayed. It indicates that there is a conflict because schema and BPEL files are
already in the composite.
On the Resolve Conflicts page, select to skip or overwrite all files or specific files that are in
conflict.

Oracle SOA Suite 12c: New Features and Capabilities 12 - 21


Service Component Added to Composite
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
) ha
4 m
co eฺ
The component and any
n ฺ
dependencies are added
l a t io uid
to the project.
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
p a
4. When k a n
component
a template is used, the service component and its dependencies are
e t r
- the project.
De added
non
to

Oracle SOA Suite 12c: New Features and Capabilities 12 - 22


BPEL Scope Activity Template

I can see many uses for that. But sometimes, even


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a service component is more than I need.

I understand. Sometimes when creating a BPEL


scope with activities, I would like to reuse that
scope within that BPEL process without copying
and pasting. Or even reuse it in other BPEL
processes in that project as well. a
) has
Remember last week? I created that excellent nฺc
om ฺ
BPEL scope to solve a recurring problem? And
l a t io uide
you wanted to reuse it. I think the new
s t el nt G
Scope
Activity Template will enable this.
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
e ep n-tran
D no

Oracle SOA Suite 12c: New Features and Capabilities 12 - 23


Creating a Template from a BPEL Scope
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
To create
p ka template
a n sfrom the scope, perform either of the following:
r
e n-t the scope and select Create Custom Activity Template.
D•e Right-click
no
• Expand the scope and select Create Custom Activity Template.
The Create Custom Activity Template Wizard: Specify Template Information page is
displayed.

Oracle SOA Suite 12c: New Features and Capabilities 12 - 24


Custom Activity Template: Variables and Partner Links
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k Custom
The Create
p a n sActivity Template Wizard: Variables page is displayed.
r
eepageoisn-displayed
t
D
This
n if variables are used in the scope. This page is not displayed if you
have an empty scope or a scope that does not use variables.
Select to convert your variables to local variables. This conversion is not recommended if this
variable is used outside the scope activity in receive and reply activities. If the variables are
used only inside this scope, the check boxes are selected by default.
Enter an optional description of the variables, and click Next.

Oracle SOA Suite 12c: New Features and Capabilities 12 - 25


Custom Activity Template: Files to Bundle
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
The “Create
p Customa n Activity Template Wizard: Files to Bundle” page is displayed.
e -
e pageoshowst r
D
This
n n all the files packaged as part of this template. You can also manually select
test suites to include them in the template. Select the files, and click Finish.

Oracle SOA Suite 12c: New Features and Capabilities 12 - 26


Using a BPEL Scope Activity Template
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
From p a
the kCustomanActivity
s Templates section in the Components window, drag the scope
ee template
activity n r
-t previously created.
D n o
Note: Only the scope activity templates that are compatible with the BPEL service component
version are available. For example, for a BPEL 2.0 service component, only scope activity
templates for BPEL 2.0 are available for selection. BPEL version 1.1 scope activity templates
are not displayed.
Any error handling that you design, such as catch and catch all activities, and any scope
variables that you create are copied into the BPEL process.
The “Create Custom Activity from Template” page is displayed.

Oracle SOA Suite 12c: New Features and Capabilities 12 - 27


Resolving Conflicts
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
If there
p a k
are n the “Create Custom Activity from Template Wizard: Resolve Conflicts”
conflicts,
a
e - t
e is displayed.
page r
D non

Oracle SOA Suite 12c: New Features and Capabilities 12 - 28


Variables Page
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a
The “Create
p k Customa n Activity from Template Wizard: Variables” page is displayed.
e
e have - t r
D
If you
nonselected to convert your variables to local variables on the Create Custom Activity
Template Wizard, then they do not require special processing and are not displayed on this
page. Only variables that are not converted to local variables are displayed on the “Create
Custom Activity from Template Wizard: Variable Bindings” page.
If both the template and the project include this variable, you can choose to reuse the variable
or bind to a new variable from the list in the BPEL Variable column.
a. If you have selected to bind to a new variable, enter a name and select whether to
create the variable locally for the template scope or globally for the BPEL process, and
then click OK.
b. If you drop an activity template inside of Scope A that is inside of Scope B, then Scope
A and Scope B also are in the list. This enables you to select among all locations where
variables can be declared.
Click Next.

Oracle SOA Suite 12c: New Features and Capabilities 12 - 29


Partner Links
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
If a scope
p kuses partner
a n s links, the “Create Custom Activity from Template Wizard: Partner
ee page
Links” n is r
-tdisplayed.
D n o
Click Finish.

Oracle SOA Suite 12c: New Features and Capabilities 12 - 30


New Scope is Created
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 12 - 31


Managing Templates

I can see how using templates will help us save


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

time and effort and ensure standards. I especially


like the similarity of the user interface. After I learn
how to create and use one type of template, the
rest are easy to learn.

I know. Yet one thing concerns me. With all these


different types, uses, and locations of templates,
how can we manage them all easily? a
) has
ฺ c om ฺ
No problem! I found a place to manage templates
t i o n ide
in the Tools > Preferences section.
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 12 - 32


Managing SOA Templates
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
You can
p a k aall
manage n savailable template types from the Preferences dialog box.
ee oncan r
-t be stored in two locations:
D
Templates
n
• Folders: Templates are stored in the file system.
• SOA-MDS: Templates are stored in the MDS Repository and can be shared.

Oracle SOA Suite 12c: New Features and Capabilities 12 - 33


Storing Templates in SOA MDS
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

So I can manage all my templates in one place.


Good. I notice there is no edit button. How do I
edit an existing template?

Editing templates is not in this release. For now,


simply change the template and resave it. Did you
notice that templates can be saved into the SOA
a
has
MDS and shared?
)
ฺ c om ฺ
No I did not. How do we do that? t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 12 - 34


Saving a Template to SOA MDS
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)h a
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
With the
p a k
Browse a n for the “Save in” field, you can save the template in the file system or
icon
e t r
- Suite design time section of the MDS Repository.
eOracleonSOA
the
D n

Oracle SOA Suite 12c: New Features and Capabilities 12 - 35


Agenda

• Templates
• BPEL Subprocesses
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 12 - 36


Stand-Alone and Inline BPEL Subprocesses

That is both simple and easy to use. I will go


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

convert my excellent BPEL process now!

Wait. Before you go, we need to look at one more


thing. Reusing an entire scope is great, but
sometimes I just want to reuse a small fragment
of BPEL code within the BPEL process. It is like
copying fragments of the BPEL without having to
copy/paste or duplicate the code in the source. a
) has
ฺ c om ฺ
Yes, or being able to call a BPEL process t i o n ide
fragment that is external to a particular BPEL
t e lla t Gu
process and is available to all BPELn
o s deinn
processes
the same composite.
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 12 - 37


BPEL Subprocess

• A subprocess is a fragment of BPEL code that can be reused


within a particular BPEL process by a separate BPEL process.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Benefits:
– BPEL process code reusability and modularity
– Code maintenance
– Memory footprint reduction, which can be considerable in a
complex process
– Less overhead than invoke activities s a
)h a
• Supported types: m
n ฺ co eฺ
– Stand-alone subprocess
l a t io uid
– Inline subprocess s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
BPELp a k K limited
provides n s fesupport for modularizing business process logic for reusability. To
ee this
address n - tra
challenge, Oracle SOA Suite provides a subprocess extension to BPEL.
D n o
A subprocess is a fragment of BPEL code that can be reused within a particular processor by
separate processes. The subprocess extension provides the following benefits:
• Allows business logic to be modularized and reused, which reduces the need to create
the same activities multiple times to perform the same tasks
• Improves code manageability: Changes are propagated, which eliminates the need to
implement updates in multiple places every time a change is necessary.
• Permits access of data in parent process
• Enhances performance
• No service invocation. Therefore, no inbound message activity is required to consume
the message from the call activity, and no reply or invoke activity is required to return the
value.
Note: Subprocesses are supported only with BPEL version 2.0. There is no support with
BPEL version 1.1.

Oracle SOA Suite 12c: New Features and Capabilities 12 - 38


Inline Subprocess
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

An inline subprocess is a
subprocess embedded in
the (“parent”) process.
s a
)ha
Arguments in the call activity map m
co eฺ
n ฺ
variables and partner links
l a t io uid
to the
inline subprocess
t l element
esubprocess t G
parameters. The
also refero ton
s
other items
n can
dein scope at
c t u
r n i@ is S call.
the time of the

u l ka se th
a k ฺk to u
e e p se
i ( d icen Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a
An inline
p k ans is a subprocess that is embedded in another (“parent”) process.
subprocess
Ae
e n-executestr
D call activity
no the referenced subprocess code. Arguments in the call activity map
in-scope variables and partner links to the inlineSubProcess element parameters.
Arguments can be passed by reference or by value.
The call activity transfers control to the subprocess, at which time the subprocess scope is
initialized with the argument variables. In addition to parameter passing, other visible items
(those in scope at the time of the call activity) can be referred to by the inlineSubProcess
element.
Execution is similar to the subprocess element execution model. On completion of the
subprocess, control is returned to the parent process. In the normal case, execution continues
with the next activity after the call activity. In case of abnormal subprocess completion, the
parent process resolves the process according to the standard life cycle rules of WS-BPEL.

Oracle SOA Suite 12c: New Features and Capabilities 12 - 39


Stand-Alone Subprocess

A standalone subprocess is a self-contained


snippet of process logic. All references resolve
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

to local definitions or arguments that are defined


in the partner links and variables.

s a
) h a
m
co inethe
A call activity transfers control to the subprocess.
n ฺ
There is no service invocation. Arguments
o ฺ
t i
call activity map in-scopeavariables and
l subprocess i d
uelement.
partner
links to parameterstof e lthe t G
o
Each argument n sis passed
d e n
either by value or
@ c S tu
reference.
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k element
A subprocess
p a n s is not a valid business process, but is a self-contained snippet of
ee logic.
process n r
-tAll references in its process snippet resolve to local definitions or arguments,
D n o
which are defined in the partner links and variables sections of the subprocess.
In a parent BPEL process, a call activity transfers control to the subprocess. There is no
service invocation. Therefore, no inbound message activity is required to consume the
message from the call activity, and no Reply or Invoke activity is required to return the value.
This is analogous to executing a member function. Control is transferred to the implicit
subprocess scope on call activity activation, and back after scope activity completion.
There may be multiple inputs and outputs through arguments. Arguments in the call activity
map in-scope variables and partner links to parameters of the subprocess element. Each
argument is passed either by value or by reference, as specified in the call activity. Upon
activation, the subprocess scope is initialized with the input variables, which are set with the
call activity’s arguments. Outputs are pass-by-value parameters that are written to by the
subprocess.

Oracle SOA Suite 12c: New Features and Capabilities 12 - 40


Inline Subprocess: Example
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
Converts
)ha
to a Call
c m
o ฺ
updateOrderStatus Activity n ฺ
Scope
l a t io uide
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a
An inline
p k
subprocessa n is embedded in the parent process. In this example, you have a BPEL
e
eprocess
2.0 t r
- includes assign and invoke activities within a scope activity, which update the
that
D non
status of a customer order. You may have a business need for repeating these same activities
later in the same process. One method is to physically repeat the same assign and invoke
activities of the scope activity later in the process, but this can be error-prone. In addition,
every time a change is necessary, it must be implemented in both scopes. As an alternative to
repeating the activities, you can use an inline subprocess.

Oracle SOA Suite 12c: New Features and Capabilities 12 - 41


Stand-Alone Subprocess: Example
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
<call> )ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
r i s S
ni@updateOrderStatusSP.sbpel
packAndShipOrder.bpel a
lk se t h
k u
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
p a
This shows k that n same updateOrderStatus function is created as a stand-alone subprocess
the
a
e
e is called
that t r
-by the packing and shipping BPEL process. Unlike the inline subprocess that is
D
embeddednonin parent process, the stand-alone subprocess is visible in the composite view.

Oracle SOA Suite 12c: New Features and Capabilities 12 - 42


Creating an Inline Subprocess

1
Right-click the scope
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

activity and select Convert


to a Subprocess.

a
) has
ฺ c om ฺ
2
t i o n ide
Assign a name, and if
desired, add a label and t e lla t Gu
an image. 3
By c onsthetscope d e n
@
default,
to S
u is
i
converted a call activity.

l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
Inline p a k ansare created from process scope activities. To create an inline
subprocesses
ee on-first
subprocess, tr create and configure a scope with the activities that will define the
D n To convert the scope to a subprocess, perform the following steps:
subprocess.
1. Right-click the scope and select “Convert to a Subprocess.” The Create Inline
Subprocess dialog box is displayed.
2. Name the subprocess. Typically, you leave the “Replace Scope with Subprocess Call”
check box selected. This automatically replaces the current scope with a Call activity.
3. Click OK. A call activity replaces the scope in the process.
The subprocess is also displayed in the palette under Subprocesses. You can see and edit
the definition of the subprocess when switching from the Main Process to the subprocess at
the top of the BPEL editor. All partner links that are available in the main process are
displayed, in case you want to add another Invoke. Changes to the subprocess are reflected
in every call.

Oracle SOA Suite 12c: New Features and Capabilities 12 - 43


Calling an Inline Subprocess

1
The subprocess is
available from the
Component Palette.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

2
Drag the subprocess
onto the BPEL process.

s a
)ha
m
co eฺ
n ฺ
l a t io 3 uid
t el is nt G
A call activity
s
c on tude
generated.

a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a
To callpankinline n
subprocess,
a perform the following steps:
e t r
-the Subprocesses section of the Component Palette. All available subprocesses
D1.e Expand
non
are displayed.
2. Drag the desired subprocess from the Component Palette to the BPEL process. A new
call activity is added to the process.
3. Configure the call activity to map any necessary values from the parent process to the
subprocess.

Oracle SOA Suite 12c: New Features and Capabilities 12 - 44


Creating a Stand-Alone Subprocess

1
Right-click the
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Components swimlane and


select Insert > Subprocess.

s a
)ha
m
co eฺ
n ฺ
l a t io uid
Name the
2
s t el nt G
subprocess and c on tude
click OK.
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
p a
To create k
a n BPEL subprocess, perform the following steps:
stand-alone
a
e t r
n-a SOA composite application that includes a BPEL 2.0 process. Right-click the
D1.e Create
n o
SOA Composite Editor and select Insert > Subprocess. The Create Subprocess dialog
box is displayed.
2. Enter appropriate values or accept the default values, and click OK to create the
stand-alone subprocess.

Oracle SOA Suite 12c: New Features and Capabilities 12 - 45


Creating a Stand-Alone Subprocess

Right-click the 3
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

subprocess and select


Edit.

a
4
) h as
Configure the subprocess,
adding the required logic and ฺ c om ฺ 5
variables. Save your work. t
Thei o nsubprocess
i deis
l a
el stored inG
u
the project
n s t e
as n
an
t.sbpel file.
o
c Stu d
i @
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k athe
3. Right-click
p n ssubprocess in the SOA Composite Editor and select Edit.
e n-the r
t desired process logic in the stand-alone subprocess. This can include
D4.e Design
n o
variables, activities, and partner links.
5. The subprocess is stored in the composite as an .sbpel file.
Notes about subprocess design:
• A stand-alone subprocess can include an inline subprocess.
• There is no restriction on one BPEL subprocess calling itself recursively. You must
determine if you want to recursively call the same BPEL subprocess and the number of
times the subprocess calls occur.
• A stand-alone subprocess cannot be shared in the MDS Repository. However, a BPEL
process with call activities for calling the subprocess can be shared in the MDS
Repository.

Oracle SOA Suite 12c: New Features and Capabilities 12 - 46


Calling a Stand-Alone Subprocess from BPEL
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

1
Add the activity from the
Component Palette.

s a
2
Map parent process
)ha
values to subprocess m
co eฺ
arguments. n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
k K ansfsubprocess,
To callpaastand-alone
e
perform the following steps:
e t r
n-the Subprocesses section of the Component Palette. All available subprocesses
D1.e Expand
n o
are displayed. Drag the desired subprocess from the Component Palette to the BPEL
process. A new call activity is added to the process.
2. Configure the call activity to map any necessary values from the calling process to the
stand-alone subprocess.

Oracle SOA Suite 12c: New Features and Capabilities 12 - 47


Stand-Alone Versus Inline Subprocesses

Standalone Inline
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Reused across other BPEL processes Yes No

Include partner links Yes No

Visible in the composite view Yes (The wire to a No


subprocess is shown
as a dotted line.)

Invoked by the <call> activity Yes


s aYes
)h a
Visible in the Components window Yes Yes m
co eฺ
n ฺ
Must be in a scope activity to be No l a t io uid
Yes
converted into a subprocess s t el nt G
on tudNo e
No i@c
Shared in the MDS Repository
a r n this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
a
OraclepSOAkK Suite n s fe support for two types of subprocesses: stand-alone and inline.
provides
e n-tra subprocesses:
D•e Stand-alone
n- o A fragment of a BPEL process that includes several activities that are reused
across other BPEL processes
- Do not have an interface and can be called only from another BPEL process. They
can include partner links.
- In the composite view, the wire to a subprocess shown as a dotted line to indicate
that it is not a wire between actual components
- Invoked by a BPEL call activity
Note: The first release of 12c supports only subprocesses in the same composite.
• Inline subprocesses:
- For groups of activities that are reused within one BPEL process
- Can either define parameters to be set or can use the process parameters
- Part of the parent BPEL process code and not visible in the composite view
- Invoked by a BPEL call activity
- Visible in the Components window
- Converted from activities in a scope activity

Oracle SOA Suite 12c: New Features and Capabilities 12 - 48


Differences Between Templates and Subprocesses

A template is a customizable, skeletal composite process or scope


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

activity. You can drag a template onto a SOA composite application or a


BPEL process and make additional changes. You essentially are
copying and pasting a template. For example, if there are 50 lines of
code in a template and you copy it twice to use, the code increases by
100 lines.

a
A subprocess is a BPEL code snippet that is intended for a specific has
purpose. A subprocess can be called and used as it is. An inline m)
n
subprocess of 50 lines can be called twice and the parent processฺ co codeeฺ
t i o u i d
remains at 50 lines, and not 100. Subprocesses perform
t e lla better
t G and
ns
have a smaller memory footprint than templates.
co Stud en
i @
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 12 - 49


Summary

In this lesson, you should have learned how to:


• Create SOA composite templates
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Create service component templates


• Create BPEL scope templates
• Create BPEL inline and stand-alone subprocesses
• Manage BPEL templates
a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 12 - 50


Practice 12 Overview:
Templates and Subprocesses
This practice covers the following topics:
• Create SOA composite templates
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Create service component templates


• Create BPEL scope templates
• Create BPEL inline and stand-alone subprocesses
• Manage BPEL templates
a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 12 - 51


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens
a r n le l
K ulk ferab
p a k ans
e tr
De non-
13
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Additional Enhancements a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-
Objectives

After completing this lesson, you should be able to:


• Describe additional EDN features
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Familiarize yourself with BPEL business indicators and built-in


process analytics
• Explain new built-in BAM dashboards for BPEL

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 13 - 2


Event Delivery Network and Business Events: Review

The Event Delivery Network distributes events within the Oracle


Fusion Middleware service infrastructure.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

OEP EDN
With EDN Adapter API

Composite Java
Application Event Delivery Network Application

a
) has
mediator BPEL mediator
ฺ c om ฺ
Describe
t i o n ide
Events Service Infrastructure
t e lla t Gu
o n s den
@ c Stu
i
lMDS
k arn e this
EDL XSD
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
The Event
p a kDelivery
a n sNetwork (EDN) is provided by Oracle Fusion Middleware to reliably
ee oevents
distribute n r
-t within the SOA Suite service infrastructure. EDN offers:
D n
• Various qualities of services
• A declarative, graphical UI to abstract the underlying messaging infrastructure (JMS-
based). The JMS resource that is used to deliver event information must be configured.
Events are defined by an XML file in Event Definition Language (EDL) format, whose XML
structure is defined by an associated XML Schema Definition (XSD). EDL contains:
• The event information
• The description of the payload structure and elements derived from the XSD file
Events are one-way asynchronous interactions that are immutable, that is, events are not
alterable. A new event is required to alter a previous fact. Mediator and BPEL components
are the only SOA components that can subscribe to and publish events. Subscription and
publication must be done in Oracle JDeveloper. ADF-BC applications can only publish events.

Oracle SOA Suite 12c: New Features and Capabilities 13 - 3


EDN Integration with Oracle SOA Suite
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

We use Event Delivery Network to raise business


events so that other systems can be aware when
a situation of interest occurs, such as a loan
completed event. But there are some limitations
in 11g. We cannot send events across domains,
and it is hard to integrate EDN with non-EDN-
aware systems.

a
) has
Yes. It would be nice to be able to integrate more
easily with JMS, and send and receive events as nฺc
om ฺ
JMS messages.
l a t io uide
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
e ep n-tran
D no

Oracle SOA Suite 12c: New Features and Capabilities 13 - 4


Oracle SOA Suite 12c: EDN Features

Oracle SOA Suite EDN provides:


• A standard JMS-based messaging infrastructure that provides
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

the following:
– A JMS-based event publish and subscribe architecture for
Oracle SOA Suite and non-Oracle SOA Suite clients
– Support for bidirectional interactions (can publish to and
subscribe from Oracle SOA Suite and non-Oracle SOA Suite
clients) a
– Support for both the Oracle AQ JMS and Oracle WebLogichas
Server JMS providers m )
o
ฺc eฺ
– EDN support as a lightweight manager above tboth o n
i JMS id
l l a G u
providers
n s te ent
– A plain JMS API and an Oracle SOA coSuite, d
tuvalue-added EDN
i @ S
API for remote, non-OracleaSOA
l k rn Suite
e t hisclients to use for
ฺkuSOA Suite
integrating with Oracle
ak e tous
e p
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k Suite
OraclepSOA a n s provides the following features:
EDN
r
e nJMS-based
-t
DAestandard
n o messaging infrastructure that provides the following:
• A JMS-based event publish and subscribe architecture for Oracle SOA Suite and non-
Oracle SOA Suite clients
• Support for bidirectional interactions (can publish to and subscribe from Oracle SOA
Suite and non-Oracle SOA Suite clients)
• Support for both the Oracle AQ JMS and Oracle WebLogic Server JMS providers
• EDN support as a lightweight manager above both JMS providers
• A plain JMS API and an Oracle SOA Suite, value-added EDN API for remote, non-
Oracle SOA Suite clients to use for integrating with Oracle SOA Suite

Oracle SOA Suite 12c: New Features and Capabilities 13 - 5


Oracle SOA Suite 12c: EDN Features

• No duplicate event processing in a multinode cluster


• Scalability at a fine-grained level:
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

– Enables different events to map to different JMS topic


destinations, thereby eliminating the need for a single location
to handle all events
– Reduces potential bottlenecks. Mapping is performed by an
administrator in Oracle Enterprise Manager Fusion Middleware
Control. a
• Support for the following publish and subscribe scenarios: ) has
– Publish and subscribe to events across the samencomposite ฺ com eฺ or
different composites. l a t io uid
s t el nt G
– Publish and subscribe to events withoremote,
c e
n udnon-Oracle SOA
t
Suite participants.
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
a kK
OraclepSOA Suite n s
EDN
feprovides the following features:
tra event processing in a multinode cluster
e duplicate
-
D•e No no n
• Scalability at a fine-grained level
- Different events can map different JMS topic destinations, thereby eliminating the
need for a single location to handle all events.
- This reduces potential bottlenecks. Mapping is performed by an administrator in
Oracle Enterprise Manager Fusion Middleware Control.
• Support for the following publish and subscribe scenarios:
- Publish and subscribe to events across the same composite or different
composites.
- Publish and subscribe to events with remote, non-Oracle SOA Suite participants.

Oracle SOA Suite 12c: New Features and Capabilities 13 - 6


Local and Remote Event Connections
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

A single SOA composite application instance can


reside in a single container or can be clustered
across multiple containers. Another application
(for example, an Oracle Application Development
Framework [ADF] Business Component
application) can be configured to run in the same
container as the SOA composite application
instance or in a different container.
s a
)ha
m
co eฺ
And there are now mechanisms to Store and
n ฺ
Forward events across domains using JMS. tio u id
l l a G
n s te ent
@ co Stud
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
Raising
p aankeventafrom
n s a Java EE application can be done through a local event connection or
ee oevent
a remote n r
-t connection:
D n
• Local event connection: If the publisher resides on the same Oracle WebLogic Server
as the application and the publisher uses a local business event connection factory, the
event is raised through a local event connection.
• Remote event connection: If the caller resides in a different container (different JVM)
than the application, the event is raised through a remote event connection.
If another application (for example, an Oracle ADF Business Component application) is
configured to run in the same container as the SOA composite application, it is optimized to
use local event connections.
When publishing events across domains using Store-and-Forward (SAF), local subscribers
cannot subscribe to the event. For example, assume that you have the following subscribers:
• Local subscriber (deployed on the same domain as the event publisher)
• Remote subscriber (deployed on a domain external to the event publisher)
Both subscribe to the same event (for this example, named E), which has been configured to
listen to the SAF topic. In this environment, only the remote subscriber can subscribe to the
event. The local subscriber cannot subscribe to it.

Oracle SOA Suite 12c: New Features and Capabilities 13 - 7


BPEL Process Analytics

BPEL process analytics:


• Is a uniform measurement mechanism across Oracle SOA
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Suite components
• Provides a runtime infrastructure for evaluating, publishing,
and synthesizing measurement events
• Uses business indicators to identify objects that contribute to
the analytical and metric calculations of components
a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
BPELp a k analytics
process a n s provide the following features:
r
e n-t measurement mechanism across Oracle SOA Suite components such as
D•e Anuniform
o
Oracle BPMN, human workflow, and BPEL processes for collecting disparate data
• A runtime infrastructure for evaluating, publishing, and synthesizing measurement
events
• Business indicators are defined in a SOA composite application to identify objects that
contribute to the analytical and metric calculations of components.

Oracle SOA Suite 12c: New Features and Capabilities 13 - 8


Analytics View of a BPEL Process

Switch to Analytics View  Add Intervals, Counter Marks,


Measures, and Dimensions
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 13 - 9


Adding User-Defined Business Indicators
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 13 - 10


Editing Custom Business Indicators
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 13 - 11


BAM Composer: Designer View
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 13 - 12


BAM Composer: Business Friendly, Rich DVT
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Rich set of visualization types


• Ability to drill across and drill
through
• Ability to slice and dice
• Actionable dashboards
a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k afeatures:
BAM Composer
p n s
r
e napplication
-t
D•e Single
n o for modeling, viewing, and administration
• Multi-browser support: Internet Explorer, Chrome, Firefox, and Mobile support
• Rich ADF visualizations including Design Time at Run Time (DT@RT) BAM data control
• Fine-grained security: Project, query, view, dashboard, and row-level security

Oracle SOA Suite 12c: New Features and Capabilities 13 - 13


Configuring Default Analytic Sampling Points

BPEL Component Level


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Composite Level

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 13 - 14


Out-of-the-Box BAM Dashboards to Monitor Processes
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
a k Koffers
OraclepBAM n s fe preassembled dashboards. These dashboards are available out of
several
e Take
ebox.
the n - taradetailed look at these dashboards.
D no

Oracle SOA Suite 12c: New Features and Capabilities 13 - 15


Example: Process Summary
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
Displayso n s e n closed,
metrics fordopen,
duecsoon, overdue,
@ S tu and faulted
i
l k t his for all processes
arn estatuses
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k Summary
The Process
p a n s dashboard is a table display of all processes and their metrics for
ee o
opened, r
-t due soon, overdue, and faulted statuses.
closed,
n
D n

Oracle SOA Suite 12c: New Features and Capabilities 13 - 16


Business Analytics Summary
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

BPEL Editor BAM Composer BAM Monitor


• Defines metrics (Designer) (Operations)
and KPIs • Selects BAM data • To monitor and a
• Instruments the
objects
analyze ) has
• Defines queries om ฺ
process • Get notifications
ฺ c
• Deploys the
• Defines alerts and
ont i o n ide
alerts
process
actions
t e lla t Gu
• Builds o n d n
s • Troubleshoot
e
dashboardsi@
c u
using s S•t Take corrective
viewslkar
n thi action
ฺ k u use
e p ak e to
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a kOracle
Recallpthat a n s offers tools that the business user can use to define metrics,
BPM
instrument t r
ee ona -process model to collect those metrics, design dashboards, monitor processes,
D n
and take corrective action, if necessary.

Oracle SOA Suite 12c: New Features and Capabilities 13 - 17


Course Summary
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

We have seen quite a lot of features and new


functionality in these two days. Are we done?

We are! Time to try out these new features in our


development environments. I am going to start by
installing a Quick Start Developers environment
on my desktop. a
a s
m )h
n ฺ co eฺ
l a t io uid
Me too! Before we go, let us review where to go for
more information.
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
Refer p a k KFusion
Oracle a n s fe
Middleware Developing SOA Applications with Oracle SOA Suite 12c
e
e at:
(12.1.3) - t r
http://docs.oracle.com/middleware/1213/soasuite/develop-soa/title_soase.htm.
D non

Oracle SOA Suite 12c: New Features and Capabilities 13 - 18


How Can I Learn More?
Topic Website

Education and Training http://education.oracle.com


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Product Documentation http://www.oracle.com/technology/documentation

Product Downloads http://www.oracle.com/technology/software

Product Articles http://www.oracle.com/technology/pub/articles

Product Support http://www.oracle.com/support

Product Forums http://forums.oracle.com


s a
)ha
Product Tutorials http://www.oracle.com/technology/obe m
co eฺ
n ฺ
Sample Code t io uid
http://www.oracle.com/technology/sample_code
l a
s t el nt G
Topology Suggestions on tude
https://blogs.oracle.com/soa/
c
r ni@ this S
Upgrading to SOA Suite 12c https://apexapps.oracle.com/pls/apex/f?p=44785:24:0::::P
a
u lk se
24_CONTENT_ID,P24_PREV_PAGE:9768,1
k
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
p a
The table k
in the a n lists the various web resources that are available to learn more about
slide
e
e SOA
Oracle t r
-Suite 12c and related products. Be mindful of underscores in the URLs, for
D non
example, in sample code.

Oracle SOA Suite 12c: New Features and Capabilities 13 - 19


Additional Oracle University Training

Immediately following this training course is:


• Oracle Service Bus 12c: New Features (two days)
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Oracle BPM 12c: New Features (one day)


Other related courses include:
• Oracle SOA Suite12c: System Architecture and Administration
(5 days)
• SOA Adoption and Architecture Fundamentals (three days) a
) has
ฺ c om ฺ
t i o n ide
These courses
t e la t Gu
lare
n
recommended
o s forden
future
@ ctraining!
S tu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities 13 - 20


A
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Appendix A: Oracle Enterprise


Scheduler Service a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-
Objectives

After completing this lesson, you should be able to:


• Describe the Enterprise Scheduler Service (ESS)
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Install ESS
• Configure jobs and related metadata
• Administer running and completed jobs

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities A - 2


Agenda

• Enterprise Scheduler Service: Introduction


• Setting Up and Configuring ESS
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Defining ESS Jobs


• Monitoring and Administering ESS

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities A - 3


Enterprise Scheduler Service: Introduction

Start and stop


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

composites.

Activate and
deactivate
adapters.

a
) has
Job 1
ฺ c om ฺ
t i o n ide
Job 2
e llaJob G u
Orchestration
n t
s dwith e t
nBPEL
o
c Stu
Job N
i @
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k andossignificant amount of work in the background or on a schedule.
Most applications
p
Integration
D -tr
ee onapplications are no exception. Enterprise job scheduling is the key activity that
n
allows IT to prioritize strategic and urgent business needs by defining the processing window
of various back-office jobs. An enterprise job scheduler helps IT increase productivity and
reduce costs through automation of recurring and scheduled jobs, and resource management.
The Enterprise Scheduler Service (ESS) is included in SOA Suite (starting with version
12.1.3). ESS provides out-of-the box support for:
• Scheduling SOA composites and proxy services
• Activation and deactivation of adapters
• Orchestrating jobs by using BPEL
• Execution of user-created scripts
• Bulk fault notifications and recovery

Oracle SOA Suite 12c: New Features and Capabilities A - 4


What the Enterprise Scheduler Service Provides

The Enterprise Scheduler Service provides:


• Metadata-based schedule, job, and resource definitions
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Multitechnology support for job implementations


– Java, PL/SQL, scripts, Web Services, and EJB
• Support for job dependencies
– Sequential and parallel execution of a set of jobs
– Serialized execution of incompatible jobs a
• Security enforcement and identity propagation ) has
• Centralized and integrated administration consolen(Enterprise ฺ com eฺ
Manager) l a t io uid
s t el nt G
• High availability and scalability architecture
c de clustering
on tuthrough
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
e ep n-tran
D no

Oracle SOA Suite 12c: New Features and Capabilities A - 5


Job Modeling
Work
Assignment

1:n 1:1 1
Job Type
maps
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Java
Work Shift Specialization • PL/SQL
• Web Svc
Selects jobs
• EJB
defines and/or • Script
job sets
Schedule Resource

2s
a
3
group of
)h a
Job Set Job Definition
m
n ฺ co eฺ
l a t io uid
s t eof.l nt G
1. A Job Type is the basic definition of what a job consists
c owork e
n thatuisdperformed.
2. A Job Definition, (or Job), is the smallest unit of t
3. A Job Set is a sequential or parallel set
a r is Swhere a Job Step
niof@JobthSteps,
k u lk se
can be a single Job or another Job Set.

p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
a k Kis the
A JobpType n s fe definition of what a job consists of. It defines whether the job is of the
basic
a service, EJB, or Script type.
ee PL/SQL,
Java, n - trweb
D no
A Job Definition (or Job) is the smallest unit of work that is performed in the client
application’s context. It is defined by the associated Job Type and additional parameters that
are specific to the job definition.
• The Java Executable class if the job is of the Java type, or the PL/SQL function if the job
is of the PL/SQL type, or the script if the job is of the spawned type
• Parameter definitions for the job and its data type, and default values
A Job Set is a sequential or parallel set of Job Steps, where a Job Step can be a single Job
or another Job Set.

Oracle SOA Suite 12c: New Features and Capabilities A - 6


Schedule and Resource Modeling
Work
Assignment
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

1:n 1:1
maps

Work Shift Specialization

selects jobs and/or


defines job sets
1 2
Schedule Resource
s a
)h a
m
coDefinition
Job Set
group of
o n ฺ
Job eฺ
t i i d
t e lla t Gu
o n s den
@ c Stu
1. A Job Schedule is a predefined time orra i
n thatthwillisbeforallocated.
recurrence a period of time.
k a
ฺ k ul use
2. Resources define the threads and throttling

e p ak e to
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
A Jobp a k aisnaspredefined time, a recurrence for a period of time, or an indefinite period
Schedule
ofe e Schedules
time. n - tr are defined independent of Jobs but are associated with one or more Jobs
D no when Requests are submitted.
at run time
Resources define the threads and throttling that will be allocated.

Oracle SOA Suite 12c: New Features and Capabilities A - 7


Schedule and Resource Modeling
3
Work
Assignment
1:n 1:1
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

maps
1 2
Work Shift Specialization

selects jobs and/or


defines job sets
Schedule Resource

group of
s a
Job Set
a
Job Definition
)h
m
co eฺ
n ฺ
l a t iowhich the
u id
l
1. A Work Shift defines the resources to be allocated and the duration
te ent
for G
resources are available for job requests.
n s
2. A Specialization defines restrictions for job request c
3. Together, these comprise a Work Assignment,i@
o ton
processing
S
which defines
uda request processor.
a set of work shifts and
the jobs that can run in those work shifts.arn
l k e t his
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
A Workp a k ans consists of a specialization rule and one or more work shifts.
Assignment
e n-tdefinesr
Ae
D Work Shift
o used duringthethesetemporal windows when jobs can be processed and the resources
nbe
that can periods. The resources defined in a work shift include threads,
which are a local resource of the request processor, and asynchronous workers, which are a
global resource. The number of asynchronous workers can be specified to throttle the use of
a shared global resource, such as database jobs.
A Specialization defines restrictions for job request processing on a request processor. It
consists of conditions that are joined with operators (AND, OR, and NOT).
Note: Job request processing can be restricted by:
• The user that submits a job
• Job category (user-defined classification)
• Product that the job belongs to
• Application that the job belongs to
• Job name

Oracle SOA Suite 12c: New Features and Capabilities A - 8


Integration with SOA
Components Used
ESS Clients ESS Component
by ESS Jobs

Enterprise
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Manager

6
1 ESS (job types)
SOA Infra SOA composite
Web
3
EJB Service
OSB proxy
Web Services Scripts
Web
Client
Service
(SOA composite) 2 a
has
EJB 4 SOA Infra
)
5
ฺ c om ฺ
t i o n ide
e lla t ESS G u
MDS
n t
s den Run
o
c Stu Time
ESS i @
Metadata arn
l k e t his
k ฺ ku o usDB
Runtime

e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
1. SOA
p a k uses
Infra a n s ESS APIs to submit and query jobs. At the scheduled time, ESS
the
e nthe r
-t job.
Deinvokes
n o
2. There is also a web service interface to submit a job, query status, and perform other
tasks. You can invoke this web service from a BPEL process in a SOA composite.
3. Composite applications and Service Bus proxy services with a web service interface can
be executed at the scheduled time by ESS.
4. An EJB job can invoke predefined EJBs for SOA to perform bulk recovery, fault
notification, or adapter activation and deactivation.
5. The Oracle Metadata Repository stores Oracle Enterprise Scheduler Service job
metadata.
6. Enterprise Manager is the primary interface to configure, manage, and monitor jobs.

Oracle SOA Suite 12c: New Features and Capabilities A - 9


Job Security
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Submit
ESS

User Job

s a
ESS always checks whether a user has
)ha
the privilege to:
m
co eฺ
• Submit a job
n ฺ
• Add, delete, or update metadata
l a t io uid
• View or operate on a job request
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
Access
p a k
Control to
a nESS Metadata and Requests
e t r
- the list of jobs or job sets metadata that the current user can submit in the
D•e ESS
non
filters
user interface. It always checks whether a user has sufficient privileges to submit a job.
• ESS always checks whether a user has the privilege to add, delete, or update job
metadata.
• It always checks whether a user has the privilege to view or operate on a job request
(data security).
Runtime Identity Management
• A job always runs as the user that submits the job.
• Certain jobs can be configured to run with an application identity that has elevated
privileges.

Oracle SOA Suite 12c: New Features and Capabilities A - 10


Agenda

• Enterprise Scheduler Service: Introduction


• Setting Up and Configuring ESS
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Defining ESS Jobs


• Monitoring and Administering ESS

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities A - 11


Basic Tasks for Configuring and Managing ESS
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Setting Up and Configuring ESS


• Creating Jobs to Run
• Bundling Jobs and Refining Their Work
• Monitoring the System
Administrator Enterprise
s a
Manager
)ha
m
co eฺ
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
a k K anScheduler
OraclepEnterprise sfe Service is administered by using the Oracle Enterprise Manager
Fusion n - tr Control Console (Fusion Middleware Control). In the Console, the
ee Middleware
D no
Scheduling Service home page provides an overview of the scheduler component status, the
top-running and completed scheduled job requests, as well as a performance summary of the
scheduled job requests. Other Scheduling Service pages provide a user interface for
performing the tasks that are described subsequently.
The following is a summary of the steps that you perform to set up Oracle Enterprise
Scheduler Service:
Setting Up and Configuring ESS
1. Create a domain and configure a cluster. Oracle Enterprise Scheduler Service is
installed by a product that includes it as a service to manage schedules. However, it is
possible that the embedding product did not configure the domains that support Oracle
Enterprise Scheduler Service for deploying.
2. Configure a request processor and a request dispatcher. A job request processor is
bound to a particular Oracle Enterprise Scheduler Service server, and is responsible for
allocating threads for job requests. A job request dispatcher polls for job requests.
3. Start the instance.

Oracle SOA Suite 12c: New Features and Capabilities A - 12


Creating Jobs to Run
1. Create job definitions. You can define and manage job definitions that specify values
that are specific to the request at hand.
2. Create schedules. You can define a schedule for managing the execution of job
requests, work assignments, work shifts, and purge policies. You can also create
schedules on the fly when creating a request.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

3. Create and submit job requests. A job request pulls together a job definition with a
schedule on which the job runs.
4. Create a purge policy. Purge policies allow you to define the conditions for retaining and
purging the job requests that are associated with a request processor.
Bundling Jobs and Refining Their Work
1. Create job sets. With job sets, you can bundle jobs into groups in which the jobs run at
the same time or in a sequence.
a
2. Define restrictions with incompatibilities. Incompatibilities specify which jobs should not
s
)ha
run at the same time, along with the conditions under which they are incompatible.
m
co eฺ
3. Define restrictions with work assignments. Work assignments define rules under which
n
jobs can be processed, along with windows of time in which they can run. ฺ
l a t io uid
Monitoring the System
s t el nt G
You can monitor job requests, system performance, and c n ustatus.
osystem t de You can also get logs
for job requests and the system.
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic
lka rab l
u
K sfe
a k
e ep n-tran
D no

Oracle SOA Suite 12c: New Features and Capabilities A - 13


Extending a Domain with ESS
Physical/Virtual Physical/Virtual
Server 1 Server 2
Node Node
Manager Manager
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Admin Domain
Server 2

4 3 3
s a
Administrator Enterprise Cluster
)h a
Manager
m
co eฺ
n ฺ
l a t io uid
s t el nt G
1. Create the ESS schemas with the RCU.
2. Extend the domain. c on tude
r n i@ ion
3. Pack the extended domain and unpack the configuration s S Managed Server hosts.
the
a
lkESS. se t
4. Verify the health and accessibility of the h
k u
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
a k K ansinstalled
ESS ispautomatically
fe as part of SOA Suite. Deployment is optional in SOA. ESS can
e
beedeployed t r
-to a SOA cluster or to a separate cluster in the domain by using the domain
D non wizard.
configuration
The task of extending a domain with Oracle Enterprise Scheduler Service requires:
1. Creating the ESS schemas in the Oracle Database with the Repository Creation Utility
2. Extending the domain with the Oracle Enterprise Scheduler Service component and
targeting the component to the existing SOA Managed Servers
3. Packing the extended domain and unpacking the updated configuration on the Managed
Server hosts
4. Verifying the health and accessibility of the ESS services after starting the domain

Oracle SOA Suite 12c: New Features and Capabilities A - 14


Configuring a Job Request Dispatcher

Enable/disable Poll for jobs


Set polling interval. Work assignment = Ready
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Request
Dispatcher

Administrator Enterprise
Manager
a
) has
ฺ c om ฺ
t i o n ide
t
ESS e lla t Gu
Repository
o n s den =
Work assignment

@ c StWaiting
u
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k a request
To configure
p a n s dispatcher, perform the following steps:
e nthe r
-t navigation pane of Enterprise Manager, expand the Scheduling Services
D1.e From
n o
folder and select the Oracle Enterprise Scheduler Service application.
2. From the Scheduling Services menu, select Request Dispatcher, and then select
Configure.
3. In the Enable Request Dispatcher field, enable or disable the request processor. Select
the Enable Request Dispatcher check box to enable request dispatching.
4. Optionally, in the Advanced Configuration section, configure the polling interval for the
request dispatcher. In the Maximum Poll Interval field, enter the smallest appropriate
interval value at which the dispatcher polls for requests.
5. Click Apply to save your changes.

Oracle SOA Suite 12c: New Features and Capabilities A - 15


Starting the Instance

ESS Component
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Web
EJB Service

Web Scripts
Service
Administrator Enterprise EJB
Manager

a
Start/Stop*
• ESS instance
MDS
) has
• Request processor
ฺ c om ฺ
and dispatcher ESS
t i o n ide
Metadata
e lla RuntimeG u
n t
s denDB t
o
c Stu
i @
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
Starting
p a k Stopping
and a n s an Oracle Enterprise Scheduler Service Instance
eeControln -t r
D
The
n o menu for the scheduling service allows you to start an Oracle Enterprise
Scheduler Service instance and consequently begin managing the scheduled job requests.
To start (or stop) an instance of Oracle Enterprise Scheduler Service, from the Scheduling
Service menu, select Control. Select Start Up or Shut Down as required.
Note: Stopping an Oracle Enterprise Scheduler Service instance or component is not
recommended. Shutting down an Oracle Enterprise Scheduler Service component does not
stop job requests from accumulating in the queue.
You can start or stop a configured request processor or dispatcher from the Scheduling
Service menu.
1. From the navigation pane, expand the Scheduling Services folder and select the Oracle
Enterprise Scheduler Service application.
2. From the Scheduling Services menu, select Request Processor and click Start, or click
Start Up on the Home page. Select a request processor in the Scheduler Components
area. Click the Start or Stop button.
3. When prompted, click OK.

Oracle SOA Suite 12c: New Features and Capabilities A - 16


Agenda

• Enterprise Scheduler Service: Introduction


• Setting Up and Configuring ESS
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Defining ESS Jobs


• Monitoring and Administering ESS

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities A - 17


Creating a Web Service Job Definition
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Concrete
WSDL

Job
Definition

a
Web Service Job Type ) has

• SOA suite composite c om ฺ
i o n ide
• OSB proxytservice
e lla Component
G u
• ADF
n t Business
s den t
o
c Stu
i @
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a k anScheduler
OraclepEnterprise s Service lets you run job requests of different types. For each
e
e youoneed
type, t r
- to specify certain metadata to define the characteristics of the job that you
D n n
want to run. You may also want to specify properties of the job request, such as the schedule
for when it runs.
The graphic in the slide illustrates the web service job type. A web service job can call a SOA
Suite composite, an OSB proxy service, or an ADF business component. To call a web
service, the job definition includes most of the information contained in the concrete Web
Services Definition Language (WSDL) for the web service.

Oracle SOA Suite 12c: New Features and Capabilities A - 18


Creating Schedules

Recurrence: Contains an expression that


represents a pattern for a recurring date
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

and time

Explicit Date: Defines a date for use in a


schedule or for exclusion
s a
)ha
m
co eฺ
n ฺ
Exclusion: Contains a list of dates
l a t io uid
to
t l
eexclude t G
exclude or dates and timessto
on tude n from
a schedule c
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
Usingp a k KEnterprise
Oracle n s fe Scheduler Service, you can create a schedule to determine when a
e nruns
joberequest - traor use a schedule for other purposes, such as determining when a work
D no
assignment becomes active. A schedule can contain a list of explicit dates, such as July 14,
2012. A schedule can also include expressions that represent a set of recurring dates (or
times and dates).
Using Oracle Enterprise Scheduler Service, you create a schedule with one or more of the
following:
• Explicit Date: Defines a date for use in a schedule or for exclusion
• Recurrence: Contains an expression that represents a pattern for a recurring date and
time. For example, you can specify a recurrence representing a regular period such as
Mondays at 10:00 AM.
• Exclusion: Contains a list of dates to exclude or dates and times to exclude from a
schedule. For example, you can create an exclusion that contains a list of holidays to
exclude from a schedule.

Oracle SOA Suite 12c: New Features and Capabilities A - 19


Creating and Submitting Job Requests

ESS Component
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Web
EJB Service

Web Scripts
Job Service
Request EJB

Job s a
Definition MDS )h a
m
o ฺ
ESS nฺc
a t io uide
Metadata
l
s t el nt GRuntime
c on tude DB

a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
You can
p a k
submit an
a job request by selecting a job definition that defines the metadata you want
e t r
- a schedule that guides when the job runs.
e by defining
and
D non
You create a job request by selecting a job definition for the job request, and then selecting or
creating a schedule. You may want to configure system properties for the job request, such as
the number of retries to attempt in the event of an execution error and a timeout value for the
job.
To submit a job request, perform the following steps:
1. Use a pre-existing job definition (or create a new job definition).
2. Select the application for which you want to submit the job request.
3. Select a job definition.
4. Optionally, define any parameters that you want to use with the scheduled job request.
5. Select a schedule by which the job is to run.
You can configure a recurring job request by using a job request schedule. Alternatively, you
can configure a job request to run immediately or before a specified end date. Specify how
often (frequency) you want job requests that use this schedule to run. Give the schedule a
name. This appears when you assign the schedule to a job request.

Oracle SOA Suite 12c: New Features and Capabilities A - 20


Creating Job Sets

Job Set
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Job Set
Collections of job definitions
that can be grouped together Job
to run as a single unit are
called a job set.
Job

s a
A job set may contain a
collection of job definitions or Job )ha
one or more child job sets. m
co eฺ
Each job definition or job set n ฺ
included within a job set is
l
Job a t io uid
called a job set step.
s t el nt G
c on tude
a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
a k K anScheduler
OraclepEnterprise sfe Service provides for collections of job definitions that can be
grouped
D n -tr to run as a single unit called a job set. A job set may be nested; thus, a job
ee otogether
n
set may contain a collection of job definitions or one or more child job sets. Each job definition
or job set included within a job set is called a job set step.
A job set is defined as either a serial job set or a parallel job set. At run time, Oracle
Enterprise Scheduler Service runs parallel job set steps together, in parallel. When a serial
job set runs, Oracle Enterprise Scheduler Service runs the steps one after another in a
specific sequence. Using a serial job set, Oracle Enterprise Scheduler Service supports
conditional branching between steps based on the execution status of a previous step.
You can define a serial job set to include a parallel job set, or a parallel job set to include a
serial job set. Job sets that include a mix of parallel and serial job sets are called complex job
sets. For example, when a serial job set contains a child parallel job set, the serial job set runs
serially until it reaches the child parallel job set. Then, all the job definitions or job set
definitions in the child parallel job set run in parallel. On completion of the child parallel job
set, the serial job set continues running its remaining steps serially. Nested parallel job sets
behave the same as non-nested parallel job sets.

Oracle SOA Suite 12c: New Features and Capabilities A - 21


Defining Restrictions with Incompatibilities

Job Job Job


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Job Set

Job
Job
Job
s a
)ha
m
co eฺ
n ฺ
l a t io uid
s t elsame time.
n t G
Incompatibilities can be defined between cjobs
at the e
onand/ortujobdsets.
Incompatibilities specify which jobs should not run

a r ni@ this S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a
An Oracle
p k n Scheduler Service incompatibility specifies which jobs should not run at
Enterprise
a
e
esameotime,
the t r
- along with the conditions under which they would be incompatible.
D n n can be defined between jobs and/or job sets. An incompatibility defines either
Incompatibility
a global incompatibility or a domain-specific, property-based incompatibility.
An incompatibility consists of one or more job definitions that are configured as incompatible,
and (optionally), the resource over which they must be incompatible. A resource is not
specified for a global incompatibility.

Oracle SOA Suite 12c: New Features and Capabilities A - 22


Binding a Work Assignment to a Request Processor
1 2
Work binds to Request
Assignment Processor
3
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

1:n 1:1
maps
Work Shift Specialization
selects jobs and/or
defines job sets
Schedule Resource

group of
s a
Job Set
)ha Job Definition

m
co eฺ
n ฺ
1. A Work Assignment defines a set of work shifts and the jobs
l a t iocan runuid
that
in those work shifts.
s t el nt G
2. A Request Processor represents an ESS node o
c in n de and
an ESS cluster,
t u
defines the available threads.
3. Binding associates a work assignment r i@a request
nwith i s S
processor on a
l
server, determining where the jobsk a
can run. e t
h
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
a ka Work
Recallpthat a n s
Assignment consists of a specialization rule (restrictions for job request
e t r
e onon- a request processor) and one or more work shifts (defines the temporal
processing
D
windowsn when jobs can be processed and what resources can be used during those periods).
A Request Processor represents an ESS node in an ESS cluster, and defines the available
threads. A request processor is mapped to a server.
Binding associates a work assignment with a request processor on a server, determining
where jobs can run. An exclusive binding mode is supported to not only determine when jobs
can run but also to prevent them from running anywhere else.
Note: By default, no work assignments are bound. When there is no bound or active work
assignment, a virtual default work assignment is started to process all jobs by using all
available resources. This default work assignment is limited to the number of threads that are
configured for the processor, but there is no default limit for asynchronous workers. To limit
asynchronous workers, it is necessary to create and bind one or more work assignments.

Oracle SOA Suite 12c: New Features and Capabilities A - 23


Agenda

• Enterprise Scheduler Service: Introduction


• Setting Up and Configuring ESS
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Defining ESS Jobs


• Monitoring and Administering ESS

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities A - 24


Creating a Purge Policy
ESS Component
Web
EJB Service
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

Web Scripts
Service
Administrator Enterprise EJB
Manager

A purge policy automates purging of completed job history.


Purging is actually done in two steps:
• Logical Purge is done by using a purge policy in MDS
Enterprise Manager.
s a
• Physical Purge is done by a DBA by using a predeployed
PL/SQL stored procedure. )h a ESS
Metadata
m
co DBeฺ
Runtime
n ฺ
l a t io uid
s t el nt G
c on tude
a r ni@ this S
DBA
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
a k K allow
Purgeppolicies n s fe to define the conditions for retaining and purging the job requests
you
that n - tra with a request processor. Purge policies allow the scheduling service to
eeare associated
D no
remove completed jobs according to specified criteria. For example, a purge policy might
specify the retention of all Java type job requests by using a particular job definition that was
submitted for execution by a given application for three days. Another purge policy might
retain a particular type of job request—for example, all SQL job requests in a successful
state—for only one day. You can also specify the frequency at which the purge policy is to
run. Purge policies are crucial to establish in a production system.
Job request data is kept in the Oracle Enterprise Scheduler Service runtime store as records
in the runtime store tables. Purging is done in two steps: First, a logical purge is done by
using a purge policy in Enterprise Manager. Then, a physical purge is done by a DBA by
using a predeployed PL/SQL stored procedure.
Defining a purge policy involves:
• Selecting the jobs to be purged: The selection criteria would include the related
application or product, a particular job definition or job type, and the job submitter or a
maximum number of requests.
• Specifying retention criteria: Decide how long job requests are to be retained
depending on their status.
• Specifying purge frequency: Decide how often you want the purge policy to run.
Oracle SOA Suite 12c: New Features and Capabilities A - 25
Monitoring Oracle Enterprise Scheduler Service:
Overview
The bulk of ESS monitoring is done with Enterprise Manager, and
is related to job requests.
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• You can get a snapshot of recent work done as job requests,


including the load that the requests are placing on the system.
You can also view the status of current and pending requests.
• For an Oracle Enterprise Scheduler Service instance, you can
find out how it is performing currently and how it has
performed historically. s a
a
) h of
• You can get the status of a service instance, as well asmthat
ฺ o ฺ
cand
service components such as the request dispatcher
t n
io uide
processor. l a
el nt G
s t e
• Finally, you can get log information about
c on jobt u drequests and
Oracle Enterprise Scheduler a i @
rn this
Service.
S
k u lk se
p a kฺ to u
( d ee ense
r n i
e l ic Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

lka rab l
u
K sfe
a k
e ep n-tran
D no

Oracle SOA Suite 12c: New Features and Capabilities A - 26


Summary

In this lesson, you should have learned how to:


• Describe the Enterprise Scheduler Service
Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

• Install ESS
• Configure jobs and related metadata
• Administer running and completed jobs

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens Copyright © 2016, Oracle and/or its affiliates. All rights reserved.

a r n le l
K ulk ferab
p a k ans
e tr
De non-

Oracle SOA Suite 12c: New Features and Capabilities A - 27


Unauthorized reproduction or distribution prohibitedฺ Copyright© 2016, Oracle and/or its affiliatesฺ

a
) has
ฺ c om ฺ
t i o n ide
t e lla t Gu
o n s den
@ c Stu
i
l k arn e this
k ฺ ku o us
e p a et
i ( de icens
a r n le l
K ulk ferab
p a k ans
e tr
De non-

Вам также может понравиться