SlideShare une entreprise Scribd logo
1  sur  22
Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.




                Client/Server paradigm and its
                 Implementation within Siebel



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




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

                                                     Contents
1 Abstract.......................................................................................................................4
  1.1 Messaging ability on browser side..................................................................4
  1.2 Messaging ability on server side......................................................................4
  1.3 Messaging ability without client context.........................................................4
2 Analysis.......................................................................................................................4
  2.1 Siebel's part......................................................................................................4
  2.2 Client/Server (peer to peer)..............................................................................5
     2.2.1 Client solution.......................................................................................5
     2.2.2 Server solution.......................................................................................5
     2.2.3 Loader solution......................................................................................5
3 Design/Implementation...............................................................................................6
  3.1 Siebel's part design...........................................................................................6
  3.2 Siebel's part proposed implementation.............................................................6
     3.2.1 Browser Side.........................................................................................7
     3.2.2 Server Side..........................................................................................11
  3.3 Client/Server implementation........................................................................14
     3.3.1 Client implementation.........................................................................15
     3.3.2 Server implementation........................................................................18
     3.3.3 Loader implementation.......................................................................20
  3.4 Usage examples..............................................................................................21
4 ShowBrowserSideMessage.......................................................................................21
5 ShowServerSideMessage..........................................................................................21
6 Conclusion.................................................................................................................21
  6.1 Discussion......................................................................................................21
7 Appendixes................................................................................................................22




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

                                            Figures
Figure 3-1: Common Messaging Engine browser script - PreInvokeMethod event......7
Figure 3-2: Common Messaging Engine browser script - PreCanInvokeMethod event
  8
Figure 3-3: Common Messaging Engine browser side - ShowBrowserSideMessage...9
Figure 3-4: Common Messaging Engine browser side - MessageException..............10
Figure 3-5: Common Messaging Engine server side - PreInvokeMethod event........11
Figure 3-6: Common Messaging Engine server side - PreCanInvokeMethod event...12
Figure 3-7: Common Messaging Engine server side - ShowBrowserSideMessage....13
Figure 3-8: Common Messaging Engine server side - ShowServerSideMessage.......14
Figure 3-9: Common Messaging Engine ClientServer - Client side............................15
Figure 3-10: Common Messaging Engine ClientServer - Server side.........................18
Figure 3-11: Messaging Engine browser side - loader.................................................20
Figure 4-12: Common Messaging Engine - Client side message invokation..............21
Figure 5-13: Common Messaging Engine - Server side message invokation.............21




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


     1Abstract

      1.1 Messaging ability on browser side
There is a need for messages of different type creation whether the process has been
started from browser side. Those types are:
    •Alert1 – the regular message box, just like MessageBox from windows.h
    •Confirm – the message box with possible multiple answers, just like
        MessageBox from windows.h
    •Prompt – the message that allows interaction with users, just like InputBox of
        Visual Basic
The standard Siebel environment provides the ability as its integral element

      1.2Messaging ability on server side
There is a need of message pop up for a system user through the business process
which is running on server side and has been instantiated on that side also, or within
the process with several divergences that cause to disability of doing so as result of
potential multiple bidirectional jumps between server and browser side.
The standard Siebel environment provides the ability just by RaiseErrorText function
exposition, when the main disadvantage of the option is that in fact this function
instantiates the internal error and no following script or related process are not further
executed.

      1.3Messaging ability without client context
There is a need of system user's messages accumulation without a need of his/her
current state as logged in and propagation of those messages to their recipient when
the system user will log in to the system.
The standard Siebel environment doesn't allow this kind of functionality


     2Analysis

      2.1Siebel's part
As part of final solution the new Business Service will be created. The Business
Service will be exposed as cacheable one in order to simplify its methods approach
1
 Siebel eScript language presents SWEAlert function as substitute function for regular JavaScript's
Alert. In some circumstances the ShowDailogBox also may be used. For additional information please
refer to Siebel Object Interface Reference Guide.


                                                -4-
Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
and permit data structure managing along the user's session, when the session's life
cycle will be Business Service's also. The Business Service will encapsulate the
complexity of that kind of management and provide an application programming
interface (API) for developer's needs.
This architecture will allow system user's messages queue management.

       2.2Client/Server (peer to peer)
