Client/Server Paradigm And Its Implementation

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    3 Favorites

    Client/Server Paradigm And Its Implementation - Presentation Transcript

    1. Roman Agaev IBM Israel CRM Senior Consultant 13/11/2008 Client/Server paradigm and its Implementation within Siebel Author: Roman Agaev Date: Tuesday, March 27, 2007 Version: 1.0 -1-
    2. Roman Agaev IBM Israel CRM Senior Consultant 13/11/2008 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 implementaton............................................ i ....................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 IBM Israel CRM Senior Consultant 13/11/2008 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 IBM Israel CRM Senior Consultant 13/11/2008 1 Abstract 1.1 Messaging ability on browser side There is a need for messages of different type creation whetherthe 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.2 Messaging 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 disab ility 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.3 Messaging 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 2 Analysis 2.1 Siebel'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 and permit data structure managing along the user's session, when the session's life cycle will be 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 IBM Israel CRM Senior Consultant 13/11/2008 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.2 Client/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.1 Client 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.2 Server 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.3 Loader 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 loadermust 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 IBM Israel CRM Senior Consultant 13/11/2008 3 Design/Implementation 3.1 Siebel'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.2 Siebel's part proposed implementation The following code examples are coming to demonstrate rather than determine. -6-
    7. Roman Agaev IBM Israel CRM Senior Consultant 13/11/2008 3.2.1 Browser Side Figure 3-1: Common Messaging Engine browser script - PreInvokeMethod event -7-
    8. Roman Agaev IBM Israel CRM Senior Consultant 13/11/2008 Figure 3-2: Common Messaging Engine browser script - PreCanInvokeMethod event -8-
    9. Roman Agaev IBM Israel CRM Senior Consultant 13/11/2008 Figure 3-3: Common Messaging Engine browser side - ShowBrowserSideMessage -9-
    10. Roman Agaev IBM Israel CRM Senior Consultant 13/11/2008 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 IBM Israel CRM Senior Consultant 13/11/2008 3.2.2 Server Side Figure 3-5: Common Messaging Engine server side - PreInvokeMethod event - - 11
    12. Roman Agaev IBM Israel CRM Senior Consultant 13/11/2008 Figure 3-6: Common Messaging Engine server side - PreCanInvokeMethod event - - 12
    13. Roman Agaev IBM Israel CRM Senior Consultant 13/11/2008 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 IBM Israel CRM Senior Consultant 13/11/2008 Figure 3-8: Common Messaging Engine server side - ShowServerSideMessage 3.3 Client/Server implementation - - 14
    15. Roman Agaev IBM Israel CRM Senior Consultant 13/11/2008 3.3.1 Client implementation Figure 3-9: Common Messaging Engine ClientServer - Client side - - 15
    16. Roman Agaev IBM Israel CRM Senior Consultant 13/11/2008 - - 16
    17. Roman Agaev IBM Israel CRM Senior Consultant 13/11/2008 - - 17
    18. Roman Agaev IBM Israel CRM Senior Consultant 13/11/2008 3.3.2 Server implementation Figure 3-10: Common Messaging Engine ClientServer - Server side - - 18
    19. Roman Agaev IBM Israel CRM Senior Consultant 13/11/2008 - - 19
    20. Roman Agaev IBM Israel CRM Senior Consultant 13/11/2008 3.3.3 Loader implementation Figure 3-11: Messaging Engine browser side - loader - - 20
    21. Roman Agaev IBM Israel CRM Senior Consultant 13/11/2008 3.4 Usage examples ShowBrowserSideMessage4 Figure 4-12: Common Messaging Engine - Client side message invokation ShowServerSideMessage5 Figure 5-13: Common Messaging Engine - Server side message invokation 6 Conclusion The engine consists of four parts: server side dynamic linking library, client side daemon/resident process, client si e daemon/resident process loader, and server side d 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.1 Discussion 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 IBM Israel CRM Senior Consultant 13/11/2008  Loosely coupled with GUI context 7 Appendixes  \"General error handling mechanism within Siebel boundaries\" (Roman Agaev)  \"Common service design within Siebel boundaries\" (Roman Agaev\" - - 22

    + Roman AgaevRoman Agaev, 2 years ago

    custom

    1786 views, 3 favs, 1 embeds more stats

    The implementation within the Siebel platform bound more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1786
      • 1785 on SlideShare
      • 1 from embeds
    • Comments 0
    • Favorites 3
    • Downloads 90
    Most viewed embeds
    • 1 views on http://www.lmodules.com

    more

    All embeds
    • 1 views on http://www.lmodules.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories