Business logic in BusinessWorks
Before making changes to the Windchill ESI BusinessWorks application, customizers should be familiar with how the code is structured. This helps ensure that customizations are consistent with the overall Windchill ESI design and efficiently implemented. To assist in localizing problems during technical support activities, customizations should be compartmentalized as much as possible.
Functionality
The Windchill ESI BusinessWorks application performs several primary functions:
Exchange messages across the JMS interface with Windchill
Transport business data from Windchill to the SAP distribution targets
Transform the data as required by the SAP distribution targets
Apply formulas and functions, such as padding object numbers or concatenating values for keys required by SAP
Supplement missing data with pre-defined default values
Covert list-of-value fields via cross-referencing
Stage and transmit data for the required sequence of API calls to the SAP distribution targets
Translate the data from XML schemas to SAP’s native format (performed by the Adapter for SAP)
Transaction management: Maintaining the integrity of the overall release transaction and its component subtransactions
Error-handling
Logging
Return results and error messages to Windchill
Mapping and Filtering
Data mapping between the systems is accomplished in two main steps:
Mapping from the Windchill ESI data model to the Common Business Object (CBO) schema
Mapping from the CBO schema to the SAP API schemas
The latter mapping requires several stages of filtering, as illustrated below:
The Master Process Flow process determines the correct overall order of business object processing for the publishing transaction
Each business object sub-process determines the correct sequence of delete, add, and change operations and iterates through the data for each
Each business object sub-process invokes the required SAP APIs in the correct sequence for each object iteration
Post-CBO Filtering Layers
Code Structure
Overall, the Windchill ESI BusinessWorks application consists of a "Master Process Flow" and several subprocesses oriented around each Windchill ESI business object: CN, Part, BOM, Document, Resource and Routing. The Master Process Flow controls most JMS communications with Windchill, the overall sequence of object processing, and transaction management.
* 
After the six main object sub-processes execute, the Master Process Flow calls on a special, seventh sub-process to update temporary CN effectivity dates established during the initial CN creation. All processes can make inline calls to shared service routines for defaults, cross-referencing, error handling, and logging wherever they are needed.
Master Process Flow
Technical Architecture
Files used by the EAI software components (FilesToRead_SAP.properties, ESIDefaults.properties, ESIEmailMessageLookups.properties, ESIErrorHandlingCodes.properties, ESILookups.properties, ESIMessageLookups.properties) must be stored in UTF-8 encoded format. Systems integrators or customizers must use care when configuring Windchill ESI to save these files as UTF-8 files, rather than standard ASCII files, which is the default format used by many text editors. Microsoft Windows users are advised to use Microsoft Notepad rather than Microsoft WordPad. UNIX users should investigate the current status of UTF-8 support in their text editors, as emacs and vi have been slow to adopt UTF-8 standards.
The header of each file contains detailed information as to its proper usage and how to update it.
這是否有幫助?