Monday, January 13, 2014

Implementing RosettaNet in Sterling B2B Integrator

Implementing RosettaNet in Sterling B2B Integrator

The following process is an overview of the tasks you must complete to implement the RosettaNet in the Sterling B2B Integrator:
  1. Ensure that the Sterling B2B Integrator is installed. For information, see the Installation Guide.
  2. Obtain a license for the RosettaNet Standard from the IBM® Self-Service Licensing Web site at http://www.productupdates.stercomm.com.
  3. Download specific document type definitions (DTDs) from the RosettaNet Web site. For information, see Downloading RosettaNet DTDs.
  4. You must have an EDIINT certificate to import into the Sterling B2B Integrator.
 

Set Up RosettaNet Trading Profiles

About this task

When setting up trading profiles in the Sterling B2B Integrator, you must perform the following tasks:

Procedure

  1. Create an identity record for your organization, indicating your organization as the base identity.
  2. Create an identity record for each of your trading partners.
  3. Create the following records in order to complete the trading profiles for your organization and each of your trading partners:
    • Transport: defines the URI where the PIP will be sent, certificates, SSL information, and so forth.
    • Document exchange: defines number of retries, and the Signing Certificate (if any) to be used.
    • Delivery channel: defines the Delivery Mode (Asynchronous HTTP for RosettaNet) and the Receipt Timeout (the necessary value is 86400 seconds).
    • Packaging (only one is necessary for each trading relationship regardless of the number of trading partners): defines how the data is to be sent (for example, Plain Text, Signed Detached, or Signed Detached Encrypted).
    • Profile: defines the Role (Initiator or Responder), Location Code, Global Partner Classification Code, and Supply Chain Code.
    • Contract: defines PIP Code, PIP Version, RNIF Version, and the Content Transfer Encoding to be used.
 

Create an Identity Record for Your Organization

About this task

When setting up your trading profile, consider that your organization is the base identity.
To create an identity record:

Procedure

  1. From the Trading Partner menu, select Setup > Advanced > Identities.
  2. Next to Create New Identity, click Go!
  3. In the Base Identity page, for Select Base Identity, you may select the name of the identity record that you created for your organization if available, and click Next.
  4. In the Information page, complete the following fields and click Next:
    Field
    Description
    Name
    Name of your organization. Required.
    Reference URL
    Internet address of your organization. Optional.
    DUNS
    Unique 9-13 character identification number of your organization, as issued by Dun & Bradstreet Corporation. Required.
    Identifier
    Primary ID of your organization. Use DUNS number. Required.
    Address Line 1
    Conventional mailing address of your organization. Required.
    Address Line 2
    Additional mailing address information of your organization. Optional.
    City
    City where your organization is located. Required.
    State or Province
    State or province where your organization is located. Required.
    Zip or Postal Code
    ZIP Code or postal code where your organization is located. Required.
    E-mail Address
    E-mail address of your organization. Required.
    Telephone Number
    Telephone number of your organization. Required.
    Time Zone
    Time zone where your organization is located. Optional.
    Country or Region
    Country or region where your organizations located. Optional.
    VAT ID
    The VAT transaction tax identifier. Optional.
    Note: When you add VAT IDs to an identity, an associated permission ID is created, and the user is assigned that permission ID.
    Internet Notification E-mail
    The internal e-mail address to which you want error notifications to be sent. Optional.
    Lookup ID
    The identifier used to look up the e-Invoice agreement. Optional.
    Lookup ID Comments
    Any comments regarding the identifier used to look up the e-Invoice agreement. Optional.
  5. Click Finish to add the identity.
 
 

Create an Identity Record for Your Trading Partner

About this task

For each RosettaNet trading partner, you must create an identity record.
To set up an identity record for your trading partner:

Procedure

  1. From the Trading Partner menu, select Setup > Advanced > Identities.
  2. Next to Create New Identity, click Go!
  3. In the Base Identity page, for Select Base Identity, you may select the name of an existing identity record that you created for your partner if available, and click Next.
  4. In the Information page, complete the following fields and click Next:
    Field
    Description
    Name
    Name of your RosettaNet trading partner. Required.
    Reference URL
    Internet address of your RosettaNet trading partner. Optional.
    DUNS
    Unique 9-13 character identification your RosettaNet trading partner number, as issued by Dun & Bradstreet Corporation. Required.
    Identifier
    Primary ID of your RosettaNet trading partner. Use DUNS number. Required.
    Address Line 1
    Conventional mailing address of your RosettaNet trading partner. Required.
    Address Line 2
    Additional mailing address information of your RosettaNet trading partner. Optional.
    City
    City where your RosettaNet trading partner is located. Required.
    State or Province
    State or province where your RosettaNet trading partner is located. Required.
    Zip or Postal Code
    ZIP Code or postal code where your RosettaNet trading partner is located. Required.
    E-mail Address
    E-mail address of your RosettaNet trading partner. Required.
    Telephone Number
    Telephone number of your RosettaNet trading partner. Required.
    Time Zone
    Time zone where your RosettaNet trading partner is located. Optional.
    Country or Region
    Country or region where your RosettaNet trading partner is located. Optional.
    VAT ID
    The VAT transaction tax identifier. Optional.
    Note: When you add VAT IDs to an identity, an associated permission ID is created, and the user is assigned that permission ID.
    Internet Notification E-mail
    The Internet E-mail address used for notification.
    Lookup ID
    The identifier used lookup the Internet Notification E-mail.
    Lookup ID Comments
    Comments regarding the specified lookup identifier.
  5. Click Finish to add the identity of this trading partner.

Results

You are now ready to create a transport record for this RosettaNet trading partner.

Create a Transport Record

About this task

To define how to send a RosettaNet message using HTTP, you must create a transport record.
To create a transport record:

Procedure

  1. From the Trading Partner menu, select Setup > Advanced > Transports.
  2. Next to Create New Transport, click Go!
  3. In the Information page, complete the following fields and click Next:
    Field
    Description
    Name
    Name for the transport record to create for this RosettaNet trading partner. Required.
    Note: You may use part of a company name or DUNS in this field and an indicator that references RosettaNet.
    Identity
    Unique ID used when you created an identity record for this RosettaNet trading partner. Required.
  4. In the Communications page, complete the following fields and click Next:
    Field
    Description
    Receiving Protocol
    Communications protocol supported by this transport record when receiving data. Select HTTP. Required.
    Sending Protocol
    Communications protocol supported by this transport when sending data. Select HTTP. Required.
    End Point IP
    Leave this field blank.
    End Point Port
    Leave this field blank.
  5. In the End Point Settings page, complete the following fields and click Next:
    Field
    Description
    End Point
    Destination URL for this trading partner. Required.
    End Point Type
    Purpose of this end point. Select All Purpose. Required.
  6. In the Protocol Settings page, complete the following fields and click Next:
    Field
    Description
    Response Timeout (seconds)
    Number of seconds to wait for remote response to an outbound queue. Type the value 600 in this field. Required for RosettaNet.
    Firewall Proxy
    IP address, port number, login ID, and password of the remote firewall represented in URL format where commas separate values (for example, <host>, <port>). If used, you may need to specify both a login ID and a password. Used for outbound sessions. Optional.
    Firewall Connect Count (seconds)
    Number of seconds that the Sterling B2B Integrator attempts to contact port address of the transport before timing out. Optional.
    Socket Timeout (seconds)
    Number of seconds to wait for remote response to a command. Type the value 600 in this field. Required.
  7. In the Security page, complete the following fields and click Next:
    Field
    Description
    SMIME Encryption User Certificate
    Certificate used to encrypt RosettaNet messages that are sent outbound through this transport record. This certificate has no impact in RosettaNet messages being received through this transport. Therefore, if this transport is for the company running the Sterling B2B Integrator, leave this field blank. If this transport is for your RosettaNet trading partner, choose the Trusted encryption certificate from the trading partner that you previously checked in. Click on the Configure Certificates link to select the appropriate certificates. Required for RosettaNet.
    SMIME Decryption Certificate (System Store)
    Certificate used to decrypt RosettaNet messages that are sent outbound through this transport record. This certificate has no impact in RosettaNet messages being received through this transport. Therefore, if this transport is for the company running the Sterling B2B Integrator, leave this field blank. If this transport is for your RosettaNet trading partner, choose the encryption certificate from the trading partner that you previously checked in. Click on the Configure Certificates link to select the appropriate certificates. Valid values are blank (recommended), OpsKey, OpsDrv, UIKey, and B2BHTTP. Required for RosettaNet.
    SSL
    Whether Secure Sockets Layer (SSL) must be active. Select Must to enable this transport to use this protocol with a key certificate. This field is used in conjunction with the key certificate field. If not using a key certificate, select None. Required for RosettaNet.
    Key Certificate Passphrase
    Password that protects the Web server key certificate. Required if SSL option is set to Must.
    Cipher Strength
    Strength of the algorithms used to encrypt messages. Select Strong (default) to indicate strength of algorithms with a key certificate. This field is used in conjunction with the key certificate field. If not using a key certificate, select All or Weak. Required.
    Key Certificate (System Store)
    Certificate used to decrypt an inbound encrypted RNIF v2.0 message sent to the identity associated with this transport (RNIF 1.1 does not support encryption). The trading partner encrypts the message with the public key and the receiver decrypts the message with this private key certificate. Click on the Configure Certificates link to select the appropriate certificates. If using a key certificate, select the appropriate key certificate from the list (valid values are blank, OpsKey, OpsDrv, UIKey, and B2BHTTP). Otherwise, leave this field blank.
    CA Certificates
    Certificate used to verify the Web server certificate of a trading partner. These certificates must come from your RosettaNet trading partners and you must have previously checked them in. Click on the Configure Certificates link to select the appropriate certificates. Required if the SSL option is Must or Optional.
  8. In the Protocol Mode page, complete the following fields and click Next:
    Field
    Description
    Protocol Mode
    Use the default value PUT. Required.
    Document
    Leave this field blank.
  9. In the Transport Account page, complete the following fields and click Next:
    Field
    Description
    User ID
    Unique ID that associates this transport with the remote system of your RosettaNet trading partner. Optional.
    Password
    Password that authenticates the user ID to the remote system of your RosettaNet trading partner. Optional.
    Confirm Password
    Password typed in the Password field. Optional.
  10. Click Finish to update the transport record.

Results

You are now ready to create a document exchange record.


 
 
 

Install PIPs into Sterling B2B Integrator

About this task

The following steps describe how to install PIPs into Sterling B2B Integrator:

Procedure

  1. You can download the information about any PIPs you need to install from http://www.rosettanet.org. The document that you download contains information about the values for the PIP description, PIP roles, and other information required to add the PIP. From the document you can also determine whether the PIP is a One-Action PIP or Two-Action PIP. A One-Action PIP consists of a document sent by the PIP Initiator, to which the PIP Responder replies with a Receipt Acknowledgment. A Two-Action PIP is more complex, consisting of two or more actions.
  2. The <install_dir>/data/RosettaNet directory contains the oneactionpipdeftemplate.xml and twoactionpipdeftemplate.xml files. Choose the file that is appropriate for the PIP you are adding and copy the file to a new name. For example, the 3A4 PIP is a two-action PIP, so for this PIP you should use the two-action PIP def template.
  3. Use the file downloaded from the RosettaNet site as a guide when filling in values for the various fields. An example for the One-Action PIP 2A10 is the following:
    Note: The TODO comments may be misleading, because they do not appear in the correct places. The TO_ROLE, for example, is the PIP Responder's role, not the PIP Initiator's Role as the TODO comment implies.
    <?xml version="1.0" encoding="utf-8"?>
    <RosettaNetPIPDefinitions>
    <PIP_DEF>
    <!-- TODO: Insert PIP code here -->
    <PIP_CODE>2A10</PIP_CODE>
    <!-- TODO: Insert PIP initiator's role here -->
    <TO_ROLE>Design Engineering Information Receiver</TO_ROLE>
    <!-- TODO: Insert PIP responder's role here -->
    <FROM_ROLE>Design Engineering Information Sender</FROM_ROLE>
    <!-- TODO: Insert PIP initiator's service here -->
    <TO_SERVICE>Process Design Engineering Information Service</TO_SERVICE>
    <!-- TODO: Insert PIP responder's service here -->
    <FROM_SERVICE>Design Engineering Message Information Service</FROM_SERVICE>
    <!-- TODO: Insert PIP version here -->
    <PIP_VERSION>V01.00</PIP_VERSION>
    <RNIF_VERSION>All</RNIF_VERSION>
    <!-- TODO: Insert PIP description here -->
    <PIP_DESCRIPTION>Distribute Design Engineering Information</PIP_DESCRIPTION>
    <STATUS>3</STATUS>
    <TYPE>1</TYPE>
    <RESPONSE_MODE>1</RESPONSE_MODE>
    <SENDER_WFD_NAME>PIP2A10_V01.00_Design-Eng-Info-Sender_Private</SENDER_WFD_NAME>
    <RESPONDER_WFD_NAME>PIP2A10_V01.00_Design-Eng-Info_Receiver_Private</RESPONDER_WFD_NAME>
    <NONREPUD_REQ>1</NONREPUD_REQ>
    <TIME_TO_ACK>120</TIME_TO_ACK>
    <TIME_TO_ACK_ACCEPT>-1</TIME_TO_ACK_ACCEPT>
    <TIME_TO_PERFORM>1440</TIME_TO_PERFORM>
    <RETRY_COUNT>3</RETRY_COUNT>
    <AUTH_REQ>1</AUTH_REQ>
    <NONREPUD_OF_ORIGIN>1</NONREPUD_OF_ORIGIN>
    <PIP_STEP>
    <STEP_ID>1</STEP_ID>
    <!-- TODO: Insert PIP step #1 name here -->
    <PIP_BUS_ACTION>Distribute Design Engineering Information Action</PIP_BUS_ACTION>
    <TIME_TO_ACK_RCPT>120</TIME_TO_ACK_RCPT>
    <TIME_TO_ACK_ACPT>-1</TIME_TO_ACK_ACPT>
    <TIME_TO_RESPOND>1440</TIME_TO_RESPOND>
    <IN_TIME_TO_PERFORM>1</IN_TIME_TO_PERFORM>
    <AUTH_REQ>1</AUTH_REQ>
    <NONREPUD_REQ>1</NONREPUD_REQ>
    <SECURE_TRANSP_REQ>1</SECURE_TRANSP_REQ>
    <DSIG_REQ>1</DSIG_REQ>
    <SSL_REQ>1</SSL_REQ>
    </PIP_STEP>
    <PIP_STEP>
    <STEP_ID>2</STEP_ID>
    <PIP_BUS_ACTION>Receipt Acknowledge</PIP_BUS_ACTION>
    <TIME_TO_ACK_RCPT>-1</TIME_TO_ACK_RCPT>
    <TIME_TO_ACK_ACPT>-1</TIME_TO_ACK_ACPT>
    <TIME_TO_RESPOND>1440</TIME_TO_RESPOND>
    <IN_TIME_TO_PERFORM>0</IN_TIME_TO_PERFORM>
    <AUTH_REQ>1</AUTH_REQ>
    <NONREPUD_REQ>1</NONREPUD_REQ>
    <SECURE_TRANSP_REQ>1</SECURE_TRANSP_REQ>
    <DSIG_REQ>1</DSIG_REQ>
    <SSL_REQ>1</SSL_REQ>
    </PIP_STEP>
    </PIP_DEF>
    </RosettaNetPIPDefinitions>
  4. Once the template has been correctly filled out, save the file as 2A10template.xml and close the file. You can add the new PIP into Sterling B2B Integrator by invoking pipdefloader.sh (or pipdefloader.cmd if you are using the Windows operating system) in the following way: pipdefloader.sh 2A10template.xml nodelete (the nodelete option prevents existing PIP definitions from being overwritten).
  5. The compressed file downloaded from the RosettaNet site may contain DTD files or schema files. Load the DTD(s) or Schema(s) into Sterling B2B Integrator by choosing Deployment > Schemas from the Sterling B2B Integrator menu and follow the prompts displayed.
  6. Just as there are oneactionpipdeftemplate.xml and twoactionpipdeftemplate.xml files, there are also business process template files provided for you in the <install_dir>/data/rosettanet/templates. These are the five files:
    • Launch_PIP_Private_Template.bpml
    • OneActionPIP_Initiator_Private_Template.bpml
    • OneActionPIP_Responder_Private_Template.bpml
    • TwoActionPIP_Initiator_Private_Template.bpml
    • TwoActionPIP_Responder_Private_Template.bpml
    The launch template is used for testing the PIP. Its functionality is to place the input file into ProcessData as the Primary Document. Choose the template business processes appropriate to the PIP to be used (that is, use the one-action PIP templates for one-action PIPs, and choose the two-action PIP templates if implementing a two-action PIP). Follow the TODO instructions in each business process template file for instructions on how to customize the business process so that it is specific to that particular trading partner and PIP type.
  7. It will also be necessary to set up records for Identity, Transport, Document Exchange, Delivery Channel, Packaging, Profile, and Contract information for each partner in the business relationship.
    Note: Because the RosettaNet user interface does not have a wizard, you need to set these records up manually. In the Sterling B2B Integrator Trading Partner interface, use Trading Partner > Setup > Advanced to configure the above information
 
 
 

Core RosettaNet Components

Using predefined business processes, Sterling B2B Integratorcan implement RosettaNet PIP processes according to the RosettaNet framework. Business processes and other components that enable RosettaNet implementation are obtained when installing Sterling B2B Integrator. The following table describes these business processes and other components:
Type Name Description
Private layer business processes
  • PIP0A1_Failure-Report-Administrator_Private.bpml
  • PIP0A1_PIP-Failure-Notifier_Private.bpml
  • PIP2A10_Receiver_Private.bpml
  • PIP2A10_Sender_Private.bpml
  • PIP2A12_V01.01.00_Buyer_Private.bpml
  • PIP2A12_V01.01.00_Supplier_Private.bpml
  • PIP3A4_Buyer_Private.bpml
  • PIP3A4_RNIF11_Buyer_Private.bpml
  • PIP3A4_RNIF11_Seller_Private.bpml
  • PIP3A4_Seller_Private.bpml
Predefined business processes for trading partner-specific private processes.
Private layer business processes
  • PIP3A6_V02.02.00_Buyer_Private.bpml
  • PIP3A6_V02.02.00_Seller_Private.bpml
  • PIP3A7_Buyer_Private.bpml
  • PIP3A7_Seller_Private.bpml
  • PIP3A8_Buyer_Private.bpml
  • PIP3A8_Seller_Private.bpml
  • PIP3A9_Buyer_Private.bpml
  • PIP3A9_Seller_Private.bpml
  • PIP3B12_Shipper_Private2.bpml
  • PIP3B12_Shipping_Provider_Private2.bpml
  • PIP3B12_V01.01.00_Shipper_Private.bpml
  • PIP3B12_V01.01.00_Shipping-Provider_Private.bpml
  • PIP3B13_Shipper_Private.bpml
  • PIP3B13_Shipping_Provider_Private.bpml
  • PIP3B18_Shipper_Private.bpml
  • PIP3B18_Shipping_Provider_Private.bpml
  • PIP3B18_V01.01.00_Shipper_Private.bpml
  • PIP3B18_V01.01.00_Shipping-Provider_Private.bpml
  • PIP3B2_Receiver_Private.bpml
  • PIP3B2_Shipper_Private.bpml
