SlideShare ist ein Scribd-Unternehmen logo
1 von 8
Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.




               General error handling approach



                          Author: Roman Agaev
                    Date: Tuesday, March 27, 2007




                                      -1-
Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.

                                                      Contents
 Abstract.........................................................................................................................3
1 Analysis.......................................................................................................................3
2 Design.........................................................................................................................4
3 Conclusion...................................................................................................................7
  3.1 Usage Examples...............................................................................................7
4 Appendixes..................................................................................................................8




                                                               -2-
Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.

                                                 Tables
Table 3-1: Common error handling mechanism application programming interface....5


                                                Figures
Figure 3-1: Common error handling mechanism data structure....................................4
Figure 4-2: Custom error object definition....................................................................7
Figure 4-3: Custom error generation using predefined appropriate Business Service...7
Figure 4-4: Custom error generation and handling........................................................8

     Abstract
The main aim of current essay is demonstration of internal Siebel ability of effective
framework provision for common error handling mechanism1.
Generally Siebel environment provides many different ways for errors handling and
auditing, but no generalized enough way of doing so. When the final point states that
there is no easy way of Siebel processes auditing.
The following analysis and design is coming to answer on such a requirement.


     1Analysis
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 error object model that will suit it usage as
run time error handler as well as custom error generation. The proposed error object
need be effective in terms if performance and easy usage and include the following
fields:
    Err. Name – identity number
    Err. OriginatorName – name of originator
    Err. Message
    Err. Code
    Err. Type – bounded list of values: custom, runtime (default)




1
  Additional information can be found in "Workflow usage best practices." from Appendixes section of
the document


                                                     -3-
Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
    Err. OriginatorType – bounded list of values (BC2, BS3, applet, application, WP4,
       RTE5)
    Err. OriginatorId – Row Id if existed
    Err. HighLevelProcessName – unbounded list of values
    Err. ProcessName – unbounded list of values
The mechanism must allow effective visualization and query for recently occurred
errors per each of sequenced above fields.


    2Design
The analysis can be handled using cacheable Business Service that will hold a data
structure consisted of predefined errors. The Business Service will consist of several
predefined methods that will define full API of the module.
The following figure demonstrates the visual representation of data structure:

Figure 3-1: Common error handling mechanism data structure




The data structure can be implemented using Propertyset object which is predefined
and most complicated data structure within Siebel environment or using Array and
custom objects.
2
  Business Component
3
  Business Service
4
  Workflow Process
5
  Run Time Events


                                             -4-
Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
The following table consists of error handling proposed methods:

Table 3-1: Common error handling mechanism application programming interface
                Method Name                                     Method Description
                void Init(void)                        The method is empty method that
                                                       generally used for instantiating the
                                                       cacheable Business Service.
       &ps CreateError(<attributes>)                   Creates an error object and stores it as
                                                       temporary error until it will be handled by
                                                       catch section
           void AppendError(&ps)                       Appends created error to the session error
                                                       list
           &ps GetLastError(void)                      Retrieves the last error from session error
                                                       list
      &ps GetErrorsExposition(void)                    Retrieves the whole session error list
            void Flush(void)                           Flushes the entire session error list to the
                                                       database6.
              void Dispose(void)                       Eliminates any references to the object
                                                       structures created during the session and
                                              stored as session living level elements.
The session error list can be stored in Siebel's datasource, for those purposes the new
elements of database, business and graphic user interface layers must be appended.
The Common Logging Mechanism referred in Appendixes section proposed option for
the functionality, but the following solution maybe used instead:
The following table demonstrates those elements per layer:
     Layer                Element Type               Element Name               Element Attributes
Database                 Table                      CX_ERROR_LOG               NAME
                                                                               ORIG_NAME
                                                                               MESSAGE
                                                                               CODE
                                                                               TYPE
                                                                               ORIG_TYPE
                                                                               ORG_ID
                                                                               HIGH_PROC_NAME
                                                                               PROC_NAME

Business                 Business                   Common Errors              Name
                         Component                  List                       Originator Name
                                                                               Message
6
  The meaning is that all the existed errors from session's error list data structure will be purged from
