bea.com | products | dev2dev | support | askBEA

Download Docs | Site Map | Glossary
Search

Implementing ebXML

Administering ebXML

In the WebLogic Integration environment, you use the B2B Console to configure your system to support the exchange of ebXML business messages between trading partners, and to design and manage ebXML business processes using workflows.

This section describes how the architecture of WebLogic Integration provides a robust framework supporting the ebXML business protocol. It also describes how to configure your system to support the exchange of ebXML business messages between trading partners. It includes the following topics:

- Introduction

- Configuring Your Environment for ebXML Messaging

- Reliable Messaging

- Configuring Security

For information about business processes and workflows, see Using Workflows with ebXML.

Introduction

A trading partner for which WebLogic Integration is deployed can engage in ebXML-based e-business transactions with other trading partners deploying WebLogic Integration, or with trading partners for which the lightweight client, WebLogic Integration - Business Connect, is deployed. WebLogic Integration - Business Connect offers small or mid-size trading partners a low-cost opportunity to join trading networks quickly and participate in the rapidly growing e-commerce community.

When two WebLogic Integration trading partners exchange ebXML business messages, they must be configured in peer-to-peer mode. In a peer-to-peer configuration, applications for two trading partners communicate through their respective delivery channels. Peer-to-peer configurations are described in "Configuration Models" in Getting Started with B2B Integration in Introducing B2B Integration.

For information about the WebLogic Integration - Business Connect lightweight client, see Using WebLogic Integration - Business Connect.

Configuring Your Environment for ebXML Messaging

In the WebLogic Integration environment, the user-defined elements required to implement the exchange of ebXML messages between trading partners include the following:

- Conversation definitions

- Workflow templates

- Trading partners and delivery channels

- Collaboration agreements

All these elements are configured with the WebLogic Integration B2B Console and WebLogic Integration Studio. A trading partner that deploys WebLogic Integration stores this configuration data in its repository. Specifically, each enterprise populates its own WebLogic Integration repository with the trading partners, conversation definitions, collaboration agreements, and workflows necessary to engage in e-business interactions with other WebLogic Integration trading partners.

Note: A trading partner for which WebLogic Integration - Business Connect is deployed stores trading partner configurations for both itself and its trading partners. Other data, such as the conversation definition and collaboration agreement necessary to engage in an ebXML business transaction with WebLogic Integration, is configured by the WebLogic Integration trading partner through the B2B Console.

For a sample WebLogic Integration ebXML configuration, see "ebXML Applications" in Configuration Requirements in Administering B2B Integration. This sample configuration describes the ebXML options available for performing the following tasks:

- Configuring trading partners and their associated delivery channels

- Configuring conversation definitions to implement the required roles

- Associating the required trading partner delivery channels with the appropriate roles in the collaboration agreements

- Ensuring your WebLogic Integration system is correctly configured to support the exchange of ebXML messages between your system and a trading partner using the lightweight client, WebLogic Integration - Business Connect

Using the WebLogic Integration B2B Console

For information about how to use the B2B Console to configure the conversation definitions, trading partners, delivery channels, and collaboration agreements needed to support B2B integration functions, see Configuring B2B Integration in Online Help for the WebLogic Integration B2B Console.

To facilitate the exchange of data and business processes among trading partners, the import and export functions of the B2B Console allow you to export WebLogic Integration repository data to an XML file, and import data from an XML file to your WebLogic Integration repository.

Note: The import and export functions of the B2B Console can also be used to facilitate the exchange of configuration data between one trading partner that deploys WebLogic Integration and another that deploys the lightweight client. Options for facilitating the import and export of data to be shared by such trading partners are provided in the B2B Console.

Warning: If the Initialize Database option is selected, then when you subsequently import repository data, existing data is destroyed. Be careful about selecting the Initialize Database option.

For information about using the B2B Console to import and export repository data, see Importing and Exporting B2B Integration Components in Administering B2B Integration.

Exchanging Configuration Data Files with WebLogic Integration - Business Connect

Trading partners are business entities that are authorized to send and receive business messages in a conversation. Each WebLogic Integration trading partner stores trading partner data for itself and its trading partners in its WebLogic Integration repository.