Predefined business processes for trading partner-specific private processes.
Private Layer business processes
  • PIP3C3_Invoice_Provider_Private.bpml
  • PIP3C3_Invoice_Receiver_Private.bpml
  • PIP3C4_Invoice_Reject_Provider_Private.bpml
  • PIP3C4_Invoice_Reject_Receiver_Private.bpml
  • PIP3C6_Payee_Private.bpml
  • PIP3C6_Payer_Private.bpml
  • PIP3C7_Invoice_Provider_Private.bpml
  • PIP3C7_Invoice_Receiver_Private.bpml
  • PIP3D9_Solution_Provider_Private.bpml
  • PIP3D9_Solution_Requester_Private.bpml
  • PIP4A1_V02.00_Customer_Private.bpml
  • PIP4A1_V02.00_Supplier_Private.bpml
  • PIP4A3_Forecast_Owner_Private.bpml
  • PIP4A3_Forecast_Recipient_Private.bpml
  • PIP4A5_Forecast_Recipient_Private.bpml
  • PIP4A5_Forecast_Reply_Recipient_Private.bpml
  • PIP4B2_Consignee_Private.bpml
  • PIP4B2_User_Private.bpml
Predefined business processes for trading partner-specific private processes.
Private Layer business processes
  • PIP4B3_V01.00.00_Buyer_Private.bpml
  • PIP4B3_V01.00.00_Seller_Private.bpml
  • PIP4C1_Provider_Private.bpml
  • PIP4C1_User_Private.bpml
  • PIP5C1_Provider_Private.bpml
  • PIP5C1_User_Private.bpml
  • PIP5C2_Demand_Creator_Private.bpml
  • PIP5C2_Product_Provider_Private.bpml
  • PIP5C4_Demand_Creator_Private.bpml
  • PIP5C4_Product_Provider_Private.bpml
  • PIP5D1_Product_Distributor_Private.bpml
  • PIP5D1_Product_Supplier_Private.bpml
  • PIP5D3_Distributor_Private.bpml
  • PIP5D3_Supplier_Private.bpml
  • PIP5D5_Distributor_Private.bpml
  • PIP5D5_Supplier_Private.bpml
  • PIP7B1_Solution_Provider_Private.bpml
  • PIP7B1_Solution_Requester_Private.bpml
  • PIP7B5_Buyer_Private.bpml
  • PIP7B5_Seller_Private.bpml
  • PIP7B6_Buyer_Private.bpml
  • PIP7B6_Seller_Private.bpml
Predefined business processes for trading partner-specific private processes.
Public PIP layer business processes
  • PIP0A1_V02.00.bpml
  • PIP0A1_V02.00_Failure-Report-Administrator.bpml
  • PIP0A1_V02.00_PIP-Failure-Notifier.bpml
  • PIP2A10_V02.00_Receiver.bpml
  • PIP2A10_V02.00_Sender.bpml
  • PIP2A12_V01.01.00_Buyer.bpml
  • PIP2A12_V01.01.00_Supplier.bpml
  • PIP2C3_V01.00.00_Requester.bpml
  • PIP2C3_V01.00.00_Reviewer.bpml
  • PIP3A1_V02.00_Buyer.bpml
  • PIP3A1_V02.00_Seller.bpml
  • PIP3A7_V02.00_Buyer.bpml
  • PIP3A7_V02.00_Seller.bpml
  • PIP3A8_V01.00_Buyer.bpml
  • PIP3A8_V01.00_Seller.bpml
  • PIP3A9_V01.00_Buyer.bpml
  • PIP3A9_V01.00_Seller.bpml
  • PIP3B12_V01.01.00_Shipper.bpml
  • PIP3B12_V01.01.00_Shipping-Provider.bpml
  • PIP3B18_V01.01.00_Shipper.bpml
  • PIP3B18_V01.01.00_Shipping-Provider.bpml
  • PIP4B3_V01.00.00_Buyer.bpml
  • PIP4B3_V01.00.00_Seller.bpml
  • PIP4C1_V02.00_Provider.bpml
  • PIP4C1_V02.00_User.bpml
  • PIP5C1_V02.00_Provider.bpml
  • PIP5C1_V02.00_User.bpml
