Previous Contents Index Next |
iPlanet Market Maker 4.5 Customization Guide |
Chapter 5 Customizing the OMS Module
This chapter contains the following sections:
Overview
To process financial transactions in a marketplace, companies often need to transfer information about the transactions to their external ERP systems. To facilitate this type of transfer, a method is required for the marketplace to communicate with the ERP systems.Within an iPlanet Market Maker marketplace, the Order Management System (OMS) module lets you transfer requisitions and orders in the form of text documents from OMS to external systems. To transfer documents to external systems, the iPlanet Marker Maker software communicates with the iPlanet ECXpert system, which controls the routing of documents to external systems. The iPlanet ECXpert system lets you automate and manage the communications processes between the marketplace and ERP systems. See Figure 5-1.
For more information about the iPlanet ECXpert system, see the following URL.
http://www.iplanet.com/products/iplanet_ecxpert/home_2_1_1q.html
Figure 5-1    Sending a Purchase Order to an External System via the ECXpert System
![]()
This chapter describes how to configure and customize OMS and the ECXpert system to enable the transfer of documents to external systems. It contains the following topics.
Configuring OMS.
For more information about how to use OMS, see the iPlanet Market Maker online help.Configuring the ECXpert System.
Configuring a New Business Event Checklist.
Editing the ESVConfiguration.properties file
The OMS configuration settings shown in Table 5-1 are required in order to communicate with the ECXpert system. Specify these settings in the ESVConfiguration.properties file in the <imm_root>/iMM/resources directory. Note that after you specify these settings, you must restart the iPlanet Market Maker software for the settings to take effect.
Adding a Document Encoding Type
To transfer documents to external systems, OMS encodes the documents. Document encoding has two parts: envelope encoding for identifying, representing, and routing the document and payload encoding for the business content. The iPlanet Market Maker external services support the following XML encoding standards.
Envelope encoding - ebXML, BizTalk, SOAP, CXML, and native (iPlanet Market Maker)
Note that the OBI-XML and CXML formats might require customization to work properly. Contact iPlanet Market Maker professional services if you need help using these encoding standards.Payload encoding - xCBL, OBI-XML, CXML, and native (iPlanet Market Maker)
The example in this section shows you how to add a new envelope encoding type, XBRL (eXtensible Business Reporting Language), to transform all the purchase orders submitted to vendors into external documents and transport them to an external system that generates financial statements.
Defining Encoding Types
Define an encoding type in the ESVCONFIG.XML file in the <imm_root>/iMM/omsB/etc/xsl directory by giving it a unique internal persistent code. In Table 5-2, the new encoding type to add is highlighted.
Table 5-2    Defining Encoding Types in the ESVCONFIG.XML File
Defining Document Encoding Types
A document encoding type is a combination of envelope encoding and payload encoding. To define the document encoding types in the ESVCONFIG.XML file, combine the new envelope encoding type with one or more payload encoding types as highlighted in Table 5-3.
Registering Encoding Types
.
Table 5-4    Registering Encoding Types <ListOfEnvelope>..</ListOfEnvelope> from <mango dir>/esvB/etc/xsl/ESVCONFIG.XML
Registering a New Document Encoding Type
In the ListOfDocumentEncodingConfigurationEntry method in the ESVCONFIG.XML file, add the new document encoding type as highlighted in Table 5-5.
Defining the Document Type Mapping
A SUBMIT_TO_VENDOR action already exists in OMS. A business event OMS_SUBMIT_TO_VENDOR is defined in the ESVCONFIG.XML file. Under the submit to vendor cases section of this class, map the combination of encoding types and business event OMS_SUBMIT_TO_VENDOR to a document type xbrl-imm-po as shown in Table 5-6.
Table 5-6    Document Type Mapping in the ESVCONFIG.XML File
Registering a New Document Type
In the ListOfDocumentExternalTypeConfigurationEntry method in the ESVCONFIG.XML file, add the new document type as highlighted in Table 5-7.
Editing XSL Style Sheets
Every encoding type has an XSL style sheet. The style sheet provides the encoding instructions for XSL processing, which does the encoding. There are some examples of style sheets in the xsl directory.The XSL for payload encoding appears under specific modules like <imm dir>/omsB/etc/xsl, <imm dir>/rfxB/etc/xsl.
The XSL for envelop encoding is under <imm dir>/esvB/etc/xsl
Create an XSL style sheet for the your new type and define it in the ESVCONFIG.XML file (under ENVELOPE OUTGOING XSL MAPPINGS). Map the XSL style sheet with the new envelope encoding type as highlighted in Table 5-8.
Registering a New Envelope Encoding Type
In the ListOfEnvelopeDocumentMappingConfigurationEntry method in the ESVCONFIG.XML file, add the new envelope encoding type as highlighted in Table 5-9.
Defining the Encoding Property
In the OMSstrings.properties file in the imm_root>/iMM/resources directory, add the new envelope encoding type to the list as highlighted in Table 5-10.
Table 5-10    Defining the Encoding Property in the OMSstrings.properties File The property files in <ias_dir>/imm40/imm40/WEB-INF/classes should also be changed.
The numeric index you use must match the int value in the static constant defined for this encoding type in the ESVCONFIG.XML file, in this case five.
Adding a Business Event
This section describes the current OMS external services implementation for submitting a business event from an iPlanet Market Maker marketplace to a remote vendor. A business event refers to an action taken on behalf of an iPlanet Market Maker marketplace. You can use a similar implementation to create your own business events to submit to external systems.
Defining a Module Constant
Each business event has a system and an action. OMS is currently the only iPlanet Market Maker module that supports external services. The system and the actions are defined as static constants with a string and an int in the IESVModuleConstants public interface class in the external directory. The string is used to specify an event type to call in the document handler (for example, see the middle column of Table 5-15). The int is the unique internal persistent code for the action.The following code in IESVModuleConstants adds the action SUBMIT_TO_VENDOR to the list of supported actions.
public static final String STR_ACT_SUBMIT_TO_VENDOR = "SUBMIT_TO_VENDOR";
public static final int INT_ACT_SUBMIT_TO_VENDOR = 0; //SUBMIT_TO_VENDOR
Initiating External Services for an Action
Every action defined as a business event in the external services must be initiated in the respective method in the remotable class of the OMS module. The submitToVendor method defines the action as an external business event. See Table 5-11. Note that "..." in the tables indicates that some syntax is omitted.For information about implementing the code shown in Table 5-11, contact iPlanet Market Maker professional services.
Defining an Action in External Services
To define an action as a business event in the external services, you need to define and register the action in the ESVCONFIG.XML file and associate the action with the OMS system.To define an action, map the int representation of the action to its string representation as commented in ESVCONFIG.XML as follows:
private static final ExternalServicesConfigurationEntry ACT_SUBMIT_TO_VENDOR =
new ExternalServicesConfigurationEntry(INT_ACT_SUBMIT_TO_VENDOR, STR_ACT_SUBMIT_TO_VENDOR);
Defining an OMS-Supported Event
In the initializeAllSupportedActionsMap method, add the business event as an OMS-supported event. See the example highlighted in Table 5-12.
Registering a Business Event
Also in the ESVCONFIG.XML file, add the business event in the loadSupportedActionsMap method. See Table 5-13. Note that the code to add is highlighted in Table 5-13 and Table 5-12.
Defining Document Encoding Types for the Event
Document encoding types are combinations of envelope and payload encoding types defined in the ESVCONFIG.XML file. For a new business event, define the document types by mapping an action and the document encoding types to document types. See Table 5-14.
Registering Document Types for an Event
Register the document types defined for a new business event in the ESVCONFIG.XML file. See Table 5-14.
Defining the User Interface Property
In the OMSstrings.properties property file, add the definition for a new action. This following definition provides the localizable name for the action that appears in the user interface. The numeric index used here must match the int value in the static constant defined for this action in the IESVModuleConstants (in this case zero).ESV_ACTION_NAMES[0]=SUBMIT_TO_VENDOR
Configuring the ECXpert System
OMS uses an SMTP-based email mechanism to submit XML documents to the ECXpert system. To use the SMTP-based submission mechanism, you need to configure your ECXpert system as described in the following steps.
Configuring SMTP receive service in the ECXpert system.
Adding the iPlanet Market Maker marketplace membership in the ECXpert system.
Configuring SMTP Receive Service in the ECXpert System
To send XML documents from an iPlanet Market Maker marketplace to an ECXpert system, you must configure the ECXpert SMTP receive service. The ECXpert SMTP receive service needs to poll a specified inbox that receives all the emails from the marketplace.The inbox that receives all email messages from the marketplace can either be a POP3 inbox on a mail server, or the SendMail inbox of a user on the local system. Based on the email solution you choose, you must provide the corresponding information when you install the ECXpert system. Figure 5-2 shows an example of the information you need to provide.
Figure 5-2    Configuring a Mail Server in the ECXpert System
![]()
It is important to note that by default the SMTP receive service in a newly installed ECXpert system is not started automatically. You must manually start this service for the ECXpert system to interact with the mail server. You can modify certain other settings for the SMTP receive service to tune it to handle the expected load on the system.
Adding an iPlanet Market Maker Marketplace Membership in the ECXpert System
After you install the ECXpert system, the next step is to add the iPlanet Market Maker membership to the ECXpert membership database. This membership helps the ECXpert system identify the origin of documents submitted from the marketplace. When a document is submitted to the ECXpert system through SMTP, the ECXpert system matches the sender's email address with the various ER values of existing ECXpert memberships. When it finds a match, the ECXpert system identifies the sender of the document as the corresponding ECXpert member. This identification lets you create partnerships and service lists to process business events originating from the iPlanet Market Maker marketplace.The sender's email address is derived from the following two configuration settings (see Table 5-1).
CFG_ECX_ADAPTER_SMTP_SERVER_HOST
For example, if the sender member name is immhost and the ECX SMTP server host is bluewater.red.iplanet.com, then the sender's email address becomes immhost@bluewater.red.iplanet.com.
Adding Membership for a Receiving Company
After you set up the mail server and the membership for the iPlanet Market Maker marketplace in the ECXpert system, the next step is to add the membership for a receiving company. This membership should be unique for each receiving company.Because the iPlanet Market Maker software uses SMTP-based email for submitting documents to the ECXpert system, you must assign an inbox to the new receiving company on the mail server. For SendMail, you must create a local UNIX account for the receiving company. After an inbox is assigned to the new company, the iPlanet Market Maker software is able to send documents via email to this inbox. However, this inbox is not the one polled by the ECXpert system for incoming email submissions. You must set up a forwarding mechanism to the inbox polled by the ECXpert system for incoming emails sent to the new company inbox. For SendMail, a you can use a .forward file to forward the incoming email to the ECXpert inbox. For a POP3 server, refer to the server administration manual to set up a forwarding service to another inbox.
The reason for having a separate inbox for each company, and forwarding the incoming email to the ECXpert inbox, is to preserve the original SMTP headers and provide sufficient information to the ECXpert system to determine the intended receiving member. For example, email sent to iplanet@bluewater.red.iplanet.com, which is forwarded to actraadm@bluewater.red.iplanet.com, contains the necessary header information that allows the ECXpert system to determine that the mail was originally sent to iplanet@bluewater.red.iplanet.com.
Based on the original email address where the email was sent, the ECXpert system can look up its membership database and identify the corresponding receiver's membership entry. For every company that receives documents through this system, you must create a membership in the ECXpert system that has a Local Email (EL) attribute value set to the email address of its corresponding inbox. See Figure 5-3.
Figure 5-3   
![]()
Adding a Local Email AddressWhen a business event occurs that requires a document to be submitted to the ECXpert system, the receiving email address is derived from the following.
The receiving company's ECXpert member name, which is determined by the details of the active registry entry associated with the business event.
For example, if the active registry entry contains the name iplanet as the ECXpert member name, and the SMTP server host is set to bluewater.red.iplanet.com based on the configuration settings, the document is emailed to the address iplanet@bluewater.red.iplanet.com. The email addresses should all exist on the same domain name, which is the domain name of the SMTP server. It is not possible for a receiving company to have an email address at a different domain other than the domain of the SMTP server used to submit documents.With sufficient care in configuring the email accounts for companies participating in this system, you can resolve any possible collisions. The advantage of this convention is that it is internal and does not have dependencies with the external email addresses. It allows the administrator to choose any name for the company's internal email and ECXpert membership. Even though it is not a requirement for the internal email name for a company to be the same as the ECXpert member name, it helps to keep the configuration simple and easy to understand.
Setting up the Partnership
The ECXpert partnership determines the outbound delivery mechanism. The partnership also determines any ECXpert-based system translations for the document sent by the iPlanet Market Maker marketplace to the receiving company's inbox. The partnership is based on the following criteria:The sending member name is described in the "Adding an iPlanet Market Maker Marketplace Membership in the ECXpert Systems" section. The receiving member name is described above in the "Adding Membership for a Receiving Company" section. The document type is determined at runtime based on the type of document encoding scheme and the event type specified by the corresponding business event. See Figure 5-4.
Figure 5-4   
![]()
Setting Partnership InformationTable 5-15 lists the document data types for the encoding schemes you can use for setting partnerships.
Table 5-15    Document Data Types for OMS
Envelope and Payload Encoding
Event Type
Document Data Type
After you define the partnership information, the next step is to define the outgoing protocol. Figure 5-5 shows an example that uses FTP protocol. Note Outbound Dir is the directory that contains the document received from the OMS module.
Figure 5-5   
![]()
Setting Protocol Information
Setting Up the Service List
A service list identifies the services that apply to the submitted document before it is delivered to the destination. The Gateway Service delivers the document, and without it the document is not delivered to the intended destination. Like the partnership, the service list is also dependent on the sending member name, the receiving member name, and the document data type.It is also possible to have generic service lists that are applicable to more than one set of sending member, receiving member, and document data type. When the ECXpert system is being used only for document delivery, the service list should have the Outprep and Gateway services only. See Figure 5-6. For further information about ECXpert, see the ECXpert Administration Manual.
Figure 5-6   
![]()
Setting Service List Information
Configuring a New Business Event Checklist
This section provides a checklist for configuring a new business event. This list is divided into two parts. The first part is a one-time configuration for the entire ECXpert system and iPlanet Market Maker software. The second part is the configuration required for any new business event.
Configure the Mail Server or SendMail, whichever is used with the ECXpert system.
Install the ECXpert system and configure it to poll the ECXpert inbox on the Mail Server.
Start the SMTP Receive Service on the ECXpert system through the administration screen.
Modify the ESVConfiguration.properties file to set the name of SMTP Server to be used for submitting documents to the ECXpert system.
Create the ECXpert membership for the iPlanet Market Maker marketplace. This membership should have a remote email (ER) attribute equivalent to <sending member name for configuration file>@<SMTP server name from configuration file>. For example immhost@bluewater.red.iplanet.com.
Configuration Required per Business Event
Create the business event entry in the iPlanet Market Maker Registry using the ESV Admin screens in the iPlanet Market Maker software.
Using the ECXpert member name specified for this event, ensure that an inbox exists on the SMTP Server. If this is a new company, create the inbox on the SMTP Server for the company. If an inbox of this name already exists because of previously configured business events, no action is necessary for this step. Note that you can use the same inbox for multiple business events for a given company.
Ensure that the above-mentioned inbox is configured to forward all incoming emails to the ECXpert inbox. If this inbox is already configured because of previously configured business events, no action is necessary for this step.
Create an ECXpert membership for the receiving company. This membership should have a local email (EL) attribute equivalent to <ECXpert member name>@<SMTP server name from configuration file>. For example iplanet@bluewater.red.iplanet.com. If this membership already exists because of previously configured business events, no action is necessary for this step.
Create the ECXpert partnership. Using the ECXpert membership name of the receiving company, the ECXpert membership name of the iPlanet Market Maker marketplace as the sending company, and the document data type from Table 5-15, create the ECXpert partnership for this business event. The partnership should have the necessary outgoing protocol parameters set up for delivering documents according to the requirements of the receiving company. Optionally you can specify a map name if needed for any translations. Refer to the ECXpert Administration Manual for details about Partnership setup.
Based on the same sender member name, receiver member name, and document data type, use the partnership information to create a service list that has the Outprep and Gateway services at the minimum. You can add other services to the service list if necessary. Refer to the ECXpert Administration Manual for further details about the available services you can use within a service list.
Previous Contents Index Next
Copyright © 2002 Sun Microsystems, Inc. All rights reserved.
Last Updated March 25, 2002