XML configuration files containing configuration data required for B2B conversations can be imported and exported to and from the WebLogic Integration repository, as described in the previous section. Trading partner profile XML files can be imported and exported to and from a WebLogic Integration - Business Connect trading partner. This functionality supports the exchange of trading partner data between a trading partner that deploys WebLogic Integration and another that deploys WebLogic Integration - Business Connect.

When you import a trading partner profile created by a WebLogic Integration - Business Connect application into the WebLogic Integration repository, your repository is populated with trading partner configuration data. Other configuration data (such as conversation definitions and collaboration agreements) necessary to support e-business transactions between the trading partners must be entered through the B2B Console.

Warning: If the Initialize Database option is selected, then when you subsequently import repository data, existing data is destroyed. Be careful about selecting the Initialize Database option.

Trading partners defined by WebLogic Integration and those defined by WebLogic Integration - Business Connect contain different elements. A WebLogic Integration - Business Connect trading partner is defined by a smaller set of elements than a WebLogic Integration trading partner.

When a trading partner profile created by WebLogic Integration - Business Connect is imported into a WebLogic Integration repository, the elements of the imported trading partner are mapped to equivalent WebLogic Integration-specific elements.

However, for several elements required to define trading partners in the WebLogic Integration repository, there are no equivalent elements in a WebLogic Integration - Business Connect trading partner profile. When there are no values to map from the imported data to WebLogic Integration-specific elements, WebLogic Integration assigns default values to those elements.

The following table shows:

- How imported trading partner elements are mapped to WebLogic Integration trading partner elements (compare the first two columns)

- The values assigned to WebLogic Integration-specific elements for which there are no WebLogic Integration - Business Connect equivalents (compare columns two and three)

Table 2-1 Mapping Trading Partner Elements

WebLogic Integration - Business Connect Trading Partner | WebLogic Integration Trading Partner | Values Assigned to Business Connect Trading Partner Elements on Import to WebLogic Integration Repository
--- | --- | ---
Identity:Name | Name |
Identity:Address +City+State+Zip +Country | Address (Fields are concatenated) |
| Type | Remote
Identity:Phone | Phone |
Identity:Fax | Fax |
Identity:Notify Email | Email |
Identity:ID | Party:PartyID |
Identity:ID | Party:BusinessID |
Identity:ID:Type | Party:BusinessID:BusinessIDType |
| Doc Exchange:Name | TP_DocumentExchange
| Doc Exchange: Business Protocol Binding | ebXML 1.0
| Doc Exchange: Business Protocol Definition | ebXML
| Doc Exchange: Delivery Semantics | OnceAndOnlyOnce
| Doc Exchange: Retries | 3
| Doc Exchange: Interval | 60000
| Doc Exchange: Time To Live | 0
| Transport:Name | TP_Transport
| Transport Protocol | HTTP-1.1 Note: If you exchange security certificates and use SSL in interactions with the WebLogic Integration - Business Connect trading partner, you must use the B2B Console to change this transport security protocol specification to HTTPS-1.1 after you import the trading partner data. (For details, see Configuring Security.)
Outbound Protocol:URL | URI Endpoint |
| Delivery Channel: Name | TP_DeliveryChannel
| Delivery Channel: Document Exchange Name | TP_DocumentExchange
| Delivery Channel: Transport Name | TP_Transport

For information about WebLogic Integration trading partner data, see Configuring Trading Partners in Online Help for the WebLogic Integration B2B Console.

For information about WebLogic Integration - Business Connect trading partner data, see Company Profiles in Using WebLogic Integration - Business Connect.

Using the Bulk Loader

We recommend that you use the B2B Console to export and import WebLogic Integration repository data. WebLogic Integration also provides a command-line tool, called the Bulk Loader, that you can use to import and export these configuration files.

For more information, see Working with the Bulk Loader in Administering B2B Integration.

Exchanging Messages with WebLogic Integration - Business Connect

How ebXML messages are processed in the WebLogic Integration environment is described in WebLogic Integration Architecture and ebXML.

