1 / 35

Client Server Technologies

Client Server Technologies. Presented by: Gord Davey. Presentation Overview. Application Server Enhancements JavX Enhancements Client/Server Efficient Coding AutoUpdater. Application Server Enhancements. NT Service Support Enhanced Logging Enhanced Start-In and INI

carney
Download Presentation

Client Server Technologies

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Client Server Technologies Presented by: Gord Davey

  2. Presentation Overview • Application Server Enhancements • JavX Enhancements • Client/Server Efficient Coding • AutoUpdater

  3. Application Server Enhancements • NT Service Support • Enhanced Logging • Enhanced Start-In and INI • Improved User Switching • Terminate/Break and Log Clearing Commands are now sent to the Server • Fatal Error Log “pvx.appserv.log” • Speed Increase – 6% to 10% • and more

  4. Application Server Enhancements • NT Service Support • Simple Install/Un-Install/Start/Stop

  5. Application Server Enhancements • Logging Enhancements • Clear All and Log Rotation Server PID

  6. Application Server Enhancements • Start-In and INI for spawned tasks enhanced

  7. Application Server Enhancements • Improved User Switching • Uses DEF UID if available rather than “su” • Terminate/Break and Log Clearing Commands are now sent to the Server • Config may run as a different user from daemon • Fatal Error Log pvx.appserv.log • To /tmp (*nix) or current directory (windows) • Miscellaneous: • New Menu Item: Shutdown All Servers • Server PID for each daemon displayed • Speed Increase – 6% to 10%

  8. JavX Enhancements • JavX V2.5 now comes in 3 editions • JavX SE – Swing Edition • Closest to ProvideX in terms of GUI Controls • Includes: Grid, Formatted List Boxes, Tree View, List View, Report View, Full Button characteristics • JavX AE – AWT Edition • Lightweight GUI Interface • Includes: list box, buttons, check boxes, radio buttons, etc., all in simplified form • Excludes: Grid, Formatted List Boxes, Tree View, List View, Report View, Full Button characteristics • JavX LE – Lite Edition • Has no character mode or graphical mode user interface. • Direct to Java Object Interface

  9. JavX Enhancements • JavX SE – Swing Edition • Full range of GUI controls supported with virtually all options • Requires Java 2 SE (Standard Edition) Runtime (version 1.42) or higher • Equivalent to prior releases of JavX • Most feature rich

  10. JavX Enhancements • JavX AE – AWT Edition • Limited range of simplified GUI controls available • Requires Java 2 ME CDC PP (Micro Edition, Constrained Device Context, Personal Profile) Runtime (any version) or higher • Intended for PDAs (Pocket PC, Windows CE Devices), Embedded Devices and Desktop PCs

  11. JavX Enhancements • JavX LE – Lite Edition • Has no character or graphical user interface at all • Requires Java 2 ME CDC FP (Micro Edition, Constrained Device Context, Foundation Profile) Runtime (any version) or higher • Intended for Java devices that do not have a user interface (routers, gateways, printers)

  12. JavX Enhancements • Direct to Java Object Interface • Uses ProvideX DEF OBJECT syntax DEF OBJECT X,@(x,y,w,h)=“[wdx]javax.swing.JSlider” DEF OBJECT X,“[wdx]JDBCDriver” • Instantiate and utilize Java Classes directly, manipulating properties, executing methods, listening for events and more. • Allows for the use of the Java BeanShell class, which can take Java source code directly.

  13. Client/Server Efficient Coding Minimize Data • Send only enough data to get the job done • Analyze your screens • Perhaps there is a different approach that might require less object loading (list box, drop box, grid) • Make use of special features to minimize loading: • Load-on-Demand feature for listboxes • Query object, which reads records one page at a time

  14. Client/Server Efficient Coding Minimize Data • Be careful of CALL • A CALL“[WDX]SomeProg”,X$ will send the current contents of X$ to the client and will receive it back. • If X$ was 20,000 X’s on the way up, and it was not modified on the client, then 20,000 X’s will come back • In these cases, get the program on the WindX side to clear the unneeded variables before the CALL completes

  15. Client/Server Efficient Coding Minimize Send/Receive Occurrences • Items such as FID( ), FIB( ), FIN( ), OBJ( ), MSE( ), etc., must be retrieved from the workstation • Avoid code that asks for these types of items repeatedly • Consider: • for x=1 to 10000; y=fin(chan,”numrec”);a*=5; next; y=fin(chan,”numrec”) • y=fin(chan,”numrec”);for x=1 to 10000;a*=5; next; y=fin(chan,”numrec”) • 10001 packet requests versus 2 packet requests

  16. Client/Server Efficient Coding Minimize Send/Receive Occurrences • Any variable or function that requires data from WindX will cause the system to pause until it has an answer • For example, when using TXW( ) and TXH( ) to determine the sizes of text at various point sizes: • It is better to put the code in a CALL and make one CALL across a WindX connection, than it is to repeatedly call TXW( ) and TXH( ) Note: This is true for any function, not just for TXW( ) and TXH( )

  17. Client/Server Efficient Coding Minimize Send/Receive Occurrences • When dealing with Objects and their Dynamic Properties, try to use the newer _PropList$ and _PropValues$ to retrieve or set multiple properties at once • When dealing with properties, try to organize your code so that sets and gets are grouped together • Don’t do a property get, then a set, then a get, then a set, then a get …

  18. AutoUpdater • Features • Server-Side Setup • Server-Side Directory Structure • Server-Side Configuration

  19. AutoUpdater Features • Automated software updating for Client/Server environments • WindX Stand-Alone (Version 4.11 and higher) • WindX Plug-in (Version 4.11 and higher) • ProvideX with WindX (Version 5.10 and higher) • Repository based system • Software to be pushed resides on the Server • No client software installation required • Customizable to include your software requirements • Requires V7 ProvideX on Server, with a V7 activation key • Will perform Upgrades, Downgrades or Repairs • Intelligent restart capability if session is severed

  20. AutoUpdater Features • Assigns ‘Show updates’ of the Add or Remove Programs dialogue in Windows • Configurable User Interaction • Automated COM and DLL registration • Will detect and shutdown other client sessions currently invoked on Workstation that are using same executable • No client reboot required after an upgrade, downgrade, or repair • Windows 9X, NT, 2000, XP, Server 2003 compliant • Has logging capability

  21. AutoUpdater Server-Side Setup • Download the required .zip (Windows) or .taz (UNIX or Linux) file for the version you wish to auto upgrade or downgrade from our Web Site www.pvx.com or ftp.pvx.com • Unzip/untar the file into the Server’s /lib/_repository directory • Turn on the AutoUpdater in its configuration file ...that’s it - you’re done!

  22. AutoUpdater Server-Side Directory Structure • When installing ProvideX Version 7, a new directory will be created: \lib\_updater\ • cinfo (software that is moved to clients machine to obtain all the client’s information; i.e., version, startup information, libraries, etc.) • windx.upd (main control program for WindX update) • autoupdate.pvc (AutoUpdate engine that performs all required functions for the product update; i.e., windx.upd) • Contains the autoupdate.conf (default configuration setup file)

  23. AutoUpdater Server-Side Directory Structure • Once you download and unzip/untar the required repository file, the _repository directory will contain • Software to be deployed to the client workstations • \lib\_repository\<prefix><Version X.XX.XXXX>\ • manifest.conf (holds information about the product version on each file and deployment type; i.e., WindX Standalone, Plug-in, or ProvideX)

  24. AutoUpdater Server-Side Configuration • Text based configuration file • Copy the autoupdate.conf , default config file to autoupdatecustom.conf to customize your configuration • Configuration file contains identification tags • [Defaults] All settings defined under this tag are the defaults • You may add user-specific settings by adding tags for each user [<IP Address>] i.e. [10.100.10.10] [<IP Address>+”:”+<MachineName>] i.e. [10.100.10.10:MyBox] [<UserID>] i.e. [Tom] • Settings • Broken up into 3 parts • Defaults, Debug, and Products • Settings may be placed in both Defaults or Product sections • Specific order: Defaults, Products, User-Defined

  25. AutoUpdater Server-Side Configuration • AllowUpgrade=Y or N (if null then default is N) • Indicates whether an upgrade should take place if client’s workstation version ID is lower than version in autoupdate.conf • AllowDownGrade=Y or N (if null then default is N) • Indicates whether a downgrade should take place if client’s workstation version is higher than version in autoupdate.conf

  26. AutoUpdater Server-Side Configuration • AllowCompare=Y or N (if null then default is N) • Indicates whether repair should take place if client’s workstation version is same as version in autoupdate.conf • CompareFrequency=D or W or M or 2Tuesday • D = Once Daily • W = Once Weekly • M = Once Monthly • 2Tuesday = Every Second Tuesday of the month • Format is Number+Day (Fri or Friday)

  27. AutoUpdater Server-Side Configuration • Interactive=Silent or Prompted (if not set, the default is Prompted)

  28. AutoUpdater Server-Side Configuration • CurrentVersion=7.00.0000 • This is the value that all client sessions will be compared against to identify whether an update is to proceed • RepositoryPrefix=pvx • Windx.upd will take this value + CurrentVersion and look in this directory within the repository directory to get manifest information on what files to move i.e., CurrentVersion = 7.00.0000 RepositoryPrefix=PVX Directory to look in will be \lib\_repository\pvx.7.00.0000

  29. AutoUpdater Server-Side Configuration • LogLevel=0 -> 9 (if null then default is 0) • KillProcessMsg=Y or N (if null then default is N) • Indicates if the user will receive a message box advising them that a session running with the same executable is going to be terminated

  30. AutoUpdater Server-Side Configuration • AllowClientInitiation=Y or N (if null then default is N) • Displays dialogue advising user on what will happen

  31. AutoUpdater Server-Side Configuration • AllowClientCancellation=Y or N (if null then default is N) • Indicates if all the user dialogues contain a Close or Cancel button • LookandFeel= 4,3,2 • 2 (Windows 3.1 style) • 3 (Windows 95 style) • 4 (XP style)

  32. AutoUpdater Example autoupdate.conf file [DEFAULTS] INTERACTIVE= SILENT ALLOWUPGRADE=Y ALLOWDOWNGRADE=Y ALLOWCOMPARE=Y COMPAREFREQUENCY=M LOOKANDFEEL=4 [DEBUG] LOGLEVEL=0 [PRODUCTS] 1=ProvideX 2=WindX Standalone 3=WindX Plugin 4=JavX [PRODUCT:ProvideX] IDENTIFIER=PVX CURRENTVERSION=7.00.0000 REPOSITORYPREFIX=pvx [PRODUCT:WindX Standalone] IDENTIFIER=WXS CURRENTVERSION=7.00.0000 REPOSITORYPREFIX=pvx [PRODUCT:WindX Plugin] IDENTIFIER=WXP CURRENTVERSION=7.00.0000 REPOSITORYPREFIX=pvx [10.100.1.1] ALLOWUPGRADE=N

  33. AutoUpdater Example manifest.conf file # Manifest.conf - For ProvideX and WindX Version 7.00.0000 # issued: July 2005 pvxcom.exe ;Ver=5.10.2000;ASCII;ID=WXS,PVX;Reg=9;RegInstall=pvxcom.exe /unregserver;RegUnInstall= /unregserver Pvxwin32.exe ;Ver=7.00.0000 # This is a remark

  34. THANK YOU! End of Presentation

  35. THANK YOU! End of Presentation

More Related