Guaranteed Message Delivery Introduction to Composite Business Processes How to Implement the CBP as a BPEL Service
13.6.5.3 Asynchronous Operation from an ABCS in the Same Thread but in a Different Transaction
When an ABCS has to invoke an asynchronous operation on a process, which must be executed in the same thread as that of ABCS but in a different transaction, set the following configuration in the called BPEL composite: property name=bpel.config.oneWayDeliveryPolicysyncproperty Note that, in this case, the transaction configuration, bpel.config.transaction, need not be set in the called BPEL composite because the called BPEL should be executed in a transaction different from that of the Caller.13.7 Guaranteed Message Delivery
Guaranteed message delivery means that a message being sent from a producer to a consumer is not lost in the event of an error. AIA uses queues for asynchronous and reliable delivery of messages. For example, ■ PeopleSoft CRM, upon occurrence of a business event, can either push the message directly into a queue or send a SOAP message over HTTP to a JMS 13-34 Developers Guide for Oracle Application Integration Architecture Foundation Pack message producer a JMS transport adapter that is responsible for entering the message in the queue. PeopleSoft CRM can consider the message as sent as soon as the message is dropped into the queue. With this mechanism, the PeopleSoft CRM application can keep sending new messages regardless of whether the CRM on Premises is available or not. ■ A JMS consumer another JMS transport adapter is responsible for dequeuing the messages and invoking PeopleSoft CRM ABCSs. Having the PeopleSoft CRM ABCSs, the EBS, the CRM on Premises ABCS and the Web services as part of the transaction initiated by JMS message producer ensures that the message is removed from the queue only after the successful completion of the task in the CRM on-premise application.13.8 Versioning ABCS
Versioning of a service means: ■ A new service with Version suffix in the name of the Composite and name of the Service Component. ■ The target namespace of the WSDL of the Service Component indicates a new version. For more information about AIA naming standards, see Chapter 29, Oracle AIA Naming Standards for AIA Development .13.8.1 Guidelines for Versioning
During the preparatory phase, be aware of the following guidelines: ■ An ABCS is used across multiple PIPs. It is not PIP-specific. For example, EBizRequesterCreateItemABCS is used by ISCM PIP as well as Agile PLM - Ebiz Integration PIP. ■ Use the Oracle Enterprise Repository to discover the existence of a service. Service definition annotations are persisted in Oracle Enterprise Repository. Oracle Enterprise Repository documents the various conceptual and physical assets depicting the PIP and constituting services. ■ Inline changes made to ABCS without changing the version suffix should be backward compatible. ■ Multiple versions for a service with semantically and technically incompatible contracts among versions are not acceptable. It is not permissible to version an existing ABCS when the contract is totally different, even though the operation to be performed or the verb is same. ■ ABCS is versioned independently of an application version. ABCS is not bound to a specific application version. So, when an application undergoes a version change, it is not binding on ABCS to undergo a similar version change. Thus, ABCS is designed to be agnostic of version changes of the application. ■ Avoid concurrent multiple versions of an ABCS. Completing ABCS Development 13-35 For example, Team A owns Version 1; Team B does not like the contract and creates Version 2 with a different MEPContract. Now Team A is creating Version 3 with a contract that contradicts the previous one. ■ The system does not allow more than one service for an application to perform a single business activity using a specific role RequesterProvider. ■ Do not have more than one service with same logic but different names, either a different name for composite, for service, or having a different portType in the WSDL. ■ Do not have more than one service with different logic but the same names. The operation defined on the EBS determines the implementing ABCS. The operation defined on an EBS is dictated by the business activitybusiness task. Variations of business activity, business task, or both are possible. These are passed in the form of context and implemented by different ABCSs. Multiple teams involved in producing, consuming, or both producing and consuming an ABCS for a specific application and a business activity must reach consensus regarding the contracts. 13-36 Developers Guide for Oracle Application Integration Architecture Foundation Pack 14 Designing and Constructing Composite Business Processes 14-1 14 Designing and Constructing Composite Business Processes This chapter includes the following sections: ■ Section 14.1, Introduction to Composite Business Processes ■ Section 14.2, How to Define the Contract for a CBP ■ Section 14.3, How to Create the Contract for a CBP ■ Section 14.4, How to Implement the CBP as a BPEL Service14.1 Introduction to Composite Business Processes
Composite Business Processes CBPs are the implementation of process services. Process services orchestrate a series of human and automated steps, including enterprise-wide policies captured in business rules. These services run the implementations of the business processes in the Oracle Application Integration Architecture AIA Reference Process Models. AIA recommends using BPEL for implementing CBPs. CBPs are long-running processes that may run from few seconds to days. A CBP has an interface and message structure that is detailed enough to capture all of the information about the source of the triggering event. In most cases, the event is triggered by customer-facing applications. For more information about detailed definition and high-level design and development guidelines, see The AIA Shared Service Inventory in the Oracle Fusion Middleware Concepts and Technologies Guide for Oracle Application Integration Architecture Foundation Pack.14.2 How to Define the Contract for a CBP
The AIA methodology for designing and implementing a CBP is contract first methodology. Therefore, the contract must be defined and created before the CBP is implemented. To define the contract for a CBP: 1. Identify the CBP. 2. Identify the pattern for the CBP. 14-2 Developers Guide for Oracle Application Integration Architecture Foundation Pack14.2.1 How to Identify the CBP
The first task involved in designing a new service is to verify whether it is necessary. Once the need for the CBP is established, review each of the services as well as the description of the operation and any metadata in the Oracle Enterprise Repository before deciding to create a new service or an operation. A CBP may be needed when an enterprise-wide business process is needed for a business event. This process is described in the Reference Process Model and spans multiple operational units for enterprises. To identify a CBP: 1. From the BPA Reference Process Model, identify the business process to implement. 2. Click the link to Oracle Enterprise Repository OER, and review the details in the OER. 3. If no link is available, create a definition for the CBP as part of the relevant AIA Project in the AIA Project Lifecycle Workbench application.14.2.2 How to Identify the Message Pattern for a CBP
The CBP is always modeled to implement a single operation with one-way patterns. No responses to the client are made. Any error situation or response is modeled as an update operation back to the client.14.3 How to Create the Contract for a CBP
To create the contract for a CBP: 1. Identify the message structure. 2. Construct the WSDL for the CBP. 3. Annotate the service interface. See Chapter 9, Annotating Composites . 4. Ensure WS-1 basic profile conformance.14.3.1 How to Construct the WSDL for the CBP
The CBP development starts with constructing a WSDL, and the end result of the technical design process is a CBP WSDL.14.4 How to Implement the CBP as a BPEL Service
To implement the CBP: 1. Create a new WSDL. Create a WSDL for the CBP following the CBP naming standards and the WSDL templates provided. 2. Implement the CBP as a one-way BPEL process. For more information about the details of creating BPEL projects in Oracle JDeveloper, see the Oracle BPEL Process Manager Developers Guide. Designing and Constructing Composite Business Processes 14-3 Refer to Chapter 12, Constructing the ABCS for details about implementing a one-way pattern 3. Enable error handling and logging. Enterprise Business Services EBSs should handle errors to allow clients or administrators to resubmit or re-trigger processes. This is accomplished using a central error handler. For more information, see Chapter 24, Configuring Oracle AIA Processes for Error Handling and Trace Logging . 4. Enable extensibility points in CBP. For more information, see Section 13.1, Developing Extensible ABCS . 14-4 Developers Guide for Oracle Application Integration Architecture Foundation Pack 15 Designing and Constructing Enterprise Business Flows 15-1 15 Designing and Constructing Enterprise Business Flows This chapter describes how to define and implement Enterprise Business Flows EBFs. This chapter includes the following sections: ■ Section 15.1, Introduction to Enterprise Business FlowsParts
» Oracle Fusion Middleware Online Documentation Library
» How to Use the AIA Development Guide Introduction to Project Lifecycle Workbench
» Select a Service Type value: Requestor ABCS, Provider ABCS, Enterprise
» Use the query criteria in the Search area to locate the service solution component
» How to Set Up Environments to Enable Design-Time Harvesting
» Introduction to Bills of Material
» How to Generate a Bill of Material for an AIA Lifecycle Project
» How to View a Bill of Material for an AIA Lifecycle Project
» Introducing Project Lifecycle Workbench Seed Data
» Introduction Oracle Fusion Middleware Online Documentation Library
» Input for Deployment Plan Generator Executing Deployment Plan Generator
» Deploying New or Custom Built Artifacts
» Undeploying Services Oracle Fusion Middleware Online Documentation Library
» Understanding the ODIBOM.xml File
» Understanding the ODI Deployment Plan
» Understanding the Service Annotation Element
» Understanding the Reference Annotation Element Understanding the TransportDetails Element
» How to Annotate the Service Element in a Requester ABCS Composite
» How to Annotate the Service Element in Composite Business Process Composite
» Understanding EBS Types Working with the Enterprise Business Service Library
» Understanding Design Guidelines Understanding Design Considerations
» Creating Routing Rules Working with Message Routing
» Routing at the EBS Guidelines for EBS Routing Rules
» How to Implement Fire-and-Forget Pattern with EBS One-Way Calls Creating EBS WSDLs
» How to Implement the Request-Delayed Response Pattern with the Two One-Way Calls of the EBS
» ABCS Types Introduction to ABCS
» Defining the Role of the ABCS
» Constructing ABM Schemas Analyzing the Participating Application Integration Capabilities
» Introduction to MEPs Choosing the Appropriate MEP
» Outbound Interaction with the Application
» Using BPEL for Building ABCS
» Prerequisites Constructing an ABCS
» ABCS as a Composite Application How Many Components Need to Be Built
» How to Construct the ABCS Composite Using JDeveloper Developing the BPEL Process
» How to Create References, Services, and Components Moving Abstract Service WSDLs in MDS
» Setting Correlation for the Asynchronous Request-Delayed Response MEP
» Using the Programming Models for the Request-Delayed Response Pattern
» Create Invoking Enterprise Business Services
» Update Invoking Enterprise Business Services
» Delete Sync Invoking Enterprise Business Services
» Validate Invoking Enterprise Business Services
» Process Invoking Enterprise Business Services
» Query Invoking Enterprise Business Services
» Introduction to Enabling Requester ABCS for Extension
» Introduction to Enabling Provider ABCS for Extension
» How to Design Extensions-Aware ABCS
» Designing an ABCS Composite with Extension Defining Service at Extension Points
» How to Specify a Concrete WSDL at Deployment Time
» Interfacing with Transport Adapters
» How to Develop Transport Adapters When to Put Adapters in a Single Composite
» How to CAVS Enable the Requester ABCS Introduction to the CAVSEndpointURL Value Designation
» How to Ensure Transactions in AIA Services
» Transactions in Oracle Mediator Transactions in BPEL
» Developing ABCS to Participate in a Global Transaction How to Transaction-Enable AIA Services
» Guidelines for Versioning Versioning ABCS
» Introduction to Enterprise Business Flows
» How to Implement the EBF as a BPEL Service Overview of B2B Integration Using AIA
» B2B Support in AIA Error Handling Framework
» How to Identify the B2B Document Protocol
» How to Identify the B2B Document Type and Definition
» How to Identify the EBO, EBS, and EBM to Be Used How to Design Mappings for the B2B Document
» Introduction to a Provider B2B Connector Service How to Identify the Message Exchange Pattern
» How to Develop a B2BCS Service Contract
» How to Annotate B2B Connector Services
» How to Support Trading Partner-Specific Variants
» How to Enable Error Handling
» How to Route Based on Trading Partner B2B Preferences
» How to Test Using CAVS How to Test Using Dummy Trading Partner Endpoints
» Monitoring Using Oracle B2B Reports Monitoring Using Oracle Enterprise Manager Console
» How to Support Trading Partner-Specific Variants How to Enable Error Handling
» If an additional target is needed, click the Additional Target button on the Service
» Optionally, click the Save As button to save a service solution component request Click Finish.
» Updating SOA MDS with AIA MetaData Using MDS in AIA Content of AIA_HOMEAIAMetaData
» Working with AIA Components Content in AIA_HOMEAIAMetaData
» How to Change an Existing File How to Create a New File
» Introduction to the Tools Used
» Understanding Integration Styles with Integration Framework
» Bulk Data Processing Integration Style Choice Matrix
» Identifying the EBO Designing an Oracle AIA Integration Flow
» Enter your search criteria and click Search to execute a search for a particular
» Inbound Connectivity Outbound Connectivity
» When to Use Web Services with SOAPHTTP
» Session Management for Web Services with SOAPHTTP
» Error Handling for Web Services with SOAPHTTP
» Security for Web Services with SOAPHTTP Message Propagation Using Queues or Topics
» Ensuring Guaranteed Message Delivery When to Use JCA Adapters
» Outbound - Siebel Application Interaction with AIA Services Web Services with SOAPHTTP
» Inbound: E-Business Suite Application Interaction with AIA Services Concurrent Program Executable
» Business Event Subscription JCA Connectivity Using OAPPS Adapter
» Outbound: Oracle E-Business Suite Application Interaction with AIA Services
» Testing an Oracle AIA Integration Flow Design Guidelines
» Initial Data Loads High Volume Transactions with Xref Table Intermittent High Volume Transactions
» Using Error Handling Oracle Fusion Middleware Online Documentation Library
» Click OK to save your changes. Click the Generate and Deploy tab to deploy it on the OC4J server.
» Considerations for Creating Transformation Maps Handling Missing or Empty Elements
» How to Map an Optional Source Node to an Optional Target Node How to Load System IDs Dynamically
» Introduction to DVMs When to Use DVMs Using Cross-Referencing
» Standard Elements Introducing EBM Header Concepts
» Sender Introducing EBM Header Concepts
» Target Introducing EBM Header Concepts
» BusinessScope Introducing EBM Header Concepts
» Use Case: Request-Response Use Case: Asynchronous Process
» Use Case: Synchronous Process with Spawning Child Processes
» EBMTracking Introducing EBM Header Concepts
» Understanding Oracle BPEL Error Handling Understanding Oracle Mediator Error Handling
» What Do I Need to Know About Fault Policy Files
» How to Implement Fault Handling in BPEL Processes
» Guidelines for Defining Fault Policies
» Guidelines for BPEL Catch and Catch-All Blocks in Synchronous Request-Response
» Guidelines for Configuring Mediator for Handling Business Faults
» Overview Implementing Error Handling for the Synchronous Message Exchange Pattern
» Configuring Milestones Implementing Error Handling for the Synchronous Message Exchange Pattern
» Configuring Services Between Milestones
» Describing the EBMReference Element Describing the B2BMReference Element
» Describing the FaultNotification Element
» Introduction to Extending Fault Messages
» In the Error Extension Handler field on the Error Notifications page, enter the
» Introduction to Extending Error Handling Implementing an Error Handling Extension
» Synchronous Request-Reply Pattern: How to get Synchronous Response in AIA
» Asynchronous Fire-and-Forget Pattern AIA Message Processing Patterns
» Guaranteed Delivery Pattern: How to Ensure Guaranteed Delivery in AIA
» Service Routing Pattern: How to Route the Messages to Appropriate Service Provider in AIA
» Extending Existing Schemas in AIA
» Extending AIA Services Extending Existing Transformations in AIA
» Enabling Security for AIA Services
» Overriding Policies Using a Deployment Plan Testing Secured Services using CAVS
» Oracle AIA Recommendations for Policies
» AIA Security Configuration Properties
» Understanding the Structure for Security Context Using Attribute Names
» Interpreting Empty Element Tags in XML Instance Document
» Purging the Completed Composite Instances Syntactic Functional Validation of XML Messages
» Provide Provision for Throttling Capability Artifacts Centralization Separation of Concerns
» Adapters Inside ABCS Composite OR as Separate Composite AIA Governance
» Using BPEL as Glue, Not as a Programming Language
» Avoiding Global Variables Wherever Possible
» How to Use Baselines How to Handle Resource Saturation How to Use Proactive Monitoring
» How to Eliminate Bottlenecks
» How to Tune the Oracle Database Introducing Automatic Workload Repository
» Configuring Performance Related Database Initialization Parameters
» Tuning Redo Logs Location and Sizing Automatic Segment-Space Management ASSM
» Configuring Database Connections and Datasource Statement Caching
» Oracle Metadata Service MDS Performance Tuning
» Configuring SOA Infrastructure Properties
» Configuring BPEL Process Service Engine Properties
» Configuring BPEL Properties Inside a Composite
» Configuring Mediator Service Engine Properties
» How to Tune JMS Adapters How to Tune AQ Adapters
» Overview of AIA Error Handler Framework Purging the Completed Composite Instances
» How to Optimize the JVM Heap - Specifying Heap Size Values
» XML Naming Standards General Guidelines
» Composites Composite Business Process Enterprise Business Services
» Requester Application Business Connector Service Provider Application Business Connector Services
» DVMs DVMs and Cross References
Show more