Print Page

Tuesday, November 25, 2008

Multiple Private Keys in Oracle B2B

Stay tuned..

Monday, November 24, 2008

Is batching a Mandatory for Grouping the Transaction set

Even though EDI Batching is the preferred way of grouping the transaction set, it is also possible to handle it by sending multiple transaction set as edifecs XML. B2B accept the multiple transaction set, translate it into EDI document by adding the envelope details to it.

If you find any limitations in this approach , please shoot a mail to ramesh.anantharamaiah@oracle.com

Tuesday, November 11, 2008

New Blogs for - EDI and HL7 Users

EDIGurus.com and HL7gurus.org

Stay tuned to get more. This is a place to ask anything and everything on EDI and HL7.

Thursday, November 6, 2008

CPP/CPA feature in ebMS

Introduction

Oracle B2B is a critical component of Oracle Fusion middleware which supports various Standard based B2B protocol for Trading Partner Integration. Standards supported by B2B protocols spreads across several Business verticals and involve various Document, Exchange standard (Exchange standard incorporates both Transport, packaging and security protocols).

To support multiple protocols Oracle B2B has a notion of canonical meta data model to accommodate the meta data of various protocols. CPA Import process maps the incoming CPA Specific metadata to Oracle B2B canonical model and the CPA Export process do the reverse of mapping from canonical model to CPA model.


This document talks about the import /export aspect of EBXML metadata, which is captured as Collaboration Protocol Profile CPP and Collaboration protocol Agreement CPA and is widely used in EBXML community.

In ebXML, a Collaboration Protocol Profile (CPP) will describe message exchange capabilities of a party. A Collaboration Protocol Agreement (CPA) will describe the agreement between two parties


The CPP and CPA contains details of transport, messaging, security constrains, and bindings to a Business Process Specification (BPSS) document that contains the definition of the interactions between the two Parties while engaging in a message exchange.

This document explains CPP/CPA features, steps to configure using Oracle AS B2B and the runtime behavior of CPP/CPA.


Salient features:

1. CPA import with selective BPSS specification: This utility provides the option to the user to selectively add the BPSS specification while importing the CPA. One or more BPSS documents can also be imported. This is done by adding all the BPSS documents separated by “;”.

2. Auto Creation of Business Action: This feature automatically creates all the BPSS specification business actions to Oracle AS B2B business actions. This will facilitate the user to create Business Action in bulk.


3. Grouping of Business action into an agreement based on endpoint
This feature combines all the business action pertaining to an endpoint under one agreement.


4. Selective usage of Common Business Actions. This feature helps the user to selectively add the common business actions while importing, depending on the business requirement

We are referring ReceiptAcknowledgement, AcceptanceAcknowledg-ement as Common business action i.e one which can be used in multiple services.
One time definition of Common Business Actions: All the common business actions that are using common schema can be defined only once and gets used/referred to all the other BPSS’s while importing, thereby simplifies the CPP/CPA import.

The definition used for the common business actions like ReceiptAcknowledgement, AcceptanceAcknowledgement will have the common schemas.

6. Auto Import/Export of security details: The required security credentials will be taken from CPP/CPA document to Oracle AS B2B as part of CPA import process, also the security details gets exported from Oracle AS B2B to CPP/CPA,

7. CPA Export of Multiple BPSS files from Oracle AS B2B: This feature exports the Oracle AS B2B specific metadata to CPP/CPA specific metadata .For every Business Action, it creates a corresponding BPSS during export.


8. CPA Export of Multiple CPA files from Oracle AS B2B: This feature allows the multiple CPA export. Typically it creates a different agreement for every CPA based on the Trading partner.

9. Log Level can be configured as Debug or Info or Error.
10. Log files can be of type text or xml.




Pre-requisites:

1 Business knowledge of Custom over ebMS Exchange

2 Knowledge of ebXML 2.0

3 As part of Pre-CPA import steps, it is required to create the Internal Delivery Channels in Oracle B2B, and the same has to be referred in the cppcpa.properties. This gets used in CPA Import steps


User Experience

IMPORTANT: Please take backup of your existing B2B configurations.

Steps to run CPP/CPA Import:

1) Set the environment for Oracle AS B2B by executing the setenv script available at $ORACLE_HOME/ip/install
2) Configure all the necessary import values in the cppcpa.properties located in $ORACLE_HOME/ip/tutorial/.
3) From $ORACLE_HOME/ip/tutorial run the below command
java oracle.tip.adapter.b2b.utility.EBMSUtility <location of cppcpa.properties>

Steps to run CPP/CPA Export:

1) Set the environment for Oracle AS B2B by executing the setenv script available at $ORACLE_HOME/ip/install
2) Configure all the necessary export values in the cppcpa.properties located in $ORACLE_HOME/ip/tutorial/.
3) Make sure the property “oracle.tip.adapter.b2b.ebms.CPADocument” is commented. – This property is used while importing the CPP/CPA to Oracle AS B2B
4) Provide the Host Party Name in “oracle.tip.adapter.b2b.ebms.Host” property.
5) Provide the Host Endpoint URL in “oracle.tip.adapter.b2b.ebms.HostEndPoint” property.
6) From $ORACLE_HOME/ip/tutorial run the below command
java oracle.tip.adapter.b2b.utility.EBMSUtility <location of cppcpa.properties>

Configuration Details:

CPA Import Properties:

