Extensibility

This feature is a design principal that takes into consideration future growth and change.

Every customer has unique requirements, to facilitate this, full extensibility of the user interface is enabled.Sterling Order Management System Software supports extensibility at all key layers of the application. This includes support through the User interface, Business logic, Data Model layers. Extensibility is also available at the service layer, enabling API and data extensibility. Extensions are upgradeable and can be preserved through upgrades with no impact.

User interface
User Interface extensibility enables you to customize the UI based on your business requirements. For example, allowing for the display and capture of additional information, enhancing the flow of an existing interface or adding new flows. In general two types of extensibility exist. They are Full Extensibility and Differential Extensibility. Differential Extensibility enables businesses to define extensions over and beyond the out of box functionality. In this mode, the customer only defines and owns the defined extensions and the out of box screens remain intact. This facilitates smoother upgrades by allowing the out of the box components to be upgraded while leaving the extensions intact. The following Sterling user interfaces support UI extensibility:
  • Sterling Business Center and Sterling Field Sales – based on the WebUI framework; supports full and differential extensibility.
  • Application Console UIs – based on JSP and javascript; supports full extensibility.
  • Sterling Call Center, IBM Sterling Store – supports full and differential extensibility.
Data model

Data Model extensibility enables you to extend the Sterling data model. Included is ability to add columns to existing tables, Custom columns treated like product columns: These columns can be persisted, searched, fetched using standard out of the box APIs as if they were defined with the product In addition, the database framework allows you to extend the application database by creating custom or hang-off tables. A custom table is an independent table and cannot be modeled as an extension to a standard application database table.

Business logic- service layer
Extensibility in the backend helps you perform custom business logic and processing. This layer can be extended to make use of your database extensions and can also be extended to implement custom logic through the use of user exits. User exits are used to run custom processing. Custom logic can be driven by integration with other applications, changed use cases, and other special requirements of an application. Backend extensibility allows you to change the server-side APIs to perform the customized business logic.
  • Example : If customers need to extend the Order API’s by invoking custom pricing logic, they will implement a “getOrderPriceUE”, Similarly, if custom validations need to be performed before creating a order, “beforeCreateOrderUE” could be defined. These user exits have defined input and output XMLs.
In addition Events can be used to expand the behavior of an API. Events do not impact business behavior of API, they add additional capability.
  • Example: CreateOrder.on success event could be used to send an email to consumer for consumer orders. This scenario of extensibility does not require any custom Java coding.