SlideShare une entreprise Scribd logo
1  sur  68
Tushar Varshney
Tuesday, December 15,
2015 1
Oracle Jdeveloper12c
Components
Tuesday, December 15,
2015 2
Oracle Service Components
Tuesday, December 15,
2015 3
Resources Components
 Pipeline
 Split Join
Tuesday, December 15,
2015 4
Pipeline
 A pipeline is composed of components that define
the logic for routing and manipulating messages as
they flow through a pipeline. Nodes are configured
to route messages through the message flow.
Stages and actions contain rules for processing
and transforming messages.
Tuesday, December 15,
2015 5
Split Join
A split-join is a mediation pattern that can be used in a Service Bus to direct the
flow and processing of messages. Split-joins let you split a service payload, such as
an order, into individual messages that are sent to multiple services concurrently, as
opposed to standard sequential processing. This greatly improves service
performance. Split-join achieves this by splitting an input message payload into
sub-messages (split), routing them concurrently to their destinations, and
aggregating the responses into one overall return message (join). This process of
payload splitting and response aggregation is called a split-join pattern.
 There are two types if Split-Joins in Oracle Service Bus.
 Static Split-Join
 Dynamic Split-Join
Tuesday, December 15,
2015 6
Static Split-Join
 A static split-join branches from the main execution thread of a
Service Bus message flow by splitting a payload into a fixed
number of new branches according to the configuration of the split-
join. At design time you determine the number and variety of
services to be invoked. For instance, a customer places an order for
a cable package that includes three separate services: internet
service, TV service, and telephone service. In the static use case,
you could execute all three requests in separate parallel branches to
improve performance time over the standard sequential execution.
Tuesday, December 15,
2015 7
Dynamic Split-Join
 A dynamic split-join branches from the main execution thread of a Service
Bus pipeline by dynamically creating new branches according to the
contents of the incoming payload. The number of message requests created
is variable. A dynamic split-join uses conditional logic to determine the
number of branches to create. All requests are handled simultaneously, and
the responses are aggregated into a single reply. For instance, a retailer
places a batch order containing a variable number of individual purchase
orders. In the dynamic use case, you could parse the batch order and create
a separate message request for each purchase. Like the static use case, these
messages are then executed in parallel for improved performance.
Tuesday, December 15,
2015 8
Technology Components
1. AQ
2. MQ
3. MSMQ
4. REST
5. SB
6. Socket
7. Tuxedo
8. UMS
9. WS
10. AS/400
11. BAM
12. Coherence
13. Database
14. Direct
15. File
16. FTP
17. HTTP
18. JEJB
19. JMS Transport
20. LDAP
Tuesday, December 15,
2015 9
AQ
Oracle Streams Advanced Queuing (AQ) provides a flexible
mechanism for bidirectional, asynchronous communication
between participating applications. Advanced queues are an
Oracle database feature, and are therefore scalable and reliable.
Other features of Oracle database, such as backup and recovery
(including any-point-in-time recovery), logging, transactional
services, and system management, are also inherited by advanced
queues. Multiple queues can also service a single application,
partitioning messages in a variety of ways and providing another
level of scalability through load balancing.
Tuesday, December 15,
2015 10
MQ
Message queuing is a technique for asynchronous program-to-
program communication. It enables application integration by
allowing independent applications on a distributed system to
communicate with each other. One application sends messages to a
queue owned by a queue manager, and another application retrieves
the messages from the queue. The communication between
applications is maintained even if the applications run at different
times or are temporarily unavailable.
Tuesday, December 15,
2015 11
MSMQ
 MSMQ is Microsoft's message queuing server. MSMQ can be used
a a message broker to transmit messages (self-describing data
structures) from one application to another.
 A classic usage example is the integration of two stand-alone
information systems. An application can be written which extracts
information from one information system. For example, a purchase
order for a flight. That information is packed into a message (e.g.,
the flight date and time, airline, passenger class, etc.). The message
is then sent to a MSMQ server, where it is "queued" in a database.
(The MSMQ server is similar to an e-mail server, but it's designed
to let applications "talk" to each other, whereas a mail server is
designed to let humans talk to each other).
Tuesday, December 15,
2015 12
REST
 RESTful web services are built to work best on the Web.
Representational State Transfer (REST) is an architectural style that
specifies constraints, such as the uniform interface, that if applied to
a web service induce desirable properties, such as performance,
scalability, and modifiability, that enable services to work best on
the Web. In the REST architectural style, data and functionality are
considered resources and are accessed using Uniform Resource
Identifiers (URIs), typically links on the Web. The resources are
acted upon by using a set of simple, well-defined operations. The
REST architectural style constrains an architecture to a client/server
architecture and is designed to use a stateless communication
protocol, typically HTTP. In the REST architecture style, clients and
servers exchange representations of resources by using a
standardized interface and protocol.
Tuesday, December 15,
2015 13
SB
 The SB transport allows Oracle products to synchronously invoke
an Oracle Service Bus proxy service using RMI. The inbound
transport allows clients to access SB proxy services using RMI. The
outbound transport allows the invocation of SB proxy services
using RMI. By default, accessing all services using T3 protocol,
IIOP, HTTP, T3s, IIOPS, or HTTPS depends on the configuration of
the target server.
Tuesday, December 15,
2015 14
Socket
 Oracle Socket Adapter is a JCA 1.5 compliant adapter for modeling
standard or nonstandard protocols for communication over TCP/IP sockets.
You can use an Oracle Socket Adapter to create a client or a server socket,
and establish a connection. The data that is transported can be text or
binary.
 The socket adapter lets you create a client or a server socket and establish a
connection. With this adapter, you can model standard or nonstandard
protocols for communication over TCP/IP sockets. The transported data
can be text or binary in format.
Tuesday, December 15,
2015 15
Tuxedo
 Oracle Service Bus and Oracle Tuxedo can interoperate to use the
services that each product offers. The Tuxedo transport allows
secure, guaranteed, high performance, bi-directional access to a
Tuxedo domain from Oracle Service Bus. The Tuxedo transport
allows Tuxedo domains to call services as well as have services
called in a Tuxedo domain.
 When Oracle Service Bus uses services offered by Tuxedo, the
Tuxedo transport facilitates access to those Tuxedo services. The
termoutbound refers to this business service scenario.
 When Tuxedo uses services offered by Oracle Service Bus, Tuxedo
services can call Oracle Service Bus services as though they were
another Tuxedo application. The term inbound refers to this proxy
service scenario.
Tuesday, December 15,
2015 16
UMS
 UMS enables two-way communication between users and deployed
applications. Key features include:
 Support for a variety of messaging channels: Messages can be sent
and received through various channels, for instance, email, instant
messaging (IM) (XMPP), short message service (SMS) (SMPP).
 Two-way messaging: In addition to sending messages from
applications to users (referred to as outbound messaging), users can
initiate messaging interactions (inbound messaging). For example, a
user can send an email or text message to a specified address; the
message is routed to the appropriate application that can then
respond to the user or invoke another process according to its
business logic.
Tuesday, December 15,
2015 17
WS
The WS transport implements both inbound and outbound requests
for services derived from SOAP 1.1 and SOAP 1.2 based WSDL
documents with Web Services Reliable Messaging (WSRM) policy.
However, the WSRM policy can be a part of the WSDL file or can
be attached to the service. In addition, security policies can also be
declared in the WSDL file or can be associated with a WSDL-based
service. When you configure WSDL-based services with WSRM
policies in Service Bus, you must choose the WS transport for the
service. Service Bus checks for the WSRM policy when you save
the service configuration and throws a validation error if WSRM
policies are not declared for the WSDL file associated with the
service.
Tuesday, December 15,
2015 18
BAM
 BAM stands for Business Activity Monitoring.
 This component monitors various types of business activities,
reports on them and sends out alerts when thresholds are reached or
surpassed.
 It is a monitoring tool for report creation having real-time
information, these reports help in immediate problem discussion
and resolution
 With BAM, end users, operational managers and to some extend
analysts get a real-time overview of the state of ongoing affairs.
 It is required to improve decision-making processes.
 It is also used to understand Key Performance Indicators (KPI)
affecting processes
Tuesday, December 15,
2015 19
Coherence
 The Oracle Coherence adapter integrates Service Bus business
services with Oracle Coherence. A Coherence cache is a collection
of data objects that serves as an intermediary between the database
and client applications. Database data can be loaded into a cache
and made available to different applications. A Coherence cache
reduces load on the database and provides faster access to database
data. Objects in the cache can be either XML or Plain Old Java
Objects (POJOs). The Coherence adapter enables you to perform
the following operations against a Coherence cache.
Tuesday, December 15,
2015 20
Coherence
Tuesday, December 15,
2015 21
Database
 The Oracle Database Adapter enables a BPEL process to
communicate with Oracle databases or third party databases through
JDBC. The Oracle Database Adapter service is defined within a
BPEL process partner link by using the Adapter Configuration
Wizard of Oracle BPEL Process Manager (Oracle BPEL PM).
 The Oracle Database Adapter enables Oracle SOA Suite and Oracle
