The following figure shows all components involved in the front end of integration. This document focuses on the parts that are in bold.
User Services
All user interface components exist in this layer. These components perform user interface functions and very little else. The Tool UI and the EFCommonUI components exist in this layer. The Tool UI will provide the menu commands for the following integrated functions:
-
Register
-
Browser
-
Publish
-
Retrieve
-
Find Documents to Publish
-
Automatic Retrieval
-
Claim Objects
-
Revise Documents
For more information about these commands, see the SmartPlant Common UI Help or your authoring tool documentation.
Each tool provides a selection dialog box for publishing documents. While in the Publish wizard, the user may want to select documents in the tool for publishing. Tools need to implement the GetUserSelections method on the IEFToolDocs interface that brings up the tool document selection UI and returns user selections. For details on the IEFToolDocs interface, see Interfaces.
Tools also need to implement the GetActiveDocument method in the IEFToolDocs interface that returns the active document in tool, if any. This method will be used in the Publish wizard to show a default selection.
Business Services
No user interface operations are performed by components in this layer. The EFServiceManager provides services that are invoked from the UI. It calls functions on the Adapter interfaces, the Schema Component interfaces, and the EFClient interfaces. Both the Adapter and the EFClient make use of the Schema Component.
Data Services
Components that read and write data exist at this level. No user interface operations are performed here. The Schema Component reads and writes XML files and performs other supporting functions.
Support for Batch Processing
Execution of the integration operations (publish, retrieve, and so forth) should be designed to work either in-process (in the design tool process) or as a batch process.
All business services and data services components should support batch processing. They should not have any UI.