(is) Chem XML Message EStandards and CIDX Scenario

Embed Size (px)

Citation preview

  • 8/10/2019 (is) Chem XML Message EStandards and CIDX Scenario

    1/18

    Chem XML Message eStandards and CIDX Scenario - Part I

    By Suraj Kumar Pabbathi, PI Competency Lead, YASH Technologies

    In this tutorial, we would discuss about CIDX Message eStandards starting from expanding CIDX. CIDX

    stands for Chemical Industry Data Exchange.

    With the advent of eBusiness, companies in chemical industry adopted certain common communicationprinciples to reduce the overall cost of XML-Based integration projects to realize business transactions withpartners. These common principles are based on eStandards known as Chem eStandards which are usedby chemical industries for exchanging data Business-to-Business (B2B) and Business-to-Marketplace.

    To learn more of Chem-eStandards, download the document fromhttp://xml.coverpages.org/Chem-eStandardsV20.pdfand go through it.

    To facilitate the use of automated data exchange between chemical companies, CIDX an organization hastransformed its organization to operate as standards organization. It will support and maintain the ChemeStandards. Its official website iswww.cidx.org.

    For making the messages interoperable across the chemical industries based on XML standards, chemeStandards leverage the transport, envelope and security aspects of RNIF version 1.1 as described belowdiagrammatically:

    Find below the explanation of every part of the Chem eStandard Message.

    Preamble: It handles information global to document (version, datestamp)

    http://xml.coverpages.org/Chem-eStandardsV20.pdfhttp://xml.coverpages.org/Chem-eStandardsV20.pdfhttp://xml.coverpages.org/Chem-eStandardsV20.pdfhttp://www.cidx.org/http://www.cidx.org/http://www.cidx.org/http://www.cidx.org/http://xml.coverpages.org/Chem-eStandardsV20.pdfhttp://xml.coverpages.org/Chem-eStandardsV20.pdf
  • 8/10/2019 (is) Chem XML Message EStandards and CIDX Scenario

    2/18

    Sample Preamble of the message is as follows:

    Service Header: It contains the information about transaction routing and processing information for a giventransaction. The service header contains three separate data objects:

    1.

    Process identity: It describes the process to be carried out by the transaction encapsulated in servicecontent.

    2.

    Service Route: It describes to and from information.

  • 8/10/2019 (is) Chem XML Message EStandards and CIDX Scenario

    3/18

    3. Transaction control: It provides the information how the transaction encapsulated in the service contentis to be processed.

    Service Content: This contains the actual message that is considered to be an action message which needsto be transported to partner.

  • 8/10/2019 (is) Chem XML Message EStandards and CIDX Scenario

    4/18

    Chem eStandards is developed with number of conventions for content and structure of the datamodels/messages as described below under sections, Message Definition, Message Responses, Messagestructure, Message elements.

    Message Definition: They are defined with two facets of guiding principles.

    1. Individual messages are intended to support only one business function. Eg: OrderCreate is differentOrderChange

    2. Individual messages supporting a single business function can modify the nature of transaction beingperformed based on data values.

    For Eg: OrderCreate message support Standard Order, RushOrder etc..

    Message Responses: There are two types of Responses. Technical and Transaction Responses.

    1.

    Technical responses are returned to source system from destination upon deliver of messages fromsource to destination. Again there are two types.

    a.

    Positive:

    i. ReceiptAcknowledgement is positive Chem eStandard Signal message. Whenreceived, it means that the message is received by partner and the message is validchem eStandard Action message.

    b.

    Negative:

    i. ReceiveAcknowledgementException: Received by source to state that the partnerhas received a message which is invalid in terms of schema validation against DTD

    ii. General Exception: Received by source system when processing of action messageby partner runs into error.

    2. Transaction Response: They are reply or response to requested Action Message. For eg: PurchaseOrder Response is sent by partner as a response to the action message received like Purchase Order.

    They are unique and it is not necessary that every transaction has transactionresponse.

    Note: Action message is the actual message that is sent to partner. Eg: Invoice

    Signal message is the response message that is received by source system in response to the action

    message received by partner.

    Message Structure: It is XML document conforming to corresponding DTD (Data type definition). Everymessage will start with a root element addressing the message itself and has child elements as Header andBody.

  • 8/10/2019 (is) Chem XML Message EStandards and CIDX Scenario

    5/18

    Message Elements: An XML specification describes structure data as explained above. XML documentelements may either contain other data elements or data (or both). These message elements may containattributes that describe the data within the message element.

    On the whole transactions can be exchanged between business partners with a sample explaineddiagrammatically below:

  • 8/10/2019 (is) Chem XML Message EStandards and CIDX Scenario

    6/18

    Chem XML Message eStandards and CIDX Scenario - Part II

    By Suraj Kumar Pabbathi, PI Competency Lead, YASH Technologies

    Inpart I,we have discussed about CIDX Message eStandards. Now let us discuss how to configure and

    design the objects to support the communication based on CIDX standards in XI.

    This is achieved by designing the Message types in Integration Repository and configuring collaboration

    profiles using CIDX adapter in Integration Repository.

    CIDX Adapter: CIDX Adapter supports the chem eStandards described in PartI and facilitates to send the

    messages between Integration Server and Partner System by transforming the message format in XML to

    message format compliant to chem eStandard Business transaction (chem XML Message) and vice-versa.

    It supports Single-Action Asynchronous business transaction, in the sense, at a time it can send only single

    action message (for e.g.: Invoice) to partner system in asynchronous mode.

    There is variety of chem eStandard business transactions described in the chem eStandard

    documenthttp://xml.coverpages.org/Chem-eStandardsV20.pdfthat can be exchanged with partner

    participating in different roles such as buyer, seller and so on.

    For eg: some of the transactions supporting Logistics execution are listed below; where in third column

    indicates Global Process Indicator code of chem XML Transactions.

    http://www.saptechnical.com/Tutorials/XI/ChemXML/part1.htmhttp://www.saptechnical.com/Tutorials/XI/ChemXML/part1.htmhttp://www.saptechnical.com/Tutorials/XI/ChemXML/part1.htmhttp://xml.coverpages.org/Chem-eStandardsV20.pdfhttp://xml.coverpages.org/Chem-eStandardsV20.pdfhttp://xml.coverpages.org/Chem-eStandardsV20.pdfhttp://xml.coverpages.org/Chem-eStandardsV20.pdfhttp://www.saptechnical.com/Tutorials/XI/ChemXML/part1.htm
  • 8/10/2019 (is) Chem XML Message EStandards and CIDX Scenario

    7/18

  • 8/10/2019 (is) Chem XML Message EStandards and CIDX Scenario

    8/18

    Configuration time activities in Integration Directory:

    Let us plan for a scenario where in our XI system acts as receiver of the message and partner system sends

    an Invoice message. That is Partner is starting a message exchange with XI.

    Therefore a Sender CIDX adapter needs to be configured which is considered to be Single Action

    Initiator.

    1. Create a Party: Party represents a larger unit, which is involved in a cross-system process, forexample a Seller Company. Communication Parties are assigned alternative identifiers; across theworld with identifiers. (for example, Dun & Bradstreet D-U-N-S number).

    Create two parties, one representing Buyer (initiator) and other Seller (Responder), EDI_XML_Buyer

    and EDI_XML_Seller respectively.

  • 8/10/2019 (is) Chem XML Message EStandards and CIDX Scenario

    9/18

    2. Create a Service: Business Service represents an abstract, addressable unit. Business services areused in cross-company processes. CIDX adapter determines the partners service name and localservice name for an incoming CIDX message based on Service Header fields as described below:

    Service Name should be as CIDX_Version_PartnerRole.

    := /ServiceHeader/ProcessControl/ProcessIdentity/GlobalProcessIndicatorCode

    Transaction Code: For every business transaction, CIDX standards have defined unique Code to

    identify the transaction and process it accordingly. A sample code list is provided earlier in this

    document.

    := /ServiceHeader/ProcessControl/ProcessIdentity/VersionIdentifier

    :=

    /ServiceHeader/ProcessControl/TransactionControl/PartnerRoleRoute/fromRole.PartnerRoleDescrip

    tion/GlobalPartnerRoleClassificationCode

    :=

    /ServiceHeader/ProcessControl/TransactionControl/PartnerRoleRoute/toRole.PartnerRoleDescriptio

    n/GlobalPartnerRoleClassificationCode

    For example:

    Buyer service should be named as CIDXE81_40_Buyer

    Seller service should be named as CIDXE81_40_Seller

    Find below the sample message containing the information as described above.

  • 8/10/2019 (is) Chem XML Message EStandards and CIDX Scenario

    10/18

    3. Create a Communication channel of type CIDX adapter:

    As partner is initiating the message select the adapter type as Sender.

    For understanding more about the parameters of CIDX adapter while configuring them, go

    throughhttp://help.sap.com/saphelp_nw04/helpdata/en/02/265c3cf311070ae10000000a114084/f

    rameset.htm

    4. Create a Sender Agreement using the communication channel created for this Scenario within thisagreement.

    http://help.sap.com/saphelp_nw04/helpdata/en/02/265c3cf311070ae10000000a114084/frameset.htmhttp://help.sap.com/saphelp_nw04/helpdata/en/02/265c3cf311070ae10000000a114084/frameset.htmhttp://help.sap.com/saphelp_nw04/helpdata/en/02/265c3cf311070ae10000000a114084/frameset.htmhttp://help.sap.com/saphelp_nw04/helpdata/en/02/265c3cf311070ae10000000a114084/frameset.htmhttp://help.sap.com/saphelp_nw04/helpdata/en/02/265c3cf311070ae10000000a114084/frameset.htm
  • 8/10/2019 (is) Chem XML Message EStandards and CIDX Scenario

    11/18

    5. Create other objects to complete the configuration which includes Receiver Determination, InterfaceDetermination and Receiver Agreement.

    6. An effort is also made to discuss Security Services in CIDX Adapter:

    XI and RNIF protocols support message level security by digital signature and encryption. Message-

    level security processing is done in Java part of SAP WAS.

    CA (Certificate Authority) certificates to be used need to be entered into Key Store of J2EE Engine

    that executes the security handling at runtime.

    During configuration these certificates are referred while defining the communication channels when

    certificate logon is used.

    Otherwise, UserName/Password authenticity can be used alternatively.

    There are three sections to achieve the security of transmission of the messages between chemical

    companies

    a. Confidentiality: Select HTTPS communication protocolb. Authentication, Authorization and Message Integrity: By digitally signing the message

    authenticates the receiver to receive the message. Validation is done by the receiver tomatch the identity of the sender. Then message is processed successfully to achieve theintegration of Business.

    c. Accountability:

    i. Non-Repudiation of the message when selected for inbound messages means that

    partner cannot deny of sending the messages and stores the inbound message in

    the security archive.

  • 8/10/2019 (is) Chem XML Message EStandards and CIDX Scenario

    12/18

    ii. Non-Repudiation of the message when selected for Outbound messages means

    that partner cannot deny or receiving the messages and stores the outbound

    message in the security archive.

    Testing Results:

    Message is sent by Company A which needs to be received by XI of Company B.

    Chem. XML message with Preamble, ServiceHeader, Service Content and Digitally signed isreceived by Adapter Engine. When this message is monitored through Messaging system, viewed asbelow:

    Message ID 7a451b3102e112ddc6e975b43570eb8c

    RefToMsgID

    Conversion ID PROCESS.HFO7w7WYcCkcu6FKTUEpnSs4cQ9Vg.Invoice.CompanyA

    Sequence Number 0

    Message Type Asynchronously Received Message (RECEIVE)

    From Party Name: EDI_XML_CompanyA

    From Service Name: CIDXE81_40_Buyer

    Action

    Namespacehttp://sap.com/xi/CIDX/40 Name: Invoice

    Connection Name CIDXAdapter

    Status Delivered

    Error Category

    Error Code

    Profile CIDX

    Transport HTTPS

    Delivery Semantics Exactly Once

    Times Failed 0

    Number of Retries 5

    Sent/Received 04/25/2008 12:00:00

    Transmitted/Delivered 04/25/2008 12:00:49

    Next Delivery

    04/25/2008 12:00:00

    Persist Until

    04/25/2008 12:00:00

    Valid Until

    Retry Interval 5 Minutes

    Address https://yhsapi01:50300/MessagingSystem/receive/CIDXAdapter/CIDX

    Credential

    Transport Headers Content-Length = 10234 HTTP=POST

    Node ID 2082666

    From the above one can observe that status is delivered and other message details are provided.

    CIDX adapter with the available details from the chem. XML message does followingo Validates the digital signature with the action message

    o Using the service header information DUNS number of sender, receiver identifies Sender and Receiver Party Transaction code, version, Requesting Message and Partner Roles identifies

    Sender and Receiver Business Services

    o Converts chem. XML message to SOAP message encapsulating content as XML messagederived from Service content

    Routes the message to Integration Engine and is processed by Pipeline Services.

    http://sap.com/xi/CIDX/40http://sap.com/xi/CIDX/40http://sap.com/xi/CIDX/40http://sap.com/xi/CIDX/40
  • 8/10/2019 (is) Chem XML Message EStandards and CIDX Scenario

    13/18

    Chem XML Message eStandards and CIDX Scenario - Part III

    By Suraj Kumar Pabbathi

    In my earlier blogs efforts are made to explain about CIDX standards, how to design and configure the object

    to support CIDX communication.

    Blog1:http://saptechnical.com/Tutorials/XI/ChemXML/part1.htm

    Blog2:http://saptechnical.com/Tutorials/XI/ChemXML/part2.htm

    I would like to make your experience pleasant and fruitful with CIDX communication through this blog.

    This blog covers those intricate details in regard to security, certificates through simple steps, focusing on PI

    7.1

    You have already selected CIDX adapter with Transport Protocol as "HTTPS" and Message Protocol as"RNIF 1.1" for communication. Selecting the message protocol to RNIF 1.1 means you are configuring the

    scenario to handle Preamble, Service Header, Service Content, Digital Signatures etc...

    We will focus on achieving HTTPS communication which is a combination of HTTP with SSL/TLS protocol to

    provide encrypted communication and secure identification of a network web server.

    Step 1:Since the CIDX adapter is available through adapter engine, you need to set your server through

    Java stack to receive and send secured messages.

    SSL Communications are handled by ICM (Internet Communication Manager) for both the Java and ABAP

    servers. You need to perform the configuration to use one of it, navigate to RZ10, select the profile_DVEBMGS00_ and configure the profile parameter.

    ssl/pse_provider = JAVA

    Step 2:Restart the server to notice automatic creation of Keystore views in SAP NetWeaver Administration

    (NWA).

    Navigate to NWA >> Configuration Management >> Certificate and Keys.

    Identify the new Keystore View named after ICM_SSL_

    http://saptechnical.com/Tutorials/XI/ChemXML/part1.htmhttp://saptechnical.com/Tutorials/XI/ChemXML/part1.htmhttp://saptechnical.com/Tutorials/XI/ChemXML/part1.htmhttp://saptechnical.com/Tutorials/XI/ChemXML/part2.htmhttp://saptechnical.com/Tutorials/XI/ChemXML/part2.htmhttp://saptechnical.com/Tutorials/XI/ChemXML/part2.htmhttp://saptechnical.com/Tutorials/XI/ChemXML/part1.htm
  • 8/10/2019 (is) Chem XML Message EStandards and CIDX Scenario

    14/18

    Create the private key in the specified keystore view using "Create" and follow the wizard.

    Notice that "Generate CSR Request" is enabled and use it generate CSR Request. Basically this step is

    needed to get your certificate issued by 3rd

    party Authority, to be identified as secure partner to carry out

    secure online transactions and conduct the business over internet.

    When you purchase the certificate that is considered as CSR Response. Select the private key that you have

    just created and import it as "Import CSR Response".

    Copy these certificates into Trusted CAs and secure_ssl keystore Views.

    Step 3:Load the public key of your partner with entire certificate chain (Public Key, Intermediate and Root)

    into keystore Views "ICM_SSL_XXXX", Trusted CAs.

    In the following screenshot, you can view Verisign as Certificate Authority and chain of certificates.

    They can be recognized as Verisign as root, Verisign Class 3 Secure Server CA G3 as intermediate and

    business.partner.com as public key.

  • 8/10/2019 (is) Chem XML Message EStandards and CIDX Scenario

    15/18

    At times your partners provide self signed certificates, however PI supports.

  • 8/10/2019 (is) Chem XML Message EStandards and CIDX Scenario

    16/18

    Chem XML Message eStandards and CIDX Scenario - Part III

    ...Previous

    Step 4:Choose how you want to enable your partner log into your server to come up with processing a

    message request.

    a) In some cases, the certificate is issued with CN = , then provide necessary authorizations to theuser.

    b) In most cases, the certificate is issued after host name for eg., business.partner.com. In this case tosupport the certificate log in, you need to perform additional settings.

    i.

    Create a certificate user say PICERTUSER with adequate authorizations (One of it is XI_AF_RECEIVE).

    ii.

    Navigate to NWA >> Configuration Management >> Security >> Authentication

    Go to Login module, ClientCertLoginModule.

    Edit to maintain Name as Rule1.getUserFromand Value aswholeCert.

    iii. Navigate to NWA >> Configuration Management >> Security >> Identity Management.

    Display PICERTUSER, Modify to load the partner certificate(Only Public key).

    http://www.saptechnical.com/Tutorials/XI/ChemXML/Index.htmhttp://www.saptechnical.com/Tutorials/XI/ChemXML/Index.htmhttp://www.saptechnical.com/Tutorials/XI/ChemXML/Index.htmhttp://www.saptechnical.com/Tutorials/XI/ChemXML/Index.htm
  • 8/10/2019 (is) Chem XML Message EStandards and CIDX Scenario

    17/18

    It basically means when message comes from remote server, certificate is authenticated and then accept tologin through PICERTUSER.

    Internally the message is checked whether valid or not by comparing the certificate Authority inICM_SSL_XXX and partner through TrustedCAs. If it exists, it passes and then next part of steps is to selectthe matching user with the certificate.

    iv. As an additional optional step, you may want to restrict the processing of scenario to this user throughBusiness component >>Assigned Users in Configuration.

    Step 5:Follow my previous blog 2 for configuration.

    Wait for another blog that focuses on Troubleshooting CIDX communication.

    For additional help use SAP resources

  • 8/10/2019 (is) Chem XML Message EStandards and CIDX Scenario

    18/18

    1. CIDXAdapterhttp://help.sap.com/saphelp_nwpi711/helpdata/en/90/1d17c56bb01f4382342294b9a4a308/frameset.htm

    2. Maintaining the Users Certificate Information

    http://help.sap.com/saphelp_nwpi711/helpdata/en/a7/1cd08ffe25e34799cbbe1a7ecdb8ed/frameset.htm

    3. You may use diagtool provided by SAP, more details are available in note#1045019 Web Diagtool forcollecting traces. This is a very good tool that provides you the visibility on how the message is beingprocessed.

    http://help.sap.com/saphelp_nwpi711/helpdata/en/90/1d17c56bb01f4382342294b9a4a308/frameset.htmhttp://help.sap.com/saphelp_nwpi711/helpdata/en/90/1d17c56bb01f4382342294b9a4a308/frameset.htmhttp://help.sap.com/saphelp_nwpi711/helpdata/en/90/1d17c56bb01f4382342294b9a4a308/frameset.htmhttp://help.sap.com/saphelp_nwpi711/helpdata/en/90/1d17c56bb01f4382342294b9a4a308/frameset.htmhttp://help.sap.com/saphelp_nwpi711/helpdata/en/a7/1cd08ffe25e34799cbbe1a7ecdb8ed/frameset.htmhttp://help.sap.com/saphelp_nwpi711/helpdata/en/a7/1cd08ffe25e34799cbbe1a7ecdb8ed/frameset.htmhttp://help.sap.com/saphelp_nwpi711/helpdata/en/a7/1cd08ffe25e34799cbbe1a7ecdb8ed/frameset.htmhttp://help.sap.com/saphelp_nwpi711/helpdata/en/a7/1cd08ffe25e34799cbbe1a7ecdb8ed/frameset.htmhttp://help.sap.com/saphelp_nwpi711/helpdata/en/a7/1cd08ffe25e34799cbbe1a7ecdb8ed/frameset.htmhttp://help.sap.com/saphelp_nwpi711/helpdata/en/90/1d17c56bb01f4382342294b9a4a308/frameset.htmhttp://help.sap.com/saphelp_nwpi711/helpdata/en/90/1d17c56bb01f4382342294b9a4a308/frameset.htm