the memory, but stored firstly within the database. For more information please refer to "Common
logging mechanism" from Appendixes section of the document


                                                    -5-
Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
      Layer              Element Type           Element Name           Element Attributes
                                                                      Code
                                                                      Type
                                                                      Originator Type
                                                                      Originator Id
                                                                      High Level Process
                                                                      Name
                                                                      Process Name
                                              Common Errors           Name
                                                                      Originator Name
                                              List VBC7
                                                                      Message
                                                                      Code
                                                                      Type
                                                                      Originator Type
                                                                      Originator Id
                                                                      High Level Process
                                                                      Name
                                                                      Process Name
                      Business Object         Common Errors           Common Errors List
                                              List                    Common Errors List
                                                                      VBC
                      Business Service        Common Errors           Init
                                              Handling Engine         CreateError
                                                                      AppendError
                                                                      GetLastError
                                                                      GetErrorsExposition
                                                                      Flush
                                                                      Dispose
Graphic User          Applet                  Common Errors
Interface                                     Handling List
                                              Applet
                      View                    Common Errors
                                      Handling View
The Business Component of the module Common Error List can encapsulate the
complexity of errors managing delegating appropriate functionality using provided by
Siebel environment InvokeMethod mechanism.
In addition several parameters probably must be used in order to allow smooth
changing of several behavior aspects like – flushBoundary8 etc.


7
 Based on concept described in essay " Common VBC paradigm " from Appendixes of the document
8
 The parameters should be populated using " System parameters paradigm" from Appendixes of the
document


                                              -6-
Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.

     3Conclusion
The usage of such an approach will generalize the neediness of many different
functional points for auditing their run time errors as well as custom ones. It must be
realized that in any other cases the developer will be in front of choice, and in many
cases not very well based, designed and logically defined decision will lead to
decentralized and type less error handling.

      3.1Usage Examples
The following section demonstrated several examples (using Array and custom
objects):

Figure 4-2: Custom error object definition




Figure 4-3: Custom error generation using predefined appropriate Business Service




                                             -7-
Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
Figure 4-4: Custom error generation and handling




    4Appendixes
    "Workflow usage best practices" (Roman Agaev)
    "Common VBC paradigm" (Roman Agaev)
    "Common logging mechanism" (Roman Agaev)
    "System parameters paradigm" (Roman Agaev)




                                            -8-

Weitere ähnliche Inhalte

Ähnlich wie General Error Handling Approach

NNUG Certification Presentation
NNUG Certification PresentationNNUG Certification Presentation
NNUG Certification Presentation
Niall Merrigan
 
Common System Parameters
Common System ParametersCommon System Parameters
Common System Parameters
Roman Agaev
 
Stuxnet redux. malware attribution & lessons learned
Stuxnet redux. malware attribution & lessons learnedStuxnet redux. malware attribution & lessons learned
Stuxnet redux. malware attribution & lessons learned
Yury Chemerkin
 
Oleksyk applied-anti-forensics
Oleksyk   applied-anti-forensicsOleksyk   applied-anti-forensics
Oleksyk applied-anti-forensics
DefconRussia
 
Common Global Parameters
Common Global ParametersCommon Global Parameters
Common Global Parameters
Roman Agaev
 
OORPT Dynamic Analysis
OORPT Dynamic AnalysisOORPT Dynamic Analysis
OORPT Dynamic Analysis
lienhard
 
OpenERP Technical Memento V0.7.3
OpenERP Technical Memento V0.7.3OpenERP Technical Memento V0.7.3
OpenERP Technical Memento V0.7.3
Borni DHIFI
 
iPhone Lecture #1
iPhone Lecture #1iPhone Lecture #1
iPhone Lecture #1
Jaehyeuk Oh
 

Ähnlich wie General Error Handling Approach (20)

NNUG Certification Presentation
NNUG Certification PresentationNNUG Certification Presentation
NNUG Certification Presentation
 
Common System Parameters
Common System ParametersCommon System Parameters
Common System Parameters
 
Stuxnet redux. malware attribution & lessons learned
Stuxnet redux. malware attribution & lessons learnedStuxnet redux. malware attribution & lessons learned
Stuxnet redux. malware attribution & lessons learned
 
Annotation Processing in Android
Annotation Processing in AndroidAnnotation Processing in Android
Annotation Processing in Android
 
Fast and Generic Malware Triage Using openioc_scan Volatility Plugin
Fast and Generic Malware Triage Using openioc_scan Volatility PluginFast and Generic Malware Triage Using openioc_scan Volatility Plugin
Fast and Generic Malware Triage Using openioc_scan Volatility Plugin
 