Predefined business processes that Implement the RosettaNet PIPs.
RNIF layer business processes
  • RNHTTPAsyncSend.bpml
  • RNIF_Action.bpml
  • RNIF_Bootstrap.bpml
  • RNIF_DeEnvelope.bpml
  • RNIF_Envelope.bpml
  • RNIF_PIP_Dispatcher.bpml
  • RNIF_SendAck.bpml
  • RNIF_SendException.bpml
  • RNIF_TwoAction_Async_Responder.bpml
  • RNPIPTracking.bpml
  • HTTP_Sync_Response.bpml
  • GetPipProfileData.bpml
  • RNIF_Attachment.bpml
  • RNPIPInitiator.bpml
  • RNPIPResponder.bpml
Complete message enveloping and transport tasks
Schemas and DTDs
  • RNIF20Attachments.dtd
  • RNIF20MIMEHeaders.dtd
  • RNIF20OutboundMIC.dtd
  • RNIF20ReceivedContentMIC.dtd
  • RNIF20ReceivedMessageInfo.dtd
Required for services on RNIF layer (for example, message parsing).
Note: RNIF header DTDs, Acknowledgment, and Exception DTDs for both RNIF 1.1 and RNIF 2.0 should be obtained from the RosettaNet Web site.
Services RNIF Message Builder Service Envelopes RosettaNet messages
RNIF Message Parser Service Parses RosettaNet messages
RosettaNet Profile Service Loads RosettaNet contracts and trading profile data
RosettaNet PIP Tracking Service Used to track the correlation details of the PIP
Additional business processes
  • Launch_PIP_Private_Template.bpml
  • OneActionPIP_Initiator_Private_Template.bpml
  • OneActionPIP_Responder_Private_Template.bpml
  • TwoActionPIP_Initiator_Private_Template.bpml
  • TwoActionPIP_Responder_Private_Template.bpml
Business processes used in the RosettaNet implementation
 
 
 

Example (Writing code for PIP3A7_Buyer_Private)

The following steps provide an example of how the Sterling B2B Integrator adds or modifies the code:
  1. Header comment with a process description.
  2. Declaration of process name: <process name = "PIP3A7_Buyer_Private">
  3. Code for consuming the POUpdateNotificationMessage.
  4. According to the RosettaNet specification, the Purchase Order Update Notification has to be processed.
    Note: RosettaNet does not make any assumptions about the infrastructure of your business and, therefore, cannot start transactions for you. If a business process fails before completion, you must manually start a new transaction.
 
 

Code for Analyzing the PO Update Notification

About this task

Typically, the following steps are performed to analyze a PO Update Notification:

Procedure

  1. Translate PO Update Notification into the application format of the ERP system.
    Note: The ERP system mentioned here is an external system that interfaces with the Sterling B2B Integrator usually at the customer end.
  2. Pass translated PO Update Notification to the ERP system.
  3. Transform response of ERP system into RosettaNet document(s).
  4. Pass the translated response document(s) back to private PIP 3A7.
  5. Write the logic to read POChangeRequest or POCancellationRequest from the file system. If you do not want to read the messages from the file system, you can change it. You must be sure your code matches the interface defined above.
  6. Send POChangeRequest or POCancellationRequest to public PIP 3A7.
  7. Consume the FinalPIPStatus from the public 3A7 Seller process. If the value is true, an Acknowledgment for the POChangeRequest or POCancellationRequest has been received and the PIP3A7 process finishes with a success status. If the value is false, it might be necessary to roll back the transaction in step 8.
  8. If you have opened a transaction in step 4, you need to insert the code to close the transaction for PIP3A7 or roll back the transaction. Instead of an automated rollback, sending an e-mail notification to the responsible administrator is an alternative “manual” approach.
  9. If pending items exist, private process 3A7 is started and the POUpdateNotification service content is passed through the process data.
 
 

Error Cases in Private PIPs

These are some RosettaNet cases in which a private process causes an error condition, for example:
  • On the Initiator side in a two-action process: the private process is unable to process the response message successfully. In this case, the flag ProcessStatus must be set to false. After passing the ProcessStatus back to the public PIP, a PIP0A1 will be sent to the responder side automatically.
  • On the initiator side, a private process is started without PrimaryDocument (that is, no PO Update Notification): in this case public PIP is not started and the FinalPIPStatus is set to Error: Process started without PO Update Notification document.
  • On the responder side in a single- or two-action process: the private process is unable to process the request document (for example, no PrimaryDocuments are read from file system). In this case, a PIP0A1 is sent back to the initiator automatically.
 
 

Error Handling and Auditing