Fusion Middleware to communicate with database end points.
These include Oracle database servers and any relational databases
that comply with ANSI SQL and provide JDBC drivers.
Tuesday, December 15,
2015 22
File
 Oracle BPEL PM and Mediator include the Oracle File and FTP Adapters.
The Oracle File and FTP Adapters enable a BPEL process or a Mediator to
exchange (read and write) files on local file systems and remote file
systems (through use of the file transfer protocol (FTP)). The file contents
can be both XML and non-XML data formats.
Tuesday, December 15,
2015 23
HTTP
 The Hypertext Transfer Protocol (HTTP) is an application-level
protocol for distributed, collaborative, hypermedia information
systems. This is the foundation for data communication for the
World Wide Web (i.e. internet) since 1990. HTTP is a generic and
stateless protocol which can be used for other purposes as well
using extensions of its request methods, error codes, and headers.
 Basically, HTTP is a TCP/IP based communication protocol, that is
used to deliver data (HTML files, image files, query results, etc.) on
the World Wide Web. The default port is TCP 80, but other ports
can be used as well. It provides a standardized way for computers to
communicate with each other. HTTP specification specifies how
clients' request data will be constructed and sent to the server, and
how the servers respond to these requests.
Tuesday, December 15,
2015 24
JEJB
 JEJB protocol allows us take POJOs and make them available as
they were EJBs. Here, the XML interface we will expose will only
contain a reference to a Java object, and not its XML content.
Introduced in OSB 11g.
 EJB Transport Uses Java Web services Framework to invoke remote
EJBs.
 JEJB Transport uses an RMI serialization /deserialization cycle and
passes Plain old Java Objects(POJO)directly through the OSB to the
remote EJBs.
 Using JEJB transport we can export a proxy service as a stateless
session bean.
JEJB Transport Advantages:
 JEJB Transport Supports both Inbound and Outbound
whereas EJB supports only Outbound.
 JEJB doesn't convert Java objects to Xml Representation.
Tuesday, December 15,
2015 25
JMS Transport
 The JMS transport lets you send and receive messages from JMS
queues and topics of a JMS service. You enqueue messages when
you configure a business service to use the JMS transport, and you
read (or poll) messages when you configure a proxy service to use
the JMS transport. The JMS queues or topics can reside in a local
Web Logic Server or on a remote server.
 JMS is a standard API for accessing enterprise messaging systems.
Tuesday, December 15,
2015 26
LDAP
 The LDAP adapter lets Service Bus business and proxy services interact
with an LDAP directory. The LDAP adapter defines both asynchronous
and synchronous interfaces to send requests to and receive responses from
LDAP directory servers. The LDAP adapter enables processes to search,
compare, and modify LDAP directories using the LDAP protocol.
Tuesday, December 15,
2015 27
Applications Components
 JDE World
 Oracle
 SAP
Tuesday, December 15,
2015 28
JDE World
 J.D. Edwards World System enables integration with Enterprise systems
through its interoperability framework. The Oracle JD Edwards World
Adapter uses the Adapter framework and leverages various integration
access methods to provide the greatest amount of flexibility and
functionality.
 JDE Edwards World System is a database-based integration: the
J.D.Edwards application is intrinsically a database. Its reports and any
information extraction from it are based on SQL queries. Similarly, write
interactions with JDE Edwards World System are based on inserts into
special tables. The special tables are called z-tables and are used to
temporarily store data that you have imported from an external source (a
flat file, spreadsheet, or another type of file). The JD Edwards World
System processes this data and imports it into real database tables. The Z-
tables help to ensure that the format and process of importing data are as
consistent as possible.
Tuesday, December 15,
2015 29
Oracle
 The Oracle E-Business Suite adapter lets Service Bus business and proxy
services interact with Oracle E-Business Suite. The adapter supports all
modules of Oracle E-Business Suite in Release 12 and Release 11i,
including selecting custom integration interface types based on the version
of Oracle E-Business Suite.
Tuesday, December 15,
2015 30
SAP
 The SAP adapter is a packaged-application adapter that lets Service Bus
business and proxy services integrate with SAP applications.
Tuesday, December 15,
2015 31
Advanced Components
1. BPEL10g
2. Custom
3. DSP
4. EJB
5. Email
6. File Transport
7. FTP Transport
8. JCA
9. JMS
10. Local
11. MQ transport
12. SFTP
13. Third Party
Tuesday, December 15,
2015 32
JCA
Service Bus provides a J2EE Connector Architecture (JCA) transport that
interacts with back-end Enterprise Information Systems (EIS), letting these
systems participate in the Service Bus integration environment. The JCA
transport provides native connectivity between Service Bus and external
systems, letting those systems interact in the service bus layer and leverage
the capabilities and features of Service Bus.
Tuesday, December 15,
2015 33
JMS
 The JMS adapter lets Service Bus business and proxy services interact with
a Java Messaging System (JMS). The JMS architecture uses one client
interface to many messaging servers. The JMS model has two messaging
domains:
Tuesday, December 15,
2015 34
SFTP
 The SFTP transport allows you to transfer files over SSH File Transfer
Protocol (SFTP) using SSH version 2. After authentication, a connection is
established between ALSB services and the SFTP server and file transfer
occurs. The SFTP transport is a poll-based transport that periodically polls
a specified directory based on a polling interval specified during service
configuration. One-way inbound and outbound connectivity is supported
for this transport.
Tuesday, December 15,
2015 35
Cloud Component
 Sales Force
Tuesday, December 15,
2015 36
Salce force
 The Sales force Cloud Adapter lets Service Bus business services interact
with Sales force services. It enables integration with Enterprise, Unlimited,
or Developer Editions of Sales force, and lets you connect a variety of
systems to Sales force, leveraging the SOAP API of Sales force.
Tuesday, December 15,
2015 37
Message Flow Components
 Nodes
 Route
 Communications
 Flow Control
 Message Processing
 Reporting
Tuesday, December 15,
2015 38
Graphical Representational View
Tuesday, December 15,
2015 39
Nodes
 Route
 Pipeline Pair
 Stage
 Conditional Branch
 Error Handler
Tuesday, December 15,
2015 40
Route
 A route node performs request/response communication with
another service or component.
 It represents the boundary between request and response processing
for the pipeline. When the route node dispatches a request message,
the request processing is considered complete.
 When the route node receives a response message, the response
processing begins.
 The route node supports conditional routing as well as request and
response transformations.
 Because a route node represents the boundary between request and
response processing, it cannot have any descendants in the pipeline.
Tuesday, December 15,
2015 41
Pipeline Pair
 Pipeline node is combination of two pipeline, one for request and
one for response.
 A pipeline is a named sequence of stages, representing a non-
branching one-way processing path.
 Pipelines fall into one of the following three categories:
• Request Pipelines: used for processing the request path of the
message flow
• Response Pipelines: used for processing the response path of the
message flow
• Error Pipelines: used as error handlers
Tuesday, December 15,
2015 42
Stage
 The stage performs one of the following operations:
 Updates an Oracle table using INSERT or UPDATE or both as appropriate. Data
is assembled into arrays and written using Oracle host-array processing.
 Loads an Oracle table (by using Oracle fast loader).
 Reads an Oracle table.
 Deletes rows from an Oracle table.
 Performs a lookup directly on an Oracle table.
 Loads an Oracle table into memory and then performs a lookup on it.
 When you use an Oracle stage as a source for lookup data, there are special
considerations about column naming. If you have columns of the same name in
both the source and lookup data sets, note that the source data set column will
go to the output data. If you want this column to be replaced by the column
from the lookup data source, you need to drop the source data column before
you perform the lookup (you can, for example, use a Modify stage to do this).
Tuesday, December 15,
2015 43
Conditional Branch
 With the use of Conditional Branch node, we can route the
incoming requests to different business services based on different
conditions like
 equal to (=)
 not equal to (!=)
 less than (<)
 less than or equal to (<=)
 greater than (>)
 greater than or equal to (>=)
Tuesday, December 15,
2015 44
Error Handler
 BEAAqua Logic Service Bus enables you to configure your system to
format and return error messages.
 Errors can occur during Message Flow processing for various reasons. For
example, security errors occur if a username is not correctly validated or
authorized; transformation errors occur if Aqua Logic Service Bus is unable
to successfully transform or validate a message; a routing error is raised if a
routing service is unavailable, and so on. Typically, these errors originate
from a specific stage, route node or from the proxy service, as this is where
most of the Message Flow logic is implemented.
 Aqua Logic Service Bus provides a mechanism to handle these errors by
enabling you to define error handlers. An error handler is a pipeline that
allows you to perform various actions such as logging, transformation, and
publishing to handle errors appropriately.
Tuesday, December 15,
2015 45
Route
 Dynamic Routing
 Routing
 Routing Table
 If Then
Tuesday, December 15,
2015 46
Route
 When we use Route, this will be the last node in the message flow.
 Routing can be used for Synchronous, One – way.
 There can be only one Route Node in a Proxy Service.
 It is like a bridge between the Request and Response Pipeline.
 The Request and Response variable is always $ body , cannot be user - defined By