As part of final solution two win32/linux applications can be designed, when the
interconnection can be based on xmlrpc (http://www.xmlrpc.org).
The usage of win32/linux applications and native C++ language gives an ability of
different frameworks boundaries breakage working strictly on processor itself.

        2.2.1Client solution
Client's side application must act as residential process (daemon) that will listen to
predefined port for inbound call and according the call recognition will perform
bounded set of actions. (simple .exe file)2

        2.2.2Server solution
Server's side application must act as client's side daemon invoker. For that purposes
the implementation must assume that the call process will start and end
synchronously. (simple .dll file)3

        2.2.3Loader solution
The Client's side application must be loaded by some external application or by
Siebel's web client, when the second option preferable.
The main aim of the loader is prevention of simultaneous work of several daemons
that listen to the same port in case when user has its own machine, and in case of
Citrix or similar environment the loader must regulate the ports among different
similar processes.4




2
  Implementation within C++ environment
3
  Implementation within C++ environment
4
  Implementation within Siebel eScript environment using JavaScript native syntax


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

    3Design/Implementation

     3.1Siebel's part design
The design messaging engine's Siebel's part will be handled creating cacheable
Business Service – Common Messaging Engine BS. The Business Service will
consist of several methods and populated events as following:
          Method/Event                                  Description
GetMessagesStack                         Retrieves messages regarding current
                                         engine session.
PopMessage                               Pops message from messages data
                                         structure.
PushMessage                              Pushes message in messages data structure.
ShowAsynchServerSideMessage              Shows message out of interactive session.
ShowBrowserSideMessage                   Shows message with regular JavaScript
                                         abilities.
ShowServerSideErrorMessage               Shows Siebel's error message.
ShowServerSideMessage                    Shows message with regular Siebel's server
                                         side abilities.

     3.2Siebel's part proposed implementation
The following code examples are coming to demonstrate rather than determine.




                                         -6-
Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
       3.2.1Browser Side
Figure 3-1: Common Messaging Engine browser script - PreInvokeMethod event




                                          -7-
Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
Figure 3-2: Common Messaging Engine browser script - PreCanInvokeMethod event




                                          -8-
Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
Figure 3-3: Common Messaging Engine browser side - ShowBrowserSideMessage




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




Figure 3-4: Common Messaging Engine browser side - MessageException5




5
 The Common Error Handling engine can be used here. Please refer to "General error handling
mechanism within Siebel boundaries " from Appendixes section of the document


                                               - -
                                               10
Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
       3.2.2Server Side
Figure 3-5: Common Messaging Engine server side - PreInvokeMethod event




                                          - -
                                          11
Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
Figure 3-6: Common Messaging Engine server side - PreCanInvokeMethod event




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




Figure 3-7: Common Messaging Engine server side - ShowBrowserSideMessage6




6
  This method allows propagation and evaluation of custom script from browser side to the server side
including parameters. For additional information please refer to "Common service design within Siebel
boundaries" from Appendixes section of the document


                                                 - -
                                                 13
Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
Figure 3-8: Common Messaging Engine server side - ShowServerSideMessage




      3.3Client/Server implementation




                                          - -
                                          14
Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
       3.3.1Client implementation
Figure 3-9: Common Messaging Engine ClientServer - Client side




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




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




                                      - -
                                      17
Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
       3.3.2Server implementation
Figure 3-10: Common Messaging Engine ClientServer - Server side




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




                                      - -
                                      19
Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
        3.3.3Loader implementation
Figure 3-11: Messaging Engine browser side - loader




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

         3.4Usage examples

                                              ShowBrowserSideMessage4
Figure 4-12: Common Messaging Engine - Client side message invokation




                                                  ShowServerSideMessage5
Figure 5-13: Common Messaging Engine - Server side message invokation




        6Conclusion
The engine consists of four parts: server side dynamic linking library, client side
daemon/resident process, client side daemon/resident process loader, and server side
daemon/resident process terminator.
The way of implementation allows effective extensible functionality within the
boundaries of engine like: server/client system health check, aggressive marketing
using Siebel's plug-ins for smooth connectivity.

         6.1Discussion
The following advantages say by themselves:
       Supports multi porting7
       Supports Citrix environment
       Highly flexible and extensible
       Highly reliable
       Works within another client side process
       Implemented using native compilation
       Open source
       Fully integrated with Siebel
7
    The preferable listener port is not from HTTP protocol native ports.


                                                    - -
                                                    21
Roman Agaev, M.Sc, PMP
Owner, Supra Information Technology ltd.
   Loosely coupled with GUI context


    7Appendixes
   "General error handling mechanism within Siebel boundaries" (Roman Agaev)
   "Common service design within Siebel boundaries" (Roman Agaev"




                                       - -
                                       22

Contenu connexe

Similaire à Client/Server Paradigm And Its Implementation

Potential Solutions Co Existence
Potential Solutions   Co ExistencePotential Solutions   Co Existence
Potential Solutions Co ExistenceRoman Agaev
 
Doorsng po t_core_workbook_sse_imagev3.3.1_v6moda_final_letter
Doorsng po t_core_workbook_sse_imagev3.3.1_v6moda_final_letterDoorsng po t_core_workbook_sse_imagev3.3.1_v6moda_final_letter
Doorsng po t_core_workbook_sse_imagev3.3.1_v6moda_final_letterDarrel Rader
 
Lab jam websphere message broker labs
Lab jam   websphere message broker labsLab jam   websphere message broker labs
Lab jam websphere message broker labsEng Binary
 
Monitoring Windows Server Systems Demo Script
Monitoring Windows Server Systems Demo ScriptMonitoring Windows Server Systems Demo Script
Monitoring Windows Server Systems Demo ScriptMicrosoft TechNet
 
Major Project Chand Piyush 2011
Major Project Chand Piyush 2011Major Project Chand Piyush 2011
Major Project Chand Piyush 2011Piyush Chand
 
Workflow On The Fly Monitoring Solution
Workflow On The Fly Monitoring SolutionWorkflow On The Fly Monitoring Solution
Workflow On The Fly Monitoring SolutionRoman Agaev
 
SMI_SNUG_paper_v10
SMI_SNUG_paper_v10SMI_SNUG_paper_v10
SMI_SNUG_paper_v10Igor Lesik
 
Java Abs Dynamic Server Replication
Java Abs   Dynamic Server ReplicationJava Abs   Dynamic Server Replication
Java Abs Dynamic Server Replicationncct
 
DDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkDDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkbanq jdon
 
Java performance tuning
Java performance tuningJava performance tuning
Java performance tuningJerry Kurian
 
Introduction to Java Enterprise Edition
Introduction to Java Enterprise EditionIntroduction to Java Enterprise Edition
Introduction to Java Enterprise EditionAbdalla Mahmoud
 
IRJET- Development of Uncrackable Software
IRJET- Development of Uncrackable SoftwareIRJET- Development of Uncrackable Software
IRJET- Development of Uncrackable SoftwareIRJET Journal
 
IBM SmartCloud Orchestration
IBM SmartCloud OrchestrationIBM SmartCloud Orchestration
IBM SmartCloud OrchestrationIBM Danmark
 
"Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai...
"Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai..."Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai...
"Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai...Fwdays
 
Exclusive SAP Basis Training Book | www.sapdocs.info
Exclusive SAP Basis Training Book | www.sapdocs.infoExclusive SAP Basis Training Book | www.sapdocs.info
Exclusive SAP Basis Training Book | www.sapdocs.infosapdocs. info
 
Build your first DApp using Substrate Framework - Part I
Build your first DApp using Substrate Framework - Part IBuild your first DApp using Substrate Framework - Part I
Build your first DApp using Substrate Framework - Part IKnoldus Inc.
 

Similaire à Client/Server Paradigm And Its Implementation (20)

Potential Solutions Co Existence
Potential Solutions   Co ExistencePotential Solutions   Co Existence
Potential Solutions Co Existence
 
Doorsng po t_core_workbook_sse_imagev3.3.1_v6moda_final_letter
Doorsng po t_core_workbook_sse_imagev3.3.1_v6moda_final_letterDoorsng po t_core_workbook_sse_imagev3.3.1_v6moda_final_letter
Doorsng po t_core_workbook_sse_imagev3.3.1_v6moda_final_letter
 
Lab jam websphere message broker labs
Lab jam   websphere message broker labsLab jam   websphere message broker labs
Lab jam websphere message broker labs
 
Monitoring Windows Server Systems Demo Script
Monitoring Windows Server Systems Demo ScriptMonitoring Windows Server Systems Demo Script
Monitoring Windows Server Systems Demo Script
 
Major Project Chand Piyush 2011
Major Project Chand Piyush 2011Major Project Chand Piyush 2011
Major Project Chand Piyush 2011
 
Presemtation Tier Optimizations
Presemtation Tier OptimizationsPresemtation Tier Optimizations
Presemtation Tier Optimizations
 
Workflow On The Fly Monitoring Solution
Workflow On The Fly Monitoring SolutionWorkflow On The Fly Monitoring Solution
Workflow On The Fly Monitoring Solution
 
SMI_SNUG_paper_v10
SMI_SNUG_paper_v10SMI_SNUG_paper_v10
SMI_SNUG_paper_v10
 
Micro Assembler
Micro AssemblerMicro Assembler
Micro Assembler
 
Clustering overview2
Clustering overview2Clustering overview2
Clustering overview2
 
Java Abs Dynamic Server Replication
Java Abs   Dynamic Server ReplicationJava Abs   Dynamic Server Replication
Java Abs Dynamic Server Replication
 
DDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkDDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFramework
 
Java performance tuning
Java performance tuningJava performance tuning
Java performance tuning
 
Event Driven Architecture
Event Driven ArchitectureEvent Driven Architecture
Event Driven Architecture
 
Introduction to Java Enterprise Edition
Introduction to Java Enterprise EditionIntroduction to Java Enterprise Edition
Introduction to Java Enterprise Edition
 
IRJET- Development of Uncrackable Software
IRJET- Development of Uncrackable SoftwareIRJET- Development of Uncrackable Software
IRJET- Development of Uncrackable Software
 
IBM SmartCloud Orchestration
IBM SmartCloud OrchestrationIBM SmartCloud Orchestration
IBM SmartCloud Orchestration
 
"Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai...
"Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai..."Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai...
"Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai...
 
Exclusive SAP Basis Training Book | www.sapdocs.info
Exclusive SAP Basis Training Book | www.sapdocs.infoExclusive SAP Basis Training Book | www.sapdocs.info
Exclusive SAP Basis Training Book | www.sapdocs.info
 
Build your first DApp using Substrate Framework - Part I
Build your first DApp using Substrate Framework - Part IBuild your first DApp using Substrate Framework - Part I
Build your first DApp using Substrate Framework - Part I
 

Plus de Roman Agaev

Siebel deployment
Siebel deploymentSiebel deployment
Siebel deploymentRoman Agaev
 
Siebel client side integrator (SCSI)
Siebel client side integrator (SCSI)Siebel client side integrator (SCSI)
Siebel client side integrator (SCSI)Roman Agaev
 
It Project And Agile
It Project And AgileIt Project And Agile
It Project And AgileRoman Agaev
 
Logic Equations Resolver J Script
Logic Equations Resolver   J ScriptLogic Equations Resolver   J Script
Logic Equations Resolver J ScriptRoman Agaev
 
Object Oriented Approach Within Siebel Boundaries
Object Oriented Approach Within Siebel BoundariesObject Oriented Approach Within Siebel Boundaries
Object Oriented Approach Within Siebel BoundariesRoman Agaev
 
Integration Within Several Projects
Integration Within Several ProjectsIntegration Within Several Projects
Integration Within Several ProjectsRoman Agaev
 
Order Management Plus Integration Topics
Order Management Plus Integration TopicsOrder Management Plus Integration Topics
Order Management Plus Integration TopicsRoman Agaev
 
Workflow Usage Best Practices
Workflow Usage Best PracticesWorkflow Usage Best Practices
Workflow Usage Best PracticesRoman Agaev
 
Potential Vpn Solution
Potential Vpn SolutionPotential Vpn Solution
Potential Vpn SolutionRoman Agaev
 
Potential Customer Data Model Solution Telco
Potential Customer Data Model Solution   TelcoPotential Customer Data Model Solution   Telco
Potential Customer Data Model Solution TelcoRoman Agaev
 
General Logging Approach
General Logging ApproachGeneral Logging Approach
General Logging ApproachRoman Agaev
 
General Error Handling Approach
General Error Handling ApproachGeneral Error Handling Approach
General Error Handling ApproachRoman Agaev
 
Common Redirection Mechanism
Common Redirection MechanismCommon Redirection Mechanism
Common Redirection MechanismRoman Agaev
 
Common System Parameters
Common System ParametersCommon System Parameters
Common System ParametersRoman Agaev
 
Common Global Parameters
Common Global ParametersCommon Global Parameters
Common Global ParametersRoman Agaev
 
Common Msisdn Resource Number Management
Common Msisdn Resource   Number ManagementCommon Msisdn Resource   Number Management
Common Msisdn Resource Number ManagementRoman Agaev
 
Guidance 4 Days Configuration Presentation
Guidance   4 Days   Configuration   PresentationGuidance   4 Days   Configuration   Presentation
Guidance 4 Days Configuration PresentationRoman Agaev
 
Guidance 4 Days Configuration
Guidance   4 Days   ConfigurationGuidance   4 Days   Configuration
Guidance 4 Days ConfigurationRoman Agaev
 

Plus de 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
 
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
 
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
 
General Logging Approach
General Logging ApproachGeneral Logging Approach
General Logging Approach
 
General Error Handling Approach
General Error Handling ApproachGeneral Error Handling Approach
General Error Handling Approach
 
Common Redirection Mechanism
Common Redirection MechanismCommon Redirection Mechanism
Common Redirection Mechanism
 
Common System Parameters
Common System ParametersCommon System Parameters
Common System Parameters
 
Common Global Parameters
Common Global ParametersCommon Global Parameters
Common Global Parameters
 
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
 

Dernier

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
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 WorkerThousandEyes
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
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 WorkerThousandEyes
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
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 2024The Digital Insurer
 
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...Miguel Araújo
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
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 interpreternaman860154
 
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 Servicegiselly40
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Dernier (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
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 future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
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
 
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 Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
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
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Client/Server Paradigm And Its Implementation

  • 1. Roman Agaev, M.Sc, PMP Owner, Supra Information Technology ltd. Client/Server paradigm and its Implementation within Siebel Author: Roman Agaev Date: Tuesday, March 27, 2007 -1-
  • 2. Roman Agaev, M.Sc, PMP Owner, Supra Information Technology ltd. Contents 1 Abstract.......................................................................................................................4 1.1 Messaging ability on browser side..................................................................4 1.2 Messaging ability on server side......................................................................4 1.3 Messaging ability without client context.........................................................4 2 Analysis.......................................................................................................................4 2.1 Siebel's part......................................................................................................4 2.2 Client/Server (peer to peer)..............................................................................5 2.2.1 Client solution.......................................................................................5 2.2.2 Server solution.......................................................................................5 2.2.3 Loader solution......................................................................................5 3 Design/Implementation...............................................................................................6 3.1 Siebel's part design...........................................................................................6 3.2 Siebel's part proposed implementation.............................................................6 3.2.1 Browser Side.........................................................................................7 3.2.2 Server Side..........................................................................................11 3.3 Client/Server implementation........................................................................14 3.3.1 Client implementation.........................................................................15 3.3.2 Server implementation........................................................................18 3.3.3 Loader implementation.......................................................................20 3.4 Usage examples..............................................................................................21 4 ShowBrowserSideMessage.......................................................................................21 5 ShowServerSideMessage..........................................................................................21 6 Conclusion.................................................................................................................21 6.1 Discussion......................................................................................................21 7 Appendixes................................................................................................................22 -2-
  • 3. Roman Agaev, M.Sc, PMP Owner, Supra Information Technology ltd. Figures Figure 3-1: Common Messaging Engine browser script - PreInvokeMethod event......7 Figure 3-2: Common Messaging Engine browser script - PreCanInvokeMethod event 8 Figure 3-3: Common Messaging Engine browser side - ShowBrowserSideMessage...9 Figure 3-4: Common Messaging Engine browser side - MessageException..............10 Figure 3-5: Common Messaging Engine server side - PreInvokeMethod event........11 Figure 3-6: Common Messaging Engine server side - PreCanInvokeMethod event...12 Figure 3-7: Common Messaging Engine server side - ShowBrowserSideMessage....13 Figure 3-8: Common Messaging Engine server side - ShowServerSideMessage.......14 Figure 3-9: Common Messaging Engine ClientServer - Client side............................15 Figure 3-10: Common Messaging Engine ClientServer - Server side.........................18 Figure 3-11: Messaging Engine browser side - loader.................................................20 Figure 4-12: Common Messaging Engine - Client side message invokation..............21 Figure 5-13: Common Messaging Engine - Server side message invokation.............21 -3-
  • 4. Roman Agaev, M.Sc, PMP Owner, Supra Information Technology ltd. 1Abstract 1.1 Messaging ability on browser side There is a need for messages of different type creation whether the process has been started from browser side. Those types are: •Alert1 – the regular message box, just like MessageBox from windows.h •Confirm – the message box with possible multiple answers, just like MessageBox from windows.h •Prompt – the message that allows interaction with users, just like InputBox of Visual Basic The standard Siebel environment provides the ability as its integral element 1.2Messaging ability on server side There is a need of message pop up for a system user through the business process which is running on server side and has been instantiated on that side also, or within the process with several divergences that cause to disability of doing so as result of potential multiple bidirectional jumps between server and browser side. The standard Siebel environment provides the ability just by RaiseErrorText function exposition, when the main disadvantage of the option is that in fact this function instantiates the internal error and no following script or related process are not further executed. 1.3Messaging ability without client context There is a need of system user's messages accumulation without a need of his/her current state as logged in and propagation of those messages to their recipient when the system user will log in to the system. The standard Siebel environment doesn't allow this kind of functionality 2Analysis 2.1Siebel's part As part of final solution the new Business Service will be created. The Business Service will be exposed as cacheable one in order to simplify its methods approach 1 Siebel eScript language presents SWEAlert function as substitute function for regular JavaScript's Alert. In some circumstances the ShowDailogBox also may be used. For additional information please refer to Siebel Object Interface Reference Guide. -4-
  • 5. Roman Agaev, M.Sc, PMP Owner, Supra Information Technology ltd. and permit data structure managing along the user's session, when the session's life cycle will be Business Service's also. The Business Service will encapsulate the complexity of that kind of management and provide an application programming interface (API) for developer's needs. This architecture will allow system user's messages queue management. 2.2Client/Server (peer to peer) As part of final solution two win32/linux applications can be designed, when the interconnection can be based on xmlrpc (http://www.xmlrpc.org). The usage of win32/linux applications and native C++ language gives an ability of different frameworks boundaries breakage working strictly on processor itself. 2.2.1Client solution Client's side application must act as residential process (daemon) that will listen to predefined port for inbound call and according the call recognition will perform bounded set of actions. (simple .exe file)2 2.2.2Server solution Server's side application must act as client's side daemon invoker. For that purposes the implementation must assume that the call process will start and end synchronously. (simple .dll file)3 2.2.3Loader solution The Client's side application must be loaded by some external application or by Siebel's web client, when the second option preferable. The main aim of the loader is prevention of simultaneous work of several daemons that listen to the same port in case when user has its own machine, and in case of Citrix or similar environment the loader must regulate the ports among different similar processes.4 2 Implementation within C++ environment 3 Implementation within C++ environment 4 Implementation within Siebel eScript environment using JavaScript native syntax -5-
  • 6. Roman Agaev, M.Sc, PMP Owner, Supra Information Technology ltd. 3Design/Implementation 3.1Siebel's part design The design messaging engine's Siebel's part will be handled creating cacheable Business Service – Common Messaging Engine BS. The Business Service will consist of several methods and populated events as following: Method/Event Description GetMessagesStack Retrieves messages regarding current engine session. PopMessage Pops message from messages data structure. PushMessage Pushes message in messages data structure. ShowAsynchServerSideMessage Shows message out of interactive session. ShowBrowserSideMessage Shows message with regular JavaScript abilities. ShowServerSideErrorMessage Shows Siebel's error message. ShowServerSideMessage Shows message with regular Siebel's server side abilities. 3.2Siebel's part proposed implementation The following code examples are coming to demonstrate rather than determine. -6-
  • 7. Roman Agaev, M.Sc, PMP Owner, Supra Information Technology ltd. 3.2.1Browser Side Figure 3-1: Common Messaging Engine browser script - PreInvokeMethod event -7-
  • 8. Roman Agaev, M.Sc, PMP Owner, Supra Information Technology ltd. Figure 3-2: Common Messaging Engine browser script - PreCanInvokeMethod event -8-
  • 9. Roman Agaev, M.Sc, PMP Owner, Supra Information Technology ltd. Figure 3-3: Common Messaging Engine browser side - ShowBrowserSideMessage -9-
  • 10. Roman Agaev, M.Sc, PMP Owner, Supra Information Technology ltd. Figure 3-4: Common Messaging Engine browser side - MessageException5 5 The Common Error Handling engine can be used here. Please refer to "General error handling mechanism within Siebel boundaries " from Appendixes section of the document - - 10
  • 11. Roman Agaev, M.Sc, PMP Owner, Supra Information Technology ltd. 3.2.2Server Side Figure 3-5: Common Messaging Engine server side - PreInvokeMethod event - - 11
  • 12. Roman Agaev, M.Sc, PMP Owner, Supra Information Technology ltd. Figure 3-6: Common Messaging Engine server side - PreCanInvokeMethod event - - 12
  • 13. Roman Agaev, M.Sc, PMP Owner, Supra Information Technology ltd. Figure 3-7: Common Messaging Engine server side - ShowBrowserSideMessage6 6 This method allows propagation and evaluation of custom script from browser side to the server side including parameters. For additional information please refer to "Common service design within Siebel boundaries" from Appendixes section of the document - - 13
  • 14. Roman Agaev, M.Sc, PMP Owner, Supra Information Technology ltd. Figure 3-8: Common Messaging Engine server side - ShowServerSideMessage 3.3Client/Server implementation - - 14
  • 15. Roman Agaev, M.Sc, PMP Owner, Supra Information Technology ltd. 3.3.1Client implementation Figure 3-9: Common Messaging Engine ClientServer - Client side - - 15
  • 16. Roman Agaev, M.Sc, PMP Owner, Supra Information Technology ltd. - - 16
  • 17. Roman Agaev, M.Sc, PMP Owner, Supra Information Technology ltd. - - 17
  • 18. Roman Agaev, M.Sc, PMP Owner, Supra Information Technology ltd. 3.3.2Server implementation Figure 3-10: Common Messaging Engine ClientServer - Server side - - 18
  • 19. Roman Agaev, M.Sc, PMP Owner, Supra Information Technology ltd. - - 19
  • 20. Roman Agaev, M.Sc, PMP Owner, Supra Information Technology ltd. 3.3.3Loader implementation Figure 3-11: Messaging Engine browser side - loader - - 20
  • 21. Roman Agaev, M.Sc, PMP Owner, Supra Information Technology ltd. 3.4Usage examples ShowBrowserSideMessage4 Figure 4-12: Common Messaging Engine - Client side message invokation ShowServerSideMessage5 Figure 5-13: Common Messaging Engine - Server side message invokation 6Conclusion The engine consists of four parts: server side dynamic linking library, client side daemon/resident process, client side daemon/resident process loader, and server side daemon/resident process terminator. The way of implementation allows effective extensible functionality within the boundaries of engine like: server/client system health check, aggressive marketing using Siebel's plug-ins for smooth connectivity. 6.1Discussion The following advantages say by themselves: Supports multi porting7 Supports Citrix environment Highly flexible and extensible Highly reliable Works within another client side process Implemented using native compilation Open source Fully integrated with Siebel 7 The preferable listener port is not from HTTP protocol native ports. - - 21
  • 22. Roman Agaev, M.Sc, PMP Owner, Supra Information Technology ltd. Loosely coupled with GUI context 7Appendixes "General error handling mechanism within Siebel boundaries" (Roman Agaev) "Common service design within Siebel boundaries" (Roman Agaev" - - 22