Advanced Malware Analysis Training Session 5 - Reversing Automation
Advanced Malware Analysis Training Session 5 - Reversing AutomationAdvanced Malware Analysis Training Session 5 - Reversing Automation
Advanced Malware Analysis Training Session 5 - Reversing Automation
 
Oleksyk applied-anti-forensics
Oleksyk   applied-anti-forensicsOleksyk   applied-anti-forensics
Oleksyk applied-anti-forensics
 
[2009 CodeEngn Conference 03] koheung - 윈도우 커널 악성코드에 대한 분석 및 방법
[2009 CodeEngn Conference 03] koheung - 윈도우 커널 악성코드에 대한 분석 및 방법[2009 CodeEngn Conference 03] koheung - 윈도우 커널 악성코드에 대한 분석 및 방법
[2009 CodeEngn Conference 03] koheung - 윈도우 커널 악성코드에 대한 분석 및 방법
 
Common Global Parameters
Common Global ParametersCommon Global Parameters
Common Global Parameters
 
Embedded systems
Embedded systemsEmbedded systems
Embedded systems
 
jBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands On
jBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands OnjBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands On
jBPM5 Community Training Module 4: jBPM5 APIs Overview + Hands On
 
Lecture2 process structure and programming
Lecture2   process structure and programmingLecture2   process structure and programming
Lecture2 process structure and programming
 
Advanced Malware Analysis Training Session 2 - Botnet Analysis Part 1
Advanced Malware Analysis Training Session 2 - Botnet Analysis Part 1  Advanced Malware Analysis Training Session 2 - Botnet Analysis Part 1
Advanced Malware Analysis Training Session 2 - Botnet Analysis Part 1
 
David Rey Lessons Learned Updating Content Licensing To Be Plone 3 Compat...
David Rey   Lessons Learned   Updating Content Licensing To Be Plone 3 Compat...David Rey   Lessons Learned   Updating Content Licensing To Be Plone 3 Compat...
David Rey Lessons Learned Updating Content Licensing To Be Plone 3 Compat...
 
OORPT Dynamic Analysis
OORPT Dynamic AnalysisOORPT Dynamic Analysis
OORPT Dynamic Analysis
 
OpenERP Technical Memento V0.7.3
OpenERP Technical Memento V0.7.3OpenERP Technical Memento V0.7.3
OpenERP Technical Memento V0.7.3
 
Aspect Oriented Programming Through C#.NET
Aspect Oriented Programming Through C#.NETAspect Oriented Programming Through C#.NET
Aspect Oriented Programming Through C#.NET
 
iPhone Lecture #1
iPhone Lecture #1iPhone Lecture #1
iPhone Lecture #1
 
.Net Debugging Techniques
.Net Debugging Techniques.Net Debugging Techniques
.Net Debugging Techniques
 
.NET Debugging Tips and Techniques
.NET Debugging Tips and Techniques.NET Debugging Tips and Techniques
.NET Debugging Tips and Techniques
 

Mehr von Roman Agaev

It Project And Agile
It Project And AgileIt Project And Agile
It Project And Agile
Roman Agaev
 
Logic Equations Resolver J Script
Logic Equations Resolver   J ScriptLogic Equations Resolver   J Script
Logic Equations Resolver J Script
Roman Agaev
 
Object Oriented Approach Within Siebel Boundaries
Object Oriented Approach Within Siebel BoundariesObject Oriented Approach Within Siebel Boundaries
Object Oriented Approach Within Siebel Boundaries
Roman Agaev
 
Integration Within Several Projects
Integration Within Several ProjectsIntegration Within Several Projects
Integration Within Several Projects
Roman Agaev
 
Workflow Usage Best Practices
Workflow Usage Best PracticesWorkflow Usage Best Practices
Workflow Usage Best Practices
Roman Agaev
 
Workflow On The Fly Monitoring Solution
Workflow On The Fly Monitoring SolutionWorkflow On The Fly Monitoring Solution
Workflow On The Fly Monitoring Solution
Roman Agaev
 
Potential Vpn Solution
Potential Vpn SolutionPotential Vpn Solution
Potential Vpn Solution
Roman Agaev
 
Potential Customer Data Model Solution Telco
Potential Customer Data Model Solution   TelcoPotential Customer Data Model Solution   Telco
Potential Customer Data Model Solution Telco
Roman Agaev
 
Common Redirection Mechanism
Common Redirection MechanismCommon Redirection Mechanism
Common Redirection Mechanism
Roman Agaev
 