defining this in the message flow, it indicates, Request Processing ends here and
Response Processing will begin.
 Routing Actions - Routing Table, and Dynamic Routing.
Tuesday, December 15,
2015 47
Routing
 Dynamic Routing
 Dynamic routing means based on input request your business
process will be invoked.
 Depending upon the input request one of the business service will
be chosen at run time and the file will be written to that folder.
Tuesday, December 15,
2015 48
Routing Table
 A routing table is a set of routes wrapped in a switch-style
condition table. It is a short-hand construct that allows different
routes to be selected based upon the results of a single XQuery
expression
Tuesday, December 15,
2015 49
Communication
 Dynamic Publish
 Publish
 Publish Table
 Service Callout
 Routing Options
 Transport Headers
Tuesday, December 15,
2015 50
Dynamic Publish
 In a message flow, use a dynamic publish action to publish a
message to a service specified by an XQuery expression. In the
Message Flow Editor, click a dynamic publish action to display its
properties in the Properties view. Use these properties pages to
configure the selected dynamics.
Tuesday, December 15,
2015 51
Publish
 Publish action is used for Request only scenarios where you don't
expect a response back. The nature of Publish action (sync or async)
will depend upon the target service you are invoking.
If you are invoking an external service through a business service
then Publish action with Quality of Service(QoS) as "Best Effort"
(default) will work like fire and forget and thread won't get blocked
(async call).
If you are invoking a local proxy service (proxy with transport
protocol as "local") from another proxy using publish action then it
would be a blocking call (synchronus call) and thread will get
blocked untill the processing of local proxy finishes.
Tuesday, December 15,
2015 52
Publish Table
 To publish a message to zero or more statically specified services.
Switch-style condition logic is used to determine at run time which
services will be used for the publish.
 A publish table action contains one or more case actions to define
conditions for following alternative paths (by default, via publish
actions), as well as a default path to a default publish action.
 To fully define a publish table action, you must configure the
publish table action, its case actions, and its publish actions (and
any other actions you may add).
 When you add a publish table action to a message flow in
the Message Flow Editor, the publish table action contains a case
action with a path to a publish action plus a default case action with
a path to a default publish action.
Tuesday, December 15,
2015 53
Tuesday, December 15,
2015 54
Transport Headers
 To set the header values in messages.
Tuesday, December 15,
2015 55
Flow Control
 For Each
 If Then
 Raise Error
 Reply
 Resume
 Skip
Tuesday, December 15,
2015 56
Oracle Service Bus Flow Control Actions
 Action :-Summary Description
 For Each :-Iterate over a sequence of values and execute a block of
actions.
 If... Then :-Perform an action or set of actions conditionally, based
on the Boolean result of an XQuery expression
 Raise Error :-Raise an exception with a specified error code and
description
 Reply :-Specify that an immediate reply is sent to the invoker; can
be a reply with success or failure
 Resume :- Message flow after an error is handled by an error
handler.
 Skip :-Specify that at run time, the execution of the current stage is
skipped and the processing proceeds to the next stage in the
message flow.
Tuesday, December 15,
2015 57
Message Processing
 Assign
 Delete
 Insert
 Java Callout
 MFL Translate
 nXSD Translate
 Rename
 Replace
 Validate
Tuesday, December 15,
2015 58
Oracle Service Bus Message Processing Actions
 Assign the result of an XQuery expression to a context variable
 Delete a context variable or a set of nodes specified by an XPath
expression
 Insert the result of an XQuery expression at an identified place
relative to nodes selected by an XPath expression
 Java Callout Invoke a Java method from within the pipeline.
 MFL Transform Convert non-XML to XML or XML to non-
XML in the pipeline.
 Rename elements selected by an XPath expression without
modifying the contents of the element
 Replace a node or the contents of a node specified by an XPath
expression
 Validate elements selected by an XPath expression against an
XML schema element or a WSDL resource
Tuesday, December 15,
2015 59
Java Callout
 The Java callout action lets you access the methods in a Java
archive (JAR) file to add processing logic to your pipelines and
split-joins. When you configure the callout, you can specify
arguments for the method and you can optionally specify a service
account for security. The parameters can be mapped to message
context variables.Static methods can be accessed from any POJO.
 You can also use Java callouts to create Java objects to store in the
pipeline and to pass Java objects as parameters to other Java
callouts.
Tuesday, December 15,
2015 60
The scenarios in which you can use Java callouts
in Service Bus include the following:
 Performing custom validations, such as validating against a DTD, or doing cross-field semantic
validation in Java.
 Performing custom transformations, such as converting a binary document to base64Binary (or
vice versa) or using a custom Java transformation class.
 Performing custom authentication and authorizations. Examples include scenarios in which a
custom token in a message needs to be authenticated and authorized. However, the authenticated
user's identity cannot be propagated by Service Bus to the services or POJOs subsequently
invoked by the pipeline or split-join.
 Performing lookups for message enrichment. For example, a file or Java table can be used to
look up any piece of data that can enrich a message.
 Accessing binary data. You can use a Java callout to a POJO to sniff the first few bytes of a
binary document to deduce the MFL type. The MFL type returned is used for a subsequent
NonXML-to-XML transformation using the MFL Transform action.
 Implementing custom routing rules or rules engines.
 Creating a Java object and storing it in the pipeline.
 Passing a Java object as a parameter to another Java callout.
 Invoking a remote EJB operation or service with a POJO using a JEJB proxy service.
Tuesday, December 15,
2015 61
nXSD Translate
 The Native Format Builder wizard enables you to sample native
data and create the native XSD (NXSD) grammar for translation of
native data.
 Oracle JCAAdapters are software components that enable the
integration between various enterprise information systems (EIS)
and Oracle BPEL Process Manager (Oracle BPEL PM), or Oracle
Mediator (Mediator). Adapters accept native messages in XML or
non-XML format and publish them to Oracle BPEL PM or Mediator
as XML messages. Adapters can also accept XML messages and
convert them back to native EIS format. This translation from native
data format to XML and back is performed using a definition file
(non-XML schema definition), which itself is defined in XML
schema format.
Tuesday, December 15,
2015 62
Reporting
 Alert
 Log
 Report
Tuesday, December 15,
2015 63
Choosing Between Route, Service Callout and
Publish
 When you are first starting with OSB it can be a little tricky to
determine when to use a Route, Service Callout or a Publish
node. All three can be used to call either a Business service or a
local Proxy service. You can use the following lists to determine
which will best fit your needs.
Tuesday, December 15,
2015 64
Route
 Last node in request processing. It can be thought of as a bridge between
request pipeline processing and the response pipeline processing.
 You can only execute one route in your Proxy Service.
 Can only be created in a route node.
 OSB will wait for the Route call to finish before continuing to process.
◦ If you are calling a Business service and you specify Best Effort for
QoS (Quality of Service), then OSB will release the thread it is holding
while the business service executes.
◦ If you are calling a Business service and you specify Exactly
Once or At Least Once for QoS, then OSB will hold onto the thread
while the business service executes.
◦ If you are calling a local Proxy service, then OSB will hold onto the
thread until the Proxy service finishes executing.
Tuesday, December 15,
2015 65
Service Callout
 Can have multiple Service Callout nodes in a Proxy service.
 Pipeline processing will continue after a Service Callout.
 Can be invoked from the request and/or response pipelines.
 Used to enrich the incoming request or outgoing response. For
example, a call to get a country code.
 Used for real time request/response calls (Synchronous calls).
 OSB will hold a thread and not continue until the Service Callout
completes.
 Can tie up resources and degrade performance under heavy loads.
Tuesday, December 15,
2015 66
Publish
 Can be synchronous or asynchronous
◦ If you are calling a business service with a Quality of Service
of Best Effort , then it will be an asynchronous call.
◦ If you call a business service with a Quality of Service
of Exactly Once or At Least Once, OSB will wait until the
processing completes in the business service completes before
proceeding and it is effectively a synchronous call.
◦ If you are calling a local proxy service, OSB will wait until the
processing in the local proxy service completes and it is
effectively a synchronous call.
 Can be invoked from the request and/or response pipelines.
 Best to use when you do not need to wait for a response from the
process you are calling (Fire and Forget.... Asynchronous Calls)
Tuesday, December 15,
2015 67
Thank You
Tuesday, December 15,
2015 68

Contenu connexe

Tendances

Microsoft Exchange Technology Overview
Microsoft Exchange Technology OverviewMicrosoft Exchange Technology Overview
Microsoft Exchange Technology OverviewMike Pruett
 
Mobility Information Series - Webservice Architecture Comparison by RapidValue
Mobility Information Series - Webservice Architecture Comparison by RapidValueMobility Information Series - Webservice Architecture Comparison by RapidValue
Mobility Information Series - Webservice Architecture Comparison by RapidValueRapidValue
 
Service Oriented Development With Windows Communication Foundation 2003
Service Oriented Development With Windows Communication Foundation 2003Service Oriented Development With Windows Communication Foundation 2003
Service Oriented Development With Windows Communication Foundation 2003Jason Townsend, MBA
 
