Config Assist Tool – Framework

This article has been submitted by Sachin V Rao a reader of SiebelUnleashed. In this article he explains about a Configuration assist framework (I assume which he developed) that can help us to enforce some standards while doing configuration in Siebel Tools. It is a pretty interesting concept that we know has already been implemented by way of screenshots. Unfortunately he hasn’t shared any objects that can help us to implement but he has given enough details to get started on our own implementation. I would like to thank Sachin for sharing something new with us.


All of us who have worked on Siebel, know how difficult it is ensure that everyone in the project follows the development guidelines. Various projects try different way to enforce it. Most common of them being

  1. Documenting the guidelines
  2. Having a review done by oracle post DEV or review by experts
  3. Setting up frameworks, which can be followed for most the development

But each have their drawbacks, no guarantee that developers would always refer to guidelines, addition review by experts adds to cost and Frameworks can bring consistency in approach, but cannot completely ensure that guidelines are followed. We can never have a team full of experts working on a project, basic things like comments or naming convention not used properly leads to impact on maintainability. Then critical issues like excessive use of force active in Business Components can have devastating effect on the overall usage of the application.

As Siebel product and its developer community has matured, a well-defined guidelines have been identified. And if we look at other software development platforms like J2EE (I know it is not fair to compare dev platforms with package application like Siebel, but nothing wrong in thinking outside of the box), and the developments, or the advanced features provided by the editors available in market for these platforms, we see that they have made life so much easier for the developers.
This got me thinking to see the possibility of providing similar capabilities in Siebel Tools. So I set off working on an idea and developed a POC, which is detailed below and can be expanded to include as many rules and can also be tailored to individual products.

Details of the Idea

  • The tool is similar to various editors available in the market for Java, C++ etc languages, where they show popup messages/highlight text if developers use incorrect syntax
  • The Tool uses the repository of Siebel Guidelines and integrates it with Siebel Tools
  • When Developers configure any object, the save event triggers scripts which validate the configuration against guidelines and in case of any issues show popup to the user to correct it
  • The Tool Framework Architecture includes
    • DB Triggers to record changes done by Users in DB table
    • Rules Master to capture all Guidelines for each object and the rules to be executed to validate compliance
    • Core Business Service which executes the rules and validates compliance and forms messages to be shown to developers
    • Event Triggers to trigger Business Service

 

architecture

Rule Master

rule_master

Trigger on Applet Config and guideline that Title String override should not be used is enforced on save
Please Note the Record is still saved, but users also get the message. The message can be suppressed by switching off a parameter. Even if Messages are suppressed they are recorded in a table.

tools_sc

Audit of Config done by developer and review messages are captured, which can be viewed by developer or team lead any time.

applet_rec

The tool can provide following benefits to the project

  • Ready Reference of Guidelines available in the application as Rules Master
  • Enforce Guidelines for better quality of code and would result in less issues, hence save effort
  • Save review effort for Team leads
  • Assist in on project training and quick ramp up of the resources
  • Audit of configuration done, so in case of issue, easy to back track

Leave a Reply

Contribute