WebLogic Integration - Business Connect supports ebXML business processes using Message Control Documents (MCDs) as the interface between its ebXML engine and a back-end system. The MCDs are XML documents that contain zero or more payloads and information that WebLogic Integration - Business Connect uses to process outbound and inbound ebXML documents.

Mapping ebXML Messaging Elements

The following table shows how ebXML messaging elements are mapped to WebLogic Integration elements, and, how these WebLogic Integration elements are mapped, in turn, to WebLogic Integration - Business Connect elements.

Table 2-2 Mapping ebXML Messaging Elements

ebXML Element | WebLogic Integration Element | WebLogic Integration - Business Connect MCD Element | WebLogic Integration Default Settings
--- | --- | --- | ---
PartyId | Sender Business ID Receiver Business ID | mcd:SenderId mcd:ReceiverId |
Service | Conversation Definition Name | mcd:Service |
ConversationId | Conversation Instance ID | mcd:CorrelationId |
CPAId |  |  | http://www.bea.com/wli/cpa
Action |  | mcd:Action | SendMessage/ Acknowledgment
MessageId | Message ID (Unique) | mcd:MessageId |
RefToMessageId | Message ID (Reference to Original Message) | mcd:ReftoMessageId |

You can use the information in this table to understand how business messages between WebLogic Integration and WebLogic Integration - Business Connect trading partners are processed and tracked in an ebXML exchange. (For an example scenario, see Correlating ebXML Messages in Conversations in the next section.)

For information about WebLogic Integration - Business Connect MCDs, see Using ebXML in Using WebLogic Integration - Business Connect.

Correlating ebXML Messages in Conversations

The Conversation Instance ID (and mcd:CorrelationId) relates documents that belong to the same conversation between partners in an ebXML exchange. In other words, in a given conversation, all ebXML messages must reference the ConversationId element of the first message in that conversation. For example, when a WebLogic Integration - Business Connect trading partner receives an ebXML message from a WebLogic Integration trading partner, the Business Connect trading partner must use the Correlation ID from the incoming message when responding in the same conversation.

When the Business Connect trading partner uses an MCD to process the inbound ebXML message, the successfully processed document is placed in a directory for inbound XML documents. The WebLogic Integration - Business Connect XML application must extract the Correlation ID from the inbound XML message, and use it in the messages it returns in this conversation.

The default directory in which inbound XML documents are placed is:

>     WLI-BC\data\company_profile_ID\xmlin

In the preceding pathname:

- WLI-BC represents the directory in which you installed WebLogic Integration - Business Connect.

- company_profile_ID represents the directory specified in your Business Connect installation for the WebLogic Integration trading partner from which the message originated.

(For more details, see Company Profiles in Using WebLogic Integration - Business Connect.)

Reliable Messaging

In your WebLogic Integration environment, a reliable messaging service handles the delivery and acknowledgment of ebXML messages that require reliable delivery. The parameters that control reliable messaging are specified, using the WebLogic Integration B2B Console, as part of the document exchange definition for a trading partner. For information about configuring trading partners, see Configuring Trading Partners in Online Help for the WebLogic Integration B2B Console.

Whether a message must be sent reliably is determined by the value you specify for the delivery semantics option. Valid values are:

- OnceAndOnlyOnce—This is the default value. The recipient application or process receives the message only one time. Messages are resent in the case of failure, and duplicate messages are ignored.

When you specify OnceAndOnlyOnce delivery semantics, you can also specify other quality of service parameters using the B2B Console. They include:

- Number of Retries—Number of times WebLogic Integration resends a message in specific situations, such as timeouts, network failures, and so on. The default is 3.

- Interval—Amount of time, in milliseconds, WebLogic Integration waits before trying to resend a message. The default is 60,000 milliseconds.

- Time to Live—The life span of a message (in seconds). If the message is not delivered and processed by the recipient during this time period, WebLogic Integration stops trying to send the message. The default is zero seconds. A value of zero specifies that the message never expires. If you specify a nonzero value for Time to Live, ensure that the quality of service parameters maintain the following relationship:

>     number_of_retries * interval < time_to_live