Advantage of WCF Over Web Services
Advantage of WCF Over Web ServicesAdvantage of WCF Over Web Services
Advantage of WCF Over Web ServicesSiva Tharun Kola
 
Client protocol connectivity flow in Exchange 2013/2007 coexistence | Introdu...
Client protocol connectivity flow in Exchange 2013/2007 coexistence | Introdu...Client protocol connectivity flow in Exchange 2013/2007 coexistence | Introdu...
Client protocol connectivity flow in Exchange 2013/2007 coexistence | Introdu...Eyal Doron
 
Service Oriented Development With Windows Communication Foundation Tulsa Dnug
Service Oriented Development With Windows Communication Foundation   Tulsa DnugService Oriented Development With Windows Communication Foundation   Tulsa Dnug
Service Oriented Development With Windows Communication Foundation Tulsa DnugJason Townsend, MBA
 
Lecture 16 - Web Services
Lecture 16 - Web ServicesLecture 16 - Web Services
Lecture 16 - Web Servicesphanleson
 
Microsoft Exchange 2010 in 10 slides
Microsoft Exchange 2010 in 10 slidesMicrosoft Exchange 2010 in 10 slides
Microsoft Exchange 2010 in 10 slidesAndre Debilloez
 
Overview of Microsoft Exchange Server
Overview of Microsoft Exchange ServerOverview of Microsoft Exchange Server
Overview of Microsoft Exchange Serverbedekarpm
 
Core concepts - mule
Core concepts - muleCore concepts - mule
Core concepts - muleSindhu VL
 

Tendances (20)

Web Service Extensions | Torry Harris Whitepaper
Web Service Extensions | Torry Harris WhitepaperWeb Service Extensions | Torry Harris Whitepaper
Web Service Extensions | Torry Harris Whitepaper
 
Microsoft Exchange Technology Overview
Microsoft Exchange Technology OverviewMicrosoft Exchange Technology Overview
Microsoft Exchange Technology Overview
 
ISUG SSB Lior King
ISUG SSB Lior KingISUG SSB Lior King
ISUG SSB Lior King
 
Virtual migration cloud
Virtual migration cloudVirtual migration cloud
Virtual migration cloud
 
Mobility Information Series - Webservice Architecture Comparison by RapidValue
Mobility Information Series - Webservice Architecture Comparison by RapidValueMobility Information Series - Webservice Architecture Comparison by RapidValue
Mobility Information Series - Webservice Architecture Comparison by RapidValue
 
Service Oriented Development With Windows Communication Foundation 2003
Service Oriented Development With Windows Communication Foundation 2003Service Oriented Development With Windows Communication Foundation 2003
Service Oriented Development With Windows Communication Foundation 2003
 
Serval project report
Serval project reportServal project report
Serval project report
 
Exchange Server 2013 Architecture Deep Dive, Part 1
Exchange Server 2013 Architecture Deep Dive, Part 1Exchange Server 2013 Architecture Deep Dive, Part 1
Exchange Server 2013 Architecture Deep Dive, Part 1
 
Advantage of WCF Over Web Services
Advantage of WCF Over Web ServicesAdvantage of WCF Over Web Services
Advantage of WCF Over Web Services
 
Clientserver
ClientserverClientserver
Clientserver
 
SOA patterns
SOA patterns SOA patterns
SOA patterns
 
A12 kubert 2
A12 kubert 2A12 kubert 2
A12 kubert 2
 
Exchange server 2013
Exchange server 2013Exchange server 2013
Exchange server 2013
 
Client protocol connectivity flow in Exchange 2013/2007 coexistence | Introdu...
Client protocol connectivity flow in Exchange 2013/2007 coexistence | Introdu...Client protocol connectivity flow in Exchange 2013/2007 coexistence | Introdu...
Client protocol connectivity flow in Exchange 2013/2007 coexistence | Introdu...
 
Service Oriented Development With Windows Communication Foundation Tulsa Dnug
Service Oriented Development With Windows Communication Foundation   Tulsa DnugService Oriented Development With Windows Communication Foundation   Tulsa Dnug
Service Oriented Development With Windows Communication Foundation Tulsa Dnug
 
Lecture 16 - Web Services
Lecture 16 - Web ServicesLecture 16 - Web Services
Lecture 16 - Web Services
 
Microsoft Exchange 2010 in 10 slides
Microsoft Exchange 2010 in 10 slidesMicrosoft Exchange 2010 in 10 slides
Microsoft Exchange 2010 in 10 slides
 
Overview of Microsoft Exchange Server
Overview of Microsoft Exchange ServerOverview of Microsoft Exchange Server
Overview of Microsoft Exchange Server
 
Mule esb
Mule esbMule esb
Mule esb
 
Core concepts - mule
Core concepts - muleCore concepts - mule
Core concepts - mule
 

En vedette

Dynamic User Profiling for Search Personalisation
Dynamic User Profiling for Search PersonalisationDynamic User Profiling for Search Personalisation
Dynamic User Profiling for Search PersonalisationThanh Vu
 
ระบบสารสนเทศเพื่อการจัดการ
ระบบสารสนเทศเพื่อการจัดการระบบสารสนเทศเพื่อการจัดการ
ระบบสารสนเทศเพื่อการจัดการนู๋ เฟิร์น
 
Sàn gỗ công nghiệp là gì?
Sàn gỗ công nghiệp là gì?Sàn gỗ công nghiệp là gì?
Sàn gỗ công nghiệp là gì?Mạnh Trí Co.Ltd
 
Who is the EU QPPV and what do they do
Who is the EU QPPV and what do they doWho is the EU QPPV and what do they do
Who is the EU QPPV and what do they doFiorenza Gaudenzi
 
Reaching the Vulnerable with Effective Health Services and Financial Protecti...
Reaching the Vulnerable with Effective Health Services and Financial Protecti...Reaching the Vulnerable with Effective Health Services and Financial Protecti...
Reaching the Vulnerable with Effective Health Services and Financial Protecti...HFG Project
 
CURRICULUM VITAE
CURRICULUM VITAECURRICULUM VITAE
CURRICULUM VITAEEVAEN EVAN
 
Everything you need to know about TicTag
Everything you need to know about TicTagEverything you need to know about TicTag
Everything you need to know about TicTagPieter Heersink
 

En vedette (11)

Dynamic User Profiling for Search Personalisation
Dynamic User Profiling for Search PersonalisationDynamic User Profiling for Search Personalisation
Dynamic User Profiling for Search Personalisation
 
Thank you showl
Thank you showlThank you showl
Thank you showl
 
ระบบสารสนเทศเพื่อการจัดการ
ระบบสารสนเทศเพื่อการจัดการระบบสารสนเทศเพื่อการจัดการ
ระบบสารสนเทศเพื่อการจัดการ
 
Sàn gỗ công nghiệp là gì?
Sàn gỗ công nghiệp là gì?Sàn gỗ công nghiệp là gì?
Sàn gỗ công nghiệp là gì?
 
Hidráulica básica
Hidráulica básicaHidráulica básica
Hidráulica básica
 
Fluidos
FluidosFluidos
Fluidos
 
Professor Peivand Pirouzi Inc. - Pharmacovigilance Inspections: Representati...
Professor Peivand Pirouzi Inc. - Pharmacovigilance Inspections: Representati...Professor Peivand Pirouzi Inc. - Pharmacovigilance Inspections: Representati...
Professor Peivand Pirouzi Inc. - Pharmacovigilance Inspections: Representati...
 
Who is the EU QPPV and what do they do
Who is the EU QPPV and what do they doWho is the EU QPPV and what do they do
Who is the EU QPPV and what do they do
 
Reaching the Vulnerable with Effective Health Services and Financial Protecti...
Reaching the Vulnerable with Effective Health Services and Financial Protecti...Reaching the Vulnerable with Effective Health Services and Financial Protecti...
Reaching the Vulnerable with Effective Health Services and Financial Protecti...
 
CURRICULUM VITAE
CURRICULUM VITAECURRICULUM VITAE
CURRICULUM VITAE
 
Everything you need to know about TicTag
Everything you need to know about TicTagEverything you need to know about TicTag
Everything you need to know about TicTag
 

Similaire à componenets of osb12c

Mule ESB
Mule ESBMule ESB
Mule ESBniravn
 
Mulethenewtechnology 12549172699166-phpapp03-160421133841
Mulethenewtechnology 12549172699166-phpapp03-160421133841Mulethenewtechnology 12549172699166-phpapp03-160421133841
Mulethenewtechnology 12549172699166-phpapp03-160421133841ppts123456
 
Mule technology
Mule technologyMule technology
Mule technologyF K
 
Meetup6 microservices for the IoT
Meetup6 microservices for the IoTMeetup6 microservices for the IoT
Meetup6 microservices for the IoTFrancesco Rago
 
Unit 1 Intersystem CommunicationsCOP4858 PROGRAM & TECH ENH.docx
Unit 1 Intersystem CommunicationsCOP4858 PROGRAM & TECH ENH.docxUnit 1 Intersystem CommunicationsCOP4858 PROGRAM & TECH ENH.docx
Unit 1 Intersystem CommunicationsCOP4858 PROGRAM & TECH ENH.docxwillcoxjanay
 
