+ All Categories
Home > Software > Componenets of osb12c

Componenets of osb12c

Date post: 23-Feb-2017
Category:
Upload: tushar-varshney
View: 267 times
Download: 0 times
Share this document with a friend
68
Tushar Varshney 7/5/22 1
Transcript

Oralce Jdeveloper12c

Friday, December 11, 20151

Oracle Jdeveloper12cComponentsFriday, December 11, 20152

Oracle Service ComponentsFriday, December 11, 20153

Resources ComponentsPipelineSplit JoinFriday, December 11, 20154

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.Friday, December 11, 20155

5Friday, December 11, 2015

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 Friday, December 11, 20156

Static Split-JoinA 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.Friday, December 11, 20157

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.

Friday, December 11, 20158

Technology ComponentsAQMQMSMQRESTSBSocketTuxedoUMSWSAS/400BAMCoherenceDatabaseDirectFileFTPHTTPJEJBJMS TransportLDAPFriday, December 11, 20159

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.Friday, December 11, 201510

MQMessage 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.Friday, December 11, 201511

MSMQMSMQ 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).Friday, December 11, 201512

RESTRESTful web servicesare 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 usingUniform 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.Friday, December 11, 201513

SBThe 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.Friday, December 11, 201514

SocketOracle 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.Friday, December 11, 201515

TuxedoOracle 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 termoutboundrefers 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 terminboundrefers to this proxy service scenario.

Friday, December 11, 201516

UMSUMS 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 asoutboundmessaging), 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.

Friday, December 11, 201517

WSThe 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.Friday, December 11, 201518

BAMBAM 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 processesFriday, December 11, 201519

CoherenceThe 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.Friday, December 11, 201520

Coherence

Friday, December 11, 201521

DatabaseThe 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.Friday, December 11, 201522

FileOracle 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.Friday, December 11, 201523

HTTPThe 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.

Friday, December 11, 201524

JEJBJEJB protocolallows 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.

Friday, December 11, 201525

JMS TransportThe 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. Friday, December 11, 201526

LDAPThe 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.Friday, December 11, 201527

Applications ComponentsJDE WorldOracleSAPFriday, December 11, 201528

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.

Friday, December 11, 201529

OracleThe 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.Friday, December 11, 201530

SAPThe SAP adapter is a packaged-application adapter that lets Service Bus business and proxy services integrate with SAP applications.Friday, December 11, 201531

Advanced ComponentsBPEL10gCustomDSPEJBEmailFile TransportFTP TransportJCAJMSLocalMQ transportSFTPThird Party

Friday, December 11, 201532

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.Friday, December 11, 201533

JMSThe 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:Friday, December 11, 201534

SFTPThe 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.Friday, December 11, 201535

Cloud ComponentSales ForceFriday, December 11, 201536

Salce forceThe 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.Friday, December 11, 201537

Message Flow ComponentsNodesRouteCommunicationsFlow ControlMessage ProcessingReportingFriday, December 11, 201538

Graphical Representational ViewFriday, December 11, 201539

NodesRoutePipeline PairStageConditional BranchError HandlerFriday, December 11, 201540

RouteA 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.

Friday, December 11, 201541

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

Friday, December 11, 201542

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).

Friday, December 11, 201543

Conditional Branch

With the use of Conditional Branch node, we can route the incoming requests to different business services based on different conditions likeequal to (=)not equal to (!=)less than (=)

Friday, December 11, 201544

Error Handler

BEA Aqua 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.

Friday, December 11, 201545

RouteDynamic RoutingRoutingRouting TableIf ThenFriday, December 11, 201546

RouteWhen 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.Friday, December 11, 201547

RoutingDynamic RoutingDynamic 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.

Friday, December 11, 201548

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

Friday, December 11, 201549

CommunicationDynamic PublishPublishPublish TableService CalloutRouting OptionsTransport HeadersFriday, December 11, 201550

Dynamic Publish

In a message flow, use adynamicpublishaction topublisha message to a service specified by an XQuery expression. In the Message Flow Editor, click adynamicpublishaction to display its properties in the Properties view. Use these properties pages to configure the selecteddynamics.

Friday, December 11, 201551

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.

Friday, December 11, 201552

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 theMessage 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.

Friday, December 11, 201553

Friday, December 11, 201554

Transport Headers

To set theheadervalues in messages.Friday, December 11, 201555

Flow ControlFor EachIf ThenRaise ErrorReplyResumeSkipFriday, December 11, 201556

Oracle Service Bus Flow Control ActionsAction :-Summary DescriptionFor 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 expressionRaise Error :-Raise an exception with a specified error code and descriptionReply :-Specify that an immediate reply is sent to the invoker; can be a reply with success or failureResume :- 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.

Friday, December 11, 201557

Message ProcessingAssignDeleteInsertJava CalloutMFL TranslatenXSD TranslateRenameReplaceValidateFriday, December 11, 201558

Oracle Service Bus Message Processing Actions

Assign the result of an XQuery expression to a context variableDelete a context variable or a set of nodes specified by an XPath expressionInsert the result of an XQuery expression at an identified place relative to nodes selected by an XPath expressionJava 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 elementReplace a node or the contents of a node specified by an XPath expressionValidate elements selected by an XPath expression against an XML schema element or a WSDL resource

Friday, December 11, 201559

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.

Friday, December 11, 201560

Friday, December 11, 201560

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.

Friday, December 11, 201561

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 JCA Adapters 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.Friday, December 11, 201562

Reporting AlertLogReportFriday, December 11, 201563

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.

Friday, December 11, 201564

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 serviceandyou specifyBest Effortfor QoS (Quality of Service), then OSB will release the thread it is holding while the business service executes.If you are calling a Business serviceandyou specifyExactly OnceorAt Least Oncefor 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.

Friday, December 11, 201565

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.

Friday, December 11, 201566

Publish

Can be synchronous or asynchronousIf you are calling a business service with a Quality of Service ofBest Effort, then it will be an asynchronous call.If you call a business service with a Quality of Service ofExactly OnceorAt 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 usewhen you do not need to wait for a response from the process you are calling (Fire and Forget.... Asynchronous Calls)

Friday, December 11, 201567

Friday, December 11, 201568


Recommended