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™ Configure, Price, Quote supports extensibility at all key layers of the application. This includes support through the User interface, Business logic, and 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 minimum impact.
- Data model
By using Data Model extensibility you can extend the Sterling data model. Included is the ability to add columns to existing tables where custom columns are treated like product columns. These columns can be persisted, searched, and 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. A hang-off table is a table with a many-to-one relationship with a standard application database table. Custom tables support product like XML APIs that can be defined through Service Definition Framework, defining relationships and ability to cache these tables in the application.
- 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 “repriceOrderUE”, Similarly, if custom validations need to be performed before creating a order, “getOrderPriceUE” 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.
- UI extensibility
User Interface (UI) extensibility is differential extensibility that enables customers to make extensions on top of the application. This is an overly that does not change the out of the box logic, allowing for upgrades that do not alter already existing customer extensions.