Introduction to webservices
Introduction to webservicesIntroduction to webservices
Introduction to webservicesGagandeep Singh
 
Finite State Machine Based Evaluation Model For Web Service Reliability Analysis
Finite State Machine Based Evaluation Model For Web Service Reliability AnalysisFinite State Machine Based Evaluation Model For Web Service Reliability Analysis
Finite State Machine Based Evaluation Model For Web Service Reliability Analysisdannyijwest
 
Working of mule
Working of muleWorking of mule
Working of muleSindhu VL
 
Web services concepts, protocols and development
Web services concepts, protocols and developmentWeb services concepts, protocols and development
Web services concepts, protocols and developmentishmecse13
 
IBM --Enterprise messaging in the cloud
IBM --Enterprise messaging in the cloudIBM --Enterprise messaging in the cloud
IBM --Enterprise messaging in the cloudAbhishek Sood
 

Similaire à componenets of osb12c (20)

Componenets of osb12c
Componenets of osb12cComponenets of osb12c
Componenets of osb12c
 
Mule ESB
Mule ESBMule ESB
Mule ESB
 
Mulethenewtechnology 12549172699166-phpapp03-160421133841
Mulethenewtechnology 12549172699166-phpapp03-160421133841Mulethenewtechnology 12549172699166-phpapp03-160421133841
Mulethenewtechnology 12549172699166-phpapp03-160421133841
 
Mule technology
Mule technologyMule technology
Mule technology
 
Mule technology
Mule technologyMule technology
Mule technology
 
Mule technology
Mule technologyMule technology
Mule technology
 
Mule ESB
Mule ESBMule ESB
Mule ESB
 
Meetup6 microservices for the IoT
Meetup6 microservices for the IoTMeetup6 microservices for the IoT
Meetup6 microservices for the IoT
 
Mule esb presentation 2015
Mule esb presentation 2015Mule esb presentation 2015
Mule esb presentation 2015
 
Unit 1 Intersystem CommunicationsCOP4858 PROGRAM & TECH ENH.docx
Unit 1 Intersystem CommunicationsCOP4858 PROGRAM & TECH ENH.docxUnit 1 Intersystem CommunicationsCOP4858 PROGRAM & TECH ENH.docx
Unit 1 Intersystem CommunicationsCOP4858 PROGRAM & TECH ENH.docx
 
Cc unit 2 updated
Cc unit 2 updatedCc unit 2 updated
Cc unit 2 updated
 
integeration
integerationintegeration
integeration
 
Introduction to webservices
Introduction to webservicesIntroduction to webservices
Introduction to webservices
 
Finite State Machine Based Evaluation Model For Web Service Reliability Analysis
Finite State Machine Based Evaluation Model For Web Service Reliability AnalysisFinite State Machine Based Evaluation Model For Web Service Reliability Analysis
Finite State Machine Based Evaluation Model For Web Service Reliability Analysis
 
Working of mule
Working of muleWorking of mule
Working of mule
 
Client server computing
Client server computingClient server computing
Client server computing
 
Web services concepts, protocols and development
Web services concepts, protocols and developmentWeb services concepts, protocols and development
Web services concepts, protocols and development
 
IBM --Enterprise messaging in the cloud
IBM --Enterprise messaging in the cloudIBM --Enterprise messaging in the cloud
IBM --Enterprise messaging in the cloud
 
Microservices
MicroservicesMicroservices
Microservices
 
Service view
Service viewService view
Service view
 

Plus de TUSHAR VARSHNEY

Choreography&amp;orchestration
Choreography&amp;orchestrationChoreography&amp;orchestration
Choreography&amp;orchestrationTUSHAR VARSHNEY
 
Prerequisite to start with sfdc adapter in soa 12 c
Prerequisite to start with sfdc adapter in soa 12 cPrerequisite to start with sfdc adapter in soa 12 c
Prerequisite to start with sfdc adapter in soa 12 cTUSHAR VARSHNEY
 
Oracle Enterprise Scheduler(ESS Job Scheduling)
Oracle Enterprise Scheduler(ESS Job Scheduling)Oracle Enterprise Scheduler(ESS Job Scheduling)
Oracle Enterprise Scheduler(ESS Job Scheduling)TUSHAR VARSHNEY
 
Using jca salesforce adapter with soa suite
Using jca salesforce adapter with soa suiteUsing jca salesforce adapter with soa suite
Using jca salesforce adapter with soa suiteTUSHAR VARSHNEY
 
Oracle@cloud adapter(SFDC integration with SOA Suites12c)
Oracle@cloud adapter(SFDC integration with SOA Suites12c)Oracle@cloud adapter(SFDC integration with SOA Suites12c)
Oracle@cloud adapter(SFDC integration with SOA Suites12c)TUSHAR VARSHNEY
 
Horizontal clustering configuration steps
Horizontal clustering configuration steps Horizontal clustering configuration steps
Horizontal clustering configuration steps TUSHAR VARSHNEY
 
Installing the Oracle SOA Suite on Red Hat 6
Installing the Oracle SOA Suite on Red Hat 6Installing the Oracle SOA Suite on Red Hat 6
Installing the Oracle SOA Suite on Red Hat 6TUSHAR VARSHNEY
 
How to Install JAVA 7 (JDK 7u79) on CentOS_RHEL 7_6_5
How to Install JAVA 7 (JDK 7u79) on CentOS_RHEL 7_6_5How to Install JAVA 7 (JDK 7u79) on CentOS_RHEL 7_6_5
How to Install JAVA 7 (JDK 7u79) on CentOS_RHEL 7_6_5TUSHAR VARSHNEY
 
Introduction of xml and xslt
Introduction of xml and xsltIntroduction of xml and xslt
Introduction of xml and xsltTUSHAR VARSHNEY
 
Description of soa and SOAP,WSDL & UDDI
Description of soa and SOAP,WSDL & UDDIDescription of soa and SOAP,WSDL & UDDI
Description of soa and SOAP,WSDL & UDDITUSHAR VARSHNEY
 
J developer 11g components ppt
J developer 11g components pptJ developer 11g components ppt
J developer 11g components pptTUSHAR VARSHNEY
 
Oracle 11G Database Adapter as Poller with BPEL process _ My Tech Blog
Oracle 11G Database Adapter as Poller with BPEL process _ My Tech BlogOracle 11G Database Adapter as Poller with BPEL process _ My Tech Blog
Oracle 11G Database Adapter as Poller with BPEL process _ My Tech BlogTUSHAR VARSHNEY
 
Simplifying SOA_ Choosing Between Route, Service Callout and Publish
Simplifying SOA_ Choosing Between Route, Service Callout and PublishSimplifying SOA_ Choosing Between Route, Service Callout and Publish
Simplifying SOA_ Choosing Between Route, Service Callout and PublishTUSHAR VARSHNEY
 
OSB 12c - Database Polling using DB adapter - Oracle Fusion Middleware Blog
OSB 12c - Database Polling using DB adapter - Oracle Fusion Middleware BlogOSB 12c - Database Polling using DB adapter - Oracle Fusion Middleware Blog
OSB 12c - Database Polling using DB adapter - Oracle Fusion Middleware BlogTUSHAR VARSHNEY
 
1 Learning About Oracle Service Bus
1 Learning About Oracle Service Bus1 Learning About Oracle Service Bus
1 Learning About Oracle Service BusTUSHAR VARSHNEY
 

Plus de TUSHAR VARSHNEY (18)

Choreography&amp;orchestration
Choreography&amp;orchestrationChoreography&amp;orchestration
Choreography&amp;orchestration
 
Prerequisite to start with sfdc adapter in soa 12 c
Prerequisite to start with sfdc adapter in soa 12 cPrerequisite to start with sfdc adapter in soa 12 c
Prerequisite to start with sfdc adapter in soa 12 c
 
Oracle Enterprise Scheduler(ESS Job Scheduling)
Oracle Enterprise Scheduler(ESS Job Scheduling)Oracle Enterprise Scheduler(ESS Job Scheduling)
Oracle Enterprise Scheduler(ESS Job Scheduling)
 
Sfdc documentation
Sfdc documentationSfdc documentation
Sfdc documentation
 
Using jca salesforce adapter with soa suite
Using jca salesforce adapter with soa suiteUsing jca salesforce adapter with soa suite
Using jca salesforce adapter with soa suite
 
Oracle@cloud adapter(SFDC integration with SOA Suites12c)
Oracle@cloud adapter(SFDC integration with SOA Suites12c)Oracle@cloud adapter(SFDC integration with SOA Suites12c)
Oracle@cloud adapter(SFDC integration with SOA Suites12c)
 
Horizontal clustering configuration steps
Horizontal clustering configuration steps Horizontal clustering configuration steps
Horizontal clustering configuration steps
 
Installing the Oracle SOA Suite on Red Hat 6
Installing the Oracle SOA Suite on Red Hat 6Installing the Oracle SOA Suite on Red Hat 6
Installing the Oracle SOA Suite on Red Hat 6
 
