Basic Customization > User Interface Customization > User Interface Technology Overview > Windchill Client Architecture Overview > JSP and Tags > Common Java Services
  
Common Java Services
GUI Components
GUI Components are objects that define how an attribute is to be rendered. They are controlled though properties set in the Data Utilities. A GUI Component also contains a renderer that is responsible for writing out the HTML and/or JavaScript. For more information on GUI Components see Attribute Customization.
Data Utilities
Data Utilities are delegates invoked during construction of the model that allow post-processing and/or augmentation of the data returned by data acquisition APIs. For more information on GUI Components see Attribute Customization.
Action Service
Configuration of actions and action models that are available within the system are defined using xml files. There is an action service that reads these xml files and manages the set of actions and action models. Interaction with the service is done via the components. Developers in general would not call the service directly. For more detailed information about the action framework see Adding Actions and Hooking Them Up in the UI.
Validation Service
Validation of actions and properties can be done via logic encapsulated into a validator that gets executed when a component such as a action menu, table, or property panel includes that action or property. When a page including one of these components is requested, the framework will call the validation service to determine which of the actions or properties should be displayed, disabled, or hidden. The service will invoke the appropriate delegates to gather the requested status for that action or property. As a customization point, you can write a delegate that is mapped to a specific property or action, that contains logic to indicate when that element is valid to show, hide, or disable in the user interface.
The validation framework is tied into the Role Based UI framework Role based support is included for most actions in the product, and customized actions can also take advantage of this capability. Role based capability is supported for reusable attributes created via Type and Attribute Management utility, not modeled attributes. That validation service will actually call the role based service as a first pass of validation. If the action or property is valid for the user based on role, the service will then invoke the appropriate delegate. See Customizing Role-Based UI Functions - Attribute Visibility for more information.
For more detailed information about the validation framework see Adding Validation Logic for Actions and Properties.