PIP 0A1 (Notification of Failure or NoF) is a process control PIP that is used to communicate an exception condition that occurs outside the normal message choreography of the subject PIP.
Typically, PIP 0A1 is invoked when exceptions happen under a specific condition (namely, when the process is in “execution” state at one partner's system and may have possibly reached a “completed” state in the other partner's system) during the execution of any other process.
Execution of PIP 0A1 is shown in the asynchronous and synchronous interaction diagrams (chapter 2.6.8 of the RNIF Core spec) in both single-action and two-action activities.
A failure to complete an interface business activity in compliance with the RNIF 2.0 or RNIF 1.1 core specification can be detected by either of the two parties involved in the interface activity.
In seven different contexts (Calling Types)- the PIP 0A1 is started. The following table describes each Calling Type in detail:
Calling Type Initiating PIP or RNIF Process Failure Reason
1 RNIF_Action (Two or Single Action) The action process sent a request message on initiator side and is waiting for an acknowledgment. Maximum numbers of retries exceeded or time to perform expired.
2 PIP3A7_Buyer_Private (Single Action) During processing, the business message on the responder side of the private process indicates that it cannot process the business message.
3 RNIF_Action (Two Action) Time-out during waiting for response message on initiator side.
4 RNIF_Action (Two Action) During processing of the response message in the private process on the initiator side, the private process indicates that it cannot process the business process.
5 RNIF_Two_Action_A sync_Responder (Two Action) The action process sent a response message and is waiting for an acknowledgment. Maximum numbers of retries is exceeded.
6 RNIF_Action (Two Action) Communications error occurred during sending a business message from the initiator to the responder
7 RNIF_Two_Action_A sync_Responder (Two Action) Communications error occurred during sending a business message from the responder to the initiator.
Similar to other RosettaNet business processes, PIP0A1 has an initiator and a responder process. The initiator process is implemented in the BPML module PIP0A1_V02.00. In the current implementation, there is no private process for PIP0A1 on the initiator side. The responder (which has a public and a private part) is implemented in the modules PIP0A1_V02.00_Failure-Report-Administrator and PIP0A1_Failure-Report-Administrator_Private. The RNIF 1.1 equivalent for the modules specified are PIP0A1_1.0.bpml, PIP0A1_1.0_Failure-Report-Administrator.bpml, and PIP0A1_Failure-Report-Administrator_Private.bpml. The initiator creates a PIP0A1 message and sends it. On the responder side, the framework starts the public responder process, which spawns the private process. Within the private process, customized code can be used to handle the error condition adequately.
 
 

Business Process Manager and Monitor

The RosettaNet processing in the Sterling B2B Integrator uses a number of public processes to ensure that the document handling is RNIF 1.1 or 2.0 compliant. As stated before, the interface between the public and private processes is done using the PIP<PIPnumber>_<role>_private processes. The following table shows the business processes in the Sterling B2B Integrator after starting PIP 3A7 with PIP3A7_Seller_Private.
Here, the roles are Initiator (Seller) and Responder (Buyer), as specified the RosettaNet PIP 3A7 documentation.
Role Business Process Action
Initiator PIP3A7_Seller_Private Message is received from the private process, partner lookup, pass message to public process
  PIP3A7_V02.00_Seller Public Process of PIP3A7
  RNIF_Action Initiates enveloping and sending
  RNIF_Envelope MIME enveloping takes place
  RNHTTPAsyncSend Message is being sent to the partner
Responder RNIF_Bootstrap Message is received by the responder and the initial context is created
  RNIF_DeEnvelope Message de-enveloping
  GetPipProfileData Partner lookup
  HTTP_Sync_Response Send HTTP success response to the client
  RNIF_SendAck Generate the Signal message for the initiator
  RNHTTPAsyncSend Send the Signal message to the initiator
Initiator RNIF_Bootstrap Message is received by the Initiator and the initial context is created
  RNIF_DeEnvelope Action message de-enveloping
  GetPipProfileData Partner lookup
  HTTP_Sync_Response Send HTTP success response to the client
  RNIF_PIP_Dispatcher Check for existing process. If “no”: Start new process
  PIP3A7_V02.00_Buyer Message is received by the Responder
  PIP3A7_Buyer_Private Hand over to private process
 
 
 

Check the Final PIP Status

About this task

To check the final PIP status on the Seller side:

Procedure

  1. In Sterling B2B Integrator, select Business Process > Monitor.
  2. Select the PIP3A7_Seller_Private ID.
  3. Select the Instance Data of the last process step.
  4. Open the Process Data.
  5. In the second last line, you can see the FinalPIPStatus. This should be <FinalPIPStatus>true</FinalPIPStatus>.
 

Logging

The RosettaNet solution uses the Sterling B2B Integrator standard mechanism for logging. The RosettaNet log file rnif.log is located in the folder <install>/logs. As a default, configuration errors are logged only. Refer to the Sterling B2B Integrator documentation for details about changing logging properties.
For testing and debugging, increase the log level as necessary. For example, set log level to ALL and the default values in <install>/properties/Log.properties:
rnlogger.logfilename = <install>/logs/rnif.log
rnlogger.logkey = rnlogger
rnlogger.rotatelogs = true
rnlogger.maxlogsize = 100000
rnlogger.loglevel = ERROR
rnlogger.displayname = Log.WorkFlow
 
 
 

Inbound and Outbound Document Flow