How to Install JAVA 7 (JDK 7u79) on CentOS_RHEL 7_6_5
How to Install JAVA 7 (JDK 7u79) on CentOS_RHEL 7_6_5How to Install JAVA 7 (JDK 7u79) on CentOS_RHEL 7_6_5
How to Install JAVA 7 (JDK 7u79) on CentOS_RHEL 7_6_5
 
Introduction of xml and xslt
Introduction of xml and xsltIntroduction of xml and xslt
Introduction of xml and xslt
 
Description of soa and SOAP,WSDL & UDDI
Description of soa and SOAP,WSDL & UDDIDescription of soa and SOAP,WSDL & UDDI
Description of soa and SOAP,WSDL & UDDI
 
Introduction to bpel
Introduction to bpelIntroduction to bpel
Introduction to bpel
 
J developer 11g components ppt
J developer 11g components pptJ developer 11g components ppt
J developer 11g components ppt
 
Oracle 11G Database Adapter as Poller with BPEL process _ My Tech Blog
Oracle 11G Database Adapter as Poller with BPEL process _ My Tech BlogOracle 11G Database Adapter as Poller with BPEL process _ My Tech Blog
Oracle 11G Database Adapter as Poller with BPEL process _ My Tech Blog
 
Simplifying SOA_ Choosing Between Route, Service Callout and Publish
Simplifying SOA_ Choosing Between Route, Service Callout and PublishSimplifying SOA_ Choosing Between Route, Service Callout and Publish
Simplifying SOA_ Choosing Between Route, Service Callout and Publish
 
oracle service bus
oracle service busoracle service bus
oracle service bus
 
OSB 12c - Database Polling using DB adapter - Oracle Fusion Middleware Blog
OSB 12c - Database Polling using DB adapter - Oracle Fusion Middleware BlogOSB 12c - Database Polling using DB adapter - Oracle Fusion Middleware Blog
OSB 12c - Database Polling using DB adapter - Oracle Fusion Middleware Blog
 
1 Learning About Oracle Service Bus
1 Learning About Oracle Service Bus1 Learning About Oracle Service Bus
1 Learning About Oracle Service Bus
 