Common Msisdn Resource Number Management
Common Msisdn Resource   Number ManagementCommon Msisdn Resource   Number Management
Common Msisdn Resource Number Management
Roman Agaev
 
Siebel Web Architecture
Siebel Web ArchitectureSiebel Web Architecture
Siebel Web Architecture
Roman Agaev
 

Mehr von Roman Agaev (20)

Siebel deployment
Siebel deploymentSiebel deployment
Siebel deployment
 
Siebel client side integrator (SCSI)
Siebel client side integrator (SCSI)Siebel client side integrator (SCSI)
Siebel client side integrator (SCSI)
 
It Project And Agile
It Project And AgileIt Project And Agile
It Project And Agile
 
Logic Equations Resolver J Script
Logic Equations Resolver   J ScriptLogic Equations Resolver   J Script
Logic Equations Resolver J Script
 
Object Oriented Approach Within Siebel Boundaries
Object Oriented Approach Within Siebel BoundariesObject Oriented Approach Within Siebel Boundaries
Object Oriented Approach Within Siebel Boundaries
 
Integration Within Several Projects
Integration Within Several ProjectsIntegration Within Several Projects
Integration Within Several Projects
 
Potential Solutions Co Existence
Potential Solutions   Co ExistencePotential Solutions   Co Existence
Potential Solutions Co Existence
 
Client/Server Paradigm And Its Implementation
Client/Server Paradigm And Its ImplementationClient/Server Paradigm And Its Implementation
Client/Server Paradigm And Its Implementation
 
Order Management Plus Integration Topics
Order Management Plus Integration TopicsOrder Management Plus Integration Topics
Order Management Plus Integration Topics
 
Workflow Usage Best Practices
Workflow Usage Best PracticesWorkflow Usage Best Practices
Workflow Usage Best Practices
 
Workflow On The Fly Monitoring Solution
Workflow On The Fly Monitoring SolutionWorkflow On The Fly Monitoring Solution
Workflow On The Fly Monitoring Solution
 
Potential Vpn Solution
Potential Vpn SolutionPotential Vpn Solution
Potential Vpn Solution
 
Potential Customer Data Model Solution Telco
Potential Customer Data Model Solution   TelcoPotential Customer Data Model Solution   Telco
Potential Customer Data Model Solution Telco
 
Common Redirection Mechanism
Common Redirection MechanismCommon Redirection Mechanism
Common Redirection Mechanism
 
Common Msisdn Resource Number Management
Common Msisdn Resource   Number ManagementCommon Msisdn Resource   Number Management
Common Msisdn Resource Number Management
 
Guidance 4 Days Configuration Presentation
Guidance   4 Days   Configuration   PresentationGuidance   4 Days   Configuration   Presentation
Guidance 4 Days Configuration Presentation
 
Guidance 4 Days Configuration
Guidance   4 Days   ConfigurationGuidance   4 Days   Configuration
Guidance 4 Days Configuration
 
Analysis
AnalysisAnalysis
Analysis
 
Design Results
Design ResultsDesign Results
Design Results
 
Siebel Web Architecture
Siebel Web ArchitectureSiebel Web Architecture
Siebel Web Architecture
 

Kürzlich hochgeladen

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 