The inbound (responder) document flow for a RosettaNet document through the Sterling B2B Integrator is as follows:
Inbound Sequence
Description
1
A RosettaNet message is sent using HTTP.
2
The RN HTTP Server adapter is configured to invoke the Bootstrap business process when a message arrives.
3
The RNIF Deenvelope business process invokes the RosettaNet Message Parser service to construct the header elements into process data and extracts the service content and attachments.
4
The RosettaNet Message Parser service parses and validates the entire message.
5
Based on the result of the parsing, the RNIF Parsing service decides whether to send an Acknowledgment or an exception.
6
The Transaction Responder Private business process is invoked to determine if the message is a two-action PIP.
7
If the transaction is a two-action PIP, the responder sends the response Action Message to the initiator.
The outbound (initiator) document flow for a RosettaNet document through the Sterling B2B Integrator is as follows:
Outbound Sequence
Description
1
Using a compiled map, the translator translates the document in the Sterling B2B Integrator format to the RosettaNet document and creates a Primary Document.
2
The initiator invokes a business process that assigns any Attachment Files.
3
The Transaction Initiator Private business process is invoked by the initiator business process to set the PIP/Transaction code and any other Contract information.
4
The RNIF Envelope business process is invoked to construct the Message Header elements.
5
The RNIF Attachment business process is invoked to loop through the attachment files and construct the necessary attachment elements.
6
The RosettaNet Message Builder service is invoked to create the actual message using the header elements that were created, the primary document, and the attachment file information.
7
The RNIF HTTP Send business process is invoked to send the message to the responder using the RN HTTP Server adapter.
 
 

Working with RosettaNet Trading Partners

To effectively set up trading partners that implement RosettaNet, you must configure the Sterling B2B Integrator with specific RosettaNet message data settings. This section provides an overview of the steps to set up trading partner information, including the different types of contracts necessary, along with the specific configuration settings that enable you to meet your RosettaNet data exchange requirements. After setting up your trading partner information, you can then create and implement business processes that comply with RosettaNet standards.
The Sterling B2B Integrator provides you with attachment support, which enables you to specify files (of any format) to be attached, by using the attach file element, and specifying a path to the file.
To configure trading partner information to implement RosettaNet, you must:
  1. Create a trading profile for your organization and each of your trading partners. The trading profile enables you to define how you want to:
    • Build and parse RosettaNet message data.
    • Define message security and transport protocols.
    • Determine whether you want to attach files.
  2. Depending on contractual requirements agreed upon by you and your trading partner, you then create contracts for the following:
    • At least one Partner Interface Process (PIP). A PIP is a RosettaNet-defined business process designed to be a framework for business flows between RosettaNet trading partners. For each RosettaNet PIP you plan to exchange, you must create a contract. For example, if the company is initiating and responding to PIP 3A4, you must create a contract to initiate PIP 3A4 and one to respond to PIP 3A4.
    • RosettaNet-specific services to build and parse messages, promote security, and send outbound RosettaNet messages to the appropriate URLs.
For more information about:

Before You Begin

Before you set up a RosettaNet trading profile and to simplify the tasks you must perform, collect and prepare the following information about your organization and trading partners:
  • Trading partner name and address information, including:
    • DUNS numbers
    • Contact information, such as addresses, telephone numbers, e-mail addresses
  • PIP information, including:
    • PIP code and PIP version to exchange
    • RNIF (RosettaNet Implementation Framework) version (either v1.1 or v02.00)
    • Roles of trading partners using each PIP (that is, the trading partners who is initiating and the trading partner who is responding)
  • RNIF version information
  • Transport information, including:
    • HTTP URLs
    • CA certificates for trading partner if using SSL
  • Security information, digital signatures, and encryption and certificates (for example, certificates used for encryption and decryption)
  • If you are using digital certificates, check in the appropriate certificate
 
 
 

Thanks and Regards

P. Srinivas
EDI Developer

1 comment:

  1. I really appreciate information shared above. It’s of great help. If someone want to learn Online (Virtual) instructor lead live training in IBM STERLING B2B INTEGRATOR kindly contact us http://www.maxmunus.com/contact
    MaxMunus Offer World Class Virtual Instructor led training on IBM STERLING B2B INTEGRATOR We have industry expert trainer. We provide Training Material and Software Support. MaxMunus has successfully conducted 100000+ trainings in India, USA, UK, Australlia, Switzerland, Qatar, Saudi Arabia, Bangladesh, Bahrain and UAE etc.
    For Demo Contact us.
    Saurabh Srivastava
    MaxMunus
    E-mail: saurabh@maxmunus.com
    Skype id: saurabhmaxmunus
    Ph:+91 8553576305 / 080 - 41103383
    http://www.maxmunus.com/

    ReplyDelete

Introducing a rate limiter feature in IBM Sterling Integrator allows for comprehensive API functionality without the need to invest in additional API tools.

To activate and integrate the rate limiter feature in Sterling Integrator for comprehensive API functionality, follow these steps. To ...