How to Support Trading Partner-Specific Variants
17.3.8 How to Support Trading Partner-Specific Variants
This section includes the following topics: ■ Section 17.3.8.1, Supporting Trading Partner-Specific Custom Extensions ■ Section 17.3.8.2, Supporting Trading Partner-Specific XSLTs ■ Section 17.3.8.3, Supporting Trading Partner-Specific Document Types and Versions Frequently, in B2B implementations different trading partners need to support different versions or mapping guidelines for the same B2B document. If a given B2B document needs to be sent to multiple trading partners, based on the version and mapping guideline determined for that trading partner, the B2BCS of the document can be built to support this trading partner-specific transformation logic. Multiple ways are available by which this can be achieved, as described in the following section.17.3.8.1 Supporting Trading Partner-Specific Custom Extensions
If the trading partner-specific mappings are an addition to a common core mapping that remains unchanged, explore the possibility of using the custom XSLT template calls to have partner-specific mappings. For more information about support for XSLT extension using callouts to custom XSLT templates, see Section 13.1, Developing Extensible ABCS. Table 17–6 AIA B2B Interface Utility Service Annotation Elements in composite.xml Annotation Element Description AIAReferenceArtifactType Enter value UtilityService AIAReferenceServiceOperationNam e Enter value ProcessB2BDocument Developing and Implementing Outbound B2B Integration Flows 17-21 In short, at the end of every business component mapped in the XSLT file, an invocation to a custom XSLT template is made from the shipped B2BCSs, as shown in Figure 17–17 . Figure 17–17 Business Component Mapped in the XSLT, including an invocation from the Shipped B2BCS to a Custom XSLT template The custom XSLT templates are defined in a custom XSLT file, as shown in Figure 17–18 , which is included in the main XSLT. Figure 17–18 Custom XSLT Templates Defined in a Custom XSLT File During implementation, you can add additional mappings to this custom XSLT file. The trading partner ID can be passed as an input to the custom XSLT template call and can be used to conditionally map to target B2B elements, as shown in Figure 17–19 . Figure 17–19 Trading Partner ID Passed as an Input to the Custom XSLT Template Call 17-22 Developers Guide for Oracle Application Integration Architecture Foundation Pack17.3.8.2 Supporting Trading Partner-Specific XSLTs
If the trading partner-specific mappings conflict with each other or if the partner-specific mappings need to be added at arbitrary locations in the XML document and not just at the end of each mapping template, the previous approach of using the custom XSLT templates to define partner-specific mappings will not meet requirements. To meet such requirements, you can decide to develop one XSLT file for each trading partner that needs custom mappings. You can make a copy of a shipped XSLT file, edit it to include partner-specific mapping logic, and save it by using a partner prefix in the filename, as shown in Figure 17–20 . Figure 17–20 Copies of Shipped XSLT Files Edited to Include Partner-Specific Mapping Logic and Saved Using a Partner Prefix in the Filename Next, you can define a configuration file that contains information about which XSLT file has to be used for each trading partner. For example, you can use a domain value mapping DVM file to store this configuration information, as shown in Figure 17–21 . Figure 17–21 DVM File Used to Map Trading Partners to XSLT Files In the provider B2BCS Impl BPEL process, as shown in Figure 17–22 , you can do a lookup on this DVM file, as shown in Figure 17–23 , to obtain the XSLT filename, as shown in Figure 17–24 . Developing and Implementing Outbound B2B Integration Flows 17-23 Figure 17–22 Provider B2BCS Implementation BPEL Process Requiring Trading Partner-Specific XSLT Figure 17–23 DVM Lookup to Obtain XSLT Filename Figure 17–24 Retrieval of XSLT Filename17.3.8.3 Supporting Trading Partner-Specific Document Types and Versions
Along with the need for trading partner-specific XSLTs, a different Document Type may possibly need to be used in Oracle B2B for defining the trading partner agreements for the same external B2B document. For example, trading partner Global might need the 5010 version of the X12 855 B2B document and trading partner ABC Corp might need the 4010 version of the same document. Using the approach described in the previous section, you can use the same provider B2BCS Implementation to generate B2B documents for both the trading partners. However, while the AIA B2B Interface is being invoked based on the trading partner involved for the specific instance of the service, the corresponding B2B document version must be specified, 4010 for Global and 5010 for ABC Corp, for example. To support these requirements, use a DVM file similar to the one used in the previous approach to store the B2B Document Type and Document Revision information for each trading partner, as shown in Figure 17–25 . This information can be looked up by the BPEL process to populate the B2BMHeaderB2BDocumentTypeTypeCode and B2BMHeaderB2BDocumentTypeVersion attributes. 17-24 Developers Guide for Oracle Application Integration Architecture Foundation Pack Figure 17–25 DVM Used to Store Trading Partner B2B Document Type and Document Revision Information While the configuration files described previously can be created and stored locally within the Oracle JDeveloper project, a best-practice recommendation is to externalize these files, store them in MDS, and refer to them from your B2BCS Implementation BPEL project using oramds lookup. Note that though this approach of using DVM files to store the B2B document preference and trading partner-specific transformation information works, the Trading Partner information between the application and these DVM files must be kept synchronized. Each time a new trading partner is defined in the application, a corresponding record should be created in this DVM to store the B2B document preference of the trading partner. A well-established administrative process to manage these changes should be available.17.3.9 How to Enable Error Handling
Parts
» 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