- BestEffort—Reliable delivery semantics are not used. When an application receives a message that it cannot deliver, it does not take any action to recover or to notify anyone of the problem. The sender of the message does not attempt to recover from any failure.

Configuring Security

You configure SSL security for ebXML through the WebLogic Integration B2B Console and the WebLogic Server Administration Console. The following sections outline the steps to follow to configure security in each of two scenarios:

- Both Trading Partners Deployed on WebLogic Integration

- One Trading Partner Deployed on WebLogic Integration and Another Deployed on WebLogic Integration - Business Connect

Both Trading Partners Deployed on WebLogic Integration

For a scenario in which each trading partner in a given ebXML conversation deploys WebLogic Integration, you must configure the following:

- SSL protocol

Use the WebLogic Server Administration Console to configure your SSL protocol, as described in "Configuring the SSL Protocol and Mutual Authentication" in Configuring Security in Implementing Security with B2B Integration.

- Trading partner security

In the B2B Console, configure the following:

- Client certificate and an associated private key for the local trading partner

- Client certificate for the remote trading partner

- Server certificate for the remote trading partner

- Secure transport for the HTTPS endpoint

For information about how to use the B2B Console to configure the certificates and the secure transport, see "Configuring Trading Partner Security" in Configuring Security in Implementing Security with B2B Integration.

One Trading Partner Deployed on WebLogic Integration and Another Deployed on WebLogic Integration - Business Connect

This section describes the HTTPS configuration for a scenario in which one trading partner in an ebXML conversation deploys WebLogic Integration, and the second trading partner deploys WebLogic Integration - Business Connect. Both client authentication and server authentication are enabled on both sides.

You can export WebLogic Integration trading partner data from the B2B Console to provide to your trading partners, as described in Using the WebLogic Integration B2B Console. However, certificate information is not included in the trading partner XML file exported from the B2B Console.

Certificate information must be exchanged outside the scope of the trading partner XML file. That is, a WebLogic Integration trading partner must provide certificate files that can be imported by a WebLogic Integration - Business Connect trading partner, and vice versa.

Configuring Security for a WebLogic Integration Trading Partner

This section explains how to configure the following:

- SSL Protocol

- Trading Partner Security

SSL Protocol

Use the WebLogic Server Administration Console to configure the SSL protocol for your WebLogic Integration trading partner, as described in "Configuring the SSL Protocol and Mutual Authentication" in Configuring Security in Implementing Security with B2B Integration.

The following table describes the parameters you must define through the WebLogic Server Administration Console.

Table 2-3 SSL Configuration Fields in WebLogic Server Administration Console

Tab

Field

Description

SSL

Server Private Key Alias

Specify the alias for the Keystore entry for the server private key.

Server Private Key Passphrase

Specify a passphrase for the server private key. Such a passphrase is required for every key in the Keystore. (The Keystore has a passphrase, and each entry has its own passphrase.)

Server Certificate File Name

Specify the location of the public key file for WebLogic Server. You must obtain this file from a trusted security vendor, as described in "Configuring the SSL Protocol and Mutual Authentication" in Configuring Security in Implementing Security with B2B Integration.

Client Certificate Enforced check box

Select this option to enable mutual authentication between WebLogic Integration and the WebLogic Integration - Business Connect trading partner.

Cert Authenticator

Specify com.bea.b2b.security.WLCCertAuthenticator in this field. The WLCCertAuthenticator class is an implementation of the WebLogic Server CertAuthenticator class. It maps the digital certificate for a trading partner to the corresponding trading partner user defined in the WebLogic Integration repository.

Key Encrypted check box

Select this option to indicate that the private key for WebLogic Server has been encrypted with a password.

Use Java check box

Select this option to enable the use of native Java libraries. WebLogic Server provides a pure-Java implementation of the SSL protocol. Native libraries enhance performance for SSL operations on the Solaris, Windows NT, and IBM AIX platforms.

Handler Enabled check box

Skip this option; it is no longer used.

Export Key Lifespan

Enter the number of times WebLogic Server can use an exportable key between a domestic server and an exportable client before generating a new key. The more secure you want WebLogic Server to be, the fewer times the key should be used before a new key is generated.

