Schema Repository is used to store external schemas that are referred by schemas on the component ports. The imported schemas referred from anywhere in an Event Process/component can be stored here so that they are resolved even when they are not added explicitly. Hence, schemas which are imported across multiple event processes/components can be stored in the schema repository.
Adding Schema to the Schema Repository
To add schemas to the Schema Repository, perform the following steps.
Navigate to Tools > Schema Repository (Online Schema Repository in Online Event Process Development perspective). This opens a Schema Repository editor using which schemas can be added to schema repository.
To add schema files to the catalog, click Add to Catalog button
Figure 1: Schema Repository- To add schema files to the catalog, click Add button in the Schema Repository dialog box that pops-up and select any one of the following options:
Add File(s): Click this option and select the required schema file(s) from the browser window that appears.
Add Folder: Click this option and select the required folder containing multiple schemas from the browser window.
Figure 2: Adding XML files to CatalogUnder Details section, it shows details of the particular file selected:
The namespace URI and Location.
- Save to the Catalog folder: If this option is enabled, schema files will be saved in <FIORANO_HOME>/xml-catalog/user folder. If it is disabled, the absolute path of the files' original location will be used to refer the schema. File location in catalog can be modified. Ensure to click Save button after enabling/disabling this option / changing file location.
Figure 3: Adding schema to Schema Repository Click OK to add schemas to the repository; added schemas get listed in the schema repository.
Figure 5: Schema Repository with schema files added
Separate xml-catalogs are maintained for Offline, Online and Mapper perspectives.
Perpspective | xml-catalog path |
---|---|
Offline | %FIORANO_HOME%/runtimedata/eStudio/workspace/.repositories/Offline |
Online | %FIORANO_HOME%/runtimedata/eStudio/workspace/.repositories/Online/%ENTERPRISE_SERVER% |
Mapper | %FIORANO_HOME |
When perspective switch is done, the respective xml-catalog of the perspective will be referred and Schema Repository tool displays the schemas in the current perspective's xml-catalog.
Schema Repository in Online Perspective
Fiorano Enterprise server maintains its own schema repository in %FIORANO_HOME%/runtimedata/repository/Schemas.
While logging on to a server, all the schemas present in the server are loaded into the local online xml-catalog and these are cleared on logging out from the server.
Export/Import Event Processes with Schema References
- Export Event Process: If the application being exported has schema references, all those will be copied to %EVENT_PROCESS%.zip/userschemas folder.
- Import Event Process: If the application being imported has schema references, the schema references present in %EVENT_PROCESS%.zip/userschemas folder are added to local online schema repository and server schema repository and then the event process is deployed to server.
Component configuration with store imported schemas
If a component is configured with store imported schemas, the imported schemas are added to local xml-catalog and only on event process save the schema references are added to server.
Multiple eStudios connecting to the same Enterprise Server
This feature has to be used with care when multiple eStudios are connected to the same Enterprise Server and Event Process composition is being done from all the Studios.
Consider an example where two different eStudios are connected to an Enterprise Server and eStudio1 creates a new Event Process EP1 and deploys it to the Server. Let's assume EP1 has a schema reference schema1.
Suppose if EP1 is not opened in eStudio2 ? this Event Process is not fetched in eStudio2. In this case if a new Event Process EP2 is created in eStudio2 having schema reference schema1 (since the Event Process is not fetched in eStudio2, it is unware that schema1 is used in EP1) and when EP2 is deployed to the Server, it renames schema1 to some other name and updates EP2 to avoid conflicts.
When this case happens eStudio2 complains that the new schema file is missing as EP2 is updated when deployed to the server.
To avoid this situation EP1 has to be opened in eStudio2 before creating EP2. If the worst case happens then Logout and Login to the server re-fetches the schemas and the issue will be resolved.
Synchronize Schemas
The schemas added in the repository can be synchronized with the server schema repository. This will synchronize the local schema repository with that of the server.
Figure 6: Synchronizing schemas in local repository
Deleting Schemas
To remove schemas from online schema repository, select a schema and click Remove button; click OK or Cancel button to accept or decline to delete respectively.
Figure 7: Online Schema Delete Warning
Schema Repository in Offline Perspective
Export/Import Event Processes with Schema References
- Export Event Process: If the application being exported has schema references, all those will be copied to %EVENT_PROCESS%.zip/userschemas folder.
- Import Event Process: If the application being imported has schema references, the schema references present in %EVENT_PROCESS%.zip/userschemas folder are added to local offline xml-catalog and then the event process is added offline application repository.
- Export Event process to server: If the application has schema references the schemas from local Offline xml-catalog are added to server and application from offline repository is deployed to server.
- Import Event Process From server: The schema references from server are added to local Offline xml-catalog and event process is added to offline repository.
Deleting Schemas
Schemas can be removed from online schema repository by selecting a schema and clicking Remove button; a warning appears where you can accept to delete or cancel.
Figure 8: Offline Schema Delete Warning