Go to main content
1/21
Contents
Title and Copyright Information
Preface
Audience
Related Documentation
Documentation Accessibility
1
Overview
Extending UIM
Creating Cartridges
Extending the Data Model
Extending Life Cycles, Topology, and Security
Creating Rulesets
Creating Web Services
Customizing the User Interface
Localizing UIM
Optimizing Concurrent Resource Allocation in UIM
Federation with UIM
Requirements for Extending UIM
Tools for Extending UIM
Design Studio
Additional Tools
Documentation for Extending UIM
Information Model Documentation
API Documentation
Javadoc Documentation
Guidelines for Extending UIM
Backward Compatibility
Detecting Code Changes Between Releases
Software Requirements
2
Using Design Studio to Extend UIM
Installing Design Studio
Configuring Design Studio
Setting System Variables
Setting the Compiler Compliance Level
Configuring the eclipse.ini File
Importing the Model Projects
Configuring the Project Library List
About Design Studio Perspectives
About Design Studio Views
About Cartridges and Cartridge Packs
Working with Cartridges in Design Studio
Working With Cartridge Dependencies
About Imported Cartridge Packs
Viewing Cartridges in Design Studio
How Content Is Displayed
About Building Cartridges
About Deploying Cartridges and Cartridge Packs
About Cartridge Upgrades
About the UIM SDK
UIM SDK Contents
Building an Inventory Cartridge Using the UIM SDK
About the Developer-Facing Inventory Menu Options
Understanding the Sequence Specification
Using the Sequence Specification in Custom Code
Using the Sequence Specification with the Entity Identification Specification
Additional Tools
Installing, Configuring, and Using Ant
Downloading Ant
Installing Ant
Configuring Ant
Running Ant Targets
3
Using the Persistence Framework
About the Persistence Framework Foundation
Understanding Persistence Framework Concepts
Eager and Lazy Fetching
Managed and Non-Managed Entities
Persistence Framework Classes and API Methods
PersistenceManager
TypeRegistry
Finder
Defining JPQL Statement Methods
Finder.find() and Finder.findMatches() Methods
PersistenceManager refresh(), attach(), and connect() Methods
InventoryFinder
PersistenceHelper
Persistent
Entity Managers
Defining Entity Managers
Entity Manager Implementation Inheritance Structure
PersistenceManagerBean
TransitionManagerImpl
BaseInvManager
JPQL Query Examples
4
Extending the Data Model
About the UIM Data Model
About Entities
About Entity Capabilities
About Entity Relationships
About Entity Managers
About Entity ID Sequencing
About the Metadata Files
Understanding Metadata File Content
Understanding Entity Definitions
*-entities.xml Files
More on Entity Definitions
Understanding Entity Attribute Definitions
*-types.xsd Files
Understanding Enumeration Definitions
*-enum-entities.xml Files
*-enum-types.xsd Files
Understanding Native Sequence Definitions
ocim-entityidsequenceextension-entities.xml File
Understanding the Tags that Govern Definitions
Extending the Data Model Through the Metadata Files
Defining New Entities
Creating New Entity Managers
Defining New Entity Attributes
Defining New Enumerations
Defining New Native Sequences
Extending Existing Entities
Understanding the Extension Tag
Extending Existing Entities
Extending Existing Entity Attributes
Extending Existing Enumerations
Extending Existing Native Sequences
Applying Metadata Static Extensions
About the build.xml File
Generating, Compiling, and Packaging the Entity Source Files
More on Entity Definitions
Understanding Entity Capability Definitions
Understanding Entity Relationship and Collection Definitions
Uni-Directional, One-to-One Relationship
Uni-Directional, One-to-Many Relationship
Uni-Directional, Many-to-Many Relationship
Bi-Directional, One-to-One Relationship
Bi-Directional, One-to-Many Relationship
Bi-Directional, Many-to-Many Relationship
Relationship Definition Affect on Generated Entities
Understanding Entity Manager Definitions
Defining Entity Managers
5
Extending Life Cycles
About Business Interactions
Understanding Metadata File Content
Understanding Life-Cycle Managed Entity Definitions
Understanding Life-Cycle Managed Enumeration Definitions
About Life-Cycle States
Understanding Business State Enumerations
Understanding Transition Definitions
Understanding How Transitions Are Triggered
About Transition Groups
Extending Life Cycles through the Metadata Files
Extending Entity Definitions
Defining an Entity as Life-Cycle Managed
Defining an Entity as Business-Interaction Enabled
Defining an Entity as Life-Cycle Managed and Business-Interaction Enabled
Extending Enumeration Definitions
Extending Transition Definitions
Defining New Transitions
Extending Existing Transitions
Updating Properties Files
Updating Security
More on Transition Definitions
About Life Cycle Management Interfaces
LifeCycleManaged
TransitionManager
Transition Definition Search
6
Extending the Topology
About Topology Entities and Topology-Managed Entities
Topology Entities
Topology-Managed Entities
About Topology Mapping
TopologyEdge
TopologyNode
Extending the Topology
Defining an Entity as Topology-Managed
Extending the BusinessObjectType.java File
Extending the Mapping
Configuring the topologyProcess.properties file
About Path Analysis
Configuring and Customizing Path Analysis
Configuring the Path Analysis Mode
Customizing Path Analysis
Adding Filtering Criteria
Setting the Analysis Mode
Limiting the Analysis by Pipe Specification
About Topology Interfaces
TopologyObject
TopologyManager
TopologyMapper
PathAnalysisManager
PathAnalysisMapper
TopologyProfileMapper
TopologyEdgeSearchCriteria
TopologyNodeSearchCriteria
About the topologyProcess.properties File
7
Extending Security
Securing APIs
Securing APIs through the SecurityValidation Aspect
Creating the Global Extension Point
Creating the Global Ruleset Extension Point
Securing APIs through Rulesets and Extension Points
Securing Entity Data
About Entity Access Control
Securing Entity Data through Rulesets and Extension Points
Setting Permissions in a Custom Ruleset
Setting Partitions in a Custom Ruleset
Enforcing Security in a Custom Ruleset
Creating Custom Rulesets and Extension Points
Creating Custom Rulesets
Securing APIs Example
Securing Entity Data through Permissions Example
Securing Entity Data through Partitions Example
Securing Entity Data for a Range of Entities Example
Enforcing Security Example
Creating Extension Points
Creating the Ruleset Extension Point
8
Extending UIM Through Rulesets
About Using Rulesets to Extend UIM
About Rules
Using Drools to Define Rules
Using Groovy to Define Rules
About Rulesets and Extension Points
Extension Points
Specification-Based Extension Points
Global Extension Points
Extension Point Types
Ruleset Extension Points
Understanding Extension Point Type and Ruleset Placement
Enabled Extension Points
About the UIM Extensibility Framework
RulesExecutor Class
ExtensionPointContext and ExtensionPointRuleContext Class
aop.xml File
About Base Rulesets
About Base Extension Points and Base Enabled Extension Points
About Naming Conventions
Working with Rulesets
Installing, Configuring, and Using the Drools Eclipse Plug-ins
Installing the Drools Eclipse Plug-ins
Configuring the Drools Eclipse Plug-ins
Configuring the Project Builders
Using the Drools Eclipse Plug-ins
Installing, Configuring, and Using the Groovy Eclipse Plug-ins
Installing the Groovy Eclipse Plug-ins
Configuring the Groovy Eclipse Plug-ins
Configuring the Groovy Compiler Version
Configuring File Associations for Groovy
Configuring the Cartridge for Groovy Files
Using the Groovy Eclipse Plug-ins
Creating Rulesets
Name Field
DRL File or Groovy File
Creating Extension Points
Creating the Extension Point in Design Studio
Creating the aop.xml File
Creating Ruleset Extension Points
Creating Enabled Extension Points
Name Field
Specification Class Name Field
Configuration Version Instance Type Field
Configuring a Specification for a Ruleset Extension Point
Validating and Compiling Rulesets
Compiling Rulesets with Third-Party Dependencies
Deploying Cartridges Containing Rulesets
Running Rulesets
Manually Running Rulesets
Automatically Running Rulesets
Debugging Custom Drools Rulesets
Debugging Custom Groovy Rulesets
Converting Inventory Projects to Groovy Projects
Setting Up Debug Configurations
Debugging Groovy Rules
Troubleshooting Rulesets and Cartridge Deployment
Troubleshooting Custom Rulesets
Troubleshooting Custom Extension Points
Troubleshooting Configuring a Ruleset to Run at an Extension Point
Troubleshooting Using Timing Events
Troubleshooting Cartridge Deployment
Base Cartridges are Deployed
Java JDK Version
Maximum Characteristics for a Table and Required Privileges
Existing Custom Extensions Overwritten
Upgrading or Converting Rulesets
Upgrading Drools Rulesets
Converting Drools Rulesets to Groovy Rulesets
Handling Concurrent Scenarios
9
Using Rulesets for Bills of Materials
About Cost Information for Bills of Materials
Extending BOM Manager Methods
Cost References
10
Extending Notifications
About Notifications
About Extending Notification Functionality
Understanding Notification Message Content
Understanding Message Variables
Understanding Message Templates
Extending Notifications
Customizing Message Content and Format
Changing the Type of Notification Messages Sent
Adding Notifications for Additional Events
Overview of Notification Java Classes
Notification Functionality Class Diagram
About Event Java Classes
InventoryEvent Java Class
Activity Event Java Classes
About Notification Behavior Java Classes
Handler Classes
Resolver Classes
Overview of Internal Notification Java Classes
Factory Classes
NotificationType Class
MailMessenger Class
System Configuration Properties for Notifications
11
Customizing the User Interface
Installing JDeveloper
Extracting the inventory.ear File into JDeveloper
Configuring the JDeveloper Project
Customizing the User Interface
About the UI Files
JSFF and XML Files
XML Files
Java Files
XLF Files
DCX File
Displaying Custom Attributes on a Web Page
Adding Custom Input Fields to a Web Page
Adding Conditional Components to a Web Page
Disabling an Input Field on a Web Page
Adding a Custom Action to a Web Page
Adding a Custom Search Field
Extending the API
Extending the UI
Deploying User Interface Customizations
Customizing Logos
Testing User Interface Customizations
Adding Verification while Creating an Entity
Disabling Edit Option in Entity Search and Entity Summary Pages
12
Localizing UIM
Setting the Language Preference in Internet Explorer
Determining the Locale ID
Localizing UIM
About the UI-Specific Files
Localizing the UI-Specific Files
Importing the Localization Archive File into Design Studio
Locating the UI-Specific Files within the Project
Copying and Renaming the UI-Specific Files
Editing the UI-Specific Files
Deploying the Cartridge Containing the Localized Files
Testing the UIM UI Localization
Localizing UIM Help
About UIM Help
About the Oracle Help Configuration File
About the UIM Help Files
Localizing the UIM Help Files
Extracting the Help Files
Translating the Help Files
Regenerating the Search Index File
Creating the Localized Help JAR File
Configuring the Oracle Help File
Deploying the Localized Help System
Testing the UIM Help Localization
13
Optimizing Concurrent Resource Allocation
About Concurrent Resource Allocation
About Row Locking
Understanding How Row Locking Works
About Releasing Locked Rows
About the LockPolicy Object
numberOfResources
expirationTimeStamp
filterExistingLocks
Example LockPolicy Attribute Combinations
About the Lock Strategies
Extending UIM Entities to Use Row Locking
Statically Extending the Data Model
Enabling Row Locking
Using Row Locking with Entity Finder APIs
Understanding How UIM Uses Row Locking
Writing Custom Code to Use Row Locking
Using Row Locking Without Entity Finder APIs
14
Using the Federation Framework
About the Federation Cartridge Packs
About the Federation Data Domain Cartridges
About the Federation Protocol Cartridges
About External Arrangements
About Transaction-Based and Order-Based Federation
Transaction-Based Federation
Order-Based Federation
Work Order
Business Interaction Attachment
About Externally Enabled Entities
External Identification
Federation Solution Considerations
Determining the Solution Type
Avoiding Federation Cartridge Conflicts
Managing External Identifiers
Creating Externally Enabled Entities in UIM
Creating Custom Web Services
15
Integrating UIM Using UIM-Formatted URLs
About UIM-Formatted URLs
About the URL Format
About id
About entity
About the InventoryGroup Entity
Using UIM-Formatted URLs
Extending UIM-Formatted URL Functionality
MasterFlow.xml
Extending MasterFlow.xml
MasterBean.class
Extending MasterBean
TaskFlowModel.class
Extending TaskFlowModel
A
Federation Data Domain Cartridges
About the Federation Data Domain Cartridges
Accessing the Federation Data Domain Cartridges
Using the Federation Data Domain Cartridges
Creating New or Extending Existing Federation Data Domain Cartridges
Federation Solution Considerations
Creating New Specifications
Accessing a New External System
B
Federation Protocol Cartridges
About the Federation Protocol Cartridges
About the Federation Protocol Infrastructure Artifacts
About the Federation Protocol Implementation Sample
Accessing the Federation Protocol Cartridges
Using the Federation Protocol Cartridges
Extending the Federation Protocols Cartridge Functionality
Configuring the Federation Properties Cartridge
Changing the Entity Type
Changing Operations List
External System Settings
C
Base Rulesets
Address Range Validation
Running the Base Ruleset
Convert LD SR1 to SR2
Running the Base Ruleset
Create Address Characteristic Map
Running the Base Ruleset
Find Address Range
Running the Base Ruleset
Import Inventory
Running the Base Ruleset
Place Format Identifier
Running the Base Ruleset
Reservation Check Redeemer
Running the Base Ruleset
Reservation Expiration
Running the Base Ruleset
System Export and System Import
Exporting Data
Queries
Parameters
Importing Data
Running the Base Rulesets
Telephone Number Formatting
Running the Base Ruleset
Telephone Number Grading
TN Selection
Trail Pipe Topology Edge
Running the Base Ruleset
Validate Address for Range
Running the Base Ruleset
Validate Relate Places
Running the Base Ruleset
Scripting on this page enhances content navigation, but does not change the content in any way.