1 oracle.tip.adapter.b2b.ebms.BPSSDocument
This property holds the absolute path for BPSS Document. It is an optional property, which will be used to get the BPSS document details to be import into Oracle B2B repository. If the property does not exist then the values will be imported from CPA. Multiple BPSS documents are separated by “;”

2 oracle.tip.adapter.b2b.ebms.CPADocument
This mandatory property will be used to get the absolute path of the CPA document to be import into Oracle B2B repository.

3 oracle.tip.adapter.b2b.ebms.xsdLocation
This optional property will be used to specify the absolute path of the schema file location. This schema file will be used for document validation.

When BPSS document is not specified then it will use for the common definition for all Business Actions.

4 oracle.tip.adapter.b2b.ebms.CertificateDirectory
This is a mandatory property in case of secured message transfer. This directory will be used to store the certificates specified in the CPP/CPA document, which will be used in ebXML secured message transfer.

5 oracle.tip.adapter.b2b.ebms.internalDeliveryChannel.InBound
This mandatory property will be used in Oracle B2B Configuration. Specify the already created inbound internal delivery channel or specify the default inbound internal delivery channels like B2B Inbound or XML Gateway Inbound. The specified channel name MUST be present in Oracle AS B2B before importing the CPP/CPA

6 oracle.tip.adapter.b2b.ebms.internalDeliveryChannel.OutBound
This mandatory property will be used in Oracle B2B Configuration. Specify the already created outbound internal delivery channel or specify the default outbound internal delivery channels like B2B Inbound or XML Gateway Inbound. . The specified channel name MUST be present in Oracle AS B2B before importing the CPP/CPA.

7 oracle.tip.adapter.b2b.ebms.CommonBusinessAction
Add the common business actions separated comma. These are the business actions that are used multiple times in CPA.

E.g.: ReceiptAcknowledgementException, ReceiptAcknowledgement, AcceptanceAcknowledgementException, AcceptanceAcknowledgement. It is an optional property.

In case of CPA import along with BPSS document common business action schema can be defined like below,

#oracle.tip.adapter.b2b.ebms.<Business Action Name>.Definition = <location of xsd>
# e.g. oracle.tip.adapter.b2b.ebms.ReceiptAcknowledgementException.Definition = <location of xsd>

8 Oracle.tip.adapter.b2b.ebms.GroupAgreement
This optional Boolean property will be used to group the business action in an agreement.


CPA Export Properties:

9 oracle.tip.adapter.b2b.ebms.OutputFolder
This mandatory property will be used to place the generated CPP/CPA files in the specified location.

10 oracle.tip.adapter.b2b.ebms.Host
This mandatory property will be used to set the Host Trading Partner.

11 oracle.tip.adapter.b2b.ebms.HostEndPoint
This mandatory property will be used to set the host endpoint while generating the CPP/CPA export.

12 oracle.tip.adapter.b2b.ebms.HostCertificateAlias
In case of secure message transfer, this property will be used to get the host certificate details to the CPP/CPA export.

13 oracle.tip.adapter.b2b.ebms.TPCertificateAlias
In case of secure message transfer, this property will be used to get the trading partner certificate details to the CPP/CPA export.

14 oracle.tip.adapter.b2b.ebms.BPSSExport
This optional Boolean property will be used to generate the BPSS document.

Common Properties:
15 oracle.tip.adapter.b2b.ebms.LogDirectory
This mandatory property will be used to store the log files.

16 oracle.tip.adapter.b2b.ebms.LogLevel
This mandatory property will be used to specify the mode of logs like DEBUG|INFO|ERROR.

17 oracle.tip.adapter.b2b.ebms.LogType
This mandatory property will be used to specify the log file will be stored as text/xml.

Note : More details including configuration settings would be available soon, stay tuned.

Attachment feature in ebMS using Oracle AS B2B 10g

These steps help in sending attachments in ebMS.

1. Create an xml in UNIX FILE FORMAT. Here is the sample xml file,

<?xml version="1.0" encoding="UTF-8"?>
<Attachments xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="AttachmentsDescriptor.xsd" version="1.0" boundary="boundary---">
<AttachmentPart>
<Location>file:///scratch/nansrini/test.pdf</Location>
<Content-Type>
<Top-Level-Type>application</Top-Level-Type>
<Sub-Type>pdf</Sub-Type>
</Content-Type>
</AttachmentPart>
</Attachments>


2. Edit the enq.properties to provide the file name for the "attachment" attribute as the above file(sample xml).

3. Provide directory name in tip.properties for the key "oracle.tip.adapter.b2b.attachments.dir" where the file will be stored in the inbound scenario.
4. Restart the server and enqueue the Message.
5. By Default oracle.tip.adapter.b2b.MimeType accepts only below types,

@ application/xml
@ application/octet-stream
@ application/EDIFACT
@ application/EDI-X12
@ application/jpg
@ image/jpeg
@ application/gzip
@ application/x-gzip
@ application/pkcs7-signature

If you want more options, Then you must modify tip.properties in
$ORACLE_HOME/ip/config directory to include your MimeTypes also, For example,
You want to include pdf attachments, Then your tip.properties would look like,

oracle.tip.adapter.b2b.MimeType=application/xml : application/octet-stream : application/EDIFACT : application/EDI-X12 : application/jpg : image/jpeg :
application/gzip : application/x-gzip : application/pkcs7-signature :
application/pdf

Ensure the above property in single line.

Add a new content type such as application/pdf restart opmn and re-try testcase.