componenets of osb12c

  • 4. Resources Components  Pipeline  Split Join Tuesday, December 15, 2015 4
  • 5. Pipeline  A pipeline is composed of components that define the logic for routing and manipulating messages as they flow through a pipeline. Nodes are configured to route messages through the message flow. Stages and actions contain rules for processing and transforming messages. Tuesday, December 15, 2015 5
  • 6. Split Join A split-join is a mediation pattern that can be used in a Service Bus to direct the flow and processing of messages. Split-joins let you split a service payload, such as an order, into individual messages that are sent to multiple services concurrently, as opposed to standard sequential processing. This greatly improves service performance. Split-join achieves this by splitting an input message payload into sub-messages (split), routing them concurrently to their destinations, and aggregating the responses into one overall return message (join). This process of payload splitting and response aggregation is called a split-join pattern.  There are two types if Split-Joins in Oracle Service Bus.  Static Split-Join  Dynamic Split-Join Tuesday, December 15, 2015 6
  • 7. Static Split-Join  A static split-join branches from the main execution thread of a Service Bus message flow by splitting a payload into a fixed number of new branches according to the configuration of the split- join. At design time you determine the number and variety of services to be invoked. For instance, a customer places an order for a cable package that includes three separate services: internet service, TV service, and telephone service. In the static use case, you could execute all three requests in separate parallel branches to improve performance time over the standard sequential execution. Tuesday, December 15, 2015 7
  • 8. Dynamic Split-Join  A dynamic split-join branches from the main execution thread of a Service Bus pipeline by dynamically creating new branches according to the contents of the incoming payload. The number of message requests created is variable. A dynamic split-join uses conditional logic to determine the number of branches to create. All requests are handled simultaneously, and the responses are aggregated into a single reply. For instance, a retailer places a batch order containing a variable number of individual purchase orders. In the dynamic use case, you could parse the batch order and create a separate message request for each purchase. Like the static use case, these messages are then executed in parallel for improved performance. Tuesday, December 15, 2015 8
  • 9. Technology Components 1. AQ 2. MQ 3. MSMQ 4. REST 5. SB 6. Socket 7. Tuxedo 8. UMS 9. WS 10. AS/400 11. BAM 12. Coherence 13. Database 14. Direct 15. File 16. FTP 17. HTTP 18. JEJB 19. JMS Transport 20. LDAP Tuesday, December 15, 2015 9
  • 10. AQ Oracle Streams Advanced Queuing (AQ) provides a flexible mechanism for bidirectional, asynchronous communication between participating applications. Advanced queues are an Oracle database feature, and are therefore scalable and reliable. Other features of Oracle database, such as backup and recovery (including any-point-in-time recovery), logging, transactional services, and system management, are also inherited by advanced queues. Multiple queues can also service a single application, partitioning messages in a variety of ways and providing another level of scalability through load balancing. Tuesday, December 15, 2015 10
  • 11. MQ Message queuing is a technique for asynchronous program-to- program communication. It enables application integration by allowing independent applications on a distributed system to communicate with each other. One application sends messages to a queue owned by a queue manager, and another application retrieves the messages from the queue. The communication between applications is maintained even if the applications run at different times or are temporarily unavailable. Tuesday, December 15, 2015 11
  • 12. MSMQ  MSMQ is Microsoft's message queuing server. MSMQ can be used a a message broker to transmit messages (self-describing data structures) from one application to another.  A classic usage example is the integration of two stand-alone information systems. An application can be written which extracts information from one information system. For example, a purchase order for a flight. That information is packed into a message (e.g., the flight date and time, airline, passenger class, etc.). The message is then sent to a MSMQ server, where it is "queued" in a database. (The MSMQ server is similar to an e-mail server, but it's designed to let applications "talk" to each other, whereas a mail server is designed to let humans talk to each other). Tuesday, December 15, 2015 12
  • 13. REST  RESTful web services are built to work best on the Web. Representational State Transfer (REST) is an architectural style that specifies constraints, such as the uniform interface, that if applied to a web service induce desirable properties, such as performance, scalability, and modifiability, that enable services to work best on the Web. In the REST architectural style, data and functionality are considered resources and are accessed using Uniform Resource Identifiers (URIs), typically links on the Web. The resources are acted upon by using a set of simple, well-defined operations. The REST architectural style constrains an architecture to a client/server architecture and is designed to use a stateless communication protocol, typically HTTP. In the REST architecture style, clients and servers exchange representations of resources by using a standardized interface and protocol. Tuesday, December 15, 2015 13
  • 14. SB  The SB transport allows Oracle products to synchronously invoke an Oracle Service Bus proxy service using RMI. The inbound transport allows clients to access SB proxy services using RMI. The outbound transport allows the invocation of SB proxy services using RMI. By default, accessing all services using T3 protocol, IIOP, HTTP, T3s, IIOPS, or HTTPS depends on the configuration of the target server. Tuesday, December 15, 2015 14
  • 15. Socket  Oracle Socket Adapter is a JCA 1.5 compliant adapter for modeling standard or nonstandard protocols for communication over TCP/IP sockets. You can use an Oracle Socket Adapter to create a client or a server socket, and establish a connection. The data that is transported can be text or binary.  The socket adapter lets you create a client or a server socket and establish a connection. With this adapter, you can model standard or nonstandard protocols for communication over TCP/IP sockets. The transported data can be text or binary in format. Tuesday, December 15, 2015 15
  • 16. Tuxedo  Oracle Service Bus and Oracle Tuxedo can interoperate to use the services that each product offers. The Tuxedo transport allows secure, guaranteed, high performance, bi-directional access to a Tuxedo domain from Oracle Service Bus. The Tuxedo transport allows Tuxedo domains to call services as well as have services called in a Tuxedo domain.  When Oracle Service Bus uses services offered by Tuxedo, the Tuxedo transport facilitates access to those Tuxedo services. The termoutbound refers to this business service scenario.  When Tuxedo uses services offered by Oracle Service Bus, Tuxedo services can call Oracle Service Bus services as though they were another Tuxedo application. The term inbound refers to this proxy service scenario. Tuesday, December 15, 2015 16
  • 17. UMS  UMS enables two-way communication between users and deployed applications. Key features include:  Support for a variety of messaging channels: Messages can be sent and received through various channels, for instance, email, instant messaging (IM) (XMPP), short message service (SMS) (SMPP).  Two-way messaging: In addition to sending messages from applications to users (referred to as outbound messaging), users can initiate messaging interactions (inbound messaging). For example, a user can send an email or text message to a specified address; the message is routed to the appropriate application that can then respond to the user or invoke another process according to its business logic. Tuesday, December 15, 2015 17
  • 18. WS The WS transport implements both inbound and outbound requests for services derived from SOAP 1.1 and SOAP 1.2 based WSDL documents with Web Services Reliable Messaging (WSRM) policy. However, the WSRM policy can be a part of the WSDL file or can be attached to the service. In addition, security policies can also be declared in the WSDL file or can be associated with a WSDL-based service. When you configure WSDL-based services with WSRM policies in Service Bus, you must choose the WS transport for the service. Service Bus checks for the WSRM policy when you save the service configuration and throws a validation error if WSRM policies are not declared for the WSDL file associated with the service. Tuesday, December 15, 2015 18
  • 19. BAM  BAM stands for Business Activity Monitoring.  This component monitors various types of business activities, reports on them and sends out alerts when thresholds are reached or surpassed.  It is a monitoring tool for report creation having real-time information, these reports help in immediate problem discussion and resolution  With BAM, end users, operational managers and to some extend analysts get a real-time overview of the state of ongoing affairs.  It is required to improve decision-making processes.  It is also used to understand Key Performance Indicators (KPI) affecting processes Tuesday, December 15, 2015 19
  • 20. Coherence  The Oracle Coherence adapter integrates Service Bus business services with Oracle Coherence. A Coherence cache is a collection of data objects that serves as an intermediary between the database and client applications. Database data can be loaded into a cache and made available to different applications. A Coherence cache reduces load on the database and provides faster access to database data. Objects in the cache can be either XML or Plain Old Java Objects (POJOs). The Coherence adapter enables you to perform the following operations against a Coherence cache. Tuesday, December 15, 2015 20
  • 22. Database  The Oracle Database Adapter enables a BPEL process to communicate with Oracle databases or third party databases through JDBC. The Oracle Database Adapter service is defined within a BPEL process partner link by using the Adapter Configuration Wizard of Oracle BPEL Process Manager (Oracle BPEL PM).  The Oracle Database Adapter enables Oracle SOA Suite and Oracle Fusion Middleware to communicate with database end points. These include Oracle database servers and any relational databases that comply with ANSI SQL and provide JDBC drivers. Tuesday, December 15, 2015 22
  • 23. File  Oracle BPEL PM and Mediator include the Oracle File and FTP Adapters. The Oracle File and FTP Adapters enable a BPEL process or a Mediator to exchange (read and write) files on local file systems and remote file systems (through use of the file transfer protocol (FTP)). The file contents can be both XML and non-XML data formats. Tuesday, December 15, 2015 23
  • 24. HTTP  The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems. This is the foundation for data communication for the World Wide Web (i.e. internet) since 1990. HTTP is a generic and stateless protocol which can be used for other purposes as well using extensions of its request methods, error codes, and headers.  Basically, HTTP is a TCP/IP based communication protocol, that is used to deliver data (HTML files, image files, query results, etc.) on the World Wide Web. The default port is TCP 80, but other ports can be used as well. It provides a standardized way for computers to communicate with each other. HTTP specification specifies how clients' request data will be constructed and sent to the server, and how the servers respond to these requests. Tuesday, December 15, 2015 24
  • 25. JEJB  JEJB protocol allows us take POJOs and make them available as they were EJBs. Here, the XML interface we will expose will only contain a reference to a Java object, and not its XML content. Introduced in OSB 11g.  EJB Transport Uses Java Web services Framework to invoke remote EJBs.  JEJB Transport uses an RMI serialization /deserialization cycle and passes Plain old Java Objects(POJO)directly through the OSB to the remote EJBs.  Using JEJB transport we can export a proxy service as a stateless session bean. JEJB Transport Advantages:  JEJB Transport Supports both Inbound and Outbound whereas EJB supports only Outbound.  JEJB doesn't convert Java objects to Xml Representation. Tuesday, December 15, 2015 25
  • 26. JMS Transport  The JMS transport lets you send and receive messages from JMS queues and topics of a JMS service. You enqueue messages when you configure a business service to use the JMS transport, and you read (or poll) messages when you configure a proxy service to use the JMS transport. The JMS queues or topics can reside in a local Web Logic Server or on a remote server.  JMS is a standard API for accessing enterprise messaging systems. Tuesday, December 15, 2015 26
  • 27. LDAP  The LDAP adapter lets Service Bus business and proxy services interact with an LDAP directory. The LDAP adapter defines both asynchronous and synchronous interfaces to send requests to and receive responses from LDAP directory servers. The LDAP adapter enables processes to search, compare, and modify LDAP directories using the LDAP protocol. Tuesday, December 15, 2015 27
  • 28. Applications Components  JDE World  Oracle  SAP Tuesday, December 15, 2015 28
  • 29. JDE World  J.D. Edwards World System enables integration with Enterprise systems through its interoperability framework. The Oracle JD Edwards World Adapter uses the Adapter framework and leverages various integration access methods to provide the greatest amount of flexibility and functionality.  JDE Edwards World System is a database-based integration: the J.D.Edwards application is intrinsically a database. Its reports and any information extraction from it are based on SQL queries. Similarly, write interactions with JDE Edwards World System are based on inserts into special tables. The special tables are called z-tables and are used to temporarily store data that you have imported from an external source (a flat file, spreadsheet, or another type of file). The JD Edwards World System processes this data and imports it into real database tables. The Z- tables help to ensure that the format and process of importing data are as consistent as possible. Tuesday, December 15, 2015 29
  • 30. Oracle  The Oracle E-Business Suite adapter lets Service Bus business and proxy services interact with Oracle E-Business Suite. The adapter supports all modules of Oracle E-Business Suite in Release 12 and Release 11i, including selecting custom integration interface types based on the version of Oracle E-Business Suite. Tuesday, December 15, 2015 30
  • 31. SAP  The SAP adapter is a packaged-application adapter that lets Service Bus business and proxy services integrate with SAP applications. Tuesday, December 15, 2015 31
  • 32. Advanced Components 1. BPEL10g 2. Custom 3. DSP 4. EJB 5. Email 6. File Transport 7. FTP Transport 8. JCA 9. JMS 10. Local 11. MQ transport 12. SFTP 13. Third Party Tuesday, December 15, 2015 32
  • 33. JCA Service Bus provides a J2EE Connector Architecture (JCA) transport that interacts with back-end Enterprise Information Systems (EIS), letting these systems participate in the Service Bus integration environment. The JCA transport provides native connectivity between Service Bus and external systems, letting those systems interact in the service bus layer and leverage the capabilities and features of Service Bus. Tuesday, December 15, 2015 33
  • 34. JMS  The JMS adapter lets Service Bus business and proxy services interact with a Java Messaging System (JMS). The JMS architecture uses one client interface to many messaging servers. The JMS model has two messaging domains: Tuesday, December 15, 2015 34
  • 35. SFTP  The SFTP transport allows you to transfer files over SSH File Transfer Protocol (SFTP) using SSH version 2. After authentication, a connection is established between ALSB services and the SFTP server and file transfer occurs. The SFTP transport is a poll-based transport that periodically polls a specified directory based on a polling interval specified during service configuration. One-way inbound and outbound connectivity is supported for this transport. Tuesday, December 15, 2015 35
  • 36. Cloud Component  Sales Force Tuesday, December 15, 2015 36
  • 37. Salce force  The Sales force Cloud Adapter lets Service Bus business services interact with Sales force services. It enables integration with Enterprise, Unlimited, or Developer Editions of Sales force, and lets you connect a variety of systems to Sales force, leveraging the SOAP API of Sales force. Tuesday, December 15, 2015 37
  • 38. Message Flow Components  Nodes  Route  Communications  Flow Control  Message Processing  Reporting Tuesday, December 15, 2015 38
  • 40. Nodes  Route  Pipeline Pair  Stage  Conditional Branch  Error Handler Tuesday, December 15, 2015 40
  • 41. Route  A route node performs request/response communication with another service or component.  It represents the boundary between request and response processing for the pipeline. When the route node dispatches a request message, the request processing is considered complete.  When the route node receives a response message, the response processing begins.  The route node supports conditional routing as well as request and response transformations.  Because a route node represents the boundary between request and response processing, it cannot have any descendants in the pipeline. Tuesday, December 15, 2015 41
  • 42. Pipeline Pair  Pipeline node is combination of two pipeline, one for request and one for response.  A pipeline is a named sequence of stages, representing a non- branching one-way processing path.  Pipelines fall into one of the following three categories: • Request Pipelines: used for processing the request path of the message flow • Response Pipelines: used for processing the response path of the message flow • Error Pipelines: used as error handlers Tuesday, December 15, 2015 42
  • 43. Stage  The stage performs one of the following operations:  Updates an Oracle table using INSERT or UPDATE or both as appropriate. Data is assembled into arrays and written using Oracle host-array processing.  Loads an Oracle table (by using Oracle fast loader).  Reads an Oracle table.  Deletes rows from an Oracle table.  Performs a lookup directly on an Oracle table.  Loads an Oracle table into memory and then performs a lookup on it.  When you use an Oracle stage as a source for lookup data, there are special considerations about column naming. If you have columns of the same name in both the source and lookup data sets, note that the source data set column will go to the output data. If you want this column to be replaced by the column from the lookup data source, you need to drop the source data column before you perform the lookup (you can, for example, use a Modify stage to do this). Tuesday, December 15, 2015 43
  • 44. Conditional Branch  With the use of Conditional Branch node, we can route the incoming requests to different business services based on different conditions like  equal to (=)  not equal to (!=)  less than (<)  less than or equal to (<=)  greater than (>)  greater than or equal to (>=) Tuesday, December 15, 2015 44
  • 45. Error Handler  BEAAqua Logic Service Bus enables you to configure your system to format and return error messages.  Errors can occur during Message Flow processing for various reasons. For example, security errors occur if a username is not correctly validated or authorized; transformation errors occur if Aqua Logic Service Bus is unable to successfully transform or validate a message; a routing error is raised if a routing service is unavailable, and so on. Typically, these errors originate from a specific stage, route node or from the proxy service, as this is where most of the Message Flow logic is implemented.  Aqua Logic Service Bus provides a mechanism to handle these errors by enabling you to define error handlers. An error handler is a pipeline that allows you to perform various actions such as logging, transformation, and publishing to handle errors appropriately. Tuesday, December 15, 2015 45
  • 46. Route  Dynamic Routing  Routing  Routing Table  If Then Tuesday, December 15, 2015 46
  • 47. Route  When we use Route, this will be the last node in the message flow.  Routing can be used for Synchronous, One – way.  There can be only one Route Node in a Proxy Service.  It is like a bridge between the Request and Response Pipeline.  The Request and Response variable is always $ body , cannot be user - defined By defining this in the message flow, it indicates, Request Processing ends here and Response Processing will begin.  Routing Actions - Routing Table, and Dynamic Routing. Tuesday, December 15, 2015 47
  • 48. Routing  Dynamic Routing  Dynamic routing means based on input request your business process will be invoked.  Depending upon the input request one of the business service will be chosen at run time and the file will be written to that folder. Tuesday, December 15, 2015 48
  • 49. Routing Table  A routing table is a set of routes wrapped in a switch-style condition table. It is a short-hand construct that allows different routes to be selected based upon the results of a single XQuery expression Tuesday, December 15, 2015 49
  • 50. Communication  Dynamic Publish  Publish  Publish Table  Service Callout  Routing Options  Transport Headers Tuesday, December 15, 2015 50
  • 51. Dynamic Publish  In a message flow, use a dynamic publish action to publish a message to a service specified by an XQuery expression. In the Message Flow Editor, click a dynamic publish action to display its properties in the Properties view. Use these properties pages to configure the selected dynamics. Tuesday, December 15, 2015 51
  • 52. Publish  Publish action is used for Request only scenarios where you don't expect a response back. The nature of Publish action (sync or async) will depend upon the target service you are invoking. If you are invoking an external service through a business service then Publish action with Quality of Service(QoS) as "Best Effort" (default) will work like fire and forget and thread won't get blocked (async call). If you are invoking a local proxy service (proxy with transport protocol as "local") from another proxy using publish action then it would be a blocking call (synchronus call) and thread will get blocked untill the processing of local proxy finishes. Tuesday, December 15, 2015 52
  • 53. Publish Table  To publish a message to zero or more statically specified services. Switch-style condition logic is used to determine at run time which services will be used for the publish.  A publish table action contains one or more case actions to define conditions for following alternative paths (by default, via publish actions), as well as a default path to a default publish action.  To fully define a publish table action, you must configure the publish table action, its case actions, and its publish actions (and any other actions you may add).  When you add a publish table action to a message flow in the Message Flow Editor, the publish table action contains a case action with a path to a publish action plus a default case action with a path to a default publish action. Tuesday, December 15, 2015 53
  • 55. Transport Headers  To set the header values in messages. Tuesday, December 15, 2015 55
  • 56. Flow Control  For Each  If Then  Raise Error  Reply  Resume  Skip Tuesday, December 15, 2015 56
  • 57. Oracle Service Bus Flow Control Actions  Action :-Summary Description  For Each :-Iterate over a sequence of values and execute a block of actions.  If... Then :-Perform an action or set of actions conditionally, based on the Boolean result of an XQuery expression  Raise Error :-Raise an exception with a specified error code and description  Reply :-Specify that an immediate reply is sent to the invoker; can be a reply with success or failure  Resume :- Message flow after an error is handled by an error handler.  Skip :-Specify that at run time, the execution of the current stage is skipped and the processing proceeds to the next stage in the message flow. Tuesday, December 15, 2015 57
  • 58. Message Processing  Assign  Delete  Insert  Java Callout  MFL Translate  nXSD Translate  Rename  Replace  Validate Tuesday, December 15, 2015 58
  • 59. Oracle Service Bus Message Processing Actions  Assign the result of an XQuery expression to a context variable  Delete a context variable or a set of nodes specified by an XPath expression  Insert the result of an XQuery expression at an identified place relative to nodes selected by an XPath expression  Java Callout Invoke a Java method from within the pipeline.  MFL Transform Convert non-XML to XML or XML to non- XML in the pipeline.  Rename elements selected by an XPath expression without modifying the contents of the element  Replace a node or the contents of a node specified by an XPath expression  Validate elements selected by an XPath expression against an XML schema element or a WSDL resource Tuesday, December 15, 2015 59
  • 60. Java Callout  The Java callout action lets you access the methods in a Java archive (JAR) file to add processing logic to your pipelines and split-joins. When you configure the callout, you can specify arguments for the method and you can optionally specify a service account for security. The parameters can be mapped to message context variables.Static methods can be accessed from any POJO.  You can also use Java callouts to create Java objects to store in the pipeline and to pass Java objects as parameters to other Java callouts. Tuesday, December 15, 2015 60
  • 61. The scenarios in which you can use Java callouts in Service Bus include the following:  Performing custom validations, such as validating against a DTD, or doing cross-field semantic validation in Java.  Performing custom transformations, such as converting a binary document to base64Binary (or vice versa) or using a custom Java transformation class.  Performing custom authentication and authorizations. Examples include scenarios in which a custom token in a message needs to be authenticated and authorized. However, the authenticated user's identity cannot be propagated by Service Bus to the services or POJOs subsequently invoked by the pipeline or split-join.  Performing lookups for message enrichment. For example, a file or Java table can be used to look up any piece of data that can enrich a message.  Accessing binary data. You can use a Java callout to a POJO to sniff the first few bytes of a binary document to deduce the MFL type. The MFL type returned is used for a subsequent NonXML-to-XML transformation using the MFL Transform action.  Implementing custom routing rules or rules engines.  Creating a Java object and storing it in the pipeline.  Passing a Java object as a parameter to another Java callout.  Invoking a remote EJB operation or service with a POJO using a JEJB proxy service. Tuesday, December 15, 2015 61
  • 62. nXSD Translate  The Native Format Builder wizard enables you to sample native data and create the native XSD (NXSD) grammar for translation of native data.  Oracle JCAAdapters are software components that enable the integration between various enterprise information systems (EIS) and Oracle BPEL Process Manager (Oracle BPEL PM), or Oracle Mediator (Mediator). Adapters accept native messages in XML or non-XML format and publish them to Oracle BPEL PM or Mediator as XML messages. Adapters can also accept XML messages and convert them back to native EIS format. This translation from native data format to XML and back is performed using a definition file (non-XML schema definition), which itself is defined in XML schema format. Tuesday, December 15, 2015 62
  • 63. Reporting  Alert  Log  Report Tuesday, December 15, 2015 63
  • 64. Choosing Between Route, Service Callout and Publish  When you are first starting with OSB it can be a little tricky to determine when to use a Route, Service Callout or a Publish node. All three can be used to call either a Business service or a local Proxy service. You can use the following lists to determine which will best fit your needs. Tuesday, December 15, 2015 64
  • 65. Route  Last node in request processing. It can be thought of as a bridge between request pipeline processing and the response pipeline processing.  You can only execute one route in your Proxy Service.  Can only be created in a route node.  OSB will wait for the Route call to finish before continuing to process. ◦ If you are calling a Business service and you specify Best Effort for QoS (Quality of Service), then OSB will release the thread it is holding while the business service executes. ◦ If you are calling a Business service and you specify Exactly Once or At Least Once for QoS, then OSB will hold onto the thread while the business service executes. ◦ If you are calling a local Proxy service, then OSB will hold onto the thread until the Proxy service finishes executing. Tuesday, December 15, 2015 65
  • 66. Service Callout  Can have multiple Service Callout nodes in a Proxy service.  Pipeline processing will continue after a Service Callout.  Can be invoked from the request and/or response pipelines.  Used to enrich the incoming request or outgoing response. For example, a call to get a country code.  Used for real time request/response calls (Synchronous calls).  OSB will hold a thread and not continue until the Service Callout completes.  Can tie up resources and degrade performance under heavy loads. Tuesday, December 15, 2015 66
  • 67. Publish  Can be synchronous or asynchronous ◦ If you are calling a business service with a Quality of Service of Best Effort , then it will be an asynchronous call. ◦ If you call a business service with a Quality of Service of Exactly Once or At Least Once, OSB will wait until the processing completes in the business service completes before proceeding and it is effectively a synchronous call. ◦ If you are calling a local proxy service, OSB will wait until the processing in the local proxy service completes and it is effectively a synchronous call.  Can be invoked from the request and/or response pipelines.  Best to use when you do not need to wait for a response from the process you are calling (Fire and Forget.... Asynchronous Calls) Tuesday, December 15, 2015 67