1. Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
General logging approach
Author: Roman Agaev
Date: Tuesday, March 27, 2007
-1-
2. Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
Contents
1 Abstract.......................................................................................................................4
2 Analysis.......................................................................................................................4
3 Design.........................................................................................................................5
4 Conclusion...................................................................................................................6
4.1 Usage Examples...............................................................................................6
5 Appendixes..................................................................................................................7
-2-
3. Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
Tables
Table 3-1: Common logging module's layers decomposition........................................5
Figures
Figure 4-1: Common Logging Engine entry creation....................................................6
Figure 4-2: Common Logging Engine new entry handling...........................................7
-3-
4. Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
1Abstract
The current essay takes as its purpose a trial to define and design common generalized
mechanism of logging. In Siebel environment there are many decentralized methods
and techniques of needed information harvesting.
In many cases it is almost impossible to get close to some undesired error or
incompatible behavior within given cross process1.
The following analysis and design is coming to answer on such a requirement.
2Analysis
Mechanism must be available from within every potential functional point of future
system:
Script
Workflow Process
Runt Time Event
The mechanism must provide a common logging infrastructure that will suit it usage
within everyone of described above functional points. The proposed logging
infrastructure need be effective in terms if performance and easy usage and include
the following fields:
Name – identity number
Err. OriginatorName – name of originator
Err. Type – bounded list of values: log(default), error, trace, custom
Err. OriginatorType – bounded list of values (BC2, BS3, applet, application, WP4,
RTE5)
Err. OriginatorId – Row Id if existed
Err. Message –XML representation of error object or custom log message
Err. Context – bounded list of values: process, subprocess, originating action,
row id
The mechanism must allow effective visualization and query for recently occurred
errors per each of sequenced above fields.
1
Cross process – means a business scenario that during its execution crosses an application
horizontally and vertically.
2
Business Component
3
Business Service
4
Workflow Process
5
Run Time Events
-4-
5. Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
3Design
The analysis can be handled using a single stand alone module definition. The module
will include several elements from every one of three application tiers:
Graphic User Interface Layer
•View – Common Logging Engine View
•Applet – Common Logging Engine List Applet
Business Layer
•Business Object – Common Logging Engine
•Business Component – Common Logging Engine with methods
NewEntry() – creates new log entry
SearhcByCriteria() – searches across the log table and retrieves
data in propertyset format
•Business Service – Common Logging Engine BS6 encapsulates delegated
methods of Business Component
Database Layer
•Table – CX_LOG_DATA
The following table demonstrates those elements per layer:
Table 3-1: Common logging module's layers decomposition
Layer Element Type Element Name Element Attributes
Database Table CX_LOG_DATA NAME
ORIG_NAME
MESSAGE
CONTEXT
TYPE
ORIG_TYPE
ORG_ID
Business Business Common Logging Name
Component Engine Originator Name
Message
Context
Type
Originator Type
Originator Id
6
Cacheable business service
-5-
6. Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
Layer Element Type Element Name Element Attributes
Business Object Common Logging Common Logging
Engine Engine
Business Service Common Logging Init
Engine BS NewEntry
SearchLogByCriteria
Graphic User Applet Common Logging
Interface Engine List Applet
View Common Logging
Engine View
4Conclusion
The approach allows easy logging within functional points of Siebel environment. It
must be realized that using many different approaches will possibly lead to cross
reference and as consequence to undesired memory leaks, and exaggerated usage of
operation system handler resources.
4.1Usage Examples
The following section demonstrated several examples:
Figure 4-1: Common Logging Engine entry creation
-6-
7. Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
Figure 4-2: Common Logging Engine new entry handling
5Appendixes
"Workflow usage best practices" (Roman Agaev)
"Common VBC paradigm" (Roman Agaev)
"Common error handling mechanism" (Roman Agaev)
-7-