SSL Login Timeout

Enter the duration (in milliseconds) allowed for a login sequence. If the specified duration is exceeded, the login is timed out. Enter 0 to disable.

Certificate Cache Size

Check the number of certificates being held that have not been redeemed by tokens.

Hostname Verification Ignored

Set this option to disable the installed implementation of the weblogic.security.SSL.HostnameVerifier class when WebLogic Server is acting as a client to another application server.

Hostname Verifier

Check the name of the class that implements the weblogic.security.SSL.HostnameVerifier class.

SSL Ports

Enable SSL Listen Port check box

Select this option to enable the use of the SSL protocol on the listen port on the server. To select the port on which WebLogic Integration listens for SSL connections, set the Listen Port attribute.

SSL Listen Port

Specify the dedicated port on which WebLogic Integration listens for SSL connections.

Enable Domain Wide Administration Port

Check whether a secure administration port for the server has been enabled. This value displayed here is set in the DomainMBean for this server.

Domain Wide Administration Port

Check the secure administration port number for the server. The value displayed here is set in the DomainMBean for this server.

Local Administration Port Override

Enter a new secure administration port number for the server. The setter is used to override the same field in the DomainMBean for this server. If the value of this field is not zero, then the corresponding field in the DomainMBean is used for the server. TIf you want to use this port, SSL must be configured and enabled.

When you set the parameters described in the previous table, your specifications are written to the config.xml file for your domain. The following code listing is an excerpt from a config.xml file that shows a sample SSL configuration created for a WebLogic Integration trading partner.

Listing 2-1 SSL Settings in config.xml File

>     <SSL CertAuthenticator="com.bea.b2b.security.WLCCertAuthenticator"
>               CertificateCacheSize="10" ClientCertificateEnforced="true"
>               Enabled="true" ListenPort="7002"
>               Name="myserver"
>               ServerCertificateFileName="config/wli-server_cert.pem"
>               ServerKeyFileName="config/wli-server_key.pem"/>

For information about the config.xml files in your WebLogic Integration domains, see WebLogic Integration Sample Configuration Files in Starting, Stopping, and Customizing BEA WebLogic Integration.

Note: Add the following line to the startWeblogic script in your domain if you get the error message listed after it:
-Dweblogic.security.SSL.ignoreHostnameVerification=true

Error: Host name doesn't match DN name

Trading Partner Security

In the B2B Console, configure the following:

- Client certificate and an associated private key for the local trading partner

- Client certificate for the remote trading partner

- Server certificate for the remote trading partner

- Secure transport for the HTTPS endpoint

Note: When you configure remote trading partner client and server certificates, you are prompted to enter the location and filename of each certificate on the WebLogic Integration machine where the client and server certificates are stored. Your WebLogic Integration - Business Connect trading partner may provide a single certificate for both client and server authentication (that is, a self-signed certificate). In this case, you should specify the same location for both the client certificate and the server certificate.

For information about how to use the B2B Console to configure the certificates and the secure transport, see "Configuring Trading Partner Security" in Configuring Security in Implementing Security with B2B Integration.

Configuring Security for a WebLogic Integration - Business Connect Trading Partner

To configure your WebLogic Integration - Business Connect trading partner to use HTTPS to exchange ebXML messages, complete the following tasks:

1. Create your certificates and export them using the Export Certificate functionality in the WebLogic Integration - Business Connect Administrator tool. (For details, see "Exporting Your Certificate for Backup or Distribution" in Keys and Certificates in Using WebLogic Integration - Business Connect.)

   The certificates can be self-signed or signed by an external certificate authority (CA). If self-signed, a single certificate is generated for both client and server authentication. Export the certificate in DER encoded binary X.509 (.cer) format. (PKCS #7 format is not supported by WebLogic Integration.)

2. Import the certificate or certificates provided by your WebLogic Integration trading partner using the procedure described in "Importing a Partner's Certificate" in Keys and Certificates in Using WebLogic Integration - Business Connect.

   Note: When you import more than one certificate file, only one is marked Active. Select the appropriate certificate to mark as Active.