General Error Handling Approach

  • 1. Roman Agaev, M.Sc, PMP Owner, Supra Information Technology ltd. General error handling approach Author: Roman Agaev Date: Tuesday, March 27, 2007 -1-
  • 2. Roman Agaev, M.Sc, PMP Owner, Supra Information Technology ltd. Contents Abstract.........................................................................................................................3 1 Analysis.......................................................................................................................3 2 Design.........................................................................................................................4 3 Conclusion...................................................................................................................7 3.1 Usage Examples...............................................................................................7 4 Appendixes..................................................................................................................8 -2-
  • 3. Roman Agaev, M.Sc, PMP Owner, Supra Information Technology ltd. Tables Table 3-1: Common error handling mechanism application programming interface....5 Figures Figure 3-1: Common error handling mechanism data structure....................................4 Figure 4-2: Custom error object definition....................................................................7 Figure 4-3: Custom error generation using predefined appropriate Business Service...7 Figure 4-4: Custom error generation and handling........................................................8 Abstract The main aim of current essay is demonstration of internal Siebel ability of effective framework provision for common error handling mechanism1. Generally Siebel environment provides many different ways for errors handling and auditing, but no generalized enough way of doing so. When the final point states that there is no easy way of Siebel processes auditing. The following analysis and design is coming to answer on such a requirement. 1Analysis 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 error object model that will suit it usage as run time error handler as well as custom error generation. The proposed error object need be effective in terms if performance and easy usage and include the following fields: Err. Name – identity number Err. OriginatorName – name of originator Err. Message Err. Code Err. Type – bounded list of values: custom, runtime (default) 1 Additional information can be found in "Workflow usage best practices." from Appendixes section of the document -3-
  • 4. Roman Agaev, M.Sc, PMP Owner, Supra Information Technology ltd. Err. OriginatorType – bounded list of values (BC2, BS3, applet, application, WP4, RTE5) Err. OriginatorId – Row Id if existed Err. HighLevelProcessName – unbounded list of values Err. ProcessName – unbounded list of values The mechanism must allow effective visualization and query for recently occurred errors per each of sequenced above fields. 2Design The analysis can be handled using cacheable Business Service that will hold a data structure consisted of predefined errors. The Business Service will consist of several predefined methods that will define full API of the module. The following figure demonstrates the visual representation of data structure: Figure 3-1: Common error handling mechanism data structure The data structure can be implemented using Propertyset object which is predefined and most complicated data structure within Siebel environment or using Array and custom objects. 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. The following table consists of error handling proposed methods: Table 3-1: Common error handling mechanism application programming interface Method Name Method Description void Init(void) The method is empty method that generally used for instantiating the cacheable Business Service. &ps CreateError(<attributes>) Creates an error object and stores it as temporary error until it will be handled by catch section void AppendError(&ps) Appends created error to the session error list &ps GetLastError(void) Retrieves the last error from session error list &ps GetErrorsExposition(void) Retrieves the whole session error list void Flush(void) Flushes the entire session error list to the database6. void Dispose(void) Eliminates any references to the object structures created during the session and stored as session living level elements. The session error list can be stored in Siebel's datasource, for those purposes the new elements of database, business and graphic user interface layers must be appended. The Common Logging Mechanism referred in Appendixes section proposed option for the functionality, but the following solution maybe used instead: The following table demonstrates those elements per layer: Layer Element Type Element Name Element Attributes Database Table CX_ERROR_LOG NAME ORIG_NAME MESSAGE CODE TYPE ORIG_TYPE ORG_ID HIGH_PROC_NAME PROC_NAME Business Business Common Errors Name Component List Originator Name Message 6 The meaning is that all the existed errors from session's error list data structure will be purged from the memory, but stored firstly within the database. For more information please refer to "Common logging mechanism" from Appendixes section of the document -5-
  • 6. Roman Agaev, M.Sc, PMP Owner, Supra Information Technology ltd. Layer Element Type Element Name Element Attributes Code Type Originator Type Originator Id High Level Process Name Process Name Common Errors Name Originator Name List VBC7 Message Code Type Originator Type Originator Id High Level Process Name Process Name Business Object Common Errors Common Errors List List Common Errors List VBC Business Service Common Errors Init Handling Engine CreateError AppendError GetLastError GetErrorsExposition Flush Dispose Graphic User Applet Common Errors Interface Handling List Applet View Common Errors Handling View The Business Component of the module Common Error List can encapsulate the complexity of errors managing delegating appropriate functionality using provided by Siebel environment InvokeMethod mechanism. In addition several parameters probably must be used in order to allow smooth changing of several behavior aspects like – flushBoundary8 etc. 7 Based on concept described in essay " Common VBC paradigm " from Appendixes of the document 8 The parameters should be populated using " System parameters paradigm" from Appendixes of the document -6-
  • 7. Roman Agaev, M.Sc, PMP Owner, Supra Information Technology ltd. 3Conclusion The usage of such an approach will generalize the neediness of many different functional points for auditing their run time errors as well as custom ones. It must be realized that in any other cases the developer will be in front of choice, and in many cases not very well based, designed and logically defined decision will lead to decentralized and type less error handling. 3.1Usage Examples The following section demonstrated several examples (using Array and custom objects): Figure 4-2: Custom error object definition Figure 4-3: Custom error generation using predefined appropriate Business Service -7-
  • 8. Roman Agaev, M.Sc, PMP Owner, Supra Information Technology ltd. Figure 4-4: Custom error generation and handling 4Appendixes "Workflow usage best practices" (Roman Agaev) "Common VBC paradigm" (Roman Agaev) "Common logging mechanism" (Roman Agaev) "System parameters paradigm" (